This commit is contained in:
DrMangoTea
2023-11-10 17:16:54 +01:00
parent 1b86287af7
commit f9ebef8568
88 changed files with 2732 additions and 152 deletions

View File

@@ -1,22 +1,38 @@
package com.drmangotea.createindustry.base;
import com.drmangotea.createindustry.CreateTFMG;
import com.drmangotea.createindustry.blocks.decoration.doors.TFMGSlidingDoorBlock;
import com.drmangotea.createindustry.blocks.encased.TFMGEncasedCogwheelBlock;
import com.drmangotea.createindustry.blocks.encased.TFMGEncasedShaftBlock;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTags;
import com.simibubi.create.content.contraptions.behaviour.DoorMovingInteraction;
import com.simibubi.create.content.decoration.encasing.EncasedCTBehaviour;
import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorMovementBehaviour;
import com.simibubi.create.content.kinetics.BlockStressDefaults;
import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock;
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogCTBehaviour;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.data.AssetLookup;
import com.simibubi.create.foundation.data.CreateRegistrate;
import com.simibubi.create.foundation.data.ModelGen;
import com.simibubi.create.foundation.data.SharedProperties;
import com.tterrag.registrate.builders.BlockBuilder;
import com.tterrag.registrate.util.nullness.NonNullUnaryOperator;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.core.Direction;
import net.minecraft.data.loot.BlockLoot;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.ItemTags;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.material.Material;
import net.minecraftforge.client.model.generators.ModelFile;
import java.util.function.Supplier;
import static com.simibubi.create.AllInteractionBehaviours.interactionBehaviour;
import static com.simibubi.create.AllMovementBehaviours.movementBehaviour;
import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock;
@@ -59,5 +75,73 @@ public class TFMGBuilderTransformers {
}
public static <B extends TFMGEncasedShaftBlock, P> NonNullUnaryOperator<BlockBuilder<B, P>> encasedShaft(String casing,
Supplier<CTSpriteShiftEntry> casingShift) {
return builder -> encasedBase(builder, () -> AllBlocks.SHAFT.get())
.onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(casingShift.get())))
.onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, casingShift.get(),
(s, f) -> f.getAxis() != s.getValue(TFMGEncasedShaftBlock.AXIS))))
.blockstate((c, p) -> axisBlock(c, p, blockState -> p.models()
.getExistingFile(p.modLoc("block/encased_shaft/block_" + casing)), true))
.item()
.model(AssetLookup.customBlockItemModel("encased_shaft", "item_" + casing))
.build();
}
public static <B extends TFMGEncasedCogwheelBlock, P> NonNullUnaryOperator<BlockBuilder<B, P>> encasedCogwheel(
String casing, Supplier<CTSpriteShiftEntry> casingShift) {
return b -> encasedCogwheelBase(b, casing, casingShift, () -> AllBlocks.COGWHEEL.get(), false);
}
public static <B extends TFMGEncasedCogwheelBlock, P> NonNullUnaryOperator<BlockBuilder<B, P>> encasedLargeCogwheel(
String casing, Supplier<CTSpriteShiftEntry> casingShift) {
return b -> encasedCogwheelBase(b, casing, casingShift, () -> AllBlocks.LARGE_COGWHEEL.get(), true)
.onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(casingShift.get())));
}
private static <B extends TFMGEncasedCogwheelBlock, P> BlockBuilder<B, P> encasedCogwheelBase(BlockBuilder<B, P> b,
String casing, Supplier<CTSpriteShiftEntry> casingShift, Supplier<ItemLike> drop, boolean large) {
String encasedSuffix;
if(!large) {
encasedSuffix = "_encased_cogwheel_side" + (large ? "_connected" : "");
} else encasedSuffix = "_encased_cogwheel_side_large";
String blockFolder = large ? "encased_large_cogwheel" : "encased_cogwheel";
String wood = casing.equals("steel") ? "steel_casing" : "heavy_machinery_casing";
String gearbox = casing.equals("steel") ? "steel_gearbox" : "heavy_gearbox";
String casing1 = casing.equals("heavy_casing") ? "heavy_machinery" : casing;
return encasedBase(b, drop).addLayer(() -> RenderType::cutoutMipped)
.onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, casingShift.get(),
(s, f) -> f.getAxis() == s.getValue(TFMGEncasedCogwheelBlock.AXIS)
&& !s.getValue(f.getAxisDirection() == Direction.AxisDirection.POSITIVE ? TFMGEncasedCogwheelBlock.TOP_SHAFT
: TFMGEncasedCogwheelBlock.BOTTOM_SHAFT))))
.blockstate((c, p) -> axisBlock(c, p, blockState -> {
String suffix = (blockState.getValue(TFMGEncasedCogwheelBlock.TOP_SHAFT) ? "_top" : "")
+ (blockState.getValue(TFMGEncasedCogwheelBlock.BOTTOM_SHAFT) ? "_bottom" : "");
String modelName = c.getName() + suffix;
return p.models()
.withExistingParent(modelName, p.modLoc("block/" + blockFolder + "/block" + suffix))
.texture("casing", CreateTFMG.asResource("block/" + casing1 + "_casing"))
.texture("particle", CreateTFMG.asResource("block/" + casing1 + "_casing"))
.texture("4", CreateTFMG.asResource("block/" + gearbox))
.texture("1", CreateTFMG.asResource("block/" + wood))
.texture("side", CreateTFMG.asResource("block/" + casing1 + encasedSuffix));
}, false))
.item()
.model((c, p) -> p.withExistingParent(c.getName(), p.modLoc("block/" + blockFolder + "/item"))
.texture("casing", CreateTFMG.asResource("block/" + casing1 + "_casing"))
.texture("particle", CreateTFMG.asResource("block/" + casing1 + "_casing"))
.texture("1", CreateTFMG.asResource("block/" + wood))
.texture("side", CreateTFMG.asResource("block/" + casing1 + encasedSuffix)))
.build();
}
private static <B extends RotatedPillarKineticBlock, P> BlockBuilder<B, P> encasedBase(BlockBuilder<B, P> b,
Supplier<ItemLike> drop) {
return b.initialProperties(SharedProperties::stone)
.properties(BlockBehaviour.Properties::noOcclusion)
.transform(BlockStressDefaults.setNoImpact())
.loot((p, lb) -> p.dropOther(lb, drop.get()));
}
}

View File

