Alt-Shift-R

- Axis -> Shaft
- Gear -> Cogwheel
- Large_Gear -> Large_Cogwheel
- Axis_Tunnel -> Encased_Shaft
- Half_Axis -> Shaft_Half
- Fixed further name inconsistencies in other Object Holders
- Added Skeleton for Encased Fan
This commit is contained in:
simibubi 2019-08-29 01:51:28 +02:00
parent cb366a287a
commit 14b06ec22a
76 changed files with 511 additions and 191 deletions

View file

@ -4,12 +4,12 @@ import com.simibubi.create.foundation.block.IWithoutBlockItem;
import com.simibubi.create.foundation.block.ProperStairsBlock; import com.simibubi.create.foundation.block.ProperStairsBlock;
import com.simibubi.create.foundation.block.RenderUtilityAxisBlock; import com.simibubi.create.foundation.block.RenderUtilityAxisBlock;
import com.simibubi.create.foundation.block.RenderUtilityBlock; import com.simibubi.create.foundation.block.RenderUtilityBlock;
import com.simibubi.create.modules.contraptions.base.HalfAxisBlock;
import com.simibubi.create.modules.contraptions.generators.MotorBlock; import com.simibubi.create.modules.contraptions.generators.MotorBlock;
import com.simibubi.create.modules.contraptions.generators.WaterWheelBlock; import com.simibubi.create.modules.contraptions.generators.WaterWheelBlock;
import com.simibubi.create.modules.contraptions.receivers.CrushingWheelBlock; import com.simibubi.create.modules.contraptions.receivers.CrushingWheelBlock;
import com.simibubi.create.modules.contraptions.receivers.CrushingWheelControllerBlock; import com.simibubi.create.modules.contraptions.receivers.CrushingWheelControllerBlock;
import com.simibubi.create.modules.contraptions.receivers.DrillBlock; import com.simibubi.create.modules.contraptions.receivers.DrillBlock;
import com.simibubi.create.modules.contraptions.receivers.EncasedFanBlock;
import com.simibubi.create.modules.contraptions.receivers.HarvesterBlock; import com.simibubi.create.modules.contraptions.receivers.HarvesterBlock;
import com.simibubi.create.modules.contraptions.receivers.TurntableBlock; import com.simibubi.create.modules.contraptions.receivers.TurntableBlock;
import com.simibubi.create.modules.contraptions.receivers.constructs.ChassisBlock; import com.simibubi.create.modules.contraptions.receivers.constructs.ChassisBlock;
@ -17,14 +17,15 @@ import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalP
import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalPistonHeadBlock; import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalPistonHeadBlock;
import com.simibubi.create.modules.contraptions.receivers.constructs.PistonPoleBlock; import com.simibubi.create.modules.contraptions.receivers.constructs.PistonPoleBlock;
import com.simibubi.create.modules.contraptions.redstone.ContactBlock; import com.simibubi.create.modules.contraptions.redstone.ContactBlock;
import com.simibubi.create.modules.contraptions.relays.AxisBlock;
import com.simibubi.create.modules.contraptions.relays.AxisTunnelBlock;
import com.simibubi.create.modules.contraptions.relays.BeltBlock; import com.simibubi.create.modules.contraptions.relays.BeltBlock;
import com.simibubi.create.modules.contraptions.relays.ClutchBlock; import com.simibubi.create.modules.contraptions.relays.ClutchBlock;
import com.simibubi.create.modules.contraptions.relays.CogWheelBlock; import com.simibubi.create.modules.contraptions.relays.CogWheelBlock;
import com.simibubi.create.modules.contraptions.relays.EncasedBeltBlock; import com.simibubi.create.modules.contraptions.relays.EncasedBeltBlock;
import com.simibubi.create.modules.contraptions.relays.EncasedShaftBlock;
import com.simibubi.create.modules.contraptions.relays.GearboxBlock; import com.simibubi.create.modules.contraptions.relays.GearboxBlock;
import com.simibubi.create.modules.contraptions.relays.GearshiftBlock; import com.simibubi.create.modules.contraptions.relays.GearshiftBlock;
import com.simibubi.create.modules.contraptions.relays.ShaftBlock;
import com.simibubi.create.modules.contraptions.relays.ShaftHalfBlock;
import com.simibubi.create.modules.economy.ShopShelfBlock; import com.simibubi.create.modules.economy.ShopShelfBlock;
import com.simibubi.create.modules.gardens.CocoaLogBlock; import com.simibubi.create.modules.gardens.CocoaLogBlock;
import com.simibubi.create.modules.logistics.block.ExtractorBlock; import com.simibubi.create.modules.logistics.block.ExtractorBlock;
@ -62,10 +63,10 @@ public enum AllBlocks {
SCHEMATIC_TABLE(new SchematicTableBlock()), SCHEMATIC_TABLE(new SchematicTableBlock()),
// Kinetics // Kinetics
AXIS(new AxisBlock(Properties.from(Blocks.ANDESITE))), SHAFT(new ShaftBlock(Properties.from(Blocks.ANDESITE))),
GEAR(new CogWheelBlock(false)), COGWHEEL(new CogWheelBlock(false)),
LARGE_GEAR(new CogWheelBlock(true)), LARGE_COGWHEEL(new CogWheelBlock(true)),
AXIS_TUNNEL(new AxisTunnelBlock()), ENCASED_SHAFT(new EncasedShaftBlock()),
ENCASED_BELT(new EncasedBeltBlock()), ENCASED_BELT(new EncasedBeltBlock()),
CLUTCH(new ClutchBlock()), CLUTCH(new ClutchBlock()),
GEARSHIFT(new GearshiftBlock()), GEARSHIFT(new GearshiftBlock()),
@ -77,8 +78,10 @@ public enum AllBlocks {
MOTOR(new MotorBlock()), MOTOR(new MotorBlock()),
WATER_WHEEL(new WaterWheelBlock()), WATER_WHEEL(new WaterWheelBlock()),
ENCASED_FAN(new EncasedFanBlock()),
ENCASED_FAN_INNER(new RenderUtilityAxisBlock()),
TURNTABLE(new TurntableBlock()), TURNTABLE(new TurntableBlock()),
HALF_AXIS(new HalfAxisBlock()), SHAFT_HALF(new ShaftHalfBlock()),
CRUSHING_WHEEL(new CrushingWheelBlock()), CRUSHING_WHEEL(new CrushingWheelBlock()),
CRUSHING_WHEEL_CONTROLLER(new CrushingWheelControllerBlock()), CRUSHING_WHEEL_CONTROLLER(new CrushingWheelControllerBlock()),

View file

@ -28,11 +28,11 @@ import net.minecraftforge.fml.network.IContainerFactory;
@EventBusSubscriber(bus = Bus.MOD) @EventBusSubscriber(bus = Bus.MOD)
public enum AllContainers { public enum AllContainers {
SchematicTable(SchematicTableContainer::new), SCHEMATIC_TABLE(SchematicTableContainer::new),
Schematicannon(SchematicannonContainer::new), SCHEMATICANNON(SchematicannonContainer::new),
FlexCrate(FlexcrateContainer::new), FLEXCRATE(FlexcrateContainer::new),
ShopShelf(ShopShelfContainer::new), SHOP_SHELF(ShopShelfContainer::new),
; ;
@ -55,10 +55,10 @@ public enum AllContainers {
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public static void registerScreenFactories() { public static void registerScreenFactories() {
bind(SchematicTable, SchematicTableScreen::new); bind(SCHEMATIC_TABLE, SchematicTableScreen::new);
bind(Schematicannon, SchematicannonScreen::new); bind(SCHEMATICANNON, SchematicannonScreen::new);
bind(FlexCrate, FlexcrateScreen::new); bind(FLEXCRATE, FlexcrateScreen::new);
bind(ShopShelf, ShopShelfScreen::new); bind(SHOP_SHELF, ShopShelfScreen::new);
} }
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)

View file

@ -16,9 +16,9 @@ import net.minecraftforge.event.RegistryEvent;
public enum AllRecipes { public enum AllRecipes {
Placement_Handgun_Upgrade(BuilderGunUpgradeRecipe.Serializer::new, IRecipeType.CRAFTING), PLACEMENT_HANDGUN_UPGRADE(BuilderGunUpgradeRecipe.Serializer::new, IRecipeType.CRAFTING),
Crushing(() -> { CRUSHING(() -> {
return new ProcessingRecipeSerializer<>(CrushingRecipe::new); return new ProcessingRecipeSerializer<>(CrushingRecipe::new);
}, Types.CRUSHING), }, Types.CRUSHING),

View file

@ -8,7 +8,7 @@ import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
@EventBusSubscriber(value = Dist.CLIENT) @EventBusSubscriber(value = Dist.CLIENT)
public enum AllSpecialTextures { public enum AllSpecialTextures {
Selection("selection.png"), SELECTION("selection.png"),
; ;

View file

@ -9,19 +9,21 @@ import com.simibubi.create.modules.contraptions.generators.WaterWheelTileEntity;
import com.simibubi.create.modules.contraptions.receivers.CrushingWheelControllerTileEntity; import com.simibubi.create.modules.contraptions.receivers.CrushingWheelControllerTileEntity;
import com.simibubi.create.modules.contraptions.receivers.CrushingWheelTileEntity; import com.simibubi.create.modules.contraptions.receivers.CrushingWheelTileEntity;
import com.simibubi.create.modules.contraptions.receivers.DrillTileEntity; import com.simibubi.create.modules.contraptions.receivers.DrillTileEntity;
import com.simibubi.create.modules.contraptions.receivers.EncasedFanTileEntity;
import com.simibubi.create.modules.contraptions.receivers.EncasedFanTileEntityRenderer;
import com.simibubi.create.modules.contraptions.receivers.TurntableTileEntity; import com.simibubi.create.modules.contraptions.receivers.TurntableTileEntity;
import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalPistonTileEntity; import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalPistonTileEntity;
import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalPistonTileEntityRenderer; import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalPistonTileEntityRenderer;
import com.simibubi.create.modules.contraptions.relays.AxisTileEntity; import com.simibubi.create.modules.contraptions.relays.ShaftTileEntity;
import com.simibubi.create.modules.contraptions.relays.AxisTunnelTileEntity; import com.simibubi.create.modules.contraptions.relays.EncasedShaftTileEntity;
import com.simibubi.create.modules.contraptions.relays.AxisTunnelTileEntityRenderer; import com.simibubi.create.modules.contraptions.relays.EncasedShaftTileEntityRenderer;
import com.simibubi.create.modules.contraptions.relays.BeltTileEntity; import com.simibubi.create.modules.contraptions.relays.BeltTileEntity;
import com.simibubi.create.modules.contraptions.relays.BeltTileEntityRenderer; import com.simibubi.create.modules.contraptions.relays.BeltTileEntityRenderer;
import com.simibubi.create.modules.contraptions.relays.ClutchTileEntity; import com.simibubi.create.modules.contraptions.relays.ClutchTileEntity;
import com.simibubi.create.modules.contraptions.relays.GearboxTileEntity; import com.simibubi.create.modules.contraptions.relays.GearboxTileEntity;
import com.simibubi.create.modules.contraptions.relays.GearboxTileEntityRenderer; import com.simibubi.create.modules.contraptions.relays.GearboxTileEntityRenderer;
import com.simibubi.create.modules.contraptions.relays.GearshiftTileEntity; import com.simibubi.create.modules.contraptions.relays.GearshiftTileEntity;
import com.simibubi.create.modules.contraptions.relays.SidedAxisTunnelTileEntityRenderer; import com.simibubi.create.modules.contraptions.relays.SplitShaftTileEntityRenderer;
import com.simibubi.create.modules.economy.ShopShelfTileEntity; import com.simibubi.create.modules.economy.ShopShelfTileEntity;
import com.simibubi.create.modules.logistics.block.ExtractorTileEntity; import com.simibubi.create.modules.logistics.block.ExtractorTileEntity;
import com.simibubi.create.modules.logistics.block.FlexcrateTileEntity; import com.simibubi.create.modules.logistics.block.FlexcrateTileEntity;
@ -54,10 +56,11 @@ public enum AllTileEntities {
SCHEMATICTABLE(SchematicTableTileEntity::new, AllBlocks.SCHEMATIC_TABLE), SCHEMATICTABLE(SchematicTableTileEntity::new, AllBlocks.SCHEMATIC_TABLE),
// Kinetics // Kinetics
AXIS(AxisTileEntity::new, AllBlocks.AXIS, AllBlocks.GEAR, AllBlocks.LARGE_GEAR, AllBlocks.AXIS_TUNNEL), SHAFT(ShaftTileEntity::new, AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL, AllBlocks.ENCASED_SHAFT),
MOTOR(MotorTileEntity::new, AllBlocks.MOTOR), GEARBOX(GearboxTileEntity::new, AllBlocks.GEARBOX), MOTOR(MotorTileEntity::new, AllBlocks.MOTOR), GEARBOX(GearboxTileEntity::new, AllBlocks.GEARBOX),
TURNTABLE(TurntableTileEntity::new, AllBlocks.TURNTABLE), TURNTABLE(TurntableTileEntity::new, AllBlocks.TURNTABLE),
AXIS_TUNNEL(AxisTunnelTileEntity::new, AllBlocks.AXIS_TUNNEL, AllBlocks.ENCASED_BELT), ENCASED_SHAFT(EncasedShaftTileEntity::new, AllBlocks.ENCASED_SHAFT, AllBlocks.ENCASED_BELT),
ENCASED_FAN(EncasedFanTileEntity::new, AllBlocks.ENCASED_FAN),
CLUTCH(ClutchTileEntity::new, AllBlocks.CLUTCH), CLUTCH(ClutchTileEntity::new, AllBlocks.CLUTCH),
GEARSHIFT(GearshiftTileEntity::new, AllBlocks.GEARSHIFT), GEARSHIFT(GearshiftTileEntity::new, AllBlocks.GEARSHIFT),
BELT(BeltTileEntity::new, AllBlocks.BELT), BELT(BeltTileEntity::new, AllBlocks.BELT),
@ -105,13 +108,14 @@ public enum AllTileEntities {
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public static void registerRenderers() { public static void registerRenderers() {
bind(SchematicannonTileEntity.class, new SchematicannonRenderer()); bind(SchematicannonTileEntity.class, new SchematicannonRenderer());
bind(AxisTileEntity.class, new KineticTileEntityRenderer()); bind(ShaftTileEntity.class, new KineticTileEntityRenderer());
bind(TurntableTileEntity.class, new KineticTileEntityRenderer()); bind(TurntableTileEntity.class, new KineticTileEntityRenderer());
bind(MotorTileEntity.class, new MotorTileEntityRenderer()); bind(MotorTileEntity.class, new MotorTileEntityRenderer());
bind(AxisTunnelTileEntity.class, new AxisTunnelTileEntityRenderer()); bind(EncasedShaftTileEntity.class, new EncasedShaftTileEntityRenderer());
bind(EncasedFanTileEntity.class, new EncasedFanTileEntityRenderer());
bind(GearboxTileEntity.class, new GearboxTileEntityRenderer()); bind(GearboxTileEntity.class, new GearboxTileEntityRenderer());
bind(GearshiftTileEntity.class, new SidedAxisTunnelTileEntityRenderer()); bind(GearshiftTileEntity.class, new SplitShaftTileEntityRenderer());
bind(ClutchTileEntity.class, new SidedAxisTunnelTileEntityRenderer()); bind(ClutchTileEntity.class, new SplitShaftTileEntityRenderer());
bind(BeltTileEntity.class, new BeltTileEntityRenderer()); bind(BeltTileEntity.class, new BeltTileEntityRenderer());
bind(MechanicalPistonTileEntity.class, new MechanicalPistonTileEntityRenderer()); bind(MechanicalPistonTileEntity.class, new MechanicalPistonTileEntityRenderer());
bind(DrillTileEntity.class, new KineticTileEntityRenderer()); bind(DrillTileEntity.class, new KineticTileEntityRenderer());

View file

@ -10,7 +10,7 @@ import net.minecraft.util.Rotation;
public class ProperDirectionalBlock extends DirectionalBlock { public class ProperDirectionalBlock extends DirectionalBlock {
protected ProperDirectionalBlock(Properties p_i48415_1_) { public ProperDirectionalBlock(Properties p_i48415_1_) {
super(p_i48415_1_); super(p_i48415_1_);
} }

View file

@ -2,11 +2,17 @@ package com.simibubi.create.foundation.block;
import net.minecraft.block.RotatedPillarBlock; import net.minecraft.block.RotatedPillarBlock;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.util.BlockRenderLayer;
public class RenderUtilityAxisBlock extends RotatedPillarBlock implements IRenderUtilityBlock { public class RenderUtilityAxisBlock extends RotatedPillarBlock implements IRenderUtilityBlock {
public RenderUtilityAxisBlock() { public RenderUtilityAxisBlock() {
super(Properties.create(Material.AIR)); super(Properties.create(Material.AIR));
} }
@Override
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT;
}
} }

View file

@ -9,7 +9,7 @@ import com.simibubi.create.modules.contraptions.base.KineticTileEntity;
import com.simibubi.create.modules.contraptions.relays.BeltTileEntity; import com.simibubi.create.modules.contraptions.relays.BeltTileEntity;
import com.simibubi.create.modules.contraptions.relays.EncasedBeltBlock; import com.simibubi.create.modules.contraptions.relays.EncasedBeltBlock;
import com.simibubi.create.modules.contraptions.relays.GearboxTileEntity; import com.simibubi.create.modules.contraptions.relays.GearboxTileEntity;
import com.simibubi.create.modules.contraptions.relays.SidedAxisTunnelTileEntity; import com.simibubi.create.modules.contraptions.relays.SplitShaftTileEntity;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.state.IProperty; import net.minecraft.state.IProperty;
@ -77,7 +77,7 @@ public class RotationPropagator {
if (connectedByGears) { if (connectedByGears) {
if (diff.manhattanDistance(BlockPos.ZERO) != 1) if (diff.manhattanDistance(BlockPos.ZERO) != 1)
return 0; return 0;
if (AllBlocks.LARGE_GEAR.typeOf(stateTo)) if (AllBlocks.LARGE_COGWHEEL.typeOf(stateTo))
return 0; return 0;
if (stateFrom.get(axisProperty) == stateTo.get(axisProperty)) if (stateFrom.get(axisProperty) == stateTo.get(axisProperty))
return -1; return -1;
@ -95,14 +95,14 @@ public class RotationPropagator {
return direction.getAxis() == source.getAxis() ? direction == source ? 1 : -1 return direction.getAxis() == source.getAxis() ? direction == source ? 1 : -1
: direction.getAxisDirection() == source.getAxisDirection() ? -1 : 1; : direction.getAxisDirection() == source.getAxisDirection() ? -1 : 1;
if (te instanceof SidedAxisTunnelTileEntity) if (te instanceof SplitShaftTileEntity)
return ((SidedAxisTunnelTileEntity) te).getRotationSpeedModifier(direction); return ((SplitShaftTileEntity) te).getRotationSpeedModifier(direction);
return 1; return 1;
} }
private static boolean isLargeToSmallGear(BlockState from, BlockState to, final BlockPos diff) { private static boolean isLargeToSmallGear(BlockState from, BlockState to, final BlockPos diff) {
if (!AllBlocks.LARGE_GEAR.typeOf(from) || !AllBlocks.GEAR.typeOf(to)) if (!AllBlocks.LARGE_COGWHEEL.typeOf(from) || !AllBlocks.COGWHEEL.typeOf(to))
return false; return false;
Axis axisFrom = from.get(BlockStateProperties.AXIS); Axis axisFrom = from.get(BlockStateProperties.AXIS);
if (axisFrom != to.get(BlockStateProperties.AXIS)) if (axisFrom != to.get(BlockStateProperties.AXIS))
@ -300,7 +300,7 @@ public class RotationPropagator {
// Some Blocks can interface diagonally // Some Blocks can interface diagonally
BlockState blockState = te.getBlockState(); BlockState blockState = te.getBlockState();
if (AllBlocks.GEAR.typeOf(blockState) || AllBlocks.LARGE_GEAR.typeOf(blockState) if (AllBlocks.COGWHEEL.typeOf(blockState) || AllBlocks.LARGE_COGWHEEL.typeOf(blockState)
|| AllBlocks.BELT.typeOf(blockState)) { || AllBlocks.BELT.typeOf(blockState)) {
Axis axis = ((IRotate) blockState.getBlock()).getRotationAxis(blockState); Axis axis = ((IRotate) blockState.getBlock()).getRotationAxis(blockState);

View file

@ -1,14 +0,0 @@
package com.simibubi.create.modules.contraptions.base;
import com.simibubi.create.foundation.block.IRenderUtilityBlock;
import com.simibubi.create.foundation.block.ProperDirectionalBlock;
import net.minecraft.block.material.Material;
public class HalfAxisBlock extends ProperDirectionalBlock implements IRenderUtilityBlock {
public HalfAxisBlock() {
super(Properties.create(Material.ROCK));
}
}

View file

@ -67,7 +67,7 @@ public abstract class KineticBlock extends InfoBlock implements IRotate {
@Override @Override
public boolean canRenderInLayer(BlockState state, BlockRenderLayer layer) { public boolean canRenderInLayer(BlockState state, BlockRenderLayer layer) {
return hasStaticPart() && layer == BlockRenderLayer.SOLID; return hasStaticPart() && layer == getRenderLayer();
} }
protected abstract boolean hasStaticPart(); protected abstract boolean hasStaticPart();

View file

@ -106,7 +106,7 @@ public class KineticTileEntityRenderer extends TileEntityRendererFast<KineticTil
} }
protected float getRotationOffsetForPosition(KineticTileEntity te, final BlockPos pos, final Axis axis) { protected float getRotationOffsetForPosition(KineticTileEntity te, final BlockPos pos, final Axis axis) {
float offset = AllBlocks.LARGE_GEAR.typeOf(te.getBlockState()) ? 11.25f : 0; float offset = AllBlocks.LARGE_COGWHEEL.typeOf(te.getBlockState()) ? 11.25f : 0;
double d = (((axis == Axis.X) ? 0 : pos.getX()) + ((axis == Axis.Y) ? 0 : pos.getY()) double d = (((axis == Axis.X) ? 0 : pos.getX()) + ((axis == Axis.Y) ? 0 : pos.getY())
+ ((axis == Axis.Z) ? 0 : pos.getZ())) % 2; + ((axis == Axis.Z) ? 0 : pos.getZ())) % 2;
if (d == 0) { if (d == 0) {

View file

@ -11,7 +11,7 @@ public class MotorTileEntityRenderer extends KineticTileEntityRenderer {
@Override @Override
protected BlockState getRenderedBlockState(KineticTileEntity te) { protected BlockState getRenderedBlockState(KineticTileEntity te) {
return AllBlocks.HALF_AXIS.get().getDefaultState().with(BlockStateProperties.FACING, return AllBlocks.SHAFT_HALF.get().getDefaultState().with(BlockStateProperties.FACING,
te.getBlockState().get(BlockStateProperties.HORIZONTAL_FACING)); te.getBlockState().get(BlockStateProperties.HORIZONTAL_FACING));
} }

View file

@ -134,7 +134,7 @@ public class WaterWheelBlock extends HorizontalKineticBlock {
@Override @Override
public ItemDescription getDescription() { public ItemDescription getDescription() {
return new ItemDescription(color).withSummary("Creates Rotational Power from " + h("Water flows", color) + " around it.") return new ItemDescription(color).withSummary("Creates Rotational Power from " + h("Water streams", color) + " around it.")
.createTabs(); .createTabs();
} }

View file

@ -15,7 +15,7 @@ public class CrushingRecipe extends ProcessingRecipe<CrushingWheelControllerTile
public CrushingRecipe(ResourceLocation id, String group, List<Ingredient> ingredients, public CrushingRecipe(ResourceLocation id, String group, List<Ingredient> ingredients,
List<StochasticOutput> results, int processingDuration) { List<StochasticOutput> results, int processingDuration) {
super(AllRecipes.Crushing, id, group, ingredients, results, processingDuration); super(AllRecipes.CRUSHING, id, group, ingredients, results, processingDuration);
} }
@Override @Override

View file

@ -7,7 +7,7 @@ import com.simibubi.create.modules.contraptions.base.DirectionalKineticBlock;
import com.simibubi.create.modules.contraptions.base.IRotate; import com.simibubi.create.modules.contraptions.base.IRotate;
import com.simibubi.create.modules.contraptions.receivers.constructs.IHaveMovementBehavior; import com.simibubi.create.modules.contraptions.receivers.constructs.IHaveMovementBehavior;
import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalPistonTileEntity; import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalPistonTileEntity;
import com.simibubi.create.modules.contraptions.relays.AxisBlock; import com.simibubi.create.modules.contraptions.relays.ShaftBlock;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -35,9 +35,9 @@ import net.minecraft.world.server.ServerWorld;
public class DrillBlock extends DirectionalKineticBlock implements IHaveMovementBehavior { public class DrillBlock extends DirectionalKineticBlock implements IHaveMovementBehavior {
protected static final VoxelShape CORE_SHAPE = makeCuboidShape(3, 3, 3, 13, 13, 13), protected static final VoxelShape CORE_SHAPE = makeCuboidShape(3, 3, 3, 13, 13, 13),
DRILL_SHAPE_X = VoxelShapes.or(CORE_SHAPE, AxisBlock.AXIS_X), DRILL_SHAPE_X = VoxelShapes.or(CORE_SHAPE, ShaftBlock.AXIS_X),
DRILL_SHAPE_Y = VoxelShapes.or(CORE_SHAPE, AxisBlock.AXIS_Y), DRILL_SHAPE_Y = VoxelShapes.or(CORE_SHAPE, ShaftBlock.AXIS_Y),
DRILL_SHAPE_Z = VoxelShapes.or(CORE_SHAPE, AxisBlock.AXIS_Z); DRILL_SHAPE_Z = VoxelShapes.or(CORE_SHAPE, ShaftBlock.AXIS_Z);
public static final BooleanProperty FIXATED = BooleanProperty.create("fixated"); public static final BooleanProperty FIXATED = BooleanProperty.create("fixated");

View file

@ -0,0 +1,29 @@
package com.simibubi.create.modules.contraptions.receivers;
import com.simibubi.create.foundation.utility.ItemDescription;
import com.simibubi.create.modules.contraptions.relays.EncasedShaftBlock;
import net.minecraft.block.BlockState;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.world.IBlockReader;
public class EncasedFanBlock extends EncasedShaftBlock {
@Override
public ItemDescription getDescription() {
return new ItemDescription(color)
.withSummary("Exchange rotational power for air flow and back.").createTabs();
}
@Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new EncasedFanTileEntity();
}
@Override
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT;
}
}

View file

@ -0,0 +1,12 @@
package com.simibubi.create.modules.contraptions.receivers;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.modules.contraptions.base.KineticTileEntity;
public class EncasedFanTileEntity extends KineticTileEntity {
public EncasedFanTileEntity() {
super(AllTileEntities.ENCASED_FAN.type);
}
}

View file

@ -0,0 +1,18 @@
package com.simibubi.create.modules.contraptions.receivers;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.modules.contraptions.base.KineticTileEntity;
import com.simibubi.create.modules.contraptions.base.KineticTileEntityRenderer;
import net.minecraft.block.BlockState;
import net.minecraft.state.properties.BlockStateProperties;
public class EncasedFanTileEntityRenderer extends KineticTileEntityRenderer {
@Override
protected BlockState getRenderedBlockState(KineticTileEntity te) {
return AllBlocks.ENCASED_FAN_INNER.get().getDefaultState().with(BlockStateProperties.AXIS,
te.getBlockState().get(BlockStateProperties.AXIS));
}
}

View file

@ -77,7 +77,7 @@ public class MechanicalPistonTileEntityRenderer extends KineticTileEntityRendere
@Override @Override
protected BlockState getRenderedBlockState(KineticTileEntity te) { protected BlockState getRenderedBlockState(KineticTileEntity te) {
return AllBlocks.AXIS.block.getDefaultState().with(BlockStateProperties.AXIS, return AllBlocks.SHAFT.block.getDefaultState().with(BlockStateProperties.AXIS,
((IRotate) te.getBlockState().getBlock()).getRotationAxis(te.getBlockState())); ((IRotate) te.getBlockState().getBlock()).getRotationAxis(te.getBlockState()));
} }

View file

@ -1,17 +0,0 @@
package com.simibubi.create.modules.contraptions.relays;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.modules.contraptions.base.KineticTileEntity;
public class AxisTunnelTileEntity extends KineticTileEntity {
public AxisTunnelTileEntity() {
super(AllTileEntities.AXIS_TUNNEL.type);
}
@Override
public boolean hasFastRenderer() {
return true;
}
}

View file

@ -238,7 +238,7 @@ public class BeltBlock extends HorizontalKineticBlock implements IWithoutBlockIt
te.remove(); te.remove();
if (hasPulley) { if (hasPulley) {
worldIn.setBlockState(toDestroy, AllBlocks.AXIS.get().getDefaultState() worldIn.setBlockState(toDestroy, AllBlocks.SHAFT.get().getDefaultState()
.with(BlockStateProperties.AXIS, getRotationAxis(destroyedBlock)), 3); .with(BlockStateProperties.AXIS, getRotationAxis(destroyedBlock)), 3);
} else { } else {
worldIn.destroyBlock(toDestroy, false); worldIn.destroyBlock(toDestroy, false);

View file

@ -202,7 +202,7 @@ public class BeltItem extends Item {
public static boolean validateAxis(World world, BlockPos pos) { public static boolean validateAxis(World world, BlockPos pos) {
if (!world.isAreaLoaded(pos, 1)) if (!world.isAreaLoaded(pos, 1))
return false; return false;
if (!AllBlocks.AXIS.typeOf(world.getBlockState(pos))) if (!AllBlocks.SHAFT.typeOf(world.getBlockState(pos)))
return false; return false;
if (world.getBlockState(pos).get(BlockStateProperties.AXIS) == Axis.Y) if (world.getBlockState(pos).get(BlockStateProperties.AXIS) == Axis.Y)
return false; return false;

View file

@ -77,7 +77,7 @@ public class BeltItemHandler {
if (world.getBlockState(selected).getMaterial().isReplaceable()) if (world.getBlockState(selected).getMaterial().isReplaceable())
return; return;
if (!AllBlocks.AXIS.typeOf(world.getBlockState(selected))) if (!AllBlocks.SHAFT.typeOf(world.getBlockState(selected)))
selected = selected.offset(((BlockRayTraceResult) rayTrace).getFace()); selected = selected.offset(((BlockRayTraceResult) rayTrace).getFace());
if (!selected.withinDistance(first, BeltItem.MAX_PULLEY_DISTANCE)) if (!selected.withinDistance(first, BeltItem.MAX_PULLEY_DISTANCE))
return; return;

View file

@ -5,7 +5,7 @@ import com.simibubi.create.AllTileEntities;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
public class ClutchTileEntity extends SidedAxisTunnelTileEntity { public class ClutchTileEntity extends SplitShaftTileEntity {
public ClutchTileEntity() { public ClutchTileEntity() {
super(AllTileEntities.CLUTCH.type); super(AllTileEntities.CLUTCH.type);

View file

@ -14,7 +14,7 @@ import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorldReader; import net.minecraft.world.IWorldReader;
import net.minecraft.world.World; import net.minecraft.world.World;
public class CogWheelBlock extends AxisBlock { public class CogWheelBlock extends ShaftBlock {
private boolean isLarge; private boolean isLarge;
@ -43,7 +43,7 @@ public class CogWheelBlock extends AxisBlock {
continue; continue;
BlockState blockState = worldIn.getBlockState(pos.offset(facing)); BlockState blockState = worldIn.getBlockState(pos.offset(facing));
if (AllBlocks.LARGE_GEAR.typeOf(blockState) || isLarge && AllBlocks.GEAR.typeOf(blockState)) if (AllBlocks.LARGE_COGWHEEL.typeOf(blockState) || isLarge && AllBlocks.COGWHEEL.typeOf(blockState))
return false; return false;
} }
return true; return true;

View file

@ -96,7 +96,7 @@ public class EncasedBeltBlock extends RotatedPillarKineticBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new AxisTunnelTileEntity(); return new EncasedShaftTileEntity();
} }
@Override @Override

View file

@ -14,15 +14,15 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
import net.minecraft.world.World; import net.minecraft.world.World;
public class AxisTunnelBlock extends RotatedPillarKineticBlock { public class EncasedShaftBlock extends RotatedPillarKineticBlock {
public AxisTunnelBlock() { public EncasedShaftBlock() {
super(Properties.from(Blocks.ANDESITE)); super(Properties.from(Blocks.ANDESITE));
} }
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new AxisTunnelTileEntity(); return new EncasedShaftTileEntity();
} }
@Override @Override

View file

@ -0,0 +1,12 @@
package com.simibubi.create.modules.contraptions.relays;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.modules.contraptions.base.KineticTileEntity;
public class EncasedShaftTileEntity extends KineticTileEntity {
public EncasedShaftTileEntity() {
super(AllTileEntities.ENCASED_SHAFT.type);
}
}

View file

@ -7,11 +7,11 @@ import com.simibubi.create.modules.contraptions.base.KineticTileEntityRenderer;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
public class AxisTunnelTileEntityRenderer extends KineticTileEntityRenderer { public class EncasedShaftTileEntityRenderer extends KineticTileEntityRenderer {
@Override @Override
protected BlockState getRenderedBlockState(KineticTileEntity te) { protected BlockState getRenderedBlockState(KineticTileEntity te) {
return AllBlocks.AXIS.get().getDefaultState().with(BlockStateProperties.AXIS, return AllBlocks.SHAFT.get().getDefaultState().with(BlockStateProperties.AXIS,
te.getBlockState().get(BlockStateProperties.AXIS)); te.getBlockState().get(BlockStateProperties.AXIS));
} }

View file

@ -21,7 +21,7 @@ public class GearboxTileEntityRenderer extends KineticTileEntityRenderer {
final Axis boxAxis = te.getBlockState().get(BlockStateProperties.AXIS); final Axis boxAxis = te.getBlockState().get(BlockStateProperties.AXIS);
final BlockPos pos = te.getPos(); final BlockPos pos = te.getPos();
float time = Animation.getWorldTime(Minecraft.getInstance().world, partialTicks); float time = Animation.getWorldTime(Minecraft.getInstance().world, partialTicks);
final BlockState defaultState = AllBlocks.HALF_AXIS.get().getDefaultState(); final BlockState defaultState = AllBlocks.SHAFT_HALF.get().getDefaultState();
for (Direction direction : Direction.values()) { for (Direction direction : Direction.values()) {
final Axis axis = direction.getAxis(); final Axis axis = direction.getAxis();

View file

@ -17,7 +17,7 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
import net.minecraft.world.World; import net.minecraft.world.World;
public class GearshiftBlock extends AxisTunnelBlock { public class GearshiftBlock extends EncasedShaftBlock {
public static final BooleanProperty POWERED = BlockStateProperties.POWERED; public static final BooleanProperty POWERED = BlockStateProperties.POWERED;

View file

@ -5,7 +5,7 @@ import com.simibubi.create.AllTileEntities;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
public class GearshiftTileEntity extends SidedAxisTunnelTileEntity { public class GearshiftTileEntity extends SplitShaftTileEntity {
public GearshiftTileEntity() { public GearshiftTileEntity() {
super(AllTileEntities.GEARSHIFT.type); super(AllTileEntities.GEARSHIFT.type);

View file

@ -14,19 +14,19 @@ import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
import net.minecraft.world.World; import net.minecraft.world.World;
public class AxisBlock extends RotatedPillarKineticBlock { public class ShaftBlock extends RotatedPillarKineticBlock {
public static final VoxelShape AXIS_X = makeCuboidShape(0, 5, 5, 16, 11, 11); public static final VoxelShape AXIS_X = makeCuboidShape(0, 5, 5, 16, 11, 11);
public static final VoxelShape AXIS_Y = makeCuboidShape(5, 0, 5, 11, 16, 11); public static final VoxelShape AXIS_Y = makeCuboidShape(5, 0, 5, 11, 16, 11);
public static final VoxelShape AXIS_Z = makeCuboidShape(5, 5, 0, 11, 11, 16); public static final VoxelShape AXIS_Z = makeCuboidShape(5, 5, 0, 11, 11, 16);
public AxisBlock(Properties properties) { public ShaftBlock(Properties properties) {
super(properties); super(properties);
} }
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new AxisTileEntity(); return new ShaftTileEntity();
} }
@Override @Override
@ -44,7 +44,7 @@ public class AxisBlock extends RotatedPillarKineticBlock {
BlockState placedAgainst = context.getWorld() BlockState placedAgainst = context.getWorld()
.getBlockState(context.getPos().offset(context.getFace().getOpposite())); .getBlockState(context.getPos().offset(context.getFace().getOpposite()));
if (!(placedAgainst.getBlock() instanceof AxisBlock)) if (!(placedAgainst.getBlock() instanceof ShaftBlock))
return super.getStateForPlacement(context); return super.getStateForPlacement(context);
return getDefaultState().with(AXIS, placedAgainst.get(AXIS)); return getDefaultState().with(AXIS, placedAgainst.get(AXIS));

View file

@ -0,0 +1,14 @@
package com.simibubi.create.modules.contraptions.relays;
import com.simibubi.create.foundation.block.IWithoutBlockItem;
import com.simibubi.create.foundation.block.ProperDirectionalBlock;
import net.minecraft.block.Blocks;
public class ShaftHalfBlock extends ProperDirectionalBlock implements IWithoutBlockItem {
public ShaftHalfBlock() {
super(Properties.from(Blocks.AIR));
}
}

View file

@ -3,10 +3,10 @@ package com.simibubi.create.modules.contraptions.relays;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.modules.contraptions.base.KineticTileEntity; import com.simibubi.create.modules.contraptions.base.KineticTileEntity;
public class AxisTileEntity extends KineticTileEntity { public class ShaftTileEntity extends KineticTileEntity {
public AxisTileEntity() { public ShaftTileEntity() {
super(AllTileEntities.AXIS.type); super(AllTileEntities.SHAFT.type);
} }
} }

View file

@ -5,9 +5,9 @@ import com.simibubi.create.modules.contraptions.base.KineticTileEntity;
import net.minecraft.tileentity.TileEntityType; import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
public abstract class SidedAxisTunnelTileEntity extends KineticTileEntity { public abstract class SplitShaftTileEntity extends KineticTileEntity {
public SidedAxisTunnelTileEntity(TileEntityType<?> typeIn) { public SplitShaftTileEntity(TileEntityType<?> typeIn) {
super(typeIn); super(typeIn);
} }

View file

@ -13,7 +13,7 @@ import net.minecraft.util.Direction.Axis;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraftforge.client.model.animation.Animation; import net.minecraftforge.client.model.animation.Animation;
public class SidedAxisTunnelTileEntityRenderer extends KineticTileEntityRenderer { public class SplitShaftTileEntityRenderer extends KineticTileEntityRenderer {
@Override @Override
public void renderTileEntityFast(KineticTileEntity te, double x, double y, double z, float partialTicks, public void renderTileEntityFast(KineticTileEntity te, double x, double y, double z, float partialTicks,
@ -21,7 +21,7 @@ public class SidedAxisTunnelTileEntityRenderer extends KineticTileEntityRenderer
final Axis boxAxis = te.getBlockState().get(BlockStateProperties.AXIS); final Axis boxAxis = te.getBlockState().get(BlockStateProperties.AXIS);
final BlockPos pos = te.getPos(); final BlockPos pos = te.getPos();
float time = Animation.getWorldTime(Minecraft.getInstance().world, partialTicks); float time = Animation.getWorldTime(Minecraft.getInstance().world, partialTicks);
final BlockState defaultState = AllBlocks.HALF_AXIS.get().getDefaultState(); final BlockState defaultState = AllBlocks.SHAFT_HALF.get().getDefaultState();
for (Direction direction : Direction.values()) { for (Direction direction : Direction.values()) {
final Axis axis = direction.getAxis(); final Axis axis = direction.getAxis();
@ -35,8 +35,8 @@ public class SidedAxisTunnelTileEntityRenderer extends KineticTileEntityRenderer
float angle = (time * te.getSpeed()) % 360; float angle = (time * te.getSpeed()) % 360;
float modifier = 1; float modifier = 1;
if (te instanceof SidedAxisTunnelTileEntity) if (te instanceof SplitShaftTileEntity)
modifier = ((SidedAxisTunnelTileEntity) te).getRotationSpeedModifier(direction); modifier = ((SplitShaftTileEntity) te).getRotationSpeedModifier(direction);
angle *= modifier; angle *= modifier;
angle += offset; angle += offset;

View file

@ -65,7 +65,7 @@ public class BuilderGunUpgradeRecipe implements ICraftingRecipe {
@Override @Override
public IRecipeSerializer<?> getSerializer() { public IRecipeSerializer<?> getSerializer() {
return AllRecipes.Placement_Handgun_Upgrade.serializer; return AllRecipes.PLACEMENT_HANDGUN_UPGRADE.serializer;
} }
public static class Serializer extends ForgeRegistryEntry<IRecipeSerializer<?>> implements IRecipeSerializer<BuilderGunUpgradeRecipe> { public static class Serializer extends ForgeRegistryEntry<IRecipeSerializer<?>> implements IRecipeSerializer<BuilderGunUpgradeRecipe> {

View file

@ -1,5 +1,7 @@
package com.simibubi.create.modules.economy; package com.simibubi.create.modules.economy;
import com.simibubi.create.foundation.block.IWithoutBlockItem;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
@ -21,7 +23,7 @@ import net.minecraft.world.IBlockReader;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.fml.network.NetworkHooks; import net.minecraftforge.fml.network.NetworkHooks;
public class ShopShelfBlock extends HorizontalBlock { public class ShopShelfBlock extends HorizontalBlock implements IWithoutBlockItem {
public static final VoxelShape TOP_SHAPE = makeCuboidShape(0, 14, 0, 16, 16, 16); public static final VoxelShape TOP_SHAPE = makeCuboidShape(0, 14, 0, 16, 16, 16);

View file

@ -10,11 +10,11 @@ import net.minecraft.network.PacketBuffer;
public class ShopShelfContainer extends Container { public class ShopShelfContainer extends Container {
public ShopShelfContainer(int id, PlayerInventory inv, ShopShelfTileEntity te) { public ShopShelfContainer(int id, PlayerInventory inv, ShopShelfTileEntity te) {
super(AllContainers.ShopShelf.type, id); super(AllContainers.SHOP_SHELF.type, id);
} }
public ShopShelfContainer(int id, PlayerInventory inv, PacketBuffer extraData) { public ShopShelfContainer(int id, PlayerInventory inv, PacketBuffer extraData) {
super(AllContainers.ShopShelf.type, id); super(AllContainers.SHOP_SHELF.type, id);
} }
@Override @Override

View file

@ -18,7 +18,7 @@ public class FlexcrateContainer extends Container {
public PlayerInventory playerInventory; public PlayerInventory playerInventory;
public FlexcrateContainer(int id, PlayerInventory inv, PacketBuffer extraData) { public FlexcrateContainer(int id, PlayerInventory inv, PacketBuffer extraData) {
super(AllContainers.FlexCrate.type, id); super(AllContainers.FLEXCRATE.type, id);
ClientWorld world = Minecraft.getInstance().world; ClientWorld world = Minecraft.getInstance().world;
this.te = (FlexcrateTileEntity) world.getTileEntity(extraData.readBlockPos()); this.te = (FlexcrateTileEntity) world.getTileEntity(extraData.readBlockPos());
this.te.handleUpdateTag(extraData.readCompoundTag()); this.te.handleUpdateTag(extraData.readCompoundTag());
@ -27,7 +27,7 @@ public class FlexcrateContainer extends Container {
} }
public FlexcrateContainer(int id, PlayerInventory inv, FlexcrateTileEntity te) { public FlexcrateContainer(int id, PlayerInventory inv, FlexcrateTileEntity te) {
super(AllContainers.FlexCrate.type, id); super(AllContainers.FLEXCRATE.type, id);
this.te = te; this.te = te;
this.playerInventory = inv; this.playerInventory = inv;
init(); init();

View file

@ -21,7 +21,7 @@ public class SchematicTableContainer extends Container {
private PlayerEntity player; private PlayerEntity player;
public SchematicTableContainer(int id, PlayerInventory inv, PacketBuffer extraData) { public SchematicTableContainer(int id, PlayerInventory inv, PacketBuffer extraData) {
super(AllContainers.SchematicTable.type, id); super(AllContainers.SCHEMATIC_TABLE.type, id);
player = inv.player; player = inv.player;
ClientWorld world = Minecraft.getInstance().world; ClientWorld world = Minecraft.getInstance().world;
this.te = (SchematicTableTileEntity) world.getTileEntity(extraData.readBlockPos()); this.te = (SchematicTableTileEntity) world.getTileEntity(extraData.readBlockPos());
@ -30,7 +30,7 @@ public class SchematicTableContainer extends Container {
} }
public SchematicTableContainer(int id, PlayerInventory inv, SchematicTableTileEntity te) { public SchematicTableContainer(int id, PlayerInventory inv, SchematicTableTileEntity te) {
super(AllContainers.SchematicTable.type, id); super(AllContainers.SCHEMATIC_TABLE.type, id);
this.player = inv.player; this.player = inv.player;
this.te = te; this.te = te;
init(); init();

View file

@ -18,7 +18,7 @@ public class SchematicannonContainer extends Container {
private PlayerEntity player; private PlayerEntity player;
public SchematicannonContainer(int id, PlayerInventory inv, PacketBuffer buffer) { public SchematicannonContainer(int id, PlayerInventory inv, PacketBuffer buffer) {
super(AllContainers.Schematicannon.type, id); super(AllContainers.SCHEMATICANNON.type, id);
player = inv.player; player = inv.player;
ClientWorld world = Minecraft.getInstance().world; ClientWorld world = Minecraft.getInstance().world;
this.te = (SchematicannonTileEntity) world.getTileEntity(buffer.readBlockPos()); this.te = (SchematicannonTileEntity) world.getTileEntity(buffer.readBlockPos());
@ -27,7 +27,7 @@ public class SchematicannonContainer extends Container {
} }
public SchematicannonContainer(int id, PlayerInventory inv, SchematicannonTileEntity te) { public SchematicannonContainer(int id, PlayerInventory inv, SchematicannonTileEntity te) {
super(AllContainers.Schematicannon.type, id); super(AllContainers.SCHEMATICANNON.type, id);
player = inv.player; player = inv.player;
this.te = te; this.te = te;
init(); init();

View file

@ -233,7 +233,7 @@ public class BlueprintAndQuillHandler {
GlStateManager.enableTexture(); GlStateManager.enableTexture();
TessellatorHelper.begin(); TessellatorHelper.begin();
AllSpecialTextures.Selection.bind(); AllSpecialTextures.SELECTION.bind();
TessellatorHelper.doubleFace(Tessellator.getInstance().getBuffer(), new BlockPos(faceMin), TessellatorHelper.doubleFace(Tessellator.getInstance().getBuffer(), new BlockPos(faceMin),
new BlockPos(faceMax.subtract(faceMin)), 1 / 16f * selectedFace.getAxisDirection().getOffset(), new BlockPos(faceMax.subtract(faceMin)), 1 / 16f * selectedFace.getAxisDirection().getOffset(),
false, false, false); false, false, false);

View file

@ -1,11 +0,0 @@
{
"forgemarker": 1,
"defaults": {
"model": "create:block/axis"
},
"variants": {
"axis=y": { "model": "create:block/axis" },
"axis=z": { "model": "create:block/axis", "x": 90 },
"axis=x": { "model": "create:block/axis", "x": 90, "y": 90 }
}
}

View file

@ -1,11 +0,0 @@
{
"forgemarker": 1,
"defaults": {
"model": "create:block/axis_tunnel"
},
"variants": {
"axis=y": { "model": "create:block/axis_tunnel", "x": 90 },
"axis=z": { "model": "create:block/axis_tunnel" },
"axis=x": { "model": "create:block/axis_tunnel", "y": 90 }
}
}

View file

@ -0,0 +1,13 @@
{
"forge_marker": 1,
"defaults": {
"model": "create:block/cogwheel"
},
"variants": {
"axis" : {
"x": { "x": 90, "y": 90 },
"y": {},
"z": { "x": 90 }
}
}
}

View file

@ -0,0 +1,13 @@
{
"forge_marker": 1,
"defaults": {
"model": "create:block/encased_fan"
},
"variants": {
"axis" : {
"x": { "y": 90 },
"y": { "x": 90 },
"z": { }
}
}
}

View file

@ -0,0 +1,13 @@
{
"forge_marker": 1,
"defaults": {
"model": "create:block/encased_fan_inner"
},
"variants": {
"axis" : {
"x": { "y": 90 },
"y": { "x": 90 },
"z": { }
}
}
}

View file

@ -0,0 +1,13 @@
{
"forge_marker": 1,
"defaults": {
"model": "create:block/encased_shaft"
},
"variants": {
"axis" : {
"x": { "y": 90 },
"y": { "x": 90 },
"z": { }
}
}
}

View file

@ -1,11 +0,0 @@
{
"forgemarker": 1,
"defaults": {
"model": "create:block/gear"
},
"variants": {
"axis=y": { "model": "create:block/gear" },
"axis=z": { "model": "create:block/gear", "x": 90 },
"axis=x": { "model": "create:block/gear", "x": 90, "y": 90 }
}
}

View file

@ -1,14 +0,0 @@
{
"forgemarker": 1,
"defaults": {
"model": "create:block/axis_half"
},
"variants": {
"facing=up": { "model": "create:block/axis_half" },
"facing=down": { "model": "create:block/axis_half", "x": 180 },
"facing=north": { "model": "create:block/axis_half", "x": 90 },
"facing=south": { "model": "create:block/axis_half", "x": 90, "y": 180 },
"facing=east": { "model": "create:block/axis_half", "x": 90, "y": 90 },
"facing=west": { "model": "create:block/axis_half", "x": 90, "y": 270 }
}
}

View file

@ -0,0 +1,13 @@
{
"forge_marker": 1,
"defaults": {
"model": "create:block/large_cogwheel"
},
"variants": {
"axis" : {
"x": { "x": 90, "y": 90 },
"y": {},
"z": { "x": 90 }
}
}
}

View file

@ -1,11 +0,0 @@
{
"forgemarker": 1,
"defaults": {
"model": "create:block/large_gear"
},
"variants": {
"axis=y": { "model": "create:block/large_gear" },
"axis=z": { "model": "create:block/large_gear", "x": 90 },
"axis=x": { "model": "create:block/large_gear", "x": 90, "y": 90 }
}
}

View file

@ -0,0 +1,13 @@
{
"forge_marker": 1,
"defaults": {
"model": "create:block/shaft"
},
"variants": {
"axis" : {
"x": { "x": 90, "y": 90 },
"y": {},
"z": { "x": 90 }
}
}
}

View file

@ -0,0 +1,16 @@
{
"forge_marker": 1,
"defaults": {
"model": "create:block/shaft_half"
},
"variants": {
"facing" : {
"up" : { },
"down" : { "x": 180 },
"north" : { "x": 90 },
"east" : { "x": 90, "y": 90 },
"south" : { "x": 90, "y": 180 },
"west" : { "x": 90, "y": 270 }
}
}
}

View file

@ -11,15 +11,16 @@
"item.create.belt_connector": "Mechanical Belt", "item.create.belt_connector": "Mechanical Belt",
"item.create.filter": "Filter", "item.create.filter": "Filter",
"block.create.gear": "Cogwheel", "block.create.cogwheel": "Cogwheel",
"block.create.large_gear": "Large Cogwheel", "block.create.large_cogwheel": "Large Cogwheel",
"block.create.turntable": "Turntable", "block.create.turntable": "Turntable",
"block.create.gearbox": "Gearbox", "block.create.gearbox": "Gearbox",
"block.create.gearshift": "Gearshift", "block.create.gearshift": "Gearshift",
"block.create.clutch": "Clutch", "block.create.clutch": "Clutch",
"block.create.axis": "Axis", "block.create.shaft": "Shaft",
"block.create.encased_belt": "Encased Belt", "block.create.encased_belt": "Encased Belt",
"block.create.axis_tunnel": "Encased Axis", "block.create.encased_shaft": "Encased Shaft",
"block.create.encased_fan": "Encased Fan",
"block.create.motor": "Motor", "block.create.motor": "Motor",
"block.create.belt": "Mechanical Belt", "block.create.belt": "Mechanical Belt",
"block.create.crushing_wheel": "Crushing Wheel", "block.create.crushing_wheel": "Crushing Wheel",

View file

@ -0,0 +1,77 @@
{
"__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)",
"parent": "block/block",
"textures": {
"particle": "create:block/fan_side",
"fan_casing": "create:block/fan_casing",
"fan_side": "create:block/fan_side"
},
"elements": [
{
"name": "Bottom",
"from": [ 0, 0, 0 ],
"to": [ 16, 2, 16 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 0, 14, 16, 16 ] },
"east": { "texture": "#fan_side", "uv": [ 14, 0, 16, 16 ], "rotation": 90 },
"south": { "texture": "#fan_casing", "uv": [ 0, 14, 16, 16 ] },
"west": { "texture": "#fan_side", "uv": [ 14, 0, 16, 16 ], "rotation": 90 },
"up": { "texture": "#fan_side", "uv": [ 0, 0, 16, 16 ] },
"down": { "texture": "#fan_side", "uv": [ 0, 0, 16, 16 ] }
}
},
{
"name": "Top",
"from": [ 0, 14, 0 ],
"to": [ 16, 16, 16 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 0, 0, 16, 2 ] },
"east": { "texture": "#fan_side", "uv": [ 0, 0, 2, 16 ], "rotation": 90 },
"south": { "texture": "#fan_casing", "uv": [ 0, 0, 16, 2 ] },
"west": { "texture": "#fan_side", "uv": [ 14, 0, 16, 16 ], "rotation": 270 },
"up": { "texture": "#fan_side", "uv": [ 0, 0, 16, 16 ] },
"down": { "texture": "#fan_side", "uv": [ 0, 0, 16, 16 ] }
}
},
{
"name": "Side",
"from": [ 0, 2, 0 ],
"to": [ 2, 14, 16 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 14, 2, 16, 14 ] },
"east": { "texture": "#fan_side", "uv": [ 2, 0, 14, 16 ], "rotation": 90 },
"south": { "texture": "#fan_casing", "uv": [ 0, 2, 2, 14 ] },
"west": { "texture": "#fan_side", "uv": [ 14, 0, 2, 16 ], "rotation": 270 }
}
},
{
"name": "Side",
"from": [ 14, 2, 0 ],
"to": [ 16, 14, 16 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 0, 2, 2, 14 ] },
"east": { "texture": "#fan_side", "uv": [ 2, 0, 14, 16 ], "rotation": 270 },
"south": { "texture": "#fan_casing", "uv": [ 14, 2, 16, 14 ] },
"west": { "texture": "#fan_side", "uv": [ 14, 0, 2, 16 ], "rotation": 270 }
}
},
{
"name": "Lattice",
"from": [ 2, 2, 1 ],
"to": [ 14, 14, 1 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 2, 2, 14, 14 ] },
"south": { "texture": "#fan_casing", "uv": [ 2, 2, 14, 14 ] }
}
},
{
"name": "Lattice",
"from": [ 2, 2, 15 ],
"to": [ 14, 14, 15 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 2, 2, 14, 14 ] },
"south": { "texture": "#fan_casing", "uv": [ 2, 2, 14, 14 ] }
}
}
]
}

View file

@ -0,0 +1,34 @@
{
"__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)",
"textures": {
"particle": "create:block/fan_side",
"axis_top": "create:block/axis_top",
"fan_blades": "create:block/fan_blades",
"axis": "create:block/axis"
},
"elements": [
{
"name": "Shaft",
"from": [ 6, 6, 0 ],
"to": [ 10, 10, 16 ],
"faces": {
"north": { "texture": "#axis_top", "uv": [ 6, 6, 10, 10 ] },
"east": { "texture": "#axis", "uv": [ 6, 0, 10, 16 ], "rotation": 90 },
"south": { "texture": "#axis_top", "uv": [ 6, 6, 10, 10 ] },
"west": { "texture": "#axis", "uv": [ 6, 0, 10, 16 ], "rotation": 270 },
"up": { "texture": "#axis", "uv": [ 6, 0, 10, 16 ] },
"down": { "texture": "#axis", "uv": [ 6, 0, 10, 16 ] }
}
},
{
"name": "Fan",
"from": [ 1, 1, 4 ],
"to": [ 15, 15, 12 ],
"rotation": { "origin": [ 8, 8, 8 ], "axis": "z", "angle": 22.5 },
"faces": {
"north": { "texture": "#fan_blades", "uv": [ 1, 1, 15, 15 ] },
"south": { "texture": "#fan_blades", "uv": [ 1, 1, 15, 15 ] }
}
}
]
}

View file

@ -1,3 +0,0 @@
{
"parent": "create:block/axis"
}

View file

@ -1,3 +0,0 @@
{
"parent": "create:block/axis_tunnel"
}

View file

@ -0,0 +1,3 @@
{
"parent": "create:block/cogwheel"
}

View file

@ -0,0 +1,103 @@
{
"__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)",
"parent": "block/block",
"textures": {
"particle": "create:block/fan_side",
"fan_casing": "create:block/fan_casing",
"fan_side": "create:block/fan_side",
"axis_top": "create:block/axis_top",
"fan_blades": "create:block/fan_blades",
"axis": "create:block/axis"
},
"elements": [
{
"name": "Bottom",
"from": [ 0, 0, 0 ],
"to": [ 16, 2, 16 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 0, 14, 16, 16 ] },
"east": { "texture": "#fan_side", "uv": [ 14, 0, 16, 16 ], "rotation": 90 },
"south": { "texture": "#fan_casing", "uv": [ 0, 14, 16, 16 ] },
"west": { "texture": "#fan_side", "uv": [ 14, 0, 16, 16 ], "rotation": 90 },
"up": { "texture": "#fan_side", "uv": [ 0, 0, 16, 16 ] },
"down": { "texture": "#fan_side", "uv": [ 0, 0, 16, 16 ] }
}
},
{
"name": "Top",
"from": [ 0, 14, 0 ],
"to": [ 16, 16, 16 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 0, 0, 16, 2 ] },
"east": { "texture": "#fan_side", "uv": [ 0, 0, 2, 16 ], "rotation": 90 },
"south": { "texture": "#fan_casing", "uv": [ 0, 0, 16, 2 ] },
"west": { "texture": "#fan_side", "uv": [ 14, 0, 16, 16 ], "rotation": 270 },
"up": { "texture": "#fan_side", "uv": [ 0, 0, 16, 16 ] },
"down": { "texture": "#fan_side", "uv": [ 0, 0, 16, 16 ] }
}
},
{
"name": "Side",
"from": [ 0, 2, 0 ],
"to": [ 2, 14, 16 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 14, 2, 16, 14 ] },
"east": { "texture": "#fan_side", "uv": [ 2, 0, 14, 16 ], "rotation": 90 },
"south": { "texture": "#fan_casing", "uv": [ 0, 2, 2, 14 ] },
"west": { "texture": "#fan_side", "uv": [ 14, 0, 2, 16 ], "rotation": 270 }
}
},
{
"name": "Side",
"from": [ 14, 2, 0 ],
"to": [ 16, 14, 16 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 0, 2, 2, 14 ] },
"east": { "texture": "#fan_side", "uv": [ 2, 0, 14, 16 ], "rotation": 270 },
"south": { "texture": "#fan_casing", "uv": [ 14, 2, 16, 14 ] },
"west": { "texture": "#fan_side", "uv": [ 14, 0, 2, 16 ], "rotation": 270 }
}
},
{
"name": "Lattice",
"from": [ 2, 2, 1 ],
"to": [ 14, 14, 1 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 2, 2, 14, 14 ] },
"south": { "texture": "#fan_casing", "uv": [ 2, 2, 14, 14 ] }
}
},
{
"name": "Lattice",
"from": [ 2, 2, 15 ],
"to": [ 14, 14, 15 ],
"faces": {
"north": { "texture": "#fan_casing", "uv": [ 2, 2, 14, 14 ] },
"south": { "texture": "#fan_casing", "uv": [ 2, 2, 14, 14 ] }
}
},
{
"name": "Shaft",
"from": [ 6, 6, 0 ],
"to": [ 10, 10, 16 ],
"faces": {
"north": { "texture": "#axis_top", "uv": [ 6, 6, 10, 10 ] },
"east": { "texture": "#axis", "uv": [ 6, 0, 10, 16 ], "rotation": 90 },
"south": { "texture": "#axis_top", "uv": [ 6, 6, 10, 10 ] },
"west": { "texture": "#axis", "uv": [ 6, 0, 10, 16 ], "rotation": 270 },
"up": { "texture": "#axis", "uv": [ 6, 0, 10, 16 ] },
"down": { "texture": "#axis", "uv": [ 6, 0, 10, 16 ] }
}
},
{
"name": "Fan",
"from": [ 1, 1, 4 ],
"to": [ 15, 15, 12 ],
"rotation": { "origin": [ 8, 8, 8 ], "axis": "z", "angle": 22.5 },
"faces": {
"north": { "texture": "#fan_blades", "uv": [ 1, 1, 15, 15 ] },
"south": { "texture": "#fan_blades", "uv": [ 1, 1, 15, 15 ] }
}
}
]
}

View file

@ -0,0 +1,3 @@
{
"parent": "create:block/encased_shaft"
}

View file

@ -1,3 +0,0 @@
{
"parent": "create:block/gear"
}

View file

@ -0,0 +1,3 @@
{
"parent": "create:block/large_cogwheel"
}

View file

@ -1,3 +0,0 @@
{
"parent": "create:block/large_gear"
}

View file

@ -0,0 +1,3 @@
{
"parent": "create:block/shaft"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B