Convert AllTileEntities to Registrate, refactor TE constructors

Update Registrate to build 17
This commit is contained in:
tterrag 2020-06-01 00:33:08 -04:00
parent ea88e8fcf5
commit c486854b7f
110 changed files with 382 additions and 341 deletions

View file

@ -97,7 +97,7 @@ configurations {
dependencies { dependencies {
minecraft 'net.minecraftforge:forge:1.15.2-31.2.3' minecraft 'net.minecraftforge:forge:1.15.2-31.2.3'
def registrate = "com.tterrag.registrate:Registrate:MC1.15.2-0.0.3.11" def registrate = "com.tterrag.registrate:Registrate:MC1.15.2-0.0.3.17"
implementation fg.deobf(registrate) implementation fg.deobf(registrate)
shade registrate shade registrate

View file

@ -1,7 +1,6 @@
package com.simibubi.create; package com.simibubi.create;
import java.util.function.Function; import java.util.function.Function;
import java.util.function.Supplier;
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
import com.simibubi.create.content.contraptions.components.actors.DrillRenderer; import com.simibubi.create.content.contraptions.components.actors.DrillRenderer;
@ -88,119 +87,145 @@ import com.simibubi.create.content.schematics.block.SchematicTableTileEntity;
import com.simibubi.create.content.schematics.block.SchematicannonRenderer; import com.simibubi.create.content.schematics.block.SchematicannonRenderer;
import com.simibubi.create.content.schematics.block.SchematicannonTileEntity; import com.simibubi.create.content.schematics.block.SchematicannonTileEntity;
import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer;
import com.simibubi.create.foundation.utility.Lang; import com.tterrag.registrate.util.entry.TileEntityEntry;
import com.tterrag.registrate.util.nullness.NonNullFunction;
import com.tterrag.registrate.util.nullness.NonNullSupplier;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer; import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType; import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.client.registry.ClientRegistry;
public enum AllTileEntities { public class AllTileEntities {
// Schematics // Schematics
SCHEMATICANNON(SchematicannonTileEntity::new, AllBlocks.SCHEMATICANNON), public static final TileEntityEntry<SchematicannonTileEntity> SCHEMATICANNON = register(
SCHEMATIC_TABLE(SchematicTableTileEntity::new, AllBlocks.SCHEMATIC_TABLE), "schematicannon", SchematicannonTileEntity::new, AllBlocks.SCHEMATICANNON);
public static final TileEntityEntry<SchematicTableTileEntity> SCHEMATIC_TABLE = register(
"schematic_table", SchematicTableTileEntity::new, AllBlocks.SCHEMATIC_TABLE);
// Kinetics // Kinetics
SIMPLE_KINETIC(SimpleKineticTileEntity::new, AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL, public static final TileEntityEntry<SimpleKineticTileEntity> SIMPLE_KINETIC = register(
AllBlocks.ENCASED_SHAFT), "simple_kinetic", SimpleKineticTileEntity::new, AllBlocks.SHAFT, AllBlocks.COGWHEEL,
MOTOR(CreativeMotorTileEntity::new, AllBlocks.CREATIVE_MOTOR), AllBlocks.LARGE_COGWHEEL, AllBlocks.ENCASED_SHAFT);
GEARBOX(GearboxTileEntity::new, AllBlocks.GEARBOX), public static final TileEntityEntry<CreativeMotorTileEntity> MOTOR = register(
ENCASED_SHAFT(EncasedShaftTileEntity::new, AllBlocks.ENCASED_SHAFT, AllBlocks.ENCASED_BELT), "motor", CreativeMotorTileEntity::new, AllBlocks.CREATIVE_MOTOR);
ADJUSTABLE_PULLEY(AdjustablePulleyTileEntity::new, AllBlocks.ADJUSTABLE_PULLEY), public static final TileEntityEntry<GearboxTileEntity> GEARBOX = register(
ENCASED_FAN(EncasedFanTileEntity::new, AllBlocks.ENCASED_FAN), "gearbox", GearboxTileEntity::new, AllBlocks.GEARBOX);
NOZZLE(NozzleTileEntity::new, AllBlocks.NOZZLE), public static final TileEntityEntry<EncasedShaftTileEntity> ENCASED_SHAFT = register(
CLUTCH(ClutchTileEntity::new, AllBlocks.CLUTCH), "encased_shaft", EncasedShaftTileEntity::new, AllBlocks.ENCASED_SHAFT, AllBlocks.ENCASED_BELT);
GEARSHIFT(GearshiftTileEntity::new, AllBlocks.GEARSHIFT), public static final TileEntityEntry<AdjustablePulleyTileEntity> ADJUSTABLE_PULLEY = register(
TURNTABLE(TurntableTileEntity::new, AllBlocks.TURNTABLE), "adjustable_pulley", AdjustablePulleyTileEntity::new, AllBlocks.ADJUSTABLE_PULLEY);
HAND_CRANK(HandCrankTileEntity::new, AllBlocks.HAND_CRANK), public static final TileEntityEntry<EncasedFanTileEntity> ENCASED_FAN = register(
CUCKOO_CLOCK(CuckooClockTileEntity::new, AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK), "encased_fan", EncasedFanTileEntity::new, AllBlocks.ENCASED_FAN);
public static final TileEntityEntry<NozzleTileEntity> NOZZLE = register(
"nozzle", NozzleTileEntity::new, AllBlocks.NOZZLE);
public static final TileEntityEntry<ClutchTileEntity> CLUTCH = register(
"clutch", ClutchTileEntity::new, AllBlocks.CLUTCH);
public static final TileEntityEntry<GearshiftTileEntity> GEARSHIFT = register(
"gearshift", GearshiftTileEntity::new, AllBlocks.GEARSHIFT);
public static final TileEntityEntry<TurntableTileEntity> TURNTABLE = register(
"turntable", TurntableTileEntity::new, AllBlocks.TURNTABLE);
public static final TileEntityEntry<HandCrankTileEntity> HAND_CRANK = register(
"hand_crank", HandCrankTileEntity::new, AllBlocks.HAND_CRANK);
public static final TileEntityEntry<CuckooClockTileEntity> CUCKOO_CLOCK = register(
"cuckoo_clock", CuckooClockTileEntity::new, AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK);
BELT(BeltTileEntity::new, AllBlocks.BELT), public static final TileEntityEntry<BeltTileEntity> BELT = register(
BELT_TUNNEL(BeltTunnelTileEntity::new, AllBlocks.BELT_TUNNEL), "belt", BeltTileEntity::new, AllBlocks.BELT);
MECHANICAL_PISTON(MechanicalPistonTileEntity::new, AllBlocks.MECHANICAL_PISTON, public static final TileEntityEntry<BeltTunnelTileEntity> BELT_TUNNEL = register(
AllBlocks.STICKY_MECHANICAL_PISTON), "belt_tunnel", BeltTunnelTileEntity::new, AllBlocks.BELT_TUNNEL);
MECHANICAL_BEARING(MechanicalBearingTileEntity::new, AllBlocks.MECHANICAL_BEARING), public static final TileEntityEntry<MechanicalPistonTileEntity> MECHANICAL_PISTON = register(
CLOCKWORK_BEARING(ClockworkBearingTileEntity::new, AllBlocks.CLOCKWORK_BEARING), "mechanical_piston", MechanicalPistonTileEntity::new, AllBlocks.MECHANICAL_PISTON,
ROPE_PULLEY(PulleyTileEntity::new, AllBlocks.ROPE_PULLEY), AllBlocks.STICKY_MECHANICAL_PISTON);
CHASSIS(ChassisTileEntity::new, AllBlocks.RADIAL_CHASSIS, AllBlocks.LINEAR_CHASSIS, public static final TileEntityEntry<MechanicalBearingTileEntity> MECHANICAL_BEARING = register(
AllBlocks.SECONDARY_LINEAR_CHASSIS), "mechanical_bearing", MechanicalBearingTileEntity::new, AllBlocks.MECHANICAL_BEARING);
DRILL(DrillTileEntity::new, AllBlocks.MECHANICAL_DRILL), public static final TileEntityEntry<ClockworkBearingTileEntity> CLOCKWORK_BEARING = register(
SAW(SawTileEntity::new, AllBlocks.MECHANICAL_SAW), "clockwork_bearing", ClockworkBearingTileEntity::new, AllBlocks.CLOCKWORK_BEARING);
HARVESTER(HarvesterTileEntity::new, AllBlocks.MECHANICAL_HARVESTER), public static final TileEntityEntry<PulleyTileEntity> ROPE_PULLEY = register(
FLYWHEEL(FlywheelTileEntity::new, AllBlocks.FLYWHEEL), "rope_pulley", PulleyTileEntity::new, AllBlocks.ROPE_PULLEY);
FURNACE_ENGINE(FurnaceEngineTileEntity::new, AllBlocks.FURNACE_ENGINE), public static final TileEntityEntry<ChassisTileEntity> CHASSIS = register(
"chassis", ChassisTileEntity::new, AllBlocks.RADIAL_CHASSIS, AllBlocks.LINEAR_CHASSIS, AllBlocks.SECONDARY_LINEAR_CHASSIS);
public static final TileEntityEntry<DrillTileEntity> DRILL = register(
"drill", DrillTileEntity::new, AllBlocks.MECHANICAL_DRILL);
public static final TileEntityEntry<SawTileEntity> SAW = register(
"saw", SawTileEntity::new, AllBlocks.MECHANICAL_SAW);
public static final TileEntityEntry<HarvesterTileEntity> HARVESTER = register(
"harvester", HarvesterTileEntity::new, AllBlocks.MECHANICAL_HARVESTER);
public static final TileEntityEntry<FlywheelTileEntity> FLYWHEEL = register(
"flywheel", FlywheelTileEntity::new, AllBlocks.FLYWHEEL);
public static final TileEntityEntry<FurnaceEngineTileEntity> FURNACE_ENGINE = register(
"furnace_engine", FurnaceEngineTileEntity::new, AllBlocks.FURNACE_ENGINE);
MILLSTONE(MillstoneTileEntity::new, AllBlocks.MILLSTONE), public static final TileEntityEntry<MillstoneTileEntity> MILLSTONE = register(
CRUSHING_WHEEL(CrushingWheelTileEntity::new, AllBlocks.CRUSHING_WHEEL), "millstone", MillstoneTileEntity::new, AllBlocks.MILLSTONE);
CRUSHING_WHEEL_CONTROLLER(CrushingWheelControllerTileEntity::new, AllBlocks.CRUSHING_WHEEL_CONTROLLER), public static final TileEntityEntry<CrushingWheelTileEntity> CRUSHING_WHEEL = register(
WATER_WHEEL(WaterWheelTileEntity::new, AllBlocks.WATER_WHEEL), "crushing_wheel", CrushingWheelTileEntity::new, AllBlocks.CRUSHING_WHEEL);
MECHANICAL_PRESS(MechanicalPressTileEntity::new, AllBlocks.MECHANICAL_PRESS), public static final TileEntityEntry<CrushingWheelControllerTileEntity> CRUSHING_WHEEL_CONTROLLER = register(
MECHANICAL_MIXER(MechanicalMixerTileEntity::new, AllBlocks.MECHANICAL_MIXER), "crushing_wheel_controller", CrushingWheelControllerTileEntity::new, AllBlocks.CRUSHING_WHEEL_CONTROLLER);
DEPLOYER(DeployerTileEntity::new, AllBlocks.DEPLOYER), public static final TileEntityEntry<WaterWheelTileEntity> WATER_WHEEL = register(
BASIN(BasinTileEntity::new, AllBlocks.BASIN), "water_wheel", WaterWheelTileEntity::new, AllBlocks.WATER_WHEEL);
MECHANICAL_CRAFTER(MechanicalCrafterTileEntity::new, AllBlocks.MECHANICAL_CRAFTER), public static final TileEntityEntry<MechanicalPressTileEntity> MECHANICAL_PRESS = register(
SEQUENCED_GEARSHIFT(SequencedGearshiftTileEntity::new, AllBlocks.SEQUENCED_GEARSHIFT), "mechanical_press", MechanicalPressTileEntity::new, AllBlocks.MECHANICAL_PRESS);
ROTATION_SPEED_CONTROLLER(SpeedControllerTileEntity::new, AllBlocks.ROTATION_SPEED_CONTROLLER), public static final TileEntityEntry<MechanicalMixerTileEntity> MECHANICAL_MIXER = register(
SPEEDOMETER(SpeedGaugeTileEntity::new, AllBlocks.SPEEDOMETER), "mechanical_mixer", MechanicalMixerTileEntity::new, AllBlocks.MECHANICAL_MIXER);
STRESSOMETER(StressGaugeTileEntity::new, AllBlocks.STRESSOMETER), public static final TileEntityEntry<DeployerTileEntity> DEPLOYER = register(
ANALOG_LEVER(AnalogLeverTileEntity::new, AllBlocks.ANALOG_LEVER), "deployer", DeployerTileEntity::new, AllBlocks.DEPLOYER);
CART_ASSEMBLER(CartAssemblerTileEntity::new, AllBlocks.CART_ASSEMBLER), public static final TileEntityEntry<BasinTileEntity> BASIN = register(
"basin", BasinTileEntity::new, AllBlocks.BASIN);
public static final TileEntityEntry<MechanicalCrafterTileEntity> MECHANICAL_CRAFTER = register(
"mechanical_crafter", MechanicalCrafterTileEntity::new, AllBlocks.MECHANICAL_CRAFTER);
public static final TileEntityEntry<SequencedGearshiftTileEntity> SEQUENCED_GEARSHIFT = register(
"sequenced_gearshift", SequencedGearshiftTileEntity::new, AllBlocks.SEQUENCED_GEARSHIFT);
public static final TileEntityEntry<SpeedControllerTileEntity> ROTATION_SPEED_CONTROLLER = register(
"rotation_speed_controller", SpeedControllerTileEntity::new, AllBlocks.ROTATION_SPEED_CONTROLLER);
public static final TileEntityEntry<SpeedGaugeTileEntity> SPEEDOMETER = register(
"speedometer", SpeedGaugeTileEntity::new, AllBlocks.SPEEDOMETER);
public static final TileEntityEntry<StressGaugeTileEntity> STRESSOMETER = register(
"stressometer", StressGaugeTileEntity::new, AllBlocks.STRESSOMETER);
public static final TileEntityEntry<AnalogLeverTileEntity> ANALOG_LEVER = register(
"analog_lever", AnalogLeverTileEntity::new, AllBlocks.ANALOG_LEVER);
public static final TileEntityEntry<CartAssemblerTileEntity> CART_ASSEMBLER = register(
"cart_assembler", CartAssemblerTileEntity::new, AllBlocks.CART_ASSEMBLER);
// Logistics // Logistics
REDSTONE_LINK(RedstoneLinkTileEntity::new, AllBlocks.REDSTONE_LINK), public static final TileEntityEntry<RedstoneLinkTileEntity> REDSTONE_LINK = register(
STOCKPILE_SWITCH(StockpileSwitchTileEntity::new, AllBlocks.STOCKPILE_SWITCH), "redstone_link", RedstoneLinkTileEntity::new, AllBlocks.REDSTONE_LINK);
ADJUSTABLE_CRATE(AdjustableCrateTileEntity::new, AllBlocks.ADJUSTABLE_CRATE), public static final TileEntityEntry<StockpileSwitchTileEntity> STOCKPILE_SWITCH = register(
CREATIVE_CRATE(CreativeCrateTileEntity::new, AllBlocks.CREATIVE_CRATE), "stockpile_switch", StockpileSwitchTileEntity::new, AllBlocks.STOCKPILE_SWITCH);
EXTRACTOR(ExtractorTileEntity::new, AllBlocks.EXTRACTOR, AllBlocks.VERTICAL_EXTRACTOR), public static final TileEntityEntry<AdjustableCrateTileEntity> ADJUSTABLE_CRATE = register(
LINKED_EXTRACTOR(LinkedExtractorTileEntity::new, AllBlocks.LINKED_EXTRACTOR, "adjustable_crate", AdjustableCrateTileEntity::new, AllBlocks.ADJUSTABLE_CRATE);
AllBlocks.VERTICAL_LINKED_EXTRACTOR), public static final TileEntityEntry<CreativeCrateTileEntity> CREATIVE_CRATE = register(
TRANSPOSER(TransposerTileEntity::new, AllBlocks.TRANSPOSER, AllBlocks.VERTICAL_TRANSPOSER), "creative_crate", CreativeCrateTileEntity::new, AllBlocks.CREATIVE_CRATE);
LINKED_TRANSPOSER(LinkedTransposerTileEntity::new, AllBlocks.LINKED_TRANSPOSER, public static final TileEntityEntry<ExtractorTileEntity> EXTRACTOR = register(
AllBlocks.VERTICAL_LINKED_TRANSPOSER), "extractor", ExtractorTileEntity::new, AllBlocks.EXTRACTOR, AllBlocks.VERTICAL_EXTRACTOR);
FUNNEL(FunnelTileEntity::new, AllBlocks.FUNNEL, AllBlocks.VERTICAL_FUNNEL), public static final TileEntityEntry<LinkedExtractorTileEntity> LINKED_EXTRACTOR = register(
BELT_OBSERVER(BeltObserverTileEntity::new, AllBlocks.BELT_OBSERVER), "linked_extractor", LinkedExtractorTileEntity::new, AllBlocks.LINKED_EXTRACTOR, AllBlocks.VERTICAL_LINKED_EXTRACTOR);
ADJUSTABLE_REPEATER(AdjustableRepeaterTileEntity::new, AllBlocks.ADJUSTABLE_REPEATER), public static final TileEntityEntry<TransposerTileEntity> TRANSPOSER = register(
ADJUSTABLE_PULSE_REPEATER(AdjustablePulseRepeaterTileEntity::new, AllBlocks.ADJUSTABLE_PULSE_REPEATER), "transposer", TransposerTileEntity::new, AllBlocks.TRANSPOSER, AllBlocks.VERTICAL_TRANSPOSER);
public static final TileEntityEntry<LinkedTransposerTileEntity> LINKED_TRANSPOSER = register(
; "linked_transposer", LinkedTransposerTileEntity::new, AllBlocks.LINKED_TRANSPOSER, AllBlocks.VERTICAL_LINKED_TRANSPOSER);
public static final TileEntityEntry<FunnelTileEntity> FUNNEL = register(
private Supplier<? extends TileEntity> supplier; "funnel", FunnelTileEntity::new, AllBlocks.FUNNEL, AllBlocks.VERTICAL_FUNNEL);
public TileEntityType<?> type; public static final TileEntityEntry<BeltObserverTileEntity> BELT_OBSERVER = register(
private Supplier<? extends Block>[] blocks; "belt_observer", BeltObserverTileEntity::new, AllBlocks.BELT_OBSERVER);
public static final TileEntityEntry<AdjustableRepeaterTileEntity> ADJUSTABLE_REPEATER = register(
"adjustable_repeater", AdjustableRepeaterTileEntity::new, AllBlocks.ADJUSTABLE_REPEATER);
public static final TileEntityEntry<AdjustablePulseRepeaterTileEntity> ADJUSTABLE_PULSE_REPEATER = register(
"adjustable_pulse_repeater", AdjustablePulseRepeaterTileEntity::new, AllBlocks.ADJUSTABLE_PULSE_REPEATER);
@SafeVarargs @SafeVarargs
private AllTileEntities(Supplier<? extends TileEntity> supplier, Supplier<? extends Block>... blocks) { public static <T extends TileEntity> TileEntityEntry<T> register(String name, NonNullFunction<TileEntityType<T>, ? extends T> supplier, NonNullSupplier<? extends Block>... blocks) {
this.supplier = supplier; return Create.registrate().<T>tileEntity(name, supplier)
this.blocks = blocks; .validBlocks(blocks)
} .register();
public boolean typeOf(TileEntity te) {
return te.getType()
.equals(type);
}
public static void register(RegistryEvent.Register<TileEntityType<?>> event) {
for (AllTileEntities tileEntity : values()) {
Block[] blocks = new Block[tileEntity.blocks.length];
for (int i = 0; i < blocks.length; i++)
blocks[i] = tileEntity.blocks[i].get();
ResourceLocation resourceLocation = new ResourceLocation(Create.ID, Lang.asId(tileEntity.name()));
tileEntity.type = TileEntityType.Builder.create(tileEntity.supplier, blocks)
.build(null)
.setRegistryName(resourceLocation);
event.getRegistry()
.register(tileEntity.type);
}
} }
// TODO move to TileEntityBuilder#renderer
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public static void registerRenderers() { public static void registerRenderers() {
bind(SCHEMATICANNON, SchematicannonRenderer::new); bind(SCHEMATICANNON, SchematicannonRenderer::new);
@ -255,13 +280,11 @@ public enum AllTileEntities {
bind(ADJUSTABLE_PULSE_REPEATER, AdjustableRepeaterRenderer::new); bind(ADJUSTABLE_PULSE_REPEATER, AdjustableRepeaterRenderer::new);
} }
@SuppressWarnings("unchecked") // TODO 1.15 this generic stuff is incompatible with the enum system - need
// strong types
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
private static <T extends TileEntity> void bind(AllTileEntities type, private static <T extends TileEntity> void bind(TileEntityEntry<T> type,
Function<? super TileEntityRendererDispatcher, ? extends TileEntityRenderer<?>> renderer) { Function<? super TileEntityRendererDispatcher, ? extends TileEntityRenderer<? super T>> renderer) {
ClientRegistry.bindTileEntityRenderer((TileEntityType<T>) type.type, ClientRegistry.bindTileEntityRenderer(type.get(), renderer);
(Function<TileEntityRendererDispatcher, TileEntityRenderer<T>>) renderer);
} }
public static void register() {}
} }

View file

@ -61,9 +61,9 @@ public class Create {
AllItems.register(); AllItems.register();
AllPaletteBlocks.register(); AllPaletteBlocks.register();
AllEntityTypes.register(); AllEntityTypes.register();
AllTileEntities.register();
modEventBus.addGenericListener(IRecipeSerializer.class, AllRecipeTypes::register); modEventBus.addGenericListener(IRecipeSerializer.class, AllRecipeTypes::register);
modEventBus.addGenericListener(TileEntityType.class, AllTileEntities::register);
modEventBus.addGenericListener(ContainerType.class, AllContainerTypes::register); modEventBus.addGenericListener(ContainerType.class, AllContainerTypes::register);
modEventBus.addGenericListener(ParticleType.class, AllParticleTypes::register); modEventBus.addGenericListener(ParticleType.class, AllParticleTypes::register);
modEventBus.addGenericListener(SoundEvent.class, AllSoundEvents::register); modEventBus.addGenericListener(SoundEvent.class, AllSoundEvents::register);

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.contraptions.components.actors; package com.simibubi.create.content.contraptions.components.actors;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock; import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour; import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
@ -53,7 +54,7 @@ public class DrillBlock extends DirectionalKineticBlock implements IPortableBloc
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new DrillTileEntity(); return AllTileEntities.DRILL.create();
} }
@Override @Override

View file

@ -1,7 +1,6 @@
package com.simibubi.create.content.contraptions.components.actors; package com.simibubi.create.content.contraptions.components.actors;
import com.simibubi.create.AllTileEntities; import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@ -9,8 +8,8 @@ public class DrillTileEntity extends BlockBreakingKineticTileEntity {
public static DamageSource damageSourceDrill = new DamageSource("create.drill").setDamageBypassesArmor(); public static DamageSource damageSourceDrill = new DamageSource("create.drill").setDamageBypassesArmor();
public DrillTileEntity() { public DrillTileEntity(TileEntityType<? extends DrillTileEntity> type) {
super(AllTileEntities.DRILL.type); super(type);
} }
@Override @Override

View file

@ -1,5 +1,6 @@
package com.simibubi.create.content.contraptions.components.actors; package com.simibubi.create.content.contraptions.components.actors;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock; import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour; import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
@ -22,7 +23,7 @@ public class HarvesterBlock extends AttachedActorBlock implements IPortableBlock
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new HarvesterTileEntity(); return new HarvesterTileEntity(AllTileEntities.HARVESTER.get());
} }
@Override @Override

View file

@ -1,12 +1,13 @@
package com.simibubi.create.content.contraptions.components.actors; package com.simibubi.create.content.contraptions.components.actors;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.tileEntity.SyncedTileEntity; import com.simibubi.create.foundation.tileEntity.SyncedTileEntity;
import net.minecraft.tileentity.TileEntityType;
public class HarvesterTileEntity extends SyncedTileEntity { public class HarvesterTileEntity extends SyncedTileEntity {
public HarvesterTileEntity() { public HarvesterTileEntity(TileEntityType<? extends HarvesterTileEntity> type) {
super(AllTileEntities.HARVESTER.type); super(type);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.contraptions.components.clock; package com.simibubi.create.content.contraptions.components.clock;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -37,7 +38,7 @@ public class CuckooClockBlock extends HorizontalKineticBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new CuckooClockTileEntity(); return AllTileEntities.CUCKOO_CLOCK.create();
} }
@Override @Override

View file

@ -4,7 +4,6 @@ import static com.simibubi.create.foundation.utility.AngleHelper.deg;
import static com.simibubi.create.foundation.utility.AngleHelper.getShortestAngleDiff; import static com.simibubi.create.foundation.utility.AngleHelper.getShortestAngleDiff;
import static com.simibubi.create.foundation.utility.AngleHelper.rad; import static com.simibubi.create.foundation.utility.AngleHelper.rad;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue; import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue;
import com.simibubi.create.foundation.gui.widgets.InterpolatedValue; import com.simibubi.create.foundation.gui.widgets.InterpolatedValue;
@ -14,6 +13,7 @@ import com.simibubi.create.foundation.utility.VecHelper;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.SoundCategory; import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvent; import net.minecraft.util.SoundEvent;
@ -35,8 +35,8 @@ public class CuckooClockTileEntity extends KineticTileEntity {
PIG, CREEPER, SURPRISE; PIG, CREEPER, SURPRISE;
} }
public CuckooClockTileEntity() { public CuckooClockTileEntity(TileEntityType<? extends CuckooClockTileEntity> type) {
super(AllTileEntities.CUCKOO_CLOCK.type); super(type);
} }
@Override @Override

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.crafter;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
import com.simibubi.create.content.contraptions.components.crafter.ConnectedInputHandler.ConnectedInput; import com.simibubi.create.content.contraptions.components.crafter.ConnectedInputHandler.ConnectedInput;
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity.Phase; import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity.Phase;
@ -53,7 +54,7 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock implements IT
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new MechanicalCrafterTileEntity(); return AllTileEntities.MECHANICAL_CRAFTER.create();
} }
@Override @Override

View file

@ -10,7 +10,6 @@ import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.components.crafter.ConnectedInputHandler.ConnectedInput; import com.simibubi.create.content.contraptions.components.crafter.ConnectedInputHandler.ConnectedInput;
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterBlock.Pointing; import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterBlock.Pointing;
@ -29,6 +28,7 @@ import net.minecraft.nbt.CompoundNBT;
import net.minecraft.particles.ItemParticleData; import net.minecraft.particles.ItemParticleData;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
@ -85,8 +85,8 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity {
private InsertingBehaviour inserting; private InsertingBehaviour inserting;
private EdgeInteractionBehaviour connectivity; private EdgeInteractionBehaviour connectivity;
public MechanicalCrafterTileEntity() { public MechanicalCrafterTileEntity(TileEntityType<? extends MechanicalCrafterTileEntity> type) {
super(AllTileEntities.MECHANICAL_CRAFTER.type); super(type);
setLazyTickRate(20); setLazyTickRate(20);
phase = Phase.IDLE; phase = Phase.IDLE;
groupedItemsBeforeCraft = new GroupedItems(); groupedItemsBeforeCraft = new GroupedItems();

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.contraptions.components.crank; package com.simibubi.create.content.contraptions.components.crank;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
@ -83,7 +84,7 @@ public class HandCrankBlock extends DirectionalKineticBlock implements ITE<HandC
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new HandCrankTileEntity(); return AllTileEntities.HAND_CRANK.create();
} }
@Override @Override

View file

@ -1,9 +1,9 @@
package com.simibubi.create.content.contraptions.components.crank; package com.simibubi.create.content.contraptions.components.crank;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
public class HandCrankTileEntity extends GeneratingKineticTileEntity { public class HandCrankTileEntity extends GeneratingKineticTileEntity {
@ -12,8 +12,8 @@ public class HandCrankTileEntity extends GeneratingKineticTileEntity {
public float independentAngle; public float independentAngle;
public float chasingVelocity; public float chasingVelocity;
public HandCrankTileEntity() { public HandCrankTileEntity(TileEntityType<? extends HandCrankTileEntity> type) {
super(AllTileEntities.HAND_CRANK.type); super(type);
} }
public void turn(boolean back) { public void turn(boolean back) {

View file

@ -4,6 +4,7 @@ import static com.simibubi.create.content.contraptions.components.crusher.Crushi
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
@ -29,7 +30,7 @@ public class CrushingWheelBlock extends RotatedPillarKineticBlock implements ITE
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new CrushingWheelTileEntity(); return AllTileEntities.CRUSHING_WHEEL.create();
} }
@Override @Override

View file

@ -3,6 +3,7 @@ package com.simibubi.create.content.contraptions.components.crusher;
import java.util.Random; import java.util.Random;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.ItemHelper;
@ -58,7 +59,7 @@ public class CrushingWheelControllerBlock extends Block
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new CrushingWheelControllerTileEntity(); return AllTileEntities.CRUSHING_WHEEL_CONTROLLER.create();
} }
@Override @Override

View file

@ -7,7 +7,6 @@ import java.util.Random;
import java.util.UUID; import java.util.UUID;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.processing.ProcessingInventory; import com.simibubi.create.content.contraptions.processing.ProcessingInventory;
import com.simibubi.create.content.contraptions.processing.ProcessingRecipe; import com.simibubi.create.content.contraptions.processing.ProcessingRecipe;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
@ -26,6 +25,7 @@ import net.minecraft.particles.IParticleData;
import net.minecraft.particles.ItemParticleData; import net.minecraft.particles.ItemParticleData;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.tileentity.ITickableTileEntity; import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
@ -47,8 +47,8 @@ public class CrushingWheelControllerTileEntity extends SyncedTileEntity implemen
private RecipeWrapper wrapper; private RecipeWrapper wrapper;
public float crushingspeed; public float crushingspeed;
public CrushingWheelControllerTileEntity() { public CrushingWheelControllerTileEntity(TileEntityType<? extends CrushingWheelControllerTileEntity> type) {
super(AllTileEntities.CRUSHING_WHEEL_CONTROLLER.type); super(type);
inventory = new ProcessingInventory(this::itemInserted) { inventory = new ProcessingInventory(this::itemInserted) {
@Override @Override

View file

@ -1,8 +1,8 @@
package com.simibubi.create.content.contraptions.components.crusher; package com.simibubi.create.content.contraptions.components.crusher;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
@ -17,8 +17,8 @@ public class CrushingWheelTileEntity extends KineticTileEntity {
public static DamageSource damageSource = new DamageSource("create.crush").setDamageBypassesArmor() public static DamageSource damageSource = new DamageSource("create.crush").setDamageBypassesArmor()
.setDifficultyScaled(); .setDifficultyScaled();
public CrushingWheelTileEntity() { public CrushingWheelTileEntity(TileEntityType<? extends CrushingWheelTileEntity> type) {
super(AllTileEntities.CRUSHING_WHEEL.type); super(type);
setLazyTickRate(20); setLazyTickRate(20);
} }

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.deployer;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock; import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour; import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
@ -34,7 +35,7 @@ public class DeployerBlock extends DirectionalAxisKineticBlock implements ITE<De
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new DeployerTileEntity(); return AllTileEntities.DEPLOYER.create();
} }
@Override @Override

View file

@ -12,7 +12,6 @@ import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.curiosities.tools.SandPaperItem; import com.simibubi.create.content.curiosities.tools.SandPaperItem;
import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.advancement.AllTriggers;
@ -30,6 +29,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT; import net.minecraft.nbt.ListNBT;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
@ -78,8 +78,8 @@ public class DeployerTileEntity extends KineticTileEntity {
PUNCH, USE PUNCH, USE
} }
public DeployerTileEntity() { public DeployerTileEntity(TileEntityType<? extends DeployerTileEntity> type) {
super(AllTileEntities.DEPLOYER.type); super(type);
state = State.WAITING; state = State.WAITING;
mode = Mode.USE; mode = Mode.USE;
heldItem = ItemStack.EMPTY; heldItem = ItemStack.EMPTY;

View file

@ -1,5 +1,6 @@
package com.simibubi.create.content.contraptions.components.fan; package com.simibubi.create.content.contraptions.components.fan;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld; import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld;
@ -25,7 +26,7 @@ public class EncasedFanBlock extends DirectionalKineticBlock implements ITE<Enca
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new EncasedFanTileEntity(); return AllTileEntities.ENCASED_FAN.create();
} }
@Override @Override

View file

@ -1,13 +1,13 @@
package com.simibubi.create.content.contraptions.components.fan; package com.simibubi.create.content.contraptions.components.fan;
import com.simibubi.create.AllTags.AllBlockTags; import com.simibubi.create.AllTags.AllBlockTags;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.config.CKinetics; import com.simibubi.create.foundation.config.CKinetics;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
@ -19,8 +19,8 @@ public class EncasedFanTileEntity extends GeneratingKineticTileEntity {
protected boolean isGenerator; protected boolean isGenerator;
protected boolean updateAirFlow; protected boolean updateAirFlow;
public EncasedFanTileEntity() { public EncasedFanTileEntity(TileEntityType<? extends EncasedFanTileEntity> type) {
super(AllTileEntities.ENCASED_FAN.type); super(type);
isGenerator = false; isGenerator = false;
airCurrent = new AirCurrent(this); airCurrent = new AirCurrent(this);
updateAirFlow = true; updateAirFlow = true;

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.fan;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.contraptions.wrench.IWrenchable;
import com.simibubi.create.foundation.block.ProperDirectionalBlock; import com.simibubi.create.foundation.block.ProperDirectionalBlock;
@ -37,7 +38,7 @@ public class NozzleBlock extends ProperDirectionalBlock implements IWrenchable {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new NozzleTileEntity(); return AllTileEntities.NOZZLE.create();
} }
@Override @Override

View file

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
@ -16,6 +15,7 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
@ -32,8 +32,8 @@ public class NozzleTileEntity extends SmartTileEntity {
private boolean pushing; private boolean pushing;
private BlockPos fanPos; private BlockPos fanPos;
public NozzleTileEntity() { public NozzleTileEntity(TileEntityType<? extends NozzleTileEntity> type) {
super(AllTileEntities.NOZZLE.type); super(type);
setLazyTickRate(5); setLazyTickRate(5);
} }

View file

@ -1,5 +1,6 @@
package com.simibubi.create.content.contraptions.components.flywheel; package com.simibubi.create.content.contraptions.components.flywheel;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
@ -33,7 +34,7 @@ public class FlywheelBlock extends HorizontalKineticBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new FlywheelTileEntity(); return AllTileEntities.FLYWHEEL.create();
} }
@Override @Override

View file

@ -1,10 +1,10 @@
package com.simibubi.create.content.contraptions.components.flywheel; package com.simibubi.create.content.contraptions.components.flywheel;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue; import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
public class FlywheelTileEntity extends GeneratingKineticTileEntity { public class FlywheelTileEntity extends GeneratingKineticTileEntity {
@ -17,8 +17,8 @@ public class FlywheelTileEntity extends GeneratingKineticTileEntity {
InterpolatedChasingValue visualSpeed = new InterpolatedChasingValue(); InterpolatedChasingValue visualSpeed = new InterpolatedChasingValue();
float angle; float angle;
public FlywheelTileEntity() { public FlywheelTileEntity(TileEntityType<? extends FlywheelTileEntity> type) {
super(AllTileEntities.FLYWHEEL.type); super(type);
} }
public void setRotation(float speed, float capacity) { public void setRotation(float speed, float capacity) {

View file

@ -3,6 +3,7 @@ package com.simibubi.create.content.contraptions.components.flywheel.engine;
import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld; import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld;
@ -46,7 +47,7 @@ public class FurnaceEngineBlock extends EngineBlock implements ITE<FurnaceEngine
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new FurnaceEngineTileEntity(); return AllTileEntities.FURNACE_ENGINE.create();
} }
@Override @Override

View file

@ -1,17 +1,17 @@
package com.simibubi.create.content.contraptions.components.flywheel.engine; package com.simibubi.create.content.contraptions.components.flywheel.engine;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
import net.minecraft.block.AbstractFurnaceBlock; import net.minecraft.block.AbstractFurnaceBlock;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.tileentity.TileEntityType;
public class FurnaceEngineTileEntity extends EngineTileEntity { public class FurnaceEngineTileEntity extends EngineTileEntity {
public FurnaceEngineTileEntity() { public FurnaceEngineTileEntity(TileEntityType<? extends FurnaceEngineTileEntity> type) {
super(AllTileEntities.FURNACE_ENGINE.type); super(type);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.contraptions.components.millstone; package com.simibubi.create.content.contraptions.components.millstone;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticBlock; import com.simibubi.create.content.contraptions.base.KineticBlock;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.ItemHelper;
@ -37,7 +38,7 @@ public class MillstoneBlock extends KineticBlock implements ITE<MillstoneTileEnt
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new MillstoneTileEntity(); return AllTileEntities.MILLSTONE.create();
} }
@Override @Override

View file

@ -3,7 +3,6 @@ package com.simibubi.create.content.contraptions.components.millstone;
import java.util.Optional; import java.util.Optional;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.VecHelper;
@ -11,6 +10,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.particles.ItemParticleData; import net.minecraft.particles.ItemParticleData;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
@ -30,8 +30,8 @@ public class MillstoneTileEntity extends KineticTileEntity {
public int timer; public int timer;
private MillingRecipe lastRecipe; private MillingRecipe lastRecipe;
public MillstoneTileEntity() { public MillstoneTileEntity(TileEntityType<? extends MillstoneTileEntity> type) {
super(AllTileEntities.MILLSTONE.type); super(type);
inputInv = new ItemStackHandler(1); inputInv = new ItemStackHandler(1);
outputInv = new ItemStackHandler(9); outputInv = new ItemStackHandler(9);
} }

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.mixer;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticBlock; import com.simibubi.create.content.contraptions.base.KineticBlock;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
@ -24,7 +25,7 @@ public class MechanicalMixerBlock extends KineticBlock implements ITE<Mechanical
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new MechanicalMixerTileEntity(); return AllTileEntities.MECHANICAL_MIXER.create();
} }
@Override @Override

View file

@ -5,7 +5,6 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity; import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity;
import com.simibubi.create.content.contraptions.processing.BasinOperatingTileEntity; import com.simibubi.create.content.contraptions.processing.BasinOperatingTileEntity;
import com.simibubi.create.content.contraptions.processing.BasinTileEntity.BasinInventory; import com.simibubi.create.content.contraptions.processing.BasinTileEntity.BasinInventory;
@ -23,6 +22,7 @@ import net.minecraft.item.crafting.Ingredient;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.particles.ItemParticleData; import net.minecraft.particles.ItemParticleData;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.NonNullList; import net.minecraft.util.NonNullList;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
@ -40,8 +40,8 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity {
public ScrollValueBehaviour minIngredients; public ScrollValueBehaviour minIngredients;
public MechanicalMixerTileEntity() { public MechanicalMixerTileEntity(TileEntityType<? extends MechanicalMixerTileEntity> type) {
super(AllTileEntities.MECHANICAL_MIXER.type); super(type);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.contraptions.components.motor; package com.simibubi.create.content.contraptions.components.motor;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -27,7 +28,7 @@ public class CreativeMotorBlock extends DirectionalKineticBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new CreativeMotorTileEntity(); return AllTileEntities.MOTOR.create();
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.components.motor;
import java.util.List; import java.util.List;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
@ -11,13 +10,15 @@ import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollVal
import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour.StepContext; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour.StepContext;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.tileentity.TileEntityType;
public class CreativeMotorTileEntity extends GeneratingKineticTileEntity { public class CreativeMotorTileEntity extends GeneratingKineticTileEntity {
public static final int DEFAULT_SPEED = 16; public static final int DEFAULT_SPEED = 16;
protected ScrollValueBehaviour generatedSpeed; protected ScrollValueBehaviour generatedSpeed;
public CreativeMotorTileEntity() { public CreativeMotorTileEntity(TileEntityType<? extends CreativeMotorTileEntity> type) {
super(AllTileEntities.MOTOR.type); super(type);
} }
@Override @Override

View file

@ -6,6 +6,7 @@ import java.util.Optional;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity.Mode; import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity.Mode;
import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState; import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState;
@ -71,7 +72,7 @@ public class MechanicalPressBlock extends HorizontalKineticBlock
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new MechanicalPressTileEntity(); return AllTileEntities.MECHANICAL_PRESS.create();
} }
@Override @Override

View file

@ -6,7 +6,6 @@ import java.util.Optional;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllSoundEvents; import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.processing.BasinOperatingTileEntity; import com.simibubi.create.content.contraptions.processing.BasinOperatingTileEntity;
import com.simibubi.create.content.contraptions.processing.BasinTileEntity.BasinInventory; import com.simibubi.create.content.contraptions.processing.BasinTileEntity.BasinInventory;
import com.simibubi.create.content.logistics.InWorldProcessing; import com.simibubi.create.content.logistics.InWorldProcessing;
@ -25,6 +24,7 @@ import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT; import net.minecraft.nbt.ListNBT;
import net.minecraft.particles.ItemParticleData; import net.minecraft.particles.ItemParticleData;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.NonNullList; import net.minecraft.util.NonNullList;
import net.minecraft.util.SoundCategory; import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
@ -64,8 +64,8 @@ public class MechanicalPressTileEntity extends BasinOperatingTileEntity {
public Mode mode; public Mode mode;
public boolean finished; public boolean finished;
public MechanicalPressTileEntity() { public MechanicalPressTileEntity(TileEntityType<? extends MechanicalPressTileEntity> type) {
super(AllTileEntities.MECHANICAL_PRESS.type); super(type);
mode = Mode.WORLD; mode = Mode.WORLD;
} }

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.contraptions.components.saw; package com.simibubi.create.content.contraptions.components.saw;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock;
import com.simibubi.create.content.contraptions.components.actors.SawMovementBehaviour; import com.simibubi.create.content.contraptions.components.actors.SawMovementBehaviour;
import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock; import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock;
@ -59,7 +60,7 @@ public class SawBlock extends DirectionalAxisKineticBlock implements ITE<SawTile
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new SawTileEntity(); return AllTileEntities.SAW.create();
} }
@Override @Override

View file

@ -10,7 +10,6 @@ import java.util.stream.Collectors;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.components.actors.BlockBreakingKineticTileEntity; import com.simibubi.create.content.contraptions.components.actors.BlockBreakingKineticTileEntity;
import com.simibubi.create.content.contraptions.processing.ProcessingInventory; import com.simibubi.create.content.contraptions.processing.ProcessingInventory;
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
@ -46,6 +45,7 @@ import net.minecraft.particles.ItemParticleData;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.tags.BlockTags; import net.minecraft.tags.BlockTags;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
@ -65,8 +65,8 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
private FilteringBehaviour filtering; private FilteringBehaviour filtering;
private boolean destroyed; private boolean destroyed;
public SawTileEntity() { public SawTileEntity(TileEntityType<? extends SawTileEntity> type) {
super(AllTileEntities.SAW.type); super(type);
inventory = new ProcessingInventory(this::start); inventory = new ProcessingInventory(this::start);
inventory.remainingTime = -1; inventory.remainingTime = -1;
recipeIndex = 0; recipeIndex = 0;

View file

@ -43,7 +43,7 @@ public class MountedStorage {
} }
// Split double flexcrates // Split double flexcrates
if (te.getType() == AllTileEntities.ADJUSTABLE_CRATE.type) { if (AllTileEntities.ADJUSTABLE_CRATE.is(te)) {
if (te.getBlockState().get(AdjustableCrateBlock.DOUBLE)) if (te.getBlockState().get(AdjustableCrateBlock.DOUBLE))
te.getWorld().setBlockState(te.getPos(), te.getBlockState().with(AdjustableCrateBlock.DOUBLE, false)); te.getWorld().setBlockState(te.getPos(), te.getBlockState().with(AdjustableCrateBlock.DOUBLE, false));
te.updateContainingBlockInfo(); te.updateContainingBlockInfo();
@ -105,8 +105,7 @@ public class MountedStorage {
public static boolean canUseAsStorage(TileEntity te) { public static boolean canUseAsStorage(TileEntity te) {
if (te == null) if (te == null)
return false; return false;
TileEntityType<?> type = te.getType(); if (AllTileEntities.ADJUSTABLE_CRATE.is(te))
if (type == AllTileEntities.ADJUSTABLE_CRATE.type)
return true; return true;
if (te instanceof ShulkerBoxTileEntity) if (te instanceof ShulkerBoxTileEntity)
return true; return true;

View file

@ -1,5 +1,6 @@
package com.simibubi.create.content.contraptions.components.structureMovement.bearing; package com.simibubi.create.content.contraptions.components.structureMovement.bearing;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -20,7 +21,7 @@ public class ClockworkBearingBlock extends BearingBlock implements ITE<Clockwork
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new ClockworkBearingTileEntity(); return AllTileEntities.CLOCKWORK_BEARING.create();
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.components.structureMovement.be
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption; import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity;
@ -12,6 +11,7 @@ import com.simibubi.create.foundation.utility.ServerSpeedProvider;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.Direction.AxisDirection;
@ -31,8 +31,8 @@ public class ClockworkBearingTileEntity extends KineticTileEntity implements IBe
protected boolean running; protected boolean running;
protected boolean assembleNextTick; protected boolean assembleNextTick;
public ClockworkBearingTileEntity() { public ClockworkBearingTileEntity(TileEntityType<? extends ClockworkBearingTileEntity> type) {
super(AllTileEntities.CLOCKWORK_BEARING.type); super(type);
setLazyTickRate(3); setLazyTickRate(3);
} }

View file

@ -1,5 +1,6 @@
package com.simibubi.create.content.contraptions.components.structureMovement.bearing; package com.simibubi.create.content.contraptions.components.structureMovement.bearing;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld; import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld;
@ -22,7 +23,7 @@ public class MechanicalBearingBlock extends BearingBlock implements ITE<Mechanic
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new MechanicalBearingTileEntity(); return AllTileEntities.MECHANICAL_BEARING.create();
} }
@Override @Override

View file

@ -4,7 +4,6 @@ import static net.minecraft.state.properties.BlockStateProperties.FACING;
import java.util.List; import java.util.List;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption; import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity;
@ -18,6 +17,7 @@ import com.simibubi.create.foundation.utility.ServerSpeedProvider;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.Direction.AxisDirection;
@ -36,8 +36,8 @@ public class MechanicalBearingTileEntity extends GeneratingKineticTileEntity imp
protected ScrollOptionBehaviour<RotationMode> movementMode; protected ScrollOptionBehaviour<RotationMode> movementMode;
protected float lastGeneratedSpeed; protected float lastGeneratedSpeed;
public MechanicalBearingTileEntity() { public MechanicalBearingTileEntity(TileEntityType<? extends MechanicalBearingTileEntity> type) {
super(AllTileEntities.MECHANICAL_BEARING.type); super(type);
isWindmill = false; isWindmill = false;
setLazyTickRate(3); setLazyTickRate(3);
} }

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.ch
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllSoundEvents; import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.contraptions.wrench.IWrenchable;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -37,7 +38,7 @@ public abstract class AbstractChassisBlock extends RotatedPillarBlock implements
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new ChassisTileEntity(); return AllTileEntities.CHASSIS.create();
} }
@Override @Override

View file

@ -10,7 +10,6 @@ import java.util.List;
import java.util.Set; import java.util.Set;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.components.structureMovement.BlockMovementTraits; import com.simibubi.create.content.contraptions.components.structureMovement.BlockMovementTraits;
import com.simibubi.create.content.contraptions.components.structureMovement.ChassisRangeDisplay; import com.simibubi.create.content.contraptions.components.structureMovement.ChassisRangeDisplay;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
@ -24,6 +23,7 @@ import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.Direction.AxisDirection;
@ -35,8 +35,8 @@ public class ChassisTileEntity extends SmartTileEntity {
ScrollValueBehaviour range; ScrollValueBehaviour range;
public ChassisTileEntity() { public ChassisTileEntity(TileEntityType<? extends ChassisTileEntity> type) {
super(AllTileEntities.CHASSIS.type); super(type);
} }
@Override @Override

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.mo
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity.CartMovementMode; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity.CartMovementMode;
import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.contraptions.wrench.IWrenchable;
@ -55,7 +56,7 @@ public class CartAssemblerBlock extends AbstractRailBlock implements ITE<CartAss
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new CartAssemblerTileEntity(); return AllTileEntities.CART_ASSEMBLER.create();
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.components.structureMovement.mo
import java.util.List; import java.util.List;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.gui.AllIcons; import com.simibubi.create.foundation.gui.AllIcons;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
@ -12,14 +11,15 @@ import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIco
import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
public class CartAssemblerTileEntity extends SmartTileEntity { public class CartAssemblerTileEntity extends SmartTileEntity {
protected ScrollOptionBehaviour<CartMovementMode> movementMode; protected ScrollOptionBehaviour<CartMovementMode> movementMode;
public CartAssemblerTileEntity() { public CartAssemblerTileEntity(TileEntityType<? extends CartAssemblerTileEntity> type) {
super(AllTileEntities.CART_ASSEMBLER.type); super(type);
} }
@Override @Override

View file

@ -3,6 +3,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pi
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllSoundEvents; import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
@ -99,7 +100,7 @@ public class MechanicalPistonBlock extends DirectionalAxisKineticBlock implement
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new MechanicalPistonTileEntity(); return AllTileEntities.MECHANICAL_PISTON.create();
} }
@Override @Override

View file

@ -1,7 +1,6 @@
package com.simibubi.create.content.contraptions.components.structureMovement.piston; package com.simibubi.create.content.contraptions.components.structureMovement.piston;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.IRotate; import com.simibubi.create.content.contraptions.base.IRotate;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionCollider; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionCollider;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity;
@ -12,6 +11,7 @@ import com.simibubi.create.foundation.utility.ServerSpeedProvider;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.Direction.AxisDirection;
@ -24,8 +24,8 @@ public class MechanicalPistonTileEntity extends LinearActuatorTileEntity {
protected boolean hadCollisionWithOtherPiston; protected boolean hadCollisionWithOtherPiston;
protected int extensionLength; protected int extensionLength;
public MechanicalPistonTileEntity() { public MechanicalPistonTileEntity(TileEntityType<? extends MechanicalPistonTileEntity> type) {
super(AllTileEntities.MECHANICAL_PISTON.type); super(type);
} }
@Override @Override

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pu
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
@ -35,7 +36,7 @@ public class PulleyBlock extends HorizontalAxisKineticBlock implements ITE<Pulle
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new PulleyTileEntity(); return AllTileEntities.ROPE_PULLEY.create();
} }
@Override @Override

View file

@ -1,7 +1,6 @@
package com.simibubi.create.content.contraptions.components.structureMovement.pulley; package com.simibubi.create.content.contraptions.components.structureMovement.pulley;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.components.structureMovement.BlockMovementTraits; import com.simibubi.create.content.contraptions.components.structureMovement.BlockMovementTraits;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionCollider; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionCollider;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity;
@ -12,6 +11,7 @@ import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@ -21,8 +21,8 @@ public class PulleyTileEntity extends LinearActuatorTileEntity {
protected int initialOffset; protected int initialOffset;
public PulleyTileEntity() { public PulleyTileEntity(TileEntityType<? extends PulleyTileEntity> type) {
super(AllTileEntities.ROPE_PULLEY.type); super(type);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.contraptions.components.turntable; package com.simibubi.create.content.contraptions.components.turntable;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticBlock; import com.simibubi.create.content.contraptions.base.KineticBlock;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
@ -31,7 +32,7 @@ public class TurntableBlock extends KineticBlock implements ITE<TurntableTileEnt
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new TurntableTileEntity(); return AllTileEntities.TURNTABLE.create();
} }
@Override @Override

View file

@ -1,12 +1,13 @@
package com.simibubi.create.content.contraptions.components.turntable; package com.simibubi.create.content.contraptions.components.turntable;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import net.minecraft.tileentity.TileEntityType;
public class TurntableTileEntity extends KineticTileEntity { public class TurntableTileEntity extends KineticTileEntity {
public TurntableTileEntity() { public TurntableTileEntity(TileEntityType<? extends TurntableTileEntity> type) {
super(AllTileEntities.TURNTABLE.type); super(type);
} }
} }

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.contraptions.components.waterwheel; package com.simibubi.create.content.contraptions.components.waterwheel;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.advancement.AllTriggers;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
@ -31,7 +32,7 @@ public class WaterWheelBlock extends HorizontalKineticBlock implements ITE<Water
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new WaterWheelTileEntity(); return AllTileEntities.WATER_WHEEL.create();
} }
@Override @Override

View file

@ -4,10 +4,10 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
@ -15,8 +15,8 @@ public class WaterWheelTileEntity extends GeneratingKineticTileEntity {
private Map<Direction, Float> flows; private Map<Direction, Float> flows;
public WaterWheelTileEntity() { public WaterWheelTileEntity(TileEntityType<? extends WaterWheelTileEntity> type) {
super(AllTileEntities.WATER_WHEEL.type); super(type);
flows = new HashMap<>(); flows = new HashMap<>();
for (Direction d : Direction.values()) for (Direction d : Direction.values())
setFlow(d, 0); setFlow(d, 0);

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.processing;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.contraptions.wrench.IWrenchable;
import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.advancement.AllTriggers;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
@ -40,7 +41,7 @@ public class BasinBlock extends Block implements ITE<BasinTileEntity>, IWrenchab
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new BasinTileEntity(); return AllTileEntities.BASIN.create();
} }
@Override @Override

View file

@ -155,7 +155,7 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity {
if (!world.isRemote) { if (!world.isRemote) {
SimpleTrigger trigger = AllTriggers.MIXER_MIX; SimpleTrigger trigger = AllTriggers.MIXER_MIX;
if (getType() == AllTileEntities.MECHANICAL_PRESS.type) if (AllTileEntities.MECHANICAL_PRESS.is(this))
trigger = AllTriggers.PRESS_COMPACT; trigger = AllTriggers.PRESS_COMPACT;
AllTriggers.triggerForNearbyPlayers(trigger, world, pos, 4); AllTriggers.triggerForNearbyPlayers(trigger, world, pos, 4);
} }

View file

@ -2,13 +2,13 @@ package com.simibubi.create.content.contraptions.processing;
import java.util.Optional; import java.util.Optional;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.tileEntity.SyncedTileEntity; import com.simibubi.create.foundation.tileEntity.SyncedTileEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.ITickableTileEntity; import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.common.util.LazyOptional;
@ -91,8 +91,8 @@ public class BasinTileEntity extends SyncedTileEntity implements ITickableTileEn
LazyOptional.of(() -> new BasinInventory(inputInventory, outputInventory)); LazyOptional.of(() -> new BasinInventory(inputInventory, outputInventory));
public BasinInputInventory recipeInventory; public BasinInputInventory recipeInventory;
public BasinTileEntity() { public BasinTileEntity(TileEntityType<? extends BasinTileEntity> type) {
super(AllTileEntities.BASIN.type); super(type);
contentsChanged = true; contentsChanged = true;
recipeInventory = new BasinInputInventory(); recipeInventory = new BasinInputInventory();
} }

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.contraptions.relays.advanced; package com.simibubi.create.content.contraptions.relays.advanced;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock;
import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock; import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock;
@ -21,7 +22,7 @@ public class SpeedControllerBlock extends HorizontalAxisKineticBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new SpeedControllerTileEntity(); return AllTileEntities.ROTATION_SPEED_CONTROLLER.create();
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.relays.advanced;
import java.util.List; import java.util.List;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.RotationPropagator; import com.simibubi.create.content.contraptions.RotationPropagator;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.components.motor.CreativeMotorTileEntity; import com.simibubi.create.content.contraptions.components.motor.CreativeMotorTileEntity;
@ -14,6 +13,7 @@ import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.VecHelper;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3d;
@ -22,8 +22,8 @@ public class SpeedControllerTileEntity extends KineticTileEntity {
public static final int DEFAULT_SPEED = 16; public static final int DEFAULT_SPEED = 16;
protected ScrollValueBehaviour targetSpeed; protected ScrollValueBehaviour targetSpeed;
public SpeedControllerTileEntity() { public SpeedControllerTileEntity(TileEntityType<? extends SpeedControllerTileEntity> type) {
super(AllTileEntities.ROTATION_SPEED_CONTROLLER.type); super(type);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.contraptions.relays.advanced.sequencer; package com.simibubi.create.content.contraptions.relays.advanced.sequencer;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock;
import com.simibubi.create.content.contraptions.base.KineticBlock; import com.simibubi.create.content.contraptions.base.KineticBlock;
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
@ -48,7 +49,7 @@ public class SequencedGearshiftBlock extends HorizontalAxisKineticBlock implemen
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new SequencedGearshiftTileEntity(); return AllTileEntities.SEQUENCED_GEARSHIFT.create();
} }
@Override @Override

View file

@ -2,10 +2,10 @@ package com.simibubi.create.content.contraptions.relays.advanced.sequencer;
import java.util.Vector; import java.util.Vector;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.relays.encased.SplitShaftTileEntity; import com.simibubi.create.content.contraptions.relays.encased.SplitShaftTileEntity;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraftforge.common.util.Constants.NBT; import net.minecraftforge.common.util.Constants.NBT;
@ -16,8 +16,8 @@ public class SequencedGearshiftTileEntity extends SplitShaftTileEntity {
int currentInstructionDuration; int currentInstructionDuration;
int timer; int timer;
public SequencedGearshiftTileEntity() { public SequencedGearshiftTileEntity(TileEntityType<? extends SequencedGearshiftTileEntity> type) {
super(AllTileEntities.SEQUENCED_GEARSHIFT.type); super(type);
instructions = Instruction.createDefault(); instructions = Instruction.createDefault();
currentInstruction = -1; currentInstruction = -1;
currentInstructionDuration = -1; currentInstructionDuration = -1;

View file

@ -9,6 +9,7 @@ import org.apache.commons.lang3.mutable.MutableInt;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
import com.simibubi.create.content.contraptions.relays.belt.transport.BeltMovementHandler.TransportedEntityInfo; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltMovementHandler.TransportedEntityInfo;
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock;
@ -403,7 +404,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new BeltTileEntity(); return AllTileEntities.BELT.create();
} }
@Override @Override

View file

@ -14,7 +14,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.Tracker; import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.Tracker;
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock.Part; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock.Part;
@ -33,6 +32,7 @@ import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.NBTUtil; import net.minecraft.nbt.NBTUtil;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
@ -58,8 +58,8 @@ public class BeltTileEntity extends KineticTileEntity {
public CompoundNBT trackerUpdateTag; public CompoundNBT trackerUpdateTag;
public BeltTileEntity() { public BeltTileEntity(TileEntityType<? extends BeltTileEntity> type) {
super(AllTileEntities.BELT.type); super(type);
controller = BlockPos.ZERO; controller = BlockPos.ZERO;
attachmentTracker = new Tracker(this); attachmentTracker = new Tracker(this);
itemHandler = LazyOptional.empty(); itemHandler = LazyOptional.empty();

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.relays.elementary;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockRenderType;
@ -37,7 +38,7 @@ public class ShaftBlock extends RotatedPillarKineticBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new SimpleKineticTileEntity(); return AllTileEntities.SIMPLE_KINETIC.create();
} }
@Override @Override

View file

@ -1,14 +1,14 @@
package com.simibubi.create.content.contraptions.relays.elementary; package com.simibubi.create.content.contraptions.relays.elementary;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
public class SimpleKineticTileEntity extends KineticTileEntity { public class SimpleKineticTileEntity extends KineticTileEntity {
public SimpleKineticTileEntity() { public SimpleKineticTileEntity(TileEntityType<? extends SimpleKineticTileEntity> type) {
super(AllTileEntities.SIMPLE_KINETIC.type); super(type);
} }
@Override @Override

View file

@ -1,5 +1,6 @@
package com.simibubi.create.content.contraptions.relays.encased; package com.simibubi.create.content.contraptions.relays.encased;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -30,7 +31,7 @@ public class AdjustablePulleyBlock extends EncasedBeltBlock implements ITE<Adjus
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new AdjustablePulleyTileEntity(); return AllTileEntities.ADJUSTABLE_PULLEY.create();
} }
@Override @Override

View file

@ -1,17 +1,17 @@
package com.simibubi.create.content.contraptions.relays.encased; package com.simibubi.create.content.contraptions.relays.encased;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
public class AdjustablePulleyTileEntity extends KineticTileEntity { public class AdjustablePulleyTileEntity extends KineticTileEntity {
int signal; int signal;
boolean signalChanged; boolean signalChanged;
public AdjustablePulleyTileEntity() { public AdjustablePulleyTileEntity(TileEntityType<? extends AdjustablePulleyTileEntity> type) {
super(AllTileEntities.ADJUSTABLE_PULLEY.type); super(type);
signal = 0; signal = 0;
setLazyTickRate(40); setLazyTickRate(40);
} }

View file

@ -1,5 +1,7 @@
package com.simibubi.create.content.contraptions.relays.encased; package com.simibubi.create.content.contraptions.relays.encased;
import com.simibubi.create.AllTileEntities;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
@ -15,7 +17,7 @@ public class ClutchBlock extends GearshiftBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new ClutchTileEntity(); return AllTileEntities.CLUTCH.create();
} }
@Override @Override

View file

@ -1,14 +1,13 @@
package com.simibubi.create.content.contraptions.relays.encased; package com.simibubi.create.content.contraptions.relays.encased;
import com.simibubi.create.AllTileEntities;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
public class ClutchTileEntity extends SplitShaftTileEntity { public class ClutchTileEntity extends SplitShaftTileEntity {
public ClutchTileEntity() { public ClutchTileEntity(TileEntityType<? extends ClutchTileEntity> type) {
super(AllTileEntities.CLUTCH.type); super(type);
} }
@Override @Override

View file

@ -1,5 +1,6 @@
package com.simibubi.create.content.contraptions.relays.encased; package com.simibubi.create.content.contraptions.relays.encased;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
@ -181,7 +182,7 @@ public class EncasedBeltBlock extends RotatedPillarKineticBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new EncasedShaftTileEntity(); return AllTileEntities.ENCASED_SHAFT.create();
} }
@Override @Override

View file

@ -1,5 +1,6 @@
package com.simibubi.create.content.contraptions.relays.encased; package com.simibubi.create.content.contraptions.relays.encased;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -25,7 +26,7 @@ public class EncasedShaftBlock extends RotatedPillarKineticBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new EncasedShaftTileEntity(); return AllTileEntities.ENCASED_SHAFT.create();
} }
@Override @Override

View file

@ -1,12 +1,13 @@
package com.simibubi.create.content.contraptions.relays.encased; package com.simibubi.create.content.contraptions.relays.encased;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import net.minecraft.tileentity.TileEntityType;
public class EncasedShaftTileEntity extends KineticTileEntity { public class EncasedShaftTileEntity extends KineticTileEntity {
public EncasedShaftTileEntity() { public EncasedShaftTileEntity(TileEntityType<? extends EncasedShaftTileEntity> type) {
super(AllTileEntities.ENCASED_SHAFT.type); super(type);
} }
} }

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.relays.encased;
import java.util.Random; import java.util.Random;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.RotationPropagator; import com.simibubi.create.content.contraptions.RotationPropagator;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.relays.gearbox.GearshiftTileEntity; import com.simibubi.create.content.contraptions.relays.gearbox.GearshiftTileEntity;
@ -33,7 +34,7 @@ public class GearshiftBlock extends EncasedShaftBlock implements ITE<GearshiftTi
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new GearshiftTileEntity(); return AllTileEntities.GEARSHIFT.create();
} }
@Override @Override

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.relays.gauge;
import java.util.Random; import java.util.Random;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock;
import com.simibubi.create.content.contraptions.base.IRotate; import com.simibubi.create.content.contraptions.base.IRotate;
import com.simibubi.create.foundation.utility.ColorHelper; import com.simibubi.create.foundation.utility.ColorHelper;
@ -60,9 +61,9 @@ public class GaugeBlock extends DirectionalAxisKineticBlock {
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
switch (type) { switch (type) {
case SPEED: case SPEED:
return new SpeedGaugeTileEntity(); return AllTileEntities.SPEEDOMETER.create();
case STRESS: case STRESS:
return new StressGaugeTileEntity(); return AllTileEntities.STRESSOMETER.create();
default: default:
return null; return null;
} }

View file

@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.relays.gauge;
import java.util.List; import java.util.List;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.IRotate.SpeedLevel; import com.simibubi.create.content.contraptions.base.IRotate.SpeedLevel;
import com.simibubi.create.content.contraptions.goggles.GogglesItem; import com.simibubi.create.content.contraptions.goggles.GogglesItem;
import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.advancement.AllTriggers;
@ -10,13 +9,14 @@ import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.utility.ColorHelper; import com.simibubi.create.foundation.utility.ColorHelper;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
public class SpeedGaugeTileEntity extends GaugeTileEntity{ public class SpeedGaugeTileEntity extends GaugeTileEntity{
public SpeedGaugeTileEntity() { public SpeedGaugeTileEntity(TileEntityType<? extends SpeedGaugeTileEntity> type) {
super(AllTileEntities.SPEEDOMETER.type); super(type);
} }
@Override @Override

View file

@ -2,19 +2,19 @@ package com.simibubi.create.content.contraptions.relays.gauge;
import java.util.List; import java.util.List;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.IRotate.StressImpact; import com.simibubi.create.content.contraptions.base.IRotate.StressImpact;
import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation;
import com.simibubi.create.foundation.item.ItemDescription; import com.simibubi.create.foundation.item.ItemDescription;
import com.simibubi.create.foundation.utility.ColorHelper; import com.simibubi.create.foundation.utility.ColorHelper;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
public class StressGaugeTileEntity extends GaugeTileEntity { public class StressGaugeTileEntity extends GaugeTileEntity {
public StressGaugeTileEntity() { public StressGaugeTileEntity(TileEntityType<? extends StressGaugeTileEntity> type) {
super(AllTileEntities.STRESSOMETER.type); super(type);
} }
@Override @Override

View file

@ -4,6 +4,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -30,7 +31,7 @@ public class GearboxBlock extends RotatedPillarKineticBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new GearboxTileEntity(); return AllTileEntities.DEPLOYER.create();
} }
@Override @Override

View file

@ -1,12 +1,13 @@
package com.simibubi.create.content.contraptions.relays.gearbox; package com.simibubi.create.content.contraptions.relays.gearbox;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.relays.encased.DirectionalShaftHalvesTileEntity; import com.simibubi.create.content.contraptions.relays.encased.DirectionalShaftHalvesTileEntity;
import net.minecraft.tileentity.TileEntityType;
public class GearboxTileEntity extends DirectionalShaftHalvesTileEntity { public class GearboxTileEntity extends DirectionalShaftHalvesTileEntity {
public GearboxTileEntity() { public GearboxTileEntity(TileEntityType<? extends GearboxTileEntity> type) {
super(AllTileEntities.GEARBOX.type); super(type);
} }
} }

View file

@ -1,15 +1,15 @@
package com.simibubi.create.content.contraptions.relays.gearbox; package com.simibubi.create.content.contraptions.relays.gearbox;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.relays.encased.SplitShaftTileEntity; import com.simibubi.create.content.contraptions.relays.encased.SplitShaftTileEntity;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
public class GearshiftTileEntity extends SplitShaftTileEntity { public class GearshiftTileEntity extends SplitShaftTileEntity {
public GearshiftTileEntity() { public GearshiftTileEntity(TileEntityType<? extends GearshiftTileEntity> type) {
super(AllTileEntities.GEARSHIFT.type); super(type);
} }
@Override @Override

View file

@ -5,6 +5,7 @@ import java.util.List;
import java.util.Random; import java.util.Random;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState; import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState;
import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.IBeltAttachment; import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.IBeltAttachment;
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
@ -60,7 +61,7 @@ public class BeltObserverBlock extends HorizontalBlock
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new BeltObserverTileEntity(); return AllTileEntities.BELT_OBSERVER.create();
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package com.simibubi.create.content.logistics.block.belts.observer;
import java.util.List; import java.util.List;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper;
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverBlock.Mode; import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverBlock.Mode;
@ -11,6 +10,7 @@ import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3d;
@ -19,8 +19,8 @@ public class BeltObserverTileEntity extends SmartTileEntity {
private FilteringBehaviour filtering; private FilteringBehaviour filtering;
public int turnOffTicks = 0; public int turnOffTicks = 0;
public BeltObserverTileEntity() { public BeltObserverTileEntity(TileEntityType<? extends BeltObserverTileEntity> type) {
super(AllTileEntities.BELT_OBSERVER.type); super(type);
setLazyTickRate(20); setLazyTickRate(20);
} }

View file

@ -5,6 +5,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock.Slope; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock.Slope;
import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.contraptions.wrench.IWrenchable;
@ -65,7 +66,7 @@ public class BeltTunnelBlock extends Block implements ITE<BeltTunnelTileEntity>,
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new BeltTunnelTileEntity(); return AllTileEntities.BELT_TUNNEL.create();
} }
@Override @Override

View file

@ -7,7 +7,6 @@ import java.util.List;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock.Shape; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock.Shape;
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue; import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue;
import com.simibubi.create.foundation.tileEntity.SyncedTileEntity; import com.simibubi.create.foundation.tileEntity.SyncedTileEntity;
@ -20,6 +19,7 @@ import net.minecraft.nbt.ListNBT;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.ITickableTileEntity; import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.Direction.AxisDirection;
@ -38,8 +38,8 @@ public class BeltTunnelTileEntity extends SyncedTileEntity implements ITickableT
private List<Pair<Direction, Boolean>> flapsToSend; private List<Pair<Direction, Boolean>> flapsToSend;
public BeltTunnelTileEntity() { public BeltTunnelTileEntity(TileEntityType<? extends BeltTunnelTileEntity> type) {
super(AllTileEntities.BELT_TUNNEL.type); super(type);
flaps = new HashMap<>(); flaps = new HashMap<>();
syncedFlaps = new HashMap<>(); syncedFlaps = new HashMap<>();
initialize = true; initialize = true;

View file

@ -2,12 +2,12 @@ package com.simibubi.create.content.logistics.block.diodes;
import static com.simibubi.create.content.logistics.block.diodes.AdjustableRepeaterBlock.POWERING; import static com.simibubi.create.content.logistics.block.diodes.AdjustableRepeaterBlock.POWERING;
import com.simibubi.create.AllTileEntities; import net.minecraft.tileentity.TileEntityType;
public class AdjustablePulseRepeaterTileEntity extends AdjustableRepeaterTileEntity { public class AdjustablePulseRepeaterTileEntity extends AdjustableRepeaterTileEntity {
public AdjustablePulseRepeaterTileEntity() { public AdjustablePulseRepeaterTileEntity(TileEntityType<? extends AdjustablePulseRepeaterTileEntity> type) {
super(AllTileEntities.ADJUSTABLE_PULSE_REPEATER.type); super(type);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.logistics.block.diodes; package com.simibubi.create.content.logistics.block.diodes;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -34,8 +35,8 @@ public class AdjustableRepeaterBlock extends AbstractDiodeBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return AllBlocks.ADJUSTABLE_REPEATER.get() == this ? new AdjustableRepeaterTileEntity() return AllBlocks.ADJUSTABLE_REPEATER.is(this) ? AllTileEntities.ADJUSTABLE_REPEATER.create()
: new AdjustablePulseRepeaterTileEntity(); : AllTileEntities.ADJUSTABLE_PULSE_REPEATER.create();
} }
@Override @Override

View file

@ -5,7 +5,6 @@ import static net.minecraft.block.RedstoneDiodeBlock.POWERED;
import java.util.List; import java.util.List;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour;
@ -22,11 +21,7 @@ public class AdjustableRepeaterTileEntity extends SmartTileEntity {
public boolean charging; public boolean charging;
ScrollValueBehaviour maxState; ScrollValueBehaviour maxState;
public AdjustableRepeaterTileEntity() { public AdjustableRepeaterTileEntity(TileEntityType<?> type) {
this(AllTileEntities.ADJUSTABLE_REPEATER.type);
}
protected AdjustableRepeaterTileEntity(TileEntityType<?> type) {
super(type); super(type);
} }

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.logistics.block.extractor;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock; import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour; import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
import com.simibubi.create.content.logistics.block.AttachedLogisticalBlock; import com.simibubi.create.content.logistics.block.AttachedLogisticalBlock;
@ -61,7 +62,7 @@ public class ExtractorBlock extends BeltAttachableLogisticalBlock implements IPo
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new ExtractorTileEntity(); return AllTileEntities.EXTRACTOR.create();
} }
@Override @Override

View file

@ -3,7 +3,6 @@ package com.simibubi.create.content.logistics.block.extractor;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
import com.simibubi.create.content.logistics.block.AttachedLogisticalBlock; import com.simibubi.create.content.logistics.block.AttachedLogisticalBlock;
@ -33,11 +32,7 @@ public class ExtractorTileEntity extends SmartTileEntity {
protected FilteringBehaviour filtering; protected FilteringBehaviour filtering;
protected boolean extractingToBelt; protected boolean extractingToBelt;
public ExtractorTileEntity() { public ExtractorTileEntity(TileEntityType<?> tileEntityTypeIn) {
this(AllTileEntities.EXTRACTOR.type);
}
protected ExtractorTileEntity(TileEntityType<?> tileEntityTypeIn) {
super(tileEntityTypeIn); super(tileEntityTypeIn);
} }

View file

@ -3,6 +3,7 @@ package com.simibubi.create.content.logistics.block.extractor;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.logistics.block.AttachedLogisticalBlock; import com.simibubi.create.content.logistics.block.AttachedLogisticalBlock;
import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.VecHelper;
@ -31,7 +32,7 @@ public class LinkedExtractorBlock extends ExtractorBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new LinkedExtractorTileEntity(); return AllTileEntities.LINKED_EXTRACTOR.create();
} }
@Override @Override

View file

@ -6,18 +6,19 @@ import java.util.List;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform;
import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkBehaviour;
import net.minecraft.tileentity.TileEntityType;
public class LinkedExtractorTileEntity extends ExtractorTileEntity { public class LinkedExtractorTileEntity extends ExtractorTileEntity {
public boolean receivedSignal; public boolean receivedSignal;
public LinkBehaviour receiver; public LinkBehaviour receiver;
public LinkedExtractorTileEntity() { public LinkedExtractorTileEntity(TileEntityType<? extends LinkedExtractorTileEntity> type) {
super(AllTileEntities.LINKED_EXTRACTOR.type); super(type);
} }
@Override @Override

View file

@ -6,6 +6,7 @@ import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock; import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour; import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState; import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState;
@ -63,7 +64,7 @@ public class FunnelBlock extends AttachedLogisticalBlock
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new FunnelTileEntity(); return AllTileEntities.FUNNEL.create();
} }
@Override @Override

View file

@ -4,7 +4,6 @@ import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllSoundEvents; import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper;
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
import com.simibubi.create.content.logistics.block.AttachedLogisticalBlock; import com.simibubi.create.content.logistics.block.AttachedLogisticalBlock;
@ -20,6 +19,7 @@ import net.minecraft.nbt.CompoundNBT;
import net.minecraft.particles.ItemParticleData; import net.minecraft.particles.ItemParticleData;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.SoundCategory; import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@ -32,8 +32,8 @@ public class FunnelTileEntity extends SmartTileEntity {
private InsertingBehaviour inserting; private InsertingBehaviour inserting;
private ItemStack justEaten; private ItemStack justEaten;
public FunnelTileEntity() { public FunnelTileEntity(TileEntityType<? extends FunnelTileEntity> type) {
super(AllTileEntities.FUNNEL.type); super(type);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.logistics.block.inventories; package com.simibubi.create.content.logistics.block.inventories;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.ItemHelper;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -30,7 +31,7 @@ public class AdjustableCrateBlock extends CrateBlock {
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new AdjustableCrateTileEntity(); return AllTileEntities.ADJUSTABLE_CRATE.create();
} }
@Override @Override

View file

@ -1,7 +1,6 @@
package com.simibubi.create.content.logistics.block.inventories; package com.simibubi.create.content.logistics.block.inventories;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory; import net.minecraft.entity.player.PlayerInventory;
@ -62,10 +61,6 @@ public class AdjustableCrateTileEntity extends CrateTileEntity implements INamed
public int itemCount; public int itemCount;
protected LazyOptional<IItemHandler> invHandler; protected LazyOptional<IItemHandler> invHandler;
public AdjustableCrateTileEntity() {
this(AllTileEntities.ADJUSTABLE_CRATE.type);
}
public AdjustableCrateTileEntity(TileEntityType<?> type) { public AdjustableCrateTileEntity(TileEntityType<?> type) {
super(type); super(type);
allowedAmount = 512; allowedAmount = 512;

View file

@ -1,5 +1,6 @@
package com.simibubi.create.content.logistics.block.inventories; package com.simibubi.create.content.logistics.block.inventories;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -21,7 +22,7 @@ public class CreativeCrateBlock extends CrateBlock implements ITE<CreativeCrateT
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new CreativeCrateTileEntity(); return AllTileEntities.CREATIVE_CRATE.create();
} }
@Override @Override

View file

@ -4,7 +4,6 @@ import java.util.List;
import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.matrix.MatrixStack;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform;
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
@ -13,6 +12,7 @@ import com.simibubi.create.foundation.utility.MatrixStacker;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3d;
import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.Capability;
@ -22,8 +22,8 @@ import net.minecraftforge.items.IItemHandler;
public class CreativeCrateTileEntity extends CrateTileEntity { public class CreativeCrateTileEntity extends CrateTileEntity {
public CreativeCrateTileEntity() { public CreativeCrateTileEntity(TileEntityType<? extends CreativeCrateTileEntity> type) {
super(AllTileEntities.CREATIVE_CRATE.type); super(type);
inv = new CreativeCrateInventory(this); inv = new CreativeCrateInventory(this);
itemHandler = LazyOptional.of(() -> inv); itemHandler = LazyOptional.of(() -> inv);
} }

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.logistics.block.redstone;
import java.util.Random; import java.util.Random;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -40,7 +41,7 @@ public class AnalogLeverBlock extends HorizontalFaceBlock implements ITE<AnalogL
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new AnalogLeverTileEntity(); return AllTileEntities.ANALOG_LEVER.create();
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package com.simibubi.create.content.logistics.block.redstone;
import java.util.List; import java.util.List;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation;
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue; import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
@ -10,6 +9,7 @@ import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
public class AnalogLeverTileEntity extends SmartTileEntity implements IHaveGoggleInformation { public class AnalogLeverTileEntity extends SmartTileEntity implements IHaveGoggleInformation {
@ -18,8 +18,8 @@ public class AnalogLeverTileEntity extends SmartTileEntity implements IHaveGoggl
int lastChange; int lastChange;
InterpolatedChasingValue clientState = new InterpolatedChasingValue().withSpeed(.2f); InterpolatedChasingValue clientState = new InterpolatedChasingValue().withSpeed(.2f);
public AnalogLeverTileEntity() { public AnalogLeverTileEntity(TileEntityType<? extends AnalogLeverTileEntity> type) {
super(AllTileEntities.ANALOG_LEVER.type); super(type);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package com.simibubi.create.content.logistics.block.redstone; package com.simibubi.create.content.logistics.block.redstone;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.contraptions.wrench.IWrenchable;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.block.ProperDirectionalBlock; import com.simibubi.create.foundation.block.ProperDirectionalBlock;
@ -109,7 +110,7 @@ public class RedstoneLinkBlock extends ProperDirectionalBlock implements ITE<Red
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new RedstoneLinkTileEntity(); return AllTileEntities.REDSTONE_LINK.create();
} }
@Override @Override

View file

@ -7,7 +7,6 @@ import java.util.List;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform;
@ -15,6 +14,7 @@ import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkBehaviour;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@ -25,13 +25,8 @@ public class RedstoneLinkTileEntity extends SmartTileEntity {
private LinkBehaviour link; private LinkBehaviour link;
private boolean transmitter; private boolean transmitter;
public RedstoneLinkTileEntity() { public RedstoneLinkTileEntity(TileEntityType<? extends RedstoneLinkTileEntity> type) {
super(AllTileEntities.REDSTONE_LINK.type); super(type);
}
public RedstoneLinkTileEntity(boolean transmitter) {
this();
this.transmitter = transmitter;
} }
@Override @Override

Some files were not shown because too many files have changed in this diff Show more