@@ -45,8 +45,8 @@ public class TFMGSpriteShifts {
public static final CTSpriteShiftEntry
STEEL_ENCASED_COGWHEEL_SIDE = vertical("steel_encased_cogwheel_side"),
STEEL_ENCASED_COGWHEEL_OTHERSIDE = horizontal("steel_encased_cogwheel_side"),
HEAVY_CASING_ENCASED_COGWHEEL_SIDE = vertical("heavy_casing_encased_cogwheel_side"),
HEAVY_CASING_ENCASED_COGWHEEL_OTHERSIDE = horizontal("heavy_casing_encased_cogwheel_side");
HEAVY_CASING_ENCASED_COGWHEEL_SIDE = vertical("heavy_machinery_encased_cogwheel_side"),
HEAVY_CASING_ENCASED_COGWHEEL_OTHERSIDE = horizontal("heavy_machinery_encased_cogwheel_side");
//////////////////////
public static CTSpriteShiftEntry omni(String name) {

View File

@@ -0,0 +1,293 @@
package com.drmangotea.createindustry.blocks.encased;
import com.drmangotea.createindustry.registry.TFMGBlockEntities;
import com.simibubi.create.AllBlockEntityTypes;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.ITransformableBlock;
import com.simibubi.create.content.contraptions.StructureTransform;
import com.simibubi.create.content.decoration.encasing.EncasedBlock;
import com.simibubi.create.content.kinetics.base.IRotate;
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock;
import com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock;
import com.simibubi.create.content.kinetics.simpleRelays.ICogWheel;
import com.simibubi.create.content.kinetics.simpleRelays.SimpleKineticBlockEntity;
import com.simibubi.create.content.schematics.requirement.ISpecialBlockItemRequirement;
import com.simibubi.create.content.schematics.requirement.ItemRequirement;
import com.simibubi.create.foundation.block.IBE;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.VoxelShaper;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.NonNullList;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.item.context.UseOnContext;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.HitResult;
import java.util.function.Supplier;
public class TFMGEncasedCogwheelBlock extends RotatedPillarKineticBlock
implements ICogWheel, IBE<SimpleKineticBlockEntity>, ISpecialBlockItemRequirement, ITransformableBlock, EncasedBlock {
public static final BooleanProperty TOP_SHAFT = BooleanProperty.create("top_shaft");
public static final BooleanProperty BOTTOM_SHAFT = BooleanProperty.create("bottom_shaft");
protected final boolean isLarge;
private final Supplier<Block> casing;
public TFMGEncasedCogwheelBlock(Properties properties, boolean large, Supplier<Block> casing) {
super(properties);
isLarge = large;
this.casing = casing;
registerDefaultState(defaultBlockState().setValue(TOP_SHAFT, false)
.setValue(BOTTOM_SHAFT, false));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder.add(TOP_SHAFT, BOTTOM_SHAFT));
}
@Override
public void fillItemCategory(CreativeModeTab pTab, NonNullList<ItemStack> pItems) {}
@Override
public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, Player player) {
if (target instanceof BlockHitResult)
return ((BlockHitResult) target).getDirection()
.getAxis() != getRotationAxis(state)
? isLarge ? AllBlocks.LARGE_COGWHEEL.asStack() : AllBlocks.COGWHEEL.asStack()
: getCasing().asItem().getDefaultInstance();
return super.getCloneItemStack(state, target, world, pos, player);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
BlockState placedOn = context.getLevel()
.getBlockState(context.getClickedPos()
.relative(context.getClickedFace()
.getOpposite()));
BlockState stateForPlacement = super.getStateForPlacement(context);
if (ICogWheel.isSmallCog(placedOn))
stateForPlacement =
stateForPlacement.setValue(AXIS, ((IRotate) placedOn.getBlock()).getRotationAxis(placedOn));
return stateForPlacement;
}
@Override
public boolean skipRendering(BlockState pState, BlockState pAdjacentBlockState, Direction pDirection) {
return pState.getBlock() == pAdjacentBlockState.getBlock()
&& pState.getValue(AXIS) == pAdjacentBlockState.getValue(AXIS);
}
@Override
public InteractionResult onWrenched(BlockState state, UseOnContext context) {
if (context.getClickedFace()
.getAxis() != state.getValue(AXIS))
return super.onWrenched(state, context);
Level level = context.getLevel();
if (level.isClientSide)
return InteractionResult.SUCCESS;
BlockPos pos = context.getClickedPos();
KineticBlockEntity.switchToBlockState(level, pos, state.cycle(context.getClickedFace()
.getAxisDirection() == Direction.AxisDirection.POSITIVE ? TOP_SHAFT : BOTTOM_SHAFT));
playRotateSound(level, pos);
return InteractionResult.SUCCESS;
}
@Override
public BlockState getRotatedBlockState(BlockState originalState, Direction targetedFace) {
originalState = swapShaftsForRotation(originalState, Rotation.CLOCKWISE_90, targetedFace.getAxis());
return originalState.setValue(RotatedPillarKineticBlock.AXIS,
VoxelShaper
.axisAsFace(originalState.getValue(RotatedPillarKineticBlock.AXIS))
.getClockWise(targetedFace.getAxis())
.getAxis());
}
@Override
public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) {
if (context.getLevel().isClientSide)
return InteractionResult.SUCCESS;
context.getLevel()
.levelEvent(2001, context.getClickedPos(), Block.getId(state));
KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(),
(isLarge ? AllBlocks.LARGE_COGWHEEL : AllBlocks.COGWHEEL).getDefaultState()
.setValue(AXIS, state.getValue(AXIS)));
return InteractionResult.SUCCESS;
}
@Override
public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) {
return face.getAxis() == state.getValue(AXIS)
&& state.getValue(face.getAxisDirection() == Direction.AxisDirection.POSITIVE ? TOP_SHAFT : BOTTOM_SHAFT);
}
@Override
protected boolean areStatesKineticallyEquivalent(BlockState oldState, BlockState newState) {
if (newState.getBlock() instanceof TFMGEncasedCogwheelBlock
&& oldState.getBlock() instanceof TFMGEncasedCogwheelBlock) {
if (newState.getValue(TOP_SHAFT) != oldState.getValue(TOP_SHAFT))
return false;
if (newState.getValue(BOTTOM_SHAFT) != oldState.getValue(BOTTOM_SHAFT))
return false;
}
return super.areStatesKineticallyEquivalent(oldState, newState);
}
@Override
public boolean isSmallCog() {
return !isLarge;
}
@Override
public boolean isLargeCog() {
return isLarge;
}
@Override
public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) {
return CogWheelBlock.isValidCogwheelPosition(ICogWheel.isLargeCog(state), worldIn, pos, state.getValue(AXIS));
}
@Override
public Direction.Axis getRotationAxis(BlockState state) {
return state.getValue(AXIS);
}
public BlockState swapShafts(BlockState state) {
boolean bottom = state.getValue(BOTTOM_SHAFT);
boolean top = state.getValue(TOP_SHAFT);
state = state.setValue(BOTTOM_SHAFT, top);
state = state.setValue(TOP_SHAFT, bottom);
return state;
}
public BlockState swapShaftsForRotation(BlockState state, Rotation rotation, Direction.Axis rotationAxis) {
if (rotation == Rotation.NONE) {
return state;
}
Direction.Axis axis = state.getValue(AXIS);
if (axis == rotationAxis) {
return state;
}
if (rotation == Rotation.CLOCKWISE_180) {
return swapShafts(state);
}
boolean clockwise = rotation == Rotation.CLOCKWISE_90;
if (rotationAxis == Direction.Axis.X) {
if ( axis == Direction.Axis.Z && !clockwise
|| axis == Direction.Axis.Y && clockwise) {
return swapShafts(state);
}
} else if (rotationAxis == Direction.Axis.Y) {
if ( axis == Direction.Axis.X && !clockwise
|| axis == Direction.Axis.Z && clockwise) {
return swapShafts(state);
}
} else if (rotationAxis == Direction.Axis.Z) {
if ( axis == Direction.Axis.Y && !clockwise
|| axis == Direction.Axis.X && clockwise) {
return swapShafts(state);
}
}
return state;
}
@Override
public BlockState mirror(BlockState state, Mirror mirror) {
Direction.Axis axis = state.getValue(AXIS);
if (axis == Direction.Axis.X && mirror == Mirror.FRONT_BACK
|| axis == Direction.Axis.Z && mirror == Mirror.LEFT_RIGHT) {
return swapShafts(state);
}
return state;
}
@Override
public BlockState rotate(BlockState state, Rotation rotation) {
state = swapShaftsForRotation(state, rotation, Direction.Axis.Y);
return super.rotate(state, rotation);
}
@Override
public BlockState transform(BlockState state, StructureTransform transform) {
if (transform.mirror != null) {
state = mirror(state, transform.mirror);
}
if (transform.rotationAxis == Direction.Axis.Y) {
return rotate(state, transform.rotation);
}
state = swapShaftsForRotation(state, transform.rotation, transform.rotationAxis);
state = state.setValue(AXIS, transform.rotateAxis(state.getValue(AXIS)));
return state;
}
@Override
public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) {
return ItemRequirement
.of(isLarge ? AllBlocks.LARGE_COGWHEEL.getDefaultState() : AllBlocks.COGWHEEL.getDefaultState(), be);
}
@Override
public Class<SimpleKineticBlockEntity> getBlockEntityClass() {
return SimpleKineticBlockEntity.class;
}
@Override
public BlockEntityType<? extends SimpleKineticBlockEntity> getBlockEntityType() {
return isLarge ? TFMGBlockEntities.TFMG_ENCASED_LARGE_COGWHEEL.get() : TFMGBlockEntities.TFMG_ENCASED_COGWHEEL.get();
}
@Override
public Block getCasing() {
return casing.get();
}
@Override
public void handleEncasing(BlockState state, Level level, BlockPos pos, ItemStack heldItem, Player player, InteractionHand hand,
BlockHitResult ray) {
BlockState encasedState = defaultBlockState()
.setValue(AXIS, state.getValue(AXIS));
for (Direction d : Iterate.directionsInAxis(state.getValue(AXIS))) {
BlockState adjacentState = level.getBlockState(pos.relative(d));
if (!(adjacentState.getBlock() instanceof IRotate))
continue;
IRotate def = (IRotate) adjacentState.getBlock();
if (!def.hasShaftTowards(level, pos.relative(d), adjacentState, d.getOpposite()))
continue;
encasedState =
encasedState.cycle(d.getAxisDirection() == Direction.AxisDirection.POSITIVE ? TFMGEncasedCogwheelBlock.TOP_SHAFT
: TFMGEncasedCogwheelBlock.BOTTOM_SHAFT);
}
KineticBlockEntity.switchToBlockState(level, pos, encasedState);
}
}

