encasing
@@ -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()));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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)));
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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---------------------------//
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/block",
|
||||
"textures": {
|
||||
"casing": "createindustry:block/heavy_machinery_casing",
|
||||
"opening": "createindustry:block/heavy_gearbox"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/block",
|
||||
"textures": {
|
||||
"casing": "createindustry:block/steel_casing",
|
||||
"opening": "createindustry:block/steel_gearbox"
|
||||
}
|
||||
}
|
||||
@@ -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]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/item",
|
||||
"textures": {
|
||||
"casing": "createindustry:block/heavy_machinery_casing",
|
||||
"opening": "createindustry:block/heavy_gearbox"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/item",
|
||||
"textures": {
|
||||
"casing": "createindustry:block/steel_casing",
|
||||
"opening": "createindustry:block/steel_gearbox"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 276 B After Width: | Height: | Size: 276 B |
|
After Width: | Height: | Size: 398 B |
|
After Width: | Height: | Size: 242 B |
|
Before Width: | Height: | Size: 767 B After Width: | Height: | Size: 883 B |
|
After Width: | Height: | Size: 380 B |
|
After Width: | Height: | Size: 214 B |
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"animation": {
|
||||
"frametime": 2
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 9.4 KiB |
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"animation": {
|
||||
"frametime": 2
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"animation": {
|
||||
"frametime": 2
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 9.4 KiB |
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"animation": {
|
||||
"frametime": 2
|
||||
}
|
||||
}
|
||||