package com.simibubi.create; 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.DrillTileEntity; import com.simibubi.create.content.contraptions.components.actors.HarvesterRenderer; import com.simibubi.create.content.contraptions.components.actors.HarvesterTileEntity; import com.simibubi.create.content.contraptions.components.clock.CuckooClockRenderer; import com.simibubi.create.content.contraptions.components.clock.CuckooClockTileEntity; import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterRenderer; import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity; import com.simibubi.create.content.contraptions.components.crank.HandCrankRenderer; import com.simibubi.create.content.contraptions.components.crank.HandCrankTileEntity; import com.simibubi.create.content.contraptions.components.crusher.CrushingWheelControllerTileEntity; import com.simibubi.create.content.contraptions.components.crusher.CrushingWheelTileEntity; import com.simibubi.create.content.contraptions.components.deployer.DeployerRenderer; import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity; import com.simibubi.create.content.contraptions.components.fan.EncasedFanRenderer; import com.simibubi.create.content.contraptions.components.fan.EncasedFanTileEntity; import com.simibubi.create.content.contraptions.components.fan.NozzleTileEntity; import com.simibubi.create.content.contraptions.components.flywheel.FlywheelRenderer; import com.simibubi.create.content.contraptions.components.flywheel.FlywheelTileEntity; import com.simibubi.create.content.contraptions.components.flywheel.engine.EngineRenderer; import com.simibubi.create.content.contraptions.components.flywheel.engine.FurnaceEngineTileEntity; import com.simibubi.create.content.contraptions.components.millstone.MillstoneRenderer; import com.simibubi.create.content.contraptions.components.millstone.MillstoneTileEntity; import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerRenderer; import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerTileEntity; import com.simibubi.create.content.contraptions.components.motor.CreativeMotorRenderer; import com.simibubi.create.content.contraptions.components.motor.CreativeMotorTileEntity; import com.simibubi.create.content.contraptions.components.press.MechanicalPressRenderer; import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity; import com.simibubi.create.content.contraptions.components.saw.SawRenderer; import com.simibubi.create.content.contraptions.components.saw.SawTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingRenderer; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkBearingTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonRenderer; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyRenderer; import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity; import com.simibubi.create.content.contraptions.components.turntable.TurntableTileEntity; import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelTileEntity; import com.simibubi.create.content.contraptions.fluids.FluidTankRenderer; import com.simibubi.create.content.contraptions.fluids.FluidTankTileEntity; import com.simibubi.create.content.contraptions.fluids.PumpRenderer; import com.simibubi.create.content.contraptions.fluids.PumpTileEntity; import com.simibubi.create.content.contraptions.processing.BasinRenderer; import com.simibubi.create.content.contraptions.processing.BasinTileEntity; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerRenderer; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerTileEntity; import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerRenderer; import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerTileEntity; import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltRenderer; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.elementary.SimpleKineticTileEntity; import com.simibubi.create.content.contraptions.relays.encased.*; import com.simibubi.create.content.contraptions.relays.gauge.GaugeRenderer; import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeTileEntity; import com.simibubi.create.content.contraptions.relays.gauge.StressGaugeTileEntity; import com.simibubi.create.content.contraptions.relays.gearbox.GearboxRenderer; import com.simibubi.create.content.contraptions.relays.gearbox.GearboxTileEntity; import com.simibubi.create.content.contraptions.relays.gearbox.GearshiftTileEntity; import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverRenderer; import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverTileEntity; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelRenderer; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelTileEntity; import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelTileEntity; import com.simibubi.create.content.logistics.block.chute.ChuteRenderer; import com.simibubi.create.content.logistics.block.chute.ChuteTileEntity; import com.simibubi.create.content.logistics.block.depot.DepotRenderer; import com.simibubi.create.content.logistics.block.depot.DepotTileEntity; import com.simibubi.create.content.logistics.block.diodes.AdjustablePulseRepeaterTileEntity; import com.simibubi.create.content.logistics.block.diodes.AdjustableRepeaterRenderer; import com.simibubi.create.content.logistics.block.diodes.AdjustableRepeaterTileEntity; import com.simibubi.create.content.logistics.block.extractor.ExtractorTileEntity; import com.simibubi.create.content.logistics.block.extractor.LinkedExtractorTileEntity; import com.simibubi.create.content.logistics.block.funnel.FunnelRenderer; import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity; import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateTileEntity; import com.simibubi.create.content.logistics.block.inventories.CreativeCrateTileEntity; import com.simibubi.create.content.logistics.block.mechanicalArm.ArmRenderer; import com.simibubi.create.content.logistics.block.mechanicalArm.ArmTileEntity; import com.simibubi.create.content.logistics.block.packager.PackagerRenderer; import com.simibubi.create.content.logistics.block.packager.PackagerTileEntity; import com.simibubi.create.content.logistics.block.redstone.*; import com.simibubi.create.content.logistics.block.transposer.LinkedTransposerTileEntity; import com.simibubi.create.content.logistics.block.transposer.TransposerTileEntity; import com.simibubi.create.content.schematics.block.SchematicTableTileEntity; import com.simibubi.create.content.schematics.block.SchematicannonRenderer; import com.simibubi.create.content.schematics.block.SchematicannonTileEntity; import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; import com.tterrag.registrate.util.entry.TileEntityEntry; import com.tterrag.registrate.util.nullness.NonNullFunction; import net.minecraft.tileentity.TileEntityType; public class AllTileEntities { // Schematics public static final TileEntityEntry SCHEMATICANNON = Create.registrate() .tileEntity("schematicannon", (NonNullFunction, ? extends SchematicannonTileEntity>) SchematicannonTileEntity::new) .validBlocks(AllBlocks.SCHEMATICANNON) .renderer(() -> SchematicannonRenderer::new) .register(); public static final TileEntityEntry SCHEMATIC_TABLE = Create.registrate() .tileEntity("schematic_table", (NonNullFunction, ? extends SchematicTableTileEntity>) SchematicTableTileEntity::new) .validBlocks(AllBlocks.SCHEMATIC_TABLE) //.renderer(() -> renderer) .register(); // Kinetics public static final TileEntityEntry SIMPLE_KINETIC = Create.registrate() .tileEntity("simple_kinetic", (NonNullFunction, ? extends SimpleKineticTileEntity>) SimpleKineticTileEntity::new) .validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL, AllBlocks.ENCASED_SHAFT) .renderer(() -> KineticTileEntityRenderer::new) .register(); public static final TileEntityEntry MOTOR = Create.registrate() .tileEntity("motor", (NonNullFunction, ? extends CreativeMotorTileEntity>) CreativeMotorTileEntity::new) .validBlocks(AllBlocks.CREATIVE_MOTOR) .renderer(() -> CreativeMotorRenderer::new) .register(); public static final TileEntityEntry GEARBOX = Create.registrate() .tileEntity("gearbox", (NonNullFunction, ? extends GearboxTileEntity>) GearboxTileEntity::new) .validBlocks(AllBlocks.GEARBOX) .renderer(() -> GearboxRenderer::new) .register(); public static final TileEntityEntry ENCASED_SHAFT = Create.registrate() .tileEntity("encased_shaft", (NonNullFunction, ? extends EncasedShaftTileEntity>) EncasedShaftTileEntity::new) .validBlocks(AllBlocks.ENCASED_SHAFT, AllBlocks.ENCASED_BELT) .renderer(() -> EncasedShaftRenderer::new) .register(); public static final TileEntityEntry ADJUSTABLE_PULLEY = Create.registrate() .tileEntity("adjustable_pulley", (NonNullFunction, ? extends AdjustablePulleyTileEntity>) AdjustablePulleyTileEntity::new) .validBlocks(AllBlocks.ADJUSTABLE_PULLEY) .renderer(() -> EncasedShaftRenderer::new) .register(); public static final TileEntityEntry ENCASED_FAN = Create.registrate() .tileEntity("encased_fan", (NonNullFunction, ? extends EncasedFanTileEntity>) EncasedFanTileEntity::new) .validBlocks(AllBlocks.ENCASED_FAN) .renderer(() -> EncasedFanRenderer::new) .register(); public static final TileEntityEntry NOZZLE = Create.registrate() .tileEntity("nozzle", (NonNullFunction, ? extends NozzleTileEntity>) NozzleTileEntity::new) .validBlocks(AllBlocks.NOZZLE) //.renderer(() -> renderer) .register(); public static final TileEntityEntry CLUTCH = Create.registrate() .tileEntity("clutch", (NonNullFunction, ? extends ClutchTileEntity>) ClutchTileEntity::new) .validBlocks(AllBlocks.CLUTCH) .renderer(() -> SplitShaftRenderer::new) .register(); public static final TileEntityEntry GEARSHIFT = Create.registrate() .tileEntity("gearshift", (NonNullFunction, ? extends GearshiftTileEntity>) GearshiftTileEntity::new) .validBlocks(AllBlocks.GEARSHIFT) .renderer(() -> SplitShaftRenderer::new) .register(); public static final TileEntityEntry TURNTABLE = Create.registrate() .tileEntity("turntable", (NonNullFunction, ? extends TurntableTileEntity>) TurntableTileEntity::new) .validBlocks(AllBlocks.TURNTABLE) .renderer(() -> KineticTileEntityRenderer::new) .register(); public static final TileEntityEntry HAND_CRANK = Create.registrate() .tileEntity("hand_crank", (NonNullFunction, ? extends HandCrankTileEntity>) HandCrankTileEntity::new) .validBlocks(AllBlocks.HAND_CRANK) .renderer(() -> HandCrankRenderer::new) .register(); public static final TileEntityEntry CUCKOO_CLOCK = Create.registrate() .tileEntity("cuckoo_clock", (NonNullFunction, ? extends CuckooClockTileEntity>) CuckooClockTileEntity::new) .validBlocks(AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK) .renderer(() -> CuckooClockRenderer::new) .register(); public static final TileEntityEntry MECHANICAL_PUMP = Create.registrate() .tileEntity("mechanical_pump", (NonNullFunction, ? extends PumpTileEntity>) PumpTileEntity::new) .validBlocks(AllBlocks.MECHANICAL_PUMP) .renderer(() -> PumpRenderer::new) .register(); public static final TileEntityEntry FLUID_TANK = Create.registrate() .tileEntity("fluid_tank", (NonNullFunction, ? extends FluidTankTileEntity>) FluidTankTileEntity::new) .validBlocks(AllBlocks.FLUID_TANK) .renderer(() -> FluidTankRenderer::new) .register(); public static final TileEntityEntry BELT = Create.registrate() .tileEntity("belt", (NonNullFunction, ? extends BeltTileEntity>) BeltTileEntity::new) .validBlocks(AllBlocks.BELT) .renderer(() -> BeltRenderer::new) .register(); public static final TileEntityEntry CHUTE = Create.registrate() .tileEntity("chute", (NonNullFunction, ? extends ChuteTileEntity>) ChuteTileEntity::new) .validBlocks(AllBlocks.CHUTE) .renderer(() -> ChuteRenderer::new) .register(); public static final TileEntityEntry ANDESITE_TUNNEL = Create.registrate() .tileEntity("andesite_tunnel", (NonNullFunction, ? extends BeltTunnelTileEntity>) BeltTunnelTileEntity::new) .validBlocks(AllBlocks.ANDESITE_TUNNEL) .renderer(() -> BeltTunnelRenderer::new) .register(); public static final TileEntityEntry BRASS_TUNNEL = Create.registrate() .tileEntity("brass_tunnel", (NonNullFunction, ? extends BrassTunnelTileEntity>) BrassTunnelTileEntity::new) .validBlocks(AllBlocks.BRASS_TUNNEL) .renderer(() -> BeltTunnelRenderer::new) .register(); public static final TileEntityEntry MECHANICAL_ARM = Create.registrate() .tileEntity("mechanical_arm", (NonNullFunction, ? extends ArmTileEntity>) ArmTileEntity::new) .validBlocks(AllBlocks.MECHANICAL_ARM) .renderer(() -> ArmRenderer::new) .register(); public static final TileEntityEntry MECHANICAL_PISTON = Create.registrate() .tileEntity("mechanical_piston", (NonNullFunction, ? extends MechanicalPistonTileEntity>) MechanicalPistonTileEntity::new) .validBlocks(AllBlocks.MECHANICAL_PISTON, AllBlocks.STICKY_MECHANICAL_PISTON) .renderer(() -> MechanicalPistonRenderer::new) .register(); public static final TileEntityEntry MECHANICAL_BEARING = Create.registrate() .tileEntity("mechanical_bearing", (NonNullFunction, ? extends MechanicalBearingTileEntity>) MechanicalBearingTileEntity::new) .validBlocks(AllBlocks.MECHANICAL_BEARING) .renderer(() -> BearingRenderer::new) .register(); public static final TileEntityEntry CLOCKWORK_BEARING = Create.registrate() .tileEntity("clockwork_bearing", (NonNullFunction, ? extends ClockworkBearingTileEntity>) ClockworkBearingTileEntity::new) .validBlocks(AllBlocks.CLOCKWORK_BEARING) .renderer(() -> BearingRenderer::new) .register(); public static final TileEntityEntry ROPE_PULLEY = Create.registrate() .tileEntity("rope_pulley", (NonNullFunction, ? extends PulleyTileEntity>) PulleyTileEntity::new) .validBlocks(AllBlocks.ROPE_PULLEY) .renderer(() -> PulleyRenderer::new) .register(); public static final TileEntityEntry CHASSIS = Create.registrate() .tileEntity("chassis", (NonNullFunction, ? extends ChassisTileEntity>) ChassisTileEntity::new) .validBlocks(AllBlocks.RADIAL_CHASSIS, AllBlocks.LINEAR_CHASSIS, AllBlocks.SECONDARY_LINEAR_CHASSIS) //.renderer(() -> renderer) .register(); public static final TileEntityEntry DRILL = Create.registrate() .tileEntity("drill", (NonNullFunction, ? extends DrillTileEntity>) DrillTileEntity::new) .validBlocks(AllBlocks.MECHANICAL_DRILL) .renderer(() -> DrillRenderer::new) .register(); public static final TileEntityEntry SAW = Create.registrate() .tileEntity("saw", (NonNullFunction, ? extends SawTileEntity>) SawTileEntity::new) .validBlocks(AllBlocks.MECHANICAL_SAW) .renderer(() -> SawRenderer::new) .register(); public static final TileEntityEntry HARVESTER = Create.registrate() .tileEntity("harvester", (NonNullFunction, ? extends HarvesterTileEntity>) HarvesterTileEntity::new) .validBlocks(AllBlocks.MECHANICAL_HARVESTER) .renderer(() -> HarvesterRenderer::new) .register(); public static final TileEntityEntry FLYWHEEL = Create.registrate() .tileEntity("flywheel", (NonNullFunction, ? extends FlywheelTileEntity>) FlywheelTileEntity::new) .validBlocks(AllBlocks.FLYWHEEL) .renderer(() -> FlywheelRenderer::new) .register(); public static final TileEntityEntry FURNACE_ENGINE = Create.registrate() .tileEntity("furnace_engine", (NonNullFunction, ? extends FurnaceEngineTileEntity>) FurnaceEngineTileEntity::new) .validBlocks(AllBlocks.FURNACE_ENGINE) .renderer(() -> EngineRenderer::new) .register(); public static final TileEntityEntry MILLSTONE = Create.registrate() .tileEntity("millstone", (NonNullFunction, ? extends MillstoneTileEntity>) MillstoneTileEntity::new) .validBlocks(AllBlocks.MILLSTONE) .renderer(() -> MillstoneRenderer::new) .register(); public static final TileEntityEntry CRUSHING_WHEEL = Create.registrate() .tileEntity("crushing_wheel", (NonNullFunction, ? extends CrushingWheelTileEntity>) CrushingWheelTileEntity::new) .validBlocks(AllBlocks.CRUSHING_WHEEL) .renderer(() -> KineticTileEntityRenderer::new) .register(); public static final TileEntityEntry CRUSHING_WHEEL_CONTROLLER = Create.registrate() .tileEntity("crushing_wheel_controller", (NonNullFunction, ? extends CrushingWheelControllerTileEntity>) CrushingWheelControllerTileEntity::new) .validBlocks(AllBlocks.CRUSHING_WHEEL_CONTROLLER) //.renderer(() -> renderer) .register(); public static final TileEntityEntry WATER_WHEEL = Create.registrate() .tileEntity("water_wheel", (NonNullFunction, ? extends WaterWheelTileEntity>) WaterWheelTileEntity::new) .validBlocks(AllBlocks.WATER_WHEEL) .renderer(() -> KineticTileEntityRenderer::new) .register(); public static final TileEntityEntry MECHANICAL_PRESS = Create.registrate() .tileEntity("mechanical_press", (NonNullFunction, ? extends MechanicalPressTileEntity>) MechanicalPressTileEntity::new) .validBlocks(AllBlocks.MECHANICAL_PRESS) .renderer(() -> MechanicalPressRenderer::new) .register(); public static final TileEntityEntry MECHANICAL_MIXER = Create.registrate() .tileEntity("mechanical_mixer", (NonNullFunction, ? extends MechanicalMixerTileEntity>) MechanicalMixerTileEntity::new) .validBlocks(AllBlocks.MECHANICAL_MIXER) .renderer(() -> MechanicalMixerRenderer::new) .register(); public static final TileEntityEntry DEPLOYER = Create.registrate() .tileEntity("deployer", (NonNullFunction, ? extends DeployerTileEntity>) DeployerTileEntity::new) .validBlocks(AllBlocks.DEPLOYER) .renderer(() -> DeployerRenderer::new) .register(); public static final TileEntityEntry BASIN = Create.registrate() .tileEntity("basin", (NonNullFunction, ? extends BasinTileEntity>) BasinTileEntity::new) .validBlocks(AllBlocks.BASIN) .renderer(() -> BasinRenderer::new) .register(); public static final TileEntityEntry HEATER = Create.registrate() .tileEntity("blaze_heater", (NonNullFunction, ? extends BlazeBurnerTileEntity>) BlazeBurnerTileEntity::new) .validBlocks(AllBlocks.BLAZE_BURNER) .renderer(() -> BlazeBurnerRenderer::new) .register(); public static final TileEntityEntry MECHANICAL_CRAFTER = Create.registrate() .tileEntity("mechanical_crafter", (NonNullFunction, ? extends MechanicalCrafterTileEntity>) MechanicalCrafterTileEntity::new) .validBlocks(AllBlocks.MECHANICAL_CRAFTER) .renderer(() -> MechanicalCrafterRenderer::new) .register(); public static final TileEntityEntry SEQUENCED_GEARSHIFT = Create.registrate() .tileEntity("sequenced_gearshift", (NonNullFunction, ? extends SequencedGearshiftTileEntity>) SequencedGearshiftTileEntity::new) .validBlocks(AllBlocks.SEQUENCED_GEARSHIFT) .renderer(() -> SplitShaftRenderer::new) .register(); public static final TileEntityEntry ROTATION_SPEED_CONTROLLER = Create.registrate() .tileEntity("rotation_speed_controller", (NonNullFunction, ? extends SpeedControllerTileEntity>) SpeedControllerTileEntity::new) .validBlocks(AllBlocks.ROTATION_SPEED_CONTROLLER) .renderer(() -> SpeedControllerRenderer::new) .register(); public static final TileEntityEntry SPEEDOMETER = Create.registrate() .tileEntity("speedometer", (NonNullFunction, ? extends SpeedGaugeTileEntity>) SpeedGaugeTileEntity::new) .validBlocks(AllBlocks.SPEEDOMETER) .renderer(() -> GaugeRenderer::speed) .register(); public static final TileEntityEntry STRESSOMETER = Create.registrate() .tileEntity("stressometer", (NonNullFunction, ? extends StressGaugeTileEntity>) StressGaugeTileEntity::new) .validBlocks(AllBlocks.STRESSOMETER) .renderer(() -> GaugeRenderer::stress) .register(); public static final TileEntityEntry ANALOG_LEVER = Create.registrate() .tileEntity("analog_lever", (NonNullFunction, ? extends AnalogLeverTileEntity>) AnalogLeverTileEntity::new) .validBlocks(AllBlocks.ANALOG_LEVER) .renderer(() -> AnalogLeverRenderer::new) .register(); public static final TileEntityEntry CART_ASSEMBLER = Create.registrate() .tileEntity("cart_assembler", (NonNullFunction, ? extends CartAssemblerTileEntity>) CartAssemblerTileEntity::new) .validBlocks(AllBlocks.CART_ASSEMBLER) //.renderer(() -> renderer) .register(); // Logistics public static final TileEntityEntry REDSTONE_LINK = Create.registrate() .tileEntity("redstone_link", (NonNullFunction, ? extends RedstoneLinkTileEntity>) RedstoneLinkTileEntity::new) .validBlocks(AllBlocks.REDSTONE_LINK) .renderer(() -> SmartTileEntityRenderer::new) .register(); public static final TileEntityEntry NIXIE_TUBE = Create.registrate() .tileEntity("nixie_tube", (NonNullFunction, ? extends NixieTubeTileEntity>) NixieTubeTileEntity::new) .validBlocks(AllBlocks.NIXIE_TUBE) .renderer(() -> NixieTubeRenderer::new) .register(); public static final TileEntityEntry STOCKPILE_SWITCH = Create.registrate() .tileEntity("stockpile_switch", (NonNullFunction, ? extends StockpileSwitchTileEntity>) StockpileSwitchTileEntity::new) .validBlocks(AllBlocks.STOCKPILE_SWITCH) //.renderer(() -> renderer) .register(); public static final TileEntityEntry ADJUSTABLE_CRATE = Create.registrate() .tileEntity("adjustable_crate", (NonNullFunction, ? extends AdjustableCrateTileEntity>) AdjustableCrateTileEntity::new) .validBlocks(AllBlocks.ADJUSTABLE_CRATE) //.renderer(() -> renderer) .register(); public static final TileEntityEntry CREATIVE_CRATE = Create.registrate() .tileEntity("creative_crate", (NonNullFunction, ? extends CreativeCrateTileEntity>) CreativeCrateTileEntity::new) .validBlocks(AllBlocks.CREATIVE_CRATE) .renderer(() -> SmartTileEntityRenderer::new) .register(); public static final TileEntityEntry DEPOT = Create.registrate() .tileEntity("depot", (NonNullFunction, ? extends DepotTileEntity>) DepotTileEntity::new) .validBlocks(AllBlocks.DEPOT) .renderer(() -> DepotRenderer::new) .register(); public static final TileEntityEntry FUNNEL = Create.registrate() .tileEntity("funnel", (NonNullFunction, ? extends FunnelTileEntity>) FunnelTileEntity::new) .validBlocks(AllBlocks.BRASS_FUNNEL, AllBlocks.BRASS_BELT_FUNNEL, AllBlocks.BRASS_CHUTE_FUNNEL, AllBlocks.ANDESITE_FUNNEL, AllBlocks.ANDESITE_BELT_FUNNEL, AllBlocks.ANDESITE_CHUTE_FUNNEL) .renderer(() -> FunnelRenderer::new) .register(); public static final TileEntityEntry PACKAGER = Create.registrate() .tileEntity("packager", (NonNullFunction, ? extends PackagerTileEntity>) PackagerTileEntity::new) .validBlocks(AllBlocks.PACKAGER) .renderer(() -> PackagerRenderer::new) .register(); public static final TileEntityEntry EXTRACTOR = Create.registrate() .tileEntity("extractor", (NonNullFunction, ? extends ExtractorTileEntity>) ExtractorTileEntity::new) .validBlocks(AllBlocks.EXTRACTOR, AllBlocks.VERTICAL_EXTRACTOR) .renderer(() -> SmartTileEntityRenderer::new) .register(); public static final TileEntityEntry LINKED_EXTRACTOR = Create.registrate() .tileEntity("linked_extractor", (NonNullFunction, ? extends LinkedExtractorTileEntity>) LinkedExtractorTileEntity::new) .validBlocks(AllBlocks.LINKED_EXTRACTOR, AllBlocks.VERTICAL_LINKED_EXTRACTOR) .renderer(() -> SmartTileEntityRenderer::new) .register(); public static final TileEntityEntry TRANSPOSER = Create.registrate() .tileEntity("transposer", (NonNullFunction, ? extends TransposerTileEntity>) TransposerTileEntity::new) .validBlocks(AllBlocks.TRANSPOSER, AllBlocks.VERTICAL_TRANSPOSER) .renderer(() -> SmartTileEntityRenderer::new) .register(); public static final TileEntityEntry LINKED_TRANSPOSER = Create.registrate() .tileEntity("linked_transposer", (NonNullFunction, ? extends LinkedTransposerTileEntity>) LinkedTransposerTileEntity::new) .validBlocks(AllBlocks.LINKED_TRANSPOSER, AllBlocks.VERTICAL_LINKED_TRANSPOSER) .renderer(() -> SmartTileEntityRenderer::new) .register(); public static final TileEntityEntry BELT_OBSERVER = Create.registrate() .tileEntity("belt_observer", (NonNullFunction, ? extends BeltObserverTileEntity>) BeltObserverTileEntity::new) .validBlocks(AllBlocks.BELT_OBSERVER) .renderer(() -> BeltObserverRenderer::new) .register(); public static final TileEntityEntry ADJUSTABLE_REPEATER = Create.registrate() .tileEntity("adjustable_repeater", (NonNullFunction, ? extends AdjustableRepeaterTileEntity>) AdjustableRepeaterTileEntity::new) .validBlocks(AllBlocks.ADJUSTABLE_REPEATER) .renderer(() -> AdjustableRepeaterRenderer::new) .register(); public static final TileEntityEntry ADJUSTABLE_PULSE_REPEATER = Create.registrate() .tileEntity("adjustable_pulse_repeater", (NonNullFunction, ? extends AdjustablePulseRepeaterTileEntity>) AdjustablePulseRepeaterTileEntity::new) .validBlocks(AllBlocks.ADJUSTABLE_PULSE_REPEATER) .renderer(() -> AdjustableRepeaterRenderer::new) .register(); public static void register() {} }