View File

@@ -0,0 +1,91 @@
package com.drmangotea.createindustry.blocks.encased;
import com.drmangotea.createindustry.registry.TFMGBlockEntities;
import com.simibubi.create.AllBlockEntityTypes;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.decoration.encasing.EncasedBlock;
import com.simibubi.create.content.kinetics.base.AbstractEncasedShaftBlock;
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock;
import com.simibubi.create.content.schematics.requirement.ISpecialBlockItemRequirement;
import com.simibubi.create.content.schematics.requirement.ItemRequirement;
import com.simibubi.create.foundation.block.IBE;
import net.minecraft.core.BlockPos;
import net.minecraft.core.NonNullList;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.context.UseOnContext;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.HitResult;
import java.util.function.Supplier;
public class TFMGEncasedShaftBlock extends AbstractEncasedShaftBlock
implements IBE<KineticBlockEntity>, ISpecialBlockItemRequirement, EncasedBlock {
private final Supplier<Block> casing;
public TFMGEncasedShaftBlock(Properties properties, Supplier<Block> casing) {
super(properties);
this.casing = casing;
}
@Override
public void fillItemCategory(CreativeModeTab pTab, NonNullList<ItemStack> pItems) {}
@Override
public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) {
if (context.getLevel().isClientSide)
return InteractionResult.SUCCESS;
context.getLevel()
.levelEvent(2001, context.getClickedPos(), Block.getId(state));
KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(),
AllBlocks.SHAFT.getDefaultState()
.setValue(AXIS, state.getValue(AXIS)));
return InteractionResult.SUCCESS;
}
@Override
public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, Player player) {
if (target instanceof BlockHitResult)
return ((BlockHitResult) target).getDirection()
.getAxis() == getRotationAxis(state) ? AllBlocks.SHAFT.asStack() : getCasing().asItem().getDefaultInstance();
return super.getCloneItemStack(state, target, world, pos, player);
}
@Override
public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) {
return ItemRequirement.of(AllBlocks.SHAFT.getDefaultState(), be);
}
@Override
public Class<KineticBlockEntity> getBlockEntityClass() {
return KineticBlockEntity.class;
}
@Override
public BlockEntityType<? extends KineticBlockEntity> getBlockEntityType() {
return TFMGBlockEntities.TFMG_ENCASED_SHAFT.get();
}
@Override
public Block getCasing() {
return casing.get();
}
@Override
public void handleEncasing(BlockState state, Level level, BlockPos pos, ItemStack heldItem, Player player, InteractionHand hand,
BlockHitResult ray) {
KineticBlockEntity.switchToBlockState(level, pos, defaultBlockState()
.setValue(RotatedPillarKineticBlock.AXIS, state.getValue(RotatedPillarKineticBlock.AXIS)));
}
}

View File

@@ -518,11 +518,11 @@ public void write(CompoundTag compound, boolean clientPacket) {
float newEfficiencyModifier = 1.4f;
if(lubricationOilTank.getFluidAmount()>0) {
newPowerModifier+=.3f;
//newPowerModifier+=.3f;
newEfficiencyModifier-=.1f;
}
if(coolantTank.getFluidAmount()>0) {
newPowerModifier+=.1f;
newPowerModifier+=.2f;
newEfficiencyModifier-=.3f;
}
@@ -581,14 +581,6 @@ public void write(CompoundTag compound, boolean clientPacket) {
}
private void onPositionChanged() {
lastKnownPos = worldPosition;
}

View File

@@ -0,0 +1,22 @@
package com.drmangotea.createindustry.items;
import net.minecraft.world.item.BucketItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.RecipeType;
import net.minecraft.world.level.material.Fluid;
import org.jetbrains.annotations.Nullable;
public class CreosoteBucketItem extends BucketItem {
public CreosoteBucketItem(Fluid p_40689_, Properties p_40690_) {
super(p_40689_, p_40690_);
}
public CreosoteBucketItem(java.util.function.Supplier<? extends Fluid> supplier, Item.Properties builder) {
super(supplier,builder);
}
@Override
public int getBurnTime(ItemStack itemStack, @Nullable RecipeType<?> recipeType) {
return 800;
}
}

View File

@@ -64,6 +64,8 @@ public class TFMGPonderIndex {
.add(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER)
.add(TFMGBlocks.PUMPJACK_BASE)
.add(TFMGBlocks.PUMPJACK_HAMMER_HOLDER)
.add(TFMGBlocks.DIESEL_ENGINE)
.add(TFMGBlocks.DIESEL_ENGINE_EXPANSION)
.add(TFMGBlocks.PUMPJACK_CRANK);
PonderRegistry.TAGS.forTag(TFMGPonderTag.METALLURGY)

View File

@@ -51,6 +51,8 @@ import com.drmangotea.createindustry.blocks.pipes.normal.LockablePipeBlockEntity
import com.drmangotea.createindustry.blocks.tanks.SteelFluidTankRenderer;
import com.drmangotea.createindustry.blocks.tanks.SteelTankBlockEntity;
import com.drmangotea.createindustry.blocks.engines.small.UniversalEngineRenderer;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.Create;
import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity;
import com.simibubi.create.content.fluids.pipes.SmartFluidPipeBlockEntity;
import com.simibubi.create.content.fluids.pipes.StraightPipeBlockEntity;
@@ -61,8 +63,10 @@ import com.simibubi.create.content.fluids.pipes.valve.FluidValveRenderer;
import com.simibubi.create.content.fluids.pump.PumpBlockEntity;
import com.simibubi.create.content.fluids.pump.PumpCogInstance;
import com.simibubi.create.content.fluids.pump.PumpRenderer;
import com.simibubi.create.content.kinetics.base.HalfShaftInstance;
import com.simibubi.create.content.kinetics.base.HorizontalHalfShaftInstance;
import com.simibubi.create.content.kinetics.base.*;
import com.simibubi.create.content.kinetics.simpleRelays.SimpleKineticBlockEntity;
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogInstance;
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogRenderer;
import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer;
import com.tterrag.registrate.util.entry.BlockEntityEntry;
@@ -336,6 +340,28 @@ public class TFMGBlockEntities {
.register();
public static final BlockEntityEntry<SimpleKineticBlockEntity> TFMG_ENCASED_COGWHEEL = REGISTRATE
.blockEntity("tfmg_encased_cogwheel", SimpleKineticBlockEntity::new)
.instance(() -> EncasedCogInstance::small, false)
.validBlocks(TFMGBlocks.STEEL_ENCASED_COGWHEEL, TFMGBlocks.HEAVY_CASING_ENCASED_COGWHEEL)
.renderer(() -> EncasedCogRenderer::small)
.register();
public static final BlockEntityEntry<SimpleKineticBlockEntity> TFMG_ENCASED_LARGE_COGWHEEL = REGISTRATE
.blockEntity("tfmg_encased_large_cogwheel", SimpleKineticBlockEntity::new)
.instance(() -> EncasedCogInstance::large, false)
.validBlocks(TFMGBlocks.STEEL_ENCASED_LARGE_COGWHEEL, TFMGBlocks.HEAVY_CASING_ENCASED_LARGE_COGWHEEL)
.renderer(() -> EncasedCogRenderer::large)
.register();
public static final BlockEntityEntry<KineticBlockEntity> TFMG_ENCASED_SHAFT = REGISTRATE
.blockEntity("tfmg_encased_shaft", KineticBlockEntity::new)
.instance(() -> ShaftInstance::new, false)
.validBlocks(TFMGBlocks.STEEL_ENCASED_SHAFT, TFMGBlocks.HEAVY_CASING_ENCASED_SHAFT)
.renderer(() -> ShaftRenderer::new)
.register();

View File

@@ -12,6 +12,8 @@ import com.drmangotea.createindustry.blocks.decoration.TrussBlock;
import com.drmangotea.createindustry.blocks.decoration.doors.TFMGSlidingDoorBlock;
import com.drmangotea.createindustry.blocks.decoration.flywheels.TFMGFlywheelBlock;
import com.drmangotea.createindustry.blocks.deposits.FluidDepositBlock;
import com.drmangotea.createindustry.blocks.encased.TFMGEncasedCogwheelBlock;
import com.drmangotea.createindustry.blocks.encased.TFMGEncasedShaftBlock;
import com.drmangotea.createindustry.blocks.engines.diesel.DieselEngineBlock;
import com.drmangotea.createindustry.blocks.engines.diesel.engine_expansion.DieselEngineExpansionBlock;
import com.drmangotea.createindustry.blocks.engines.intake.AirIntakeBlock;
@@ -84,6 +86,9 @@ import com.simibubi.create.content.decoration.encasing.EncasingRegistry;
import com.simibubi.create.content.fluids.pipes.SmartFluidPipeGenerator;
import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlock;
import com.simibubi.create.content.kinetics.BlockStressDefaults;
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogCTBehaviour;
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogwheelBlock;
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedShaftBlock;
import com.simibubi.create.content.logistics.vault.ItemVaultCTBehaviour;
import com.simibubi.create.content.processing.AssemblyOperatorBlockItem;
import com.simibubi.create.foundation.data.*;
@@ -1326,6 +1331,66 @@ public static final BlockEntry<DistillationOutputBlock> STEEL_DISTILLATION_OUTPU
////////////////////////////////////
//------------------------ENCASED BLOCKS-----------------//
public static final BlockEntry<TFMGEncasedShaftBlock> STEEL_ENCASED_SHAFT =
REGISTRATE.block("steel_encased_shaft", p -> new TFMGEncasedShaftBlock(p, TFMGBlocks.STEEL_CASING::get))
.properties(p -> p.color(MaterialColor.PODZOL))
.transform(TFMGBuilderTransformers.encasedShaft("steel", () -> TFMGSpriteShifts.STEEL_CASING))
.transform(EncasingRegistry.addVariantTo(AllBlocks.SHAFT))
.transform(axeOrPickaxe())
.register();
public static final BlockEntry<TFMGEncasedShaftBlock> HEAVY_CASING_ENCASED_SHAFT =
REGISTRATE.block("heavy_casing_encased_shaft", p -> new TFMGEncasedShaftBlock(p, TFMGBlocks.HEAVY_MACHINERY_CASING::get))
.properties(p -> p.color(MaterialColor.COLOR_GRAY))
.transform(TFMGBuilderTransformers.encasedShaft("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING))
.transform(EncasingRegistry.addVariantTo(AllBlocks.SHAFT))
.transform(axeOrPickaxe())
.register();
/////////
public static final BlockEntry<TFMGEncasedCogwheelBlock> STEEL_ENCASED_COGWHEEL =
REGISTRATE.block("steel_encased_cogwheel", p -> new TFMGEncasedCogwheelBlock(p, false, TFMGBlocks.STEEL_CASING::get))
.properties(p -> p.color(MaterialColor.PODZOL))
.transform(TFMGBuilderTransformers.encasedCogwheel("steel", () -> TFMGSpriteShifts.STEEL_CASING))
.transform(EncasingRegistry.addVariantTo(AllBlocks.COGWHEEL))
.onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(TFMGSpriteShifts.STEEL_CASING,
Couple.create(TFMGSpriteShifts.STEEL_ENCASED_COGWHEEL_SIDE,
TFMGSpriteShifts.STEEL_ENCASED_COGWHEEL_OTHERSIDE))))
.transform(axeOrPickaxe())
.register();
public static final BlockEntry<TFMGEncasedCogwheelBlock> HEAVY_CASING_ENCASED_COGWHEEL =
REGISTRATE.block("heavy_casing_encased_cogwheel", p -> new TFMGEncasedCogwheelBlock(p, false, TFMGBlocks.HEAVY_MACHINERY_CASING::get))
.properties(p -> p.color(MaterialColor.COLOR_GRAY))
.transform(TFMGBuilderTransformers.encasedCogwheel("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING))
.transform(EncasingRegistry.addVariantTo(AllBlocks.COGWHEEL))
.onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(TFMGSpriteShifts.HEAVY_MACHINERY_CASING,
Couple.create(TFMGSpriteShifts.HEAVY_CASING_ENCASED_COGWHEEL_SIDE,
TFMGSpriteShifts.HEAVY_CASING_ENCASED_COGWHEEL_OTHERSIDE))))
.transform(axeOrPickaxe())
.register();
//////
public static final BlockEntry<TFMGEncasedCogwheelBlock> STEEL_ENCASED_LARGE_COGWHEEL = REGISTRATE
.block("steel_encased_large_cogwheel",
p -> new TFMGEncasedCogwheelBlock(p, true, TFMGBlocks.STEEL_CASING::get))
.properties(p -> p.color(MaterialColor.PODZOL))
.transform(TFMGBuilderTransformers.encasedLargeCogwheel("steel", () -> TFMGSpriteShifts.STEEL_CASING))
.transform(EncasingRegistry.addVariantTo(AllBlocks.LARGE_COGWHEEL))
.transform(axeOrPickaxe())
.register();
public static final BlockEntry<TFMGEncasedCogwheelBlock> HEAVY_CASING_ENCASED_LARGE_COGWHEEL = REGISTRATE
.block("heavy_casing_encased_large_cogwheel", p -> new TFMGEncasedCogwheelBlock(p, true, TFMGBlocks.HEAVY_MACHINERY_CASING::get))
.properties(p -> p.color(MaterialColor.TERRACOTTA_BROWN))
.transform(TFMGBuilderTransformers.encasedLargeCogwheel("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING))
.transform(EncasingRegistry.addVariantTo(AllBlocks.LARGE_COGWHEEL))
.transform(axeOrPickaxe())
.register();
//-----------------------CONCRETE---------------------------//

View File

@@ -8,12 +8,14 @@ import com.drmangotea.createindustry.blocks.concrete.ConcreteFluid;
import com.drmangotea.createindustry.blocks.concrete.ConcreteFluidType;
import com.drmangotea.createindustry.blocks.concrete.asphalt.AsphaltFluid;
import com.drmangotea.createindustry.blocks.fluids.BurnableFluid;
import com.drmangotea.createindustry.items.CreosoteBucketItem;
import com.simibubi.create.AllTags;
import com.simibubi.create.content.fluids.VirtualFluid;
import com.tterrag.registrate.util.entry.FluidEntry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.BucketItem;
import net.minecraftforge.fluids.ForgeFlowingFluid;
import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE;
@@ -316,7 +318,7 @@ public class TFMGFluids {
.explosionResistance(100f))
.source(BurnableFluid.Source::new)
.bucket()
.bucket(CreosoteBucketItem::new)
//.tag(AllTags.forgeItemTag("buckets/napalm"))
.build()
.register();

View File

@@ -58,5 +58,11 @@
"create.goggles.pumpjack.fluid_amount": "Fluid Amount:",
"create.goggles.machine_input.info": "Machine Input Info",
"create.goggles.machine_input.no_rot": "No Rotation Provided!",
"create.goggles.machine_input.power_level": "Power Level: "
"create.goggles.machine_input.power_level": "Power Level: ",
"create.recipe.distillation": "Distillation",
"create.recipe.advanced_distillation": "Advanced Distillation",
"create.recipe.industrial_blasting": "Industrial Blasting",
"create.recipe.casting": "Casting",
"create.recipe.coking": "Coking"
}

View File

@@ -0,0 +1,55 @@
{
"credit": "Made with Blockbench",
"textures": {
"1": "block/stripped_spruce_log_top",
"particle": "create:block/andesite_casing",
"casing": "create:block/andesite_casing",
"side": "create:block/andesite_encased_cogwheel_side"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 16], "texture": "#side"},
"east": {"uv": [0, 10, 16, 16], "texture": "#side"},
"south": {"uv": [0, 10, 16, 16], "texture": "#side"},
"west": {"uv": [0, 10, 16, 16], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
}
},
{
"from": [0, 6, 0],
"to": [16, 10, 16],
"faces": {
"north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"},
"east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"},
"south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"},
"west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}
}
},
{
"from": [15.95, 6, 0.05],
"to": [0.05, 10, 15.95],
"faces": {
"north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"},
"east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"},
"south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"},
"west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}
}
},
{
"from": [0, 10, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 6], "texture": "#side"},
"east": {"uv": [0, 0, 16, 6], "texture": "#side"},
"south": {"uv": [0, 0, 16, 6], "texture": "#side"},
"west": {"uv": [0, 0, 16, 6], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
}
}
]
}

View File

@@ -0,0 +1,96 @@
{
"credit": "Made with Blockbench",
"textures": {
"1": "block/stripped_spruce_log_top",
"4": "create:block/gearbox",
"particle": "create:block/andesite_casing",
"casing": "create:block/andesite_casing",
"side": "create:block/andesite_encased_cogwheel_side"
},
"elements": [
{
"from": [0, 1, 0],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 15], "texture": "#side"},
"east": {"uv": [0, 10, 16, 15], "texture": "#side"},
"south": {"uv": [0, 10, 16, 15], "texture": "#side"},
"west": {"uv": [0, 10, 16, 15], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#4"}
}
},
{
"from": [0, 6, 0],
"to": [16, 10, 16],
"faces": {
"north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"},
"east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"},
"south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"},
"west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}
}
},
{
"from": [15.95, 6, 0.05],
"to": [0.05, 10, 15.95],
"faces": {
"north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"},
"east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"},
"south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"},
"west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}
}
},
{
"from": [0, 10, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 6], "texture": "#side"},
"east": {"uv": [0, 0, 16, 6], "texture": "#side"},
"south": {"uv": [0, 0, 16, 6], "texture": "#side"},
"west": {"uv": [0, 0, 16, 6], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
}
},
{
"from": [0, 0, 0],
"to": [16, 1, 2],
"faces": {
"north": {"uv": [0, 15, 16, 16], "texture": "#side"},
"east": {"uv": [14, 15, 16, 16], "texture": "#side"},
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"west": {"uv": [0, 15, 2, 16], "texture": "#side"},
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
}
},
{
"from": [14, 0, 2],
"to": [16, 1, 14],
"faces": {
"east": {"uv": [2, 15, 14, 16], "texture": "#side"},
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
}
},
{
"from": [0, 0, 14],
"to": [16, 1, 16],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"east": {"uv": [0, 15, 2, 16], "texture": "#side"},
"south": {"uv": [0, 15, 16, 16], "texture": "#side"},
"west": {"uv": [14, 15, 16, 16], "texture": "#side"},
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
}
},
{
"from": [0, 0, 2],
"to": [2, 1, 14],
"faces": {
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"west": {"uv": [2, 15, 14, 16], "texture": "#side"},
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
}
}
]
}

View File

@@ -0,0 +1,96 @@
{
"credit": "Made with Blockbench",
"textures": {
"1": "block/stripped_spruce_log_top",
"4": "create:block/gearbox",
"particle": "create:block/andesite_casing",
"casing": "create:block/andesite_casing",
"side": "create:block/andesite_encased_cogwheel_side"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 16], "texture": "#side"},
"east": {"uv": [0, 10, 16, 16], "texture": "#side"},
"south": {"uv": [0, 10, 16, 16], "texture": "#side"},
"west": {"uv": [0, 10, 16, 16], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
}
},
{
"from": [0, 6, 0],
"to": [16, 10, 16],
"faces": {
"north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"},
"east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"},
"south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"},
"west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}
}
},
{
"from": [15.95, 6, 0.05],
"to": [0.05, 10, 15.95],
"faces": {
"north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"},
"east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"},
"south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"},
"west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}
}
},
{
"from": [0, 10, 0],
"to": [16, 15, 16],
"faces": {
"north": {"uv": [0, 1, 16, 6], "texture": "#side"},
"east": {"uv": [0, 1, 16, 6], "texture": "#side"},
"south": {"uv": [0, 1, 16, 6], "texture": "#side"},
"west": {"uv": [0, 1, 16, 6], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#4"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
}
},
{
"from": [0, 15, 0],
"to": [16, 16, 2],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#side"},
"east": {"uv": [14, 0, 16, 1], "texture": "#side"},
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"west": {"uv": [0, 0, 2, 1], "texture": "#side"},
"up": {"uv": [0, 0, 16, 2], "texture": "#casing"}
}
},
{
"from": [0, 15, 14],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"east": {"uv": [0, 0, 2, 1], "texture": "#side"},
"south": {"uv": [0, 0, 16, 1], "texture": "#side"},
"west": {"uv": [14, 0, 16, 1], "texture": "#side"},
"up": {"uv": [0, 14, 16, 16], "texture": "#casing"}
}
},
{
"from": [0, 15, 2],
"to": [2, 16, 14],
"faces": {
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"west": {"uv": [2, 0, 14, 1], "texture": "#side"},
"up": {"uv": [0, 2, 2, 14], "texture": "#casing"}
}
},
{
"from": [14, 15, 2],
"to": [16, 16, 14],
"faces": {
"east": {"uv": [2, 0, 14, 1], "texture": "#side"},
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"up": {"uv": [14, 2, 16, 14], "texture": "#casing"}
}
}
]
}

View File

@@ -0,0 +1,136 @@
{
"credit": "Made with Blockbench",
"textures": {
"1": "block/stripped_spruce_log_top",
"4": "create:block/gearbox",
"particle": "create:block/andesite_casing",
"casing": "create:block/andesite_casing",
"side": "create:block/andesite_encased_cogwheel_side"
},
"elements": [
{
"from": [0, 1, 0],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 15], "texture": "#side"},
"east": {"uv": [0, 10, 16, 15], "texture": "#side"},
"south": {"uv": [0, 10, 16, 15], "texture": "#side"},
"west": {"uv": [0, 10, 16, 15], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#4"}
}
},
{
"from": [0, 6, 0],
"to": [16, 10, 16],
"faces": {
"north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"},
"east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"},
"south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"},
"west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}
}
},
{
"from": [15.95, 6, 0.05],
"to": [0.05, 10, 15.95],
"faces": {
"north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"},
"east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"},
"south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"},
"west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}
}
},
{
"from": [0, 10, 0],
"to": [16, 15, 16],
"faces": {
"north": {"uv": [0, 1, 16, 6], "texture": "#side"},
"east": {"uv": [0, 1, 16, 6], "texture": "#side"},
"south": {"uv": [0, 1, 16, 6], "texture": "#side"},
"west": {"uv": [0, 1, 16, 6], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#4"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
}
},
{
"from": [0, 15, 0],
"to": [16, 16, 2],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#side"},
"east": {"uv": [14, 0, 16, 1], "texture": "#side"},
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"west": {"uv": [0, 0, 2, 1], "texture": "#side"},
"up": {"uv": [0, 0, 16, 2], "texture": "#casing"}
}
},
{
"from": [0, 15, 14],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"east": {"uv": [0, 0, 2, 1], "texture": "#side"},
"south": {"uv": [0, 0, 16, 1], "texture": "#side"},
"west": {"uv": [14, 0, 16, 1], "texture": "#side"},
"up": {"uv": [0, 14, 16, 16], "texture": "#casing"}
}
},
{
"from": [0, 15, 2],
"to": [2, 16, 14],
"faces": {
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"west": {"uv": [2, 0, 14, 1], "texture": "#side"},
"up": {"uv": [0, 2, 2, 14], "texture": "#casing"}
}
},
{
"from": [14, 15, 2],
"to": [16, 16, 14],
"faces": {
"east": {"uv": [2, 0, 14, 1], "texture": "#side"},
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"up": {"uv": [14, 2, 16, 14], "texture": "#casing"}
}
},
{
"from": [0, 0, 0],
"to": [16, 1, 2],
"faces": {
"north": {"uv": [0, 15, 16, 16], "texture": "#side"},
"east": {"uv": [14, 15, 16, 16], "texture": "#side"},
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"west": {"uv": [0, 15, 2, 16], "texture": "#side"},
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
}
},
{
"from": [14, 0, 2],
"to": [16, 1, 14],
"faces": {
"east": {"uv": [2, 15, 14, 16], "texture": "#side"},
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
}
},
{
"from": [0, 0, 14],
"to": [16, 1, 16],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"east": {"uv": [0, 15, 2, 16], "texture": "#side"},
"south": {"uv": [0, 15, 16, 16], "texture": "#side"},
"west": {"uv": [14, 15, 16, 16], "texture": "#side"},
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
}
},
{
"from": [0, 0, 2],
"to": [2, 1, 14],
"faces": {
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"west": {"uv": [2, 15, 14, 16], "texture": "#side"},
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
}
}
]
}

View File

@@ -0,0 +1,153 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"1": "block/stripped_spruce_log_top",
"particle": "create:block/andesite_casing",
"casing": "create:block/andesite_casing",
"side": "create:block/andesite_encased_cogwheel_side",
"1_2": "create:block/cogwheel"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 16], "texture": "#side"},
"east": {"uv": [0, 10, 16, 16], "texture": "#side"},
"south": {"uv": [0, 10, 16, 16], "texture": "#side"},
"west": {"uv": [0, 10, 16, 16], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
}
},
{
"from": [0, 6, 0],
"to": [16, 10, 16],
"faces": {
"north": {"uv": [0, 6, 16, 10], "texture": "#side"},
"east": {"uv": [0, 6, 16, 10], "texture": "#side"},
"south": {"uv": [0, 6, 16, 10], "texture": "#side"},
"west": {"uv": [0, 6, 16, 10], "texture": "#side"}
}
},
{
"from": [15.95, 6, 0.05],
"to": [0.05, 10, 15.95],
"faces": {
"north": {"uv": [0, 6, 16, 10], "texture": "#side"},
"east": {"uv": [0, 6, 16, 10], "texture": "#side"},
"south": {"uv": [0, 6, 16, 10], "texture": "#side"},
"west": {"uv": [0, 6, 16, 10], "texture": "#side"}
}
},
{
"from": [0, 10, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 6], "texture": "#side"},
"east": {"uv": [0, 0, 16, 6], "texture": "#side"},
"south": {"uv": [0, 0, 16, 6], "texture": "#side"},
"west": {"uv": [0, 0, 16, 6], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
}
},
{
"name": "Gear",
"from": [-1, 6.025, 6.5],
"to": [17, 9.975, 9.5],
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
"east": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
"south": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
"west": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
"up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"},
"down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}
}
},
{
"name": "Gear2",
"from": [-1, 6.025, 6.5],
"to": [17, 9.975, 9.5],
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
"east": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
"south": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
"west": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
"up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"},
"down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}
}
},
{
"name": "Gear3",
"from": [6.5, 6.025, -1],
"to": [9.5, 9.975, 17],
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
"east": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
"south": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
"west": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
"up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"},
"down": {"uv": [7, 6, 16, 7.5], "rotation": 270, "texture": "#1_2"}
}
},
{
"name": "Gear4",
"from": [6.5, 6.025, -1],
"to": [9.5, 9.975, 17],
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
"east": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
"south": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
"west": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
"up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"},
"down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"}
}
},
{
"name": "GearCaseInner",
"from": [2, 6.5, 2],
"to": [14, 9.5, 14],
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
"east": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
"south": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
"west": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
"up": {"uv": [4, 0, 10, 6], "texture": "#1_2"},
"down": {"uv": [4, 0, 10, 6], "texture": "#1_2"}
}
},
{
"name": "GearCaseOuter",
"from": [4, 6, 4],
"to": [12, 10, 12],
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 4, 4, 6], "texture": "#1_2"},
"east": {"uv": [0, 4, 4, 6], "texture": "#1_2"},
"south": {"uv": [0, 4, 4, 6], "texture": "#1_2"},
"west": {"uv": [0, 4, 4, 6], "texture": "#1_2"},
"up": {"uv": [0, 0, 4, 4], "texture": "#1_2"},
"down": {"uv": [0, 0, 4, 4], "texture": "#1_2"}
}
}
],
"groups": [
0,
1,
2,
3,
{
"name": "cogwheel",
"origin": [8, 8, 8],
"color": 0,
"children": [4, 5, 6, 7, 8, 9]
}
]
}

View File

@@ -0,0 +1,35 @@
{
"credit": "Made with Blockbench",
"textures": {
"1": "block/stripped_spruce_log_top",
"particle": "create:block/andesite_casing",
"casing": "create:block/andesite_casing",
"side": "create:block/andesite_encased_cogwheel_side_connected"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 16], "texture": "#side"},
"east": {"uv": [0, 10, 16, 16], "texture": "#side"},
"south": {"uv": [0, 10, 16, 16], "texture": "#side"},
"west": {"uv": [0, 10, 16, 16], "texture": "#side"},
"up": {"uv": [0, 2, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
}
},
{
"from": [0, 10, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 6], "texture": "#side"},
"east": {"uv": [0, 0, 16, 6], "texture": "#side"},
"south": {"uv": [0, 0, 16, 6], "texture": "#side"},
"west": {"uv": [0, 0, 16, 6], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"down": {"uv": [0, 0, 16, 14], "texture": "#1"}
}
}
]
}

View File

@@ -0,0 +1,84 @@
{
"credit": "Made with Blockbench",
"textures": {
"1": "block/stripped_spruce_log_top",
"4": "create:block/gearbox",
"particle": "create:block/andesite_casing",
"casing": "create:block/andesite_casing",
"side": "create:block/andesite_encased_cogwheel_side_connected"
},
"elements": [
{
"from": [0, 1, 0],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 15], "texture": "#side"},
"east": {"uv": [0, 10, 16, 15], "texture": "#side"},
"south": {"uv": [0, 10, 16, 15], "texture": "#side"},
"west": {"uv": [0, 10, 16, 15], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#4"}
}
},
{
"from": [0, 10, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 6], "texture": "#side"},
"east": {"uv": [0, 0, 16, 6], "texture": "#side"},
"south": {"uv": [0, 0, 16, 6], "texture": "#side"},
"west": {"uv": [0, 0, 16, 6], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
}
},
{
"from": [0, 0, 0],
"to": [16, 1, 2],
"faces": {
"north": {"uv": [0, 15, 16, 16], "texture": "#casing"},
"east": {"uv": [14, 15, 16, 16], "texture": "#casing"},
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"west": {"uv": [0, 15, 2, 16], "texture": "#casing"},
"up": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
}
},
{
"from": [14, 0, 2],
"to": [16, 1, 14],
"faces": {
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"east": {"uv": [2, 15, 14, 16], "texture": "#casing"},
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"up": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
}
},
{
"from": [0, 0, 2],
"to": [2, 1, 14],
"faces": {
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"west": {"uv": [2, 15, 14, 16], "texture": "#casing"},
"up": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
}
},
{
"from": [0, 0, 14],
"to": [16, 1, 16],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"east": {"uv": [0, 15, 2, 16], "texture": "#casing"},
"south": {"uv": [0, 15, 16, 16], "texture": "#casing"},
"west": {"uv": [14, 15, 16, 16], "texture": "#casing"},
"up": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
}
}
]
}

View File

@@ -0,0 +1,84 @@
{
"credit": "Made with Blockbench",
"textures": {
"1": "block/stripped_spruce_log_top",
"4": "create:block/gearbox",
"particle": "create:block/andesite_casing",
"casing": "create:block/andesite_casing",
"side": "create:block/andesite_encased_cogwheel_side_connected"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 16], "texture": "#side"},
"east": {"uv": [0, 10, 16, 16], "texture": "#side"},
"south": {"uv": [0, 10, 16, 16], "texture": "#side"},
"west": {"uv": [0, 10, 16, 16], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
}
},
{
"from": [0, 10, 0],
"to": [16, 15, 16],
"faces": {
"north": {"uv": [0, 1, 16, 6], "texture": "#side"},
"east": {"uv": [0, 1, 16, 6], "texture": "#side"},
"south": {"uv": [0, 1, 16, 6], "texture": "#side"},
"west": {"uv": [0, 1, 16, 6], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#4"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
}
},
{
"from": [14, 15, 2],
"to": [16, 16, 14],
"faces": {
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"up": {"uv": [14, 2, 16, 14], "texture": "#casing"},
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
}
},
{
"from": [0, 15, 0],
"to": [16, 16, 2],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"east": {"uv": [14, 0, 16, 1], "texture": "#casing"},
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"west": {"uv": [0, 0, 2, 1], "texture": "#casing"},
"up": {"uv": [0, 0, 16, 2], "texture": "#casing"},
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
}
},
{
"from": [0, 15, 2],
"to": [2, 16, 14],
"faces": {
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"up": {"uv": [0, 2, 2, 14], "texture": "#casing"},
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
}
},
{
"from": [0, 15, 14],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"east": {"uv": [0, 0, 2, 1], "texture": "#casing"},
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"west": {"uv": [14, 0, 16, 1], "texture": "#casing"},
"up": {"uv": [0, 14, 16, 16], "texture": "#casing"},
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
}
}
]
}

View File

@@ -0,0 +1,124 @@
{
"credit": "Made with Blockbench",
"textures": {
"1": "block/stripped_spruce_log_top",
"4": "create:block/gearbox",
"particle": "create:block/andesite_casing",
"casing": "create:block/andesite_casing",
"side": "create:block/andesite_encased_cogwheel_side_connected"
},
"elements": [
{
"from": [0, 1, 0],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 15], "texture": "#side"},
"east": {"uv": [0, 10, 16, 15], "texture": "#side"},
"south": {"uv": [0, 10, 16, 15], "texture": "#side"},
"west": {"uv": [0, 10, 16, 15], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#4"}
}
},
{
"from": [0, 10, 0],
"to": [16, 15, 16],
"faces": {
"north": {"uv": [0, 1, 16, 6], "texture": "#side"},
"east": {"uv": [0, 1, 16, 6], "texture": "#side"},
"south": {"uv": [0, 1, 16, 6], "texture": "#side"},
"west": {"uv": [0, 1, 16, 6], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#4"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
}
},
{
"from": [14, 15, 2],
"to": [16, 16, 14],
"faces": {
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"up": {"uv": [14, 2, 16, 14], "texture": "#casing"},
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
}
},
{
"from": [0, 15, 0],
"to": [16, 16, 2],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"east": {"uv": [14, 0, 16, 1], "texture": "#casing"},
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"west": {"uv": [0, 0, 2, 1], "texture": "#casing"},
"up": {"uv": [0, 0, 16, 2], "texture": "#casing"},
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
}
},
{
"from": [0, 15, 2],
"to": [2, 16, 14],
"faces": {
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"up": {"uv": [0, 2, 2, 14], "texture": "#casing"},
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
}
},
{
"from": [0, 15, 14],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"east": {"uv": [0, 0, 2, 1], "texture": "#casing"},
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"west": {"uv": [14, 0, 16, 1], "texture": "#casing"},
"up": {"uv": [0, 14, 16, 16], "texture": "#casing"},
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
}
},
{
"from": [0, 0, 0],
"to": [16, 1, 2],
"faces": {
"north": {"uv": [0, 15, 16, 16], "texture": "#casing"},
"east": {"uv": [14, 15, 16, 16], "texture": "#casing"},
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"west": {"uv": [0, 15, 2, 16], "texture": "#casing"},
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
}
},
{
"from": [14, 0, 2],
"to": [16, 1, 14],
"faces": {
"east": {"uv": [2, 15, 14, 16], "texture": "#casing"},
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
}
},
{
"from": [0, 0, 2],
"to": [2, 1, 14],
"faces": {
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
"west": {"uv": [2, 15, 14, 16], "texture": "#casing"},
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
}
},
{
"from": [0, 0, 14],
"to": [16, 1, 16],
"faces": {
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
"east": {"uv": [0, 15, 2, 16], "texture": "#casing"},
"south": {"uv": [0, 15, 16, 16], "texture": "#casing"},
"west": {"uv": [14, 15, 16, 16], "texture": "#casing"},
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
}
}
]
}

View File

@@ -0,0 +1,250 @@
{
"credit": "Made with Blockbench",
"parent": "create:block/large_wheels",
"textures": {
"1": "block/stripped_spruce_log_top",
"4": "create:block/large_cogwheel",
"particle": "create:block/andesite_casing",
"casing": "create:block/andesite_casing",
"side": "create:block/andesite_encased_cogwheel_side_connected"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 16], "texture": "#side"},
"east": {"uv": [0, 10, 16, 16], "texture": "#side"},
"south": {"uv": [0, 10, 16, 16], "texture": "#side"},
"west": {"uv": [0, 10, 16, 16], "texture": "#side"},
"up": {"uv": [0, 2, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
}
},
{
"from": [0, 10, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 6], "texture": "#side"},
"east": {"uv": [0, 0, 16, 6], "texture": "#side"},
"south": {"uv": [0, 0, 16, 6], "texture": "#side"},
"west": {"uv": [0, 0, 16, 6], "texture": "#side"},
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"down": {"uv": [0, 0, 16, 12], "texture": "#1"}
}
},
{
"name": "GearCaseInnerRotated",
"from": [-2, 6.525, -2],
"to": [18, 9.475, 18],
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
"east": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
"south": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
"west": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
"up": {"uv": [0, 0, 10, 10], "texture": "#4"},
"down": {"uv": [0, 0, 10, 10], "texture": "#4"}
}
},
{
"name": "Gear2",
"from": [-7, 6.025, 6.5],
"to": [23, 9.975, 9.5],
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 13, 15, 15], "texture": "#4"},
"east": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"south": {"uv": [0, 13, 15, 15], "texture": "#4"},
"west": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
}
},
{
"name": "Gear3",
"from": [-7, 6.025, 6.5],
"to": [23, 9.975, 9.5],
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 13, 15, 15], "texture": "#4"},
"east": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"south": {"uv": [0, 13, 15, 15], "texture": "#4"},
"west": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
}
},
{
"name": "Gear4",
"from": [6.5, 6.025, -7],
"to": [9.5, 9.975, 23],
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"east": {"uv": [0, 13, 15, 15], "texture": "#4"},
"south": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"west": {"uv": [0, 13, 15, 15], "texture": "#4"},
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
}
},
{
"name": "GearCaseInner",
"from": [-2, 6.5, -2],
"to": [18, 9.5, 18],
"faces": {
"north": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
"east": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
"south": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
"west": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
"up": {"uv": [0, 0, 10, 10], "texture": "#4"},
"down": {"uv": [0, 0, 10, 10], "texture": "#4"}
}
},
{
"name": "GearCaseOuter",
"from": [1, 5.975, 1],
"to": [15, 10.025, 15],
"faces": {
"north": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
"east": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
"south": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
"west": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
"up": {"uv": [1.5, 1.5, 8.5, 8.5], "texture": "#4"},
"down": {"uv": [1.5, 1.5, 8.5, 8.5], "texture": "#4"}
}
},
{
"name": "GearCaseOuter",
"from": [-1, 5.975, 1],
"to": [1, 10.025, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
"south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
"west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
"up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#4"},
"down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#4"}
}
},
{
"name": "GearCaseOuter",
"from": [1, 5.975, -1],
"to": [15, 10.025, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
"east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
"west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
"up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#4"},
"down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#4"}
}
},
{
"name": "GearCaseOuter",
"from": [15, 5.975, 1],
"to": [17, 10.025, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
"east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
"south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
"up": {"uv": [15, 0, 16, 7], "texture": "#4"},
"down": {"uv": [14, 0, 15, 7], "texture": "#4"}
}
},
{
"name": "GearCaseOuter",
"from": [1, 5.975, 15],
"to": [15, 10.025, 17],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
"south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
"west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
"up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#4"},
"down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#4"}
}
},
{
"name": "Gear",
"from": [6.5, 6.025, -7],
"to": [9.5, 9.975, 23],
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"east": {"uv": [0, 13, 15, 15], "texture": "#4"},
"south": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"west": {"uv": [0, 13, 15, 15], "texture": "#4"},
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
}
},
{
"name": "Gear5",
"from": [-7, 6.025, 6.5],
"to": [23, 9.975, 9.5],
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 13, 15, 15], "texture": "#4"},
"east": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"south": {"uv": [0, 13, 15, 15], "texture": "#4"},
"west": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
}
},
{
"name": "Gear6",
"from": [6.5, 6.025, -7],
"to": [9.5, 9.975, 23],
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"east": {"uv": [0, 13, 15, 15], "texture": "#4"},
"south": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"west": {"uv": [0, 13, 15, 15], "texture": "#4"},
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
}
},
{
"name": "Gear7",
"from": [-7, 6.025, 6.5],
"to": [23, 9.975, 9.5],
"faces": {
"north": {"uv": [0, 13, 15, 15], "texture": "#4"},
"east": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"south": {"uv": [0, 13, 15, 15], "texture": "#4"},
"west": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
}
},
{
"name": "Gear8",
"from": [6.5, 6.025, -7],
"to": [9.5, 9.975, 23],
"faces": {
"north": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"east": {"uv": [0, 13, 15, 15], "texture": "#4"},
"south": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
"west": {"uv": [0, 13, 15, 15], "texture": "#4"},
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
}
}
],
"groups": [
0,
1,
{
"name": "large_cogwheel",
"origin": [8, 8, 8],
"color": 0,
"nbt": "{}",
"children": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
}
]
}

View File

@@ -0,0 +1,67 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"1": "#opening",
"particle": "#casing"
},
"elements": [
{
"name": "Bottom",
"from": [0, 0, 0],
"to": [16, 16, 2],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"east": {"uv": [14, 0, 16, 16], "texture": "#casing"},
"south": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"west": {"uv": [0, 0, 2, 16], "texture": "#casing"},
"up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#casing"},
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
}
},
{
"name": "Core",
"from": [1, 0.95, 2],
"to": [15, 15.05, 14],
"faces": {
"up": {"uv": [1, 2, 15, 14], "rotation": 180, "texture": "#1"},
"down": {"uv": [1, 2, 15, 14], "texture": "#1"}
}
},
{
"name": "Top",
"from": [0, 0, 14],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"east": {"uv": [0, 0, 2, 16], "texture": "#casing"},
"south": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"west": {"uv": [14, 0, 16, 16], "texture": "#casing"},
"up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#casing"},
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
}
},
{
"name": "SideWest",
"from": [0, 0, 2],
"to": [2, 16, 14],
"faces": {
"east": {"uv": [2, 0, 14, 16], "texture": "#casing"},
"west": {"uv": [2, 0, 14, 16], "texture": "#casing"},
"up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#casing"},
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
}
},
{
"name": "SideEast",
"from": [14, 0, 2],
"to": [16, 16, 14],
"faces": {
"east": {"uv": [2, 0, 14, 16], "texture": "#casing"},
"west": {"uv": [2, 0, 14, 16], "texture": "#casing"},
"up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#casing"},
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
}
}
]
}

View File

@@ -0,0 +1,7 @@
{
"parent": "create:block/encased_shaft/block",
"textures": {
"casing": "createindustry:block/heavy_machinery_casing",
"opening": "createindustry:block/heavy_gearbox"
}
}

View File

@@ -0,0 +1,7 @@
{
"parent": "create:block/encased_shaft/block",
"textures": {
"casing": "createindustry:block/steel_casing",
"opening": "createindustry:block/steel_gearbox"
}
}

View File

@@ -0,0 +1,90 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"0": "#casing",
"1": "#opening",
"particle": "#casing",
"1_0": "create:block/axis",
"1_1": "create:block/axis_top"
},
"elements": [
{
"name": "Bottom",
"from": [0, 0, 0],
"to": [16, 2, 16],
"faces": {
"north": {"uv": [0, 14, 16, 16], "texture": "#0"},
"east": {"uv": [0, 14, 16, 16], "texture": "#0"},
"south": {"uv": [0, 14, 16, 16], "texture": "#0"},
"west": {"uv": [0, 14, 16, 16], "texture": "#0"},
"up": {"uv": [0, 0, 16, 16], "texture": "#0"},
"down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}
}
},
{
"name": "Core",
"from": [1, 2, 1],
"to": [15, 14, 15],
"faces": {
"north": {"uv": [1, 2, 15, 14], "texture": "#1"},
"south": {"uv": [1, 2, 15, 14], "texture": "#1"}
}
},
{
"name": "Top",
"from": [0, 14, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 2], "texture": "#0"},
"east": {"uv": [0, 0, 16, 2], "texture": "#0"},
"south": {"uv": [0, 0, 16, 2], "texture": "#0"},
"west": {"uv": [0, 0, 16, 2], "texture": "#0"},
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"},
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
}
},
{
"name": "SideWest",
"from": [0, 2, 0],
"to": [2, 14, 16],
"faces": {
"north": {"uv": [14, 2, 16, 14], "texture": "#0"},
"east": {"uv": [0, 2, 16, 14], "texture": "#0"},
"south": {"uv": [0, 2, 2, 14], "texture": "#0"},
"west": {"uv": [0, 2, 16, 14], "texture": "#0"}
}
},
{
"name": "SideEast",
"from": [14, 2, 0],
"to": [16, 14, 16],
"faces": {
"north": {"uv": [0, 2, 2, 14], "texture": "#0"},
"east": {"uv": [0, 2, 16, 14], "texture": "#0"},
"south": {"uv": [14, 2, 16, 14], "texture": "#0"},
"west": {"uv": [0, 2, 16, 14], "texture": "#0"}
}
},
{
"name": "Axis",
"from": [6, 6, 0],
"to": [10, 10, 16],
"faces": {
"north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1_1"},
"east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#1_0"},
"south": {"uv": [6, 6, 10, 10], "texture": "#1_1"},
"west": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"},
"up": {"uv": [6, 0, 10, 16], "texture": "#1_0"},
"down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#1_0"}
}
}
],
"groups": [0, 1, 2, 3, 4,
{
"name": "shaft",
"origin": [8, 8, 8],
"children": [5]
}
]
}

View File

@@ -0,0 +1,7 @@
{
"parent": "create:block/encased_shaft/item",
"textures": {
"casing": "createindustry:block/heavy_machinery_casing",
"opening": "createindustry:block/heavy_gearbox"
}
}

View File

@@ -0,0 +1,7 @@
{
"parent": "create:block/encased_shaft/item",
"textures": {
"casing": "createindustry:block/steel_casing",
"opening": "createindustry:block/steel_gearbox"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 767 B

After

Width:  |  Height:  |  Size: 883 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +1,5 @@
{
"animation": {
"frametime": 2
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -0,0 +1,5 @@
{
"animation": {
"frametime": 2
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +1,5 @@
{
"animation": {
"frametime": 2
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -0,0 +1,5 @@
{
"animation": {
"frametime": 2
}
}