From f2b472f90d7a388d074c486d928a94ea664902e4 Mon Sep 17 00:00:00 2001 From: PepperCode1 <44146161+PepperCode1@users.noreply.github.com> Date: Thu, 19 Jan 2023 13:35:41 -0800 Subject: [PATCH] Renaming II - TileEntity -> BlockEntity --- src/generated/resources/.cache/cache | 48 +- .../resources/assets/create/lang/en_us.json | 4 +- .../assets/create/lang/unfinished/cs_cz.json | 4 +- .../assets/create/lang/unfinished/da_dk.json | 6 +- .../assets/create/lang/unfinished/de_de.json | 6 +- .../assets/create/lang/unfinished/es_cl.json | 6 +- .../assets/create/lang/unfinished/es_es.json | 6 +- .../assets/create/lang/unfinished/es_mx.json | 6 +- .../assets/create/lang/unfinished/fr_fr.json | 6 +- .../assets/create/lang/unfinished/hu_hu.json | 4 +- .../assets/create/lang/unfinished/it_it.json | 6 +- .../assets/create/lang/unfinished/ja_jp.json | 6 +- .../assets/create/lang/unfinished/ko_kr.json | 6 +- .../assets/create/lang/unfinished/nl_nl.json | 6 +- .../assets/create/lang/unfinished/no_no.json | 6 +- .../assets/create/lang/unfinished/pl_pl.json | 6 +- .../assets/create/lang/unfinished/pt_br.json | 6 +- .../assets/create/lang/unfinished/pt_pt.json | 6 +- .../assets/create/lang/unfinished/ro_ro.json | 6 +- .../assets/create/lang/unfinished/ru_ru.json | 6 +- .../assets/create/lang/unfinished/sv_se.json | 6 +- .../assets/create/lang/unfinished/th_th.json | 4 +- .../assets/create/lang/unfinished/uk_ua.json | 6 +- .../assets/create/lang/unfinished/zh_cn.json | 6 +- .../assets/create/lang/unfinished/zh_tw.json | 6 +- ...Entities.java => AllBlockEntityTypes.java} | 624 +++++++++--------- src/main/java/com/simibubi/create/Create.java | 2 +- .../com/simibubi/create/CreateClient.java | 6 +- .../api/behaviour/BlockSpoutingBehaviour.java | 4 +- .../api/connectivity/ConnectivityHandler.java | 56 +- .../api/event/BlockEntityBehaviourEvent.java | 58 ++ .../api/event/TileEntityBehaviourEvent.java | 58 -- .../simibubi/create/compat/jei/CreateJEI.java | 10 +- .../compat/storageDrawers/StorageDrawers.java | 8 +- .../compat/tconstruct/SpoutCasting.java | 12 +- .../content/contraptions/KineticDebugger.java | 30 +- .../content/contraptions/KineticNetwork.java | 96 +-- .../contraptions/RotationPropagator.java | 128 ++-- .../contraptions/TorquePropagator.java | 10 +- .../base/BackHalfShaftInstance.java | 4 +- .../base/CutoutRotatingInstance.java | 4 +- ...java => GeneratingKineticBlockEntity.java} | 14 +- .../contraptions/base/HalfShaftInstance.java | 4 +- .../base/HorizontalHalfShaftInstance.java | 4 +- .../contraptions/base/KineticBlock.java | 38 +- ...ileEntity.java => KineticBlockEntity.java} | 56 +- ...e.java => KineticBlockEntityInstance.java} | 18 +- ...r.java => KineticBlockEntityRenderer.java} | 74 +-- .../base/KineticEffectHandler.java | 4 +- .../base/SingleRotatingInstance.java | 6 +- .../base/flwdata/KineticData.java | 8 +- .../actors/BellMovementBehaviour.java | 2 +- ...a => BlockBreakingKineticBlockEntity.java} | 8 +- .../BlockBreakingMovementBehaviour.java | 4 +- .../actors/CampfireMovementBehaviour.java | 4 +- .../components/actors/DrillBlock.java | 22 +- ...lTileEntity.java => DrillBlockEntity.java} | 4 +- .../components/actors/DrillInstance.java | 6 +- .../components/actors/DrillRenderer.java | 8 +- .../components/actors/HarvesterBlock.java | 14 +- ...eEntity.java => HarvesterBlockEntity.java} | 6 +- .../components/actors/HarvesterRenderer.java | 12 +- .../components/actors/PSIInstance.java | 6 +- ...=> PortableFluidInterfaceBlockEntity.java} | 4 +- ... => PortableItemInterfaceBlockEntity.java} | 4 +- .../actors/PortableStorageInterfaceBlock.java | 20 +- ... PortableStorageInterfaceBlockEntity.java} | 10 +- .../PortableStorageInterfaceMovement.java | 16 +- .../PortableStorageInterfaceRenderer.java | 20 +- .../actors/SawMovementBehaviour.java | 4 +- .../controls/ContraptionControlsBlock.java | 20 +- ...va => ContraptionControlsBlockEntity.java} | 14 +- .../controls/ContraptionControlsMovement.java | 32 +- .../ContraptionControlsMovingInteraction.java | 6 +- .../controls/ContraptionControlsRenderer.java | 16 +- .../dispenser/DispenserMovementBehaviour.java | 2 +- .../dispenser/DropperMovementBehaviour.java | 4 +- .../MovedProjectileDispenserBehaviour.java | 8 +- .../components/clock/CuckooClockBlock.java | 14 +- ...ntity.java => CuckooClockBlockEntity.java} | 10 +- .../components/clock/CuckooClockRenderer.java | 20 +- .../crafter/ConnectedInputHandler.java | 18 +- .../components/crafter/CrafterHelper.java | 10 +- .../crafter/MechanicalCrafterBlock.java | 34 +- ...java => MechanicalCrafterBlockEntity.java} | 58 +- .../crafter/MechanicalCrafterInstance.java | 6 +- .../crafter/MechanicalCrafterRenderer.java | 66 +- .../components/crafter/RecipeGridHandler.java | 46 +- .../components/crank/HandCrankBlock.java | 16 +- ...eEntity.java => HandCrankBlockEntity.java} | 6 +- .../components/crank/HandCrankInstance.java | 10 +- .../components/crank/HandCrankRenderer.java | 18 +- .../crusher/CrushingWheelBlock.java | 26 +- ...ity.java => CrushingWheelBlockEntity.java} | 12 +- .../crusher/CrushingWheelControllerBlock.java | 50 +- ...> CrushingWheelControllerBlockEntity.java} | 16 +- .../deployer/BeltDeployerCallbacks.java | 70 +- .../deployer/DeployerActorInstance.java | 6 +- .../components/deployer/DeployerBlock.java | 30 +- ...leEntity.java => DeployerBlockEntity.java} | 58 +- .../deployer/DeployerFilterSlot.java | 2 +- .../components/deployer/DeployerHandler.java | 12 +- .../components/deployer/DeployerInstance.java | 26 +- .../deployer/DeployerItemHandler.java | 44 +- .../deployer/DeployerMovementBehaviour.java | 24 +- .../deployer/DeployerMovingInteraction.java | 12 +- .../deployer/DeployerRecipeSearchEvent.java | 10 +- .../components/deployer/DeployerRenderer.java | 68 +- .../components/fan/AirCurrent.java | 12 +- .../components/fan/EncasedFanBlock.java | 20 +- ...Entity.java => EncasedFanBlockEntity.java} | 20 +- .../components/fan/EncasedFanRenderer.java | 28 +- .../components/fan/FanInstance.java | 10 +- .../components/fan/NozzleBlock.java | 20 +- ...TileEntity.java => NozzleBlockEntity.java} | 16 +- .../components/flywheel/FlyWheelInstance.java | 10 +- .../components/flywheel/FlywheelBlock.java | 14 +- ...leEntity.java => FlywheelBlockEntity.java} | 6 +- .../components/flywheel/FlywheelRenderer.java | 26 +- .../millstone/MillStoneCogInstance.java | 6 +- .../components/millstone/MillstoneBlock.java | 20 +- ...eEntity.java => MillstoneBlockEntity.java} | 12 +- .../millstone/MillstoneRenderer.java | 8 +- .../mixer/MechanicalMixerBlock.java | 14 +- ...y.java => MechanicalMixerBlockEntity.java} | 30 +- .../mixer/MechanicalMixerRenderer.java | 20 +- .../components/mixer/MixerInstance.java | 8 +- .../components/motor/CreativeMotorBlock.java | 14 +- ...ity.java => CreativeMotorBlockEntity.java} | 18 +- .../motor/CreativeMotorRenderer.java | 8 +- .../press/BeltPressingCallbacks.java | 12 +- .../press/MechanicalPressBlock.java | 14 +- ...y.java => MechanicalPressBlockEntity.java} | 16 +- .../press/MechanicalPressRenderer.java | 22 +- .../components/press/PressInstance.java | 12 +- .../components/press/PressingBehaviour.java | 28 +- .../contraptions/components/saw/SawBlock.java | 26 +- ...SawTileEntity.java => SawBlockEntity.java} | 16 +- .../components/saw/SawFilterSlot.java | 2 +- .../components/saw/SawInstance.java | 6 +- .../components/saw/SawRenderer.java | 76 +-- .../components/steam/PoweredShaftBlock.java | 8 +- ...tity.java => PoweredShaftBlockEntity.java} | 6 +- .../components/steam/SteamEngineBlock.java | 14 +- ...ntity.java => SteamEngineBlockEntity.java} | 66 +- .../components/steam/SteamEngineInstance.java | 10 +- .../components/steam/SteamEngineRenderer.java | 18 +- .../components/steam/SteamEngineValueBox.java | 2 +- .../steam/whistle/WhistleBlock.java | 18 +- ...ileEntity.java => WhistleBlockEntity.java} | 26 +- .../steam/whistle/WhistleRenderer.java | 14 +- .../BlockMovementChecks.java | 24 +- .../structureMovement/Contraption.java | 116 ++-- .../ControlledContraptionEntity.java | 6 +- .../DirectionalExtenderScrollOptionSlot.java | 2 +- .../IControlContraption.java | 2 +- .../MountedFluidStorage.java | 50 +- .../structureMovement/MountedStorage.java | 74 +-- .../MountedStorageManager.java | 34 +- .../structureMovement/MovementBehaviour.java | 2 +- .../structureMovement/MovementContext.java | 4 +- .../OrientedContraptionEntity.java | 2 +- .../structureMovement/StructureTransform.java | 6 +- .../bearing/BearingBlock.java | 6 +- .../bearing/BearingContraption.java | 4 +- .../bearing/BearingInstance.java | 10 +- .../bearing/BearingRenderer.java | 26 +- .../bearing/ClockworkBearingBlock.java | 24 +- ....java => ClockworkBearingBlockEntity.java} | 16 +- ...leEntity.java => IBearingBlockEntity.java} | 4 +- .../bearing/MechanicalBearingBlock.java | 22 +- ...java => MechanicalBearingBlockEntity.java} | 14 +- .../bearing/WindmillBearingBlock.java | 22 +- ...y.java => WindmillBearingBlockEntity.java} | 12 +- .../chassis/AbstractChassisBlock.java | 14 +- ...ileEntity.java => ChassisBlockEntity.java} | 28 +- .../chassis/ChassisRangeDisplay.java | 54 +- .../chassis/StickerBlock.java | 14 +- ...ileEntity.java => StickerBlockEntity.java} | 10 +- .../chassis/StickerInstance.java | 8 +- .../chassis/StickerRenderer.java | 16 +- .../elevator/ElevatorColumn.java | 10 +- .../elevator/ElevatorContactBlock.java | 34 +- ...y.java => ElevatorContactBlockEntity.java} | 10 +- .../elevator/ElevatorContactEditPacket.java | 8 +- .../elevator/ElevatorContraption.java | 2 +- .../elevator/ElevatorControlsHandler.java | 6 +- .../elevator/ElevatorPulleyBlock.java | 18 +- ...ty.java => ElevatorPulleyBlockEntity.java} | 16 +- .../elevator/ElevatorPulleyInstance.java | 6 +- .../elevator/ElevatorPulleyRenderer.java | 42 +- .../gantry/GantryCarriageBlock.java | 18 +- ...ty.java => GantryCarriageBlockEntity.java} | 26 +- .../gantry/GantryCarriageInstance.java | 14 +- .../gantry/GantryCarriageRenderer.java | 40 +- .../gantry/GantryContraptionEntity.java | 14 +- .../mounted/CartAssemblerBlock.java | 18 +- ...ity.java => CartAssemblerBlockEntity.java} | 18 +- .../mounted/MountedContraption.java | 2 +- ...ty.java => LinearActuatorBlockEntity.java} | 14 +- .../piston/MechanicalPistonBlock.java | 24 +- ....java => MechanicalPistonBlockEntity.java} | 6 +- .../piston/MechanicalPistonRenderer.java | 10 +- .../piston/PistonContraption.java | 4 +- .../piston/PistonExtensionPoleBlock.java | 10 +- .../pulley/AbstractPulleyInstance.java | 6 +- .../pulley/AbstractPulleyRenderer.java | 54 +- .../pulley/HosePulleyInstance.java | 8 +- .../structureMovement/pulley/PulleyBlock.java | 22 +- ...TileEntity.java => PulleyBlockEntity.java} | 22 +- .../pulley/PulleyRenderer.java | 32 +- .../pulley/RopePulleyInstance.java | 6 +- .../render/ContraptionRenderDispatcher.java | 10 +- .../render/FlwContraption.java | 32 +- .../train/TrainCargoManager.java | 4 +- .../components/turntable/TurntableBlock.java | 20 +- ...eEntity.java => TurntableBlockEntity.java} | 6 +- .../turntable/TurntableHandler.java | 6 +- .../waterwheel/WaterWheelBlock.java | 24 +- ...Entity.java => WaterWheelBlockEntity.java} | 10 +- .../contraptions/fluids/FlowSource.java | 12 +- .../contraptions/fluids/FluidNetwork.java | 8 +- .../contraptions/fluids/FluidPropagator.java | 18 +- .../fluids/FluidTransportBehaviour.java | 34 +- .../contraptions/fluids/OpenEndedPipe.java | 4 +- .../fluids/PipeAttachmentModel.java | 10 +- .../contraptions/fluids/PipeConnection.java | 8 +- .../contraptions/fluids/PumpBlock.java | 20 +- ...mpTileEntity.java => PumpBlockEntity.java} | 28 +- .../contraptions/fluids/PumpCogInstance.java | 6 +- .../contraptions/fluids/PumpRenderer.java | 18 +- .../fluids/actors/FluidDrainingBehaviour.java | 28 +- .../fluids/actors/FluidFillingBehaviour.java | 24 +- .../actors/FluidManipulationBehaviour.java | 12 +- .../fluids/actors/HosePulleyBlock.java | 14 +- ...Entity.java => HosePulleyBlockEntity.java} | 10 +- .../fluids/actors/HosePulleyRenderer.java | 20 +- .../fluids/actors/ItemDrainBlock.java | 38 +- ...eEntity.java => ItemDrainBlockEntity.java} | 18 +- .../fluids/actors/ItemDrainItemHandler.java | 24 +- .../fluids/actors/ItemDrainRenderer.java | 34 +- .../fluids/actors/SpoutBlock.java | 16 +- ...tTileEntity.java => SpoutBlockEntity.java} | 26 +- .../fluids/actors/SpoutRenderer.java | 16 +- .../fluids/particle/BasinFluidParticle.java | 8 +- .../fluids/pipes/AxisPipeBlock.java | 6 +- .../fluids/pipes/BracketBlockItem.java | 6 +- .../fluids/pipes/EncasedPipeBlock.java | 18 +- .../fluids/pipes/FluidPipeBlock.java | 32 +- ...eEntity.java => FluidPipeBlockEntity.java} | 22 +- .../fluids/pipes/FluidValveBlock.java | 14 +- ...Entity.java => FluidValveBlockEntity.java} | 18 +- .../fluids/pipes/FluidValveInstance.java | 18 +- .../fluids/pipes/FluidValveRenderer.java | 22 +- .../fluids/pipes/GlassFluidPipeBlock.java | 18 +- .../fluids/pipes/SmartFluidPipeBlock.java | 14 +- ...ty.java => SmartFluidPipeBlockEntity.java} | 20 +- ...tity.java => StraightPipeBlockEntity.java} | 18 +- .../TransparentStraightPipeRenderer.java | 12 +- .../contraptions/fluids/tank/BoilerData.java | 14 +- ...java => CreativeFluidTankBlockEntity.java} | 4 +- .../fluids/tank/FluidTankBlock.java | 78 +-- ...eEntity.java => FluidTankBlockEntity.java} | 58 +- .../fluids/tank/FluidTankItem.java | 20 +- .../fluids/tank/FluidTankModel.java | 4 +- .../fluids/tank/FluidTankRenderer.java | 40 +- .../goggles/GoggleOverlayRenderer.java | 16 +- .../goggles/IHaveGoggleInformation.java | 4 +- .../goggles/IHaveHoveringInformation.java | 2 +- .../particle/AirFlowParticle.java | 8 +- .../contraptions/processing/BasinBlock.java | 58 +- ...nTileEntity.java => BasinBlockEntity.java} | 76 +-- .../processing/BasinInventory.java | 10 +- .../processing/BasinMovementBehaviour.java | 12 +- ...ty.java => BasinOperatingBlockEntity.java} | 32 +- .../contraptions/processing/BasinRecipe.java | 14 +- .../processing/BasinRenderer.java | 14 +- .../processing/InWorldProcessing.java | 2 +- .../processing/burner/BlazeBurnerBlock.java | 40 +- ...ntity.java => BlazeBurnerBlockEntity.java} | 10 +- .../burner/BlazeBurnerBlockItem.java | 6 +- .../processing/burner/BlazeBurnerHandler.java | 10 +- .../burner/BlazeBurnerMovementBehaviour.java | 2 +- .../burner/BlazeBurnerRenderer.java | 26 +- .../relays/advanced/GantryShaftBlock.java | 28 +- ...ntity.java => GantryShaftBlockEntity.java} | 20 +- .../relays/advanced/SpeedControllerBlock.java | 16 +- ...y.java => SpeedControllerBlockEntity.java} | 26 +- .../advanced/SpeedControllerRenderer.java | 28 +- .../ConfigureSequencedGearshiftPacket.java | 12 +- .../advanced/sequencer/Instruction.java | 10 +- .../sequencer/SequencedGearshiftBlock.java | 22 +- ...ava => SequencedGearshiftBlockEntity.java} | 6 +- .../sequencer/SequencedGearshiftScreen.java | 6 +- .../contraptions/relays/belt/BeltBlock.java | 92 +-- ...ltTileEntity.java => BeltBlockEntity.java} | 72 +- .../contraptions/relays/belt/BeltHelper.java | 28 +- .../relays/belt/BeltInstance.java | 12 +- .../contraptions/relays/belt/BeltModel.java | 4 +- .../relays/belt/BeltRenderer.java | 60 +- .../contraptions/relays/belt/BeltSlicer.java | 102 +-- .../relays/belt/item/BeltConnectorItem.java | 16 +- .../BeltCrusherInteractionHandler.java | 10 +- .../BeltFunnelInteractionHandler.java | 22 +- .../relays/belt/transport/BeltInventory.java | 28 +- .../belt/transport/BeltMovementHandler.java | 22 +- .../BeltTunnelInteractionHandler.java | 44 +- .../relays/elementary/AbstractShaftBlock.java | 10 +- .../elementary/AbstractSimpleShaftBlock.java | 12 +- ...ava => BracketedBlockEntityBehaviour.java} | 32 +- ....java => BracketedKineticBlockEntity.java} | 12 +- ... BracketedKineticBlockEntityInstance.java} | 18 +- ... BracketedKineticBlockEntityRenderer.java} | 32 +- .../BracketedKineticBlockModel.java | 12 +- .../relays/elementary/CogWheelBlock.java | 4 +- .../relays/elementary/ShaftBlock.java | 6 +- ...ity.java => SimpleKineticBlockEntity.java} | 6 +- .../relays/encased/AdjustablePulleyBlock.java | 12 +- ....java => AdjustablePulleyBlockEntity.java} | 6 +- .../relays/encased/ClutchBlock.java | 6 +- ...TileEntity.java => ClutchBlockEntity.java} | 4 +- ...=> DirectionalShaftHalvesBlockEntity.java} | 8 +- .../relays/encased/EncasedBeltBlock.java | 26 +- .../relays/encased/EncasedCogInstance.java | 18 +- .../relays/encased/EncasedCogRenderer.java | 22 +- .../relays/encased/EncasedCogwheelBlock.java | 26 +- .../relays/encased/EncasedShaftBlock.java | 22 +- .../relays/encased/GearshiftBlock.java | 28 +- .../relays/encased/ShaftInstance.java | 6 +- .../relays/encased/ShaftRenderer.java | 10 +- ...Entity.java => SplitShaftBlockEntity.java} | 6 +- .../relays/encased/SplitShaftInstance.java | 12 +- .../relays/encased/SplitShaftRenderer.java | 30 +- .../contraptions/relays/gauge/GaugeBlock.java | 34 +- ...eTileEntity.java => GaugeBlockEntity.java} | 6 +- .../relays/gauge/GaugeInstance.java | 24 +- .../relays/gauge/GaugeObservedPacket.java | 8 +- .../relays/gauge/GaugeRenderer.java | 24 +- ...Entity.java => SpeedGaugeBlockEntity.java} | 4 +- ...ntity.java => StressGaugeBlockEntity.java} | 8 +- .../relays/gearbox/GearboxBlock.java | 14 +- ...ileEntity.java => GearboxBlockEntity.java} | 6 +- .../relays/gearbox/GearboxInstance.java | 10 +- .../relays/gearbox/GearboxRenderer.java | 28 +- ...eEntity.java => GearshiftBlockEntity.java} | 6 +- .../contraptions/wrench/IWrenchable.java | 12 +- .../wrench/WrenchItemRenderer.java | 2 +- .../curiosities/ChromaticCompoundItem.java | 14 +- .../curiosities/armor/BacktankBlock.java | 34 +- ...leEntity.java => BacktankBlockEntity.java} | 12 +- .../curiosities/armor/BacktankInstance.java | 6 +- .../curiosities/armor/BacktankRenderer.java | 16 +- .../curiosities/bell/AbstractBellBlock.java | 12 +- ...tity.java => AbstractBellBlockEntity.java} | 10 +- .../curiosities/bell/BellRenderer.java | 14 +- .../curiosities/bell/HauntedBellBlock.java | 16 +- ...ntity.java => HauntedBellBlockEntity.java} | 4 +- .../bell/HauntedBellMovementBehaviour.java | 6 +- .../curiosities/bell/PeculiarBellBlock.java | 12 +- ...tity.java => PeculiarBellBlockEntity.java} | 4 +- .../curiosities/deco/PlacardBlock.java | 26 +- ...ileEntity.java => PlacardBlockEntity.java} | 10 +- .../curiosities/deco/PlacardRenderer.java | 10 +- .../curiosities/deco/SlidingDoorBlock.java | 22 +- ...ntity.java => SlidingDoorBlockEntity.java} | 10 +- .../deco/SlidingDoorMovementBehaviour.java | 8 +- .../curiosities/deco/SlidingDoorRenderer.java | 12 +- .../curiosities/frames/CopycatBlock.java | 26 +- ...ileEntity.java => CopycatBlockEntity.java} | 12 +- .../curiosities/frames/CopycatModel.java | 10 +- .../girder/ConnectedGirderModel.java | 4 +- .../curiosities/girder/GirderBlock.java | 12 +- .../girder/GirderEncasedShaftBlock.java | 22 +- .../symmetry/SymmetryWandItem.java | 4 +- .../toolbox/RadialToolboxMenu.java | 14 +- .../curiosities/toolbox/ToolBoxInstance.java | 6 +- .../curiosities/toolbox/ToolboxBlock.java | 34 +- ...ileEntity.java => ToolboxBlockEntity.java} | 10 +- .../toolbox/ToolboxDisposeAllPacket.java | 4 +- .../toolbox/ToolboxEquipPacket.java | 10 +- .../curiosities/toolbox/ToolboxHandler.java | 28 +- .../toolbox/ToolboxHandlerClient.java | 16 +- .../curiosities/toolbox/ToolboxInventory.java | 18 +- .../curiosities/toolbox/ToolboxMenu.java | 24 +- .../curiosities/toolbox/ToolboxRenderer.java | 14 +- .../zapper/ZapperInteractionHandler.java | 6 +- .../curiosities/zapper/ZapperItem.java | 10 +- .../content/curiosities/zapper/ZapperLog.java | 4 +- .../zapper/terrainzapper/TerrainTools.java | 8 +- .../logistics/RedstoneLinkNetworkHandler.java | 2 +- .../block/belts/tunnel/BeltTunnelBlock.java | 30 +- ...Entity.java => BeltTunnelBlockEntity.java} | 10 +- .../belts/tunnel/BeltTunnelInstance.java | 10 +- .../block/belts/tunnel/BeltTunnelItem.java | 6 +- .../belts/tunnel/BeltTunnelRenderer.java | 16 +- .../block/belts/tunnel/BrassTunnelBlock.java | 16 +- ...ntity.java => BrassTunnelBlockEntity.java} | 132 ++-- .../belts/tunnel/BrassTunnelCTBehaviour.java | 8 +- .../belts/tunnel/BrassTunnelFilterSlot.java | 2 +- .../belts/tunnel/BrassTunnelItemHandler.java | 20 +- .../block/chute/AbstractChuteBlock.java | 30 +- .../logistics/block/chute/ChuteBlock.java | 6 +- ...eTileEntity.java => ChuteBlockEntity.java} | 86 +-- .../block/chute/ChuteItemHandler.java | 16 +- .../logistics/block/chute/ChuteRenderer.java | 20 +- .../block/chute/SmartChuteBlock.java | 6 +- ...Entity.java => SmartChuteBlockEntity.java} | 10 +- .../SmartChuteFilterSlotPositioning.java | 2 +- .../block/chute/SmartChuteRenderer.java | 14 +- .../logistics/block/depot/DepotBehaviour.java | 66 +- .../logistics/block/depot/DepotBlock.java | 16 +- ...tTileEntity.java => DepotBlockEntity.java} | 10 +- .../block/depot/DepotItemHandler.java | 32 +- .../logistics/block/depot/DepotRenderer.java | 14 +- .../block/depot/EjectorAwardPacket.java | 8 +- .../logistics/block/depot/EjectorBlock.java | 40 +- ...ileEntity.java => EjectorBlockEntity.java} | 18 +- .../block/depot/EjectorElytraPacket.java | 6 +- .../block/depot/EjectorInstance.java | 12 +- .../block/depot/EjectorPlacementPacket.java | 6 +- .../block/depot/EjectorRenderer.java | 44 +- .../block/depot/EjectorTargetHandler.java | 6 +- .../block/depot/EjectorTriggerPacket.java | 8 +- .../block/depot/SharedDepotBlockMethods.java | 10 +- .../block/diodes/BrassDiodeBlock.java | 16 +- ...Entity.java => BrassDiodeBlockEntity.java} | 16 +- .../block/diodes/BrassDiodeInstance.java | 10 +- .../block/diodes/BrassDiodeRenderer.java | 12 +- .../block/diodes/BrassDiodeScrollSlot.java | 2 +- ...ity.java => PulseExtenderBlockEntity.java} | 4 +- ...ity.java => PulseRepeaterBlockEntity.java} | 4 +- .../block/display/AllDisplayBehaviours.java | 60 +- .../block/display/DisplayLinkBlock.java | 32 +- ...ntity.java => DisplayLinkBlockEntity.java} | 10 +- .../DisplayLinkConfigurationPacket.java | 24 +- .../block/display/DisplayLinkContext.java | 20 +- .../block/display/DisplayLinkRenderer.java | 10 +- .../block/display/DisplayLinkScreen.java | 38 +- .../AccumulatedItemCountDisplaySource.java | 12 +- .../display/source/BoilerDisplaySource.java | 20 +- .../source/CurrentFloorDisplaySource.java | 4 +- .../block/display/source/DisplaySource.java | 6 +- .../source/EnchantPowerDisplaySource.java | 2 +- .../source/FillLevelDisplaySource.java | 6 +- .../source/FluidAmountDisplaySource.java | 14 +- .../source/FluidListDisplaySource.java | 18 +- .../source/ItemCountDisplaySource.java | 14 +- .../display/source/ItemListDisplaySource.java | 14 +- .../display/source/ItemNameDisplaySource.java | 12 +- .../source/ItemThroughputDisplaySource.java | 14 +- .../source/KineticSpeedDisplaySource.java | 6 +- .../source/KineticStressDisplaySource.java | 12 +- .../source/NixieTubeDisplaySource.java | 10 +- .../source/ObservedTrainNameSource.java | 4 +- .../PercentOrProgressBarDisplaySource.java | 6 +- .../source/ScoreboardDisplaySource.java | 2 +- .../source/SingleLineDisplaySource.java | 4 +- .../source/StatTrackingDisplaySource.java | 2 +- .../source/StationSummaryDisplaySource.java | 10 +- .../source/StopWatchDisplaySource.java | 8 +- .../source/TimeOfDayDisplaySource.java | 4 +- .../source/TrainStatusDisplaySource.java | 4 +- .../source/ValueListDisplaySource.java | 6 +- .../display/target/DisplayBoardTarget.java | 24 +- .../block/display/target/DisplayTarget.java | 4 +- .../display/target/LecternDisplayTarget.java | 4 +- .../target/NixieTubeDisplayTarget.java | 4 +- .../display/target/SignDisplayTarget.java | 4 +- .../block/funnel/AbstractFunnelBlock.java | 40 +- .../block/funnel/BeltFunnelBlock.java | 10 +- .../logistics/block/funnel/FunnelBlock.java | 2 +- ...TileEntity.java => FunnelBlockEntity.java} | 24 +- .../funnel/FunnelFilterSlotPositioning.java | 2 +- .../block/funnel/FunnelInstance.java | 14 +- .../block/funnel/FunnelMovementBehaviour.java | 6 +- .../block/funnel/FunnelRenderer.java | 16 +- .../block/inventories/CrateBlockEntity.java | 21 + .../block/inventories/CrateTileEntity.java | 21 - .../block/inventories/CreativeCrateBlock.java | 14 +- ...ity.java => CreativeCrateBlockEntity.java} | 12 +- .../AllArmInteractionPointTypes.java | 48 +- .../block/mechanicalArm/ArmBlock.java | 34 +- ...ArmTileEntity.java => ArmBlockEntity.java} | 16 +- .../block/mechanicalArm/ArmInstance.java | 10 +- .../mechanicalArm/ArmInteractionPoint.java | 6 +- .../ArmInteractionPointHandler.java | 8 +- .../mechanicalArm/ArmPlacementPacket.java | 6 +- .../block/mechanicalArm/ArmRenderer.java | 28 +- .../block/redstone/AnalogLeverBlock.java | 30 +- ...ntity.java => AnalogLeverBlockEntity.java} | 10 +- .../block/redstone/AnalogLeverInstance.java | 6 +- .../block/redstone/AnalogLeverRenderer.java | 12 +- .../block/redstone/ContentObserverBlock.java | 46 +- ...y.java => ContentObserverBlockEntity.java} | 26 +- .../redstone/FilteredDetectorFilterSlot.java | 2 +- .../block/redstone/NixieTubeBlock.java | 26 +- ...eEntity.java => NixieTubeBlockEntity.java} | 24 +- .../block/redstone/NixieTubeRenderer.java | 30 +- .../block/redstone/RedstoneLinkBlock.java | 22 +- ...tity.java => RedstoneLinkBlockEntity.java} | 16 +- .../redstone/RedstoneLinkFrequencySlot.java | 2 +- .../block/redstone/StockpileSwitchBlock.java | 32 +- ...y.java => StockpileSwitchBlockEntity.java} | 24 +- .../block/redstone/StockpileSwitchScreen.java | 32 +- .../logistics/block/vault/ItemVaultBlock.java | 34 +- ...eEntity.java => ItemVaultBlockEntity.java} | 50 +- .../logistics/block/vault/ItemVaultItem.java | 16 +- .../item/LecternControllerBlock.java | 26 +- ...java => LecternControllerBlockEntity.java} | 10 +- .../item/LecternControllerRenderer.java | 14 +- .../item/LinkedControllerBindPacket.java | 8 +- .../item/LinkedControllerClientHandler.java | 10 +- .../item/LinkedControllerInputPacket.java | 2 +- .../logistics/item/LinkedControllerItem.java | 4 +- .../item/LinkedControllerPacketBase.java | 8 +- .../item/LinkedControllerServerHandler.java | 2 +- .../LinkedControllerStopLecternPacket.java | 2 +- .../packet/ConfigureStockswitchPacket.java | 14 +- .../logistics/packet/FunnelFlapPacket.java | 14 +- .../logistics/packet/TunnelFlapPacket.java | 14 +- ...rer.java => BogeyBlockEntityRenderer.java} | 14 +- .../logistics/trains/TrackGraphHelper.java | 4 +- .../trains/entity/CarriageContraption.java | 12 +- .../logistics/trains/entity/Train.java | 6 +- .../trains/entity/TrainRelocator.java | 2 +- .../management/display/FlapDisplayBlock.java | 44 +- ...ntity.java => FlapDisplayBlockEntity.java} | 14 +- .../display/FlapDisplayRenderer.java | 24 +- .../edgePoint/CurvedTrackSelectionPacket.java | 10 +- .../edgePoint/TrackTargetingBehaviour.java | 38 +- .../edgePoint/TrackTargetingBlockItem.java | 6 +- .../edgePoint/TrackTargetingClient.java | 2 +- .../edgePoint/observer/TrackObserver.java | 16 +- .../observer/TrackObserverBlock.java | 16 +- ...ity.java => TrackObserverBlockEntity.java} | 14 +- .../observer/TrackObserverRenderer.java | 14 +- .../edgePoint/signal/SignalBlock.java | 20 +- ...TileEntity.java => SignalBlockEntity.java} | 12 +- .../edgePoint/signal/SignalBoundary.java | 34 +- .../edgePoint/signal/SignalRenderer.java | 24 +- ...t.java => SingleBlockEntityEdgePoint.java} | 32 +- .../edgePoint/signal/TrackEdgePoint.java | 10 +- .../station/AbstractStationScreen.java | 18 +- .../edgePoint/station/AssemblyScreen.java | 30 +- .../edgePoint/station/GlobalStation.java | 18 +- .../edgePoint/station/StationBlock.java | 32 +- ...ileEntity.java => StationBlockEntity.java} | 10 +- .../edgePoint/station/StationEditPacket.java | 64 +- .../edgePoint/station/StationMapData.java | 2 +- .../edgePoint/station/StationMarker.java | 8 +- .../edgePoint/station/StationRenderer.java | 56 +- .../edgePoint/station/StationScreen.java | 36 +- .../management/schedule/ScheduleScreen.java | 4 +- .../condition/StationPoweredCondition.java | 4 +- .../condition/StationUnloadedCondition.java | 4 +- .../track/CurvedTrackDestroyPacket.java | 20 +- .../trains/track/CurvedTrackInteraction.java | 4 +- .../trains/track/FakeTrackBlock.java | 12 +- ...eEntity.java => FakeTrackBlockEntity.java} | 6 +- .../trains/track/StandardBogeyBlock.java | 16 +- ...ity.java => StandardBogeyBlockEntity.java} | 6 +- .../logistics/trains/track/TrackBlock.java | 86 +-- ...kTileEntity.java => TrackBlockEntity.java} | 46 +- .../trains/track/TrackBlockOutline.java | 12 +- .../logistics/trains/track/TrackInstance.java | 4 +- .../trains/track/TrackPlacement.java | 16 +- .../logistics/trains/track/TrackRenderer.java | 12 +- .../ISpecialBlockItemRequirement.java | 2 +- .../content/schematics/ItemRequirement.java | 12 +- .../content/schematics/SchematicPrinter.java | 32 +- .../schematics/SchematicProcessor.java | 6 +- .../content/schematics/SchematicWorld.java | 50 +- .../schematics/ServerSchematicLoader.java | 20 +- .../schematics/block/SchematicTableBlock.java | 20 +- ...ty.java => SchematicTableBlockEntity.java} | 12 +- .../schematics/block/SchematicTableMenu.java | 20 +- .../schematics/block/SchematicannonBlock.java | 24 +- ...ty.java => SchematicannonBlockEntity.java} | 60 +- .../block/SchematicannonInstance.java | 6 +- .../block/SchematicannonInventory.java | 11 +- .../schematics/block/SchematicannonMenu.java | 20 +- .../block/SchematicannonRenderer.java | 52 +- .../block/SchematicannonScreen.java | 68 +- .../schematics/client/SchematicHandler.java | 8 +- .../schematics/client/SchematicRenderer.java | 8 +- .../packet/ConfigureSchematicannonPacket.java | 30 +- .../packet/SchematicPlacePacket.java | 6 +- .../simibubi/create/events/ClientEvents.java | 10 +- .../simibubi/create/events/InputEvents.java | 4 +- .../advancement/AdvancementBehaviour.java | 20 +- .../foundation/block/{ITE.java => IBE.java} | 44 +- .../connected/BakedModelWrapperWithData.java | 8 +- .../foundation/block/connected/CTModel.java | 2 +- .../BlockEntityBehaviour.java} | 34 +- .../CachedRenderBBBlockEntity.java} | 6 +- .../ComparatorUtil.java | 6 +- .../IMergeableBE.java} | 4 +- .../IMultiBlockEntityContainer.java} | 10 +- .../blockEntity/RemoveBlockEntityPacket.java | 32 + .../SmartBlockEntity.java} | 52 +- .../SmartBlockEntityTicker.java} | 6 +- .../SyncedBlockEntity.java} | 6 +- .../behaviour/BehaviourType.java | 6 +- .../CenteredSideValueBoxTransform.java | 2 +- .../behaviour/ValueBox.java | 6 +- .../behaviour/ValueBoxRenderer.java | 2 +- .../behaviour/ValueBoxTransform.java | 2 +- .../belt/BeltProcessingBehaviour.java | 16 +- .../belt/DirectBeltInputBehaviour.java | 28 +- .../TransportedItemStackHandlerBehaviour.java | 16 +- .../EdgeInteractionBehaviour.java | 14 +- .../EdgeInteractionHandler.java | 6 +- .../EdgeInteractionRenderer.java | 8 +- .../filtering/FilteringBehaviour.java | 28 +- .../filtering/FilteringCountUpdatePacket.java | 16 +- .../behaviour/filtering/FilteringHandler.java | 12 +- .../filtering/FilteringRenderer.java | 32 +- .../filtering/SidedFilteringBehaviour.java | 18 +- .../fluid/SmartFluidTankBehaviour.java | 30 +- .../CapManipulationBehaviourBase.java | 26 +- .../inventory/InvManipulationBehaviour.java | 26 +- .../inventory/TankManipulationBehaviour.java | 18 +- .../behaviour/linked/LinkBehaviour.java | 40 +- .../behaviour/linked/LinkHandler.java | 6 +- .../behaviour/linked/LinkRenderer.java | 26 +- .../scrollvalue/BulkScrollValueBehaviour.java | 25 + .../scrollvalue/INamedIconOptions.java | 2 +- .../scrollvalue/ScrollOptionBehaviour.java | 10 +- .../scrollvalue/ScrollValueBehaviour.java | 24 +- .../scrollvalue/ScrollValueHandler.java | 16 +- .../scrollvalue/ScrollValueRenderer.java | 20 +- .../scrollvalue/ScrollValueUpdatePacket.java | 12 +- .../behaviour/simple/DeferralBehaviour.java | 14 +- .../ColoredOverlayBlockEntityRenderer.java} | 16 +- .../renderer/SafeBlockEntityRenderer.java} | 16 +- .../renderer/SmartBlockEntityRenderer.java | 23 + .../foundation/command/CloneCommand.java | 28 +- .../foundation/command/HighlightCommand.java | 6 +- .../ReplaceInCommandBlocksCommand.java | 6 +- .../create/foundation/config/CKinetics.java | 2 +- .../config/ui/BaseConfigScreen.java | 18 +- ...der.java => CreateBlockEntityBuilder.java} | 12 +- .../foundation/data/CreateRegistrate.java | 12 +- .../create/foundation/fluid/FluidHelper.java | 18 +- .../create/foundation/gui/AllIcons.java | 2 +- .../foundation/gui/widget/ScrollInput.java | 2 +- .../foundation/item/CountedItemStackList.java | 2 +- .../foundation/item/SmartInventory.java | 18 +- .../mixin/MapItemSavedDataMixin.java | 4 +- .../mixin/ModelDataRefreshMixin.java | 10 +- .../foundation/networking/AllPackets.java | 8 +- ...va => BlockEntityConfigurationPacket.java} | 24 +- ...Packet.java => BlockEntityDataPacket.java} | 28 +- .../create/foundation/ponder/PonderWorld.java | 80 +-- .../foundation/ponder/SceneBuilder.java | 132 ++-- .../foundation/ponder/content/ArmScenes.java | 12 +- .../ponder/content/BearingScenes.java | 6 +- .../foundation/ponder/content/BeltScenes.java | 28 +- .../ponder/content/ChainDriveScenes.java | 4 +- .../ponder/content/ChuteScenes.java | 4 +- .../ponder/content/CrafterScenes.java | 54 +- .../ponder/content/DeployerScenes.java | 22 +- .../ponder/content/EjectorScenes.java | 16 +- .../foundation/ponder/content/FanScenes.java | 4 +- .../ponder/content/FunnelScenes.java | 4 +- .../ponder/content/KineticsScenes.java | 18 +- .../ponder/content/MechanicalSawScenes.java | 6 +- .../ponder/content/MovementActorScenes.java | 26 +- .../ponder/content/ProcessingScenes.java | 68 +- .../ponder/content/RedstoneScenes.java | 50 +- .../ponder/content/RedstoneScenes2.java | 8 +- .../ponder/content/TunnelScenes.java | 78 +-- .../ponder/content/fluid/DrainScenes.java | 18 +- .../fluid/FluidMovementActorScenes.java | 32 +- .../ponder/content/fluid/FluidTankScenes.java | 30 +- .../content/fluid/HosePulleyScenes.java | 8 +- .../ponder/content/fluid/PipeScenes.java | 40 +- .../ponder/content/fluid/PumpScenes.java | 4 +- .../ponder/content/fluid/SpoutScenes.java | 8 +- .../content/trains/TrackObserverScenes.java | 4 +- .../content/trains/TrainSignalScenes.java | 2 +- .../ponder/element/ParrotElement.java | 8 +- .../ponder/element/WorldSectionElement.java | 60 +- ...ava => AnimateBlockEntityInstruction.java} | 50 +- ...n.java => BlockEntityDataInstruction.java} | 18 +- ...lper.java => BlockEntityRenderHelper.java} | 40 +- .../foundation/render/CachedBufferer.java | 4 +- .../tileEntity/RemoveTileEntityPacket.java | 32 - .../scrollvalue/BulkScrollValueBehaviour.java | 25 - .../renderer/SmartTileEntityRenderer.java | 23 - .../foundation/utility/BlockHelper.java | 24 +- .../foundation/utility/NBTProcessors.java | 8 +- .../foundation/utility/RemapHelper.java | 4 +- .../foundation/utility/outliner/Outliner.java | 2 +- .../utility/recipe/RecipeConditions.java | 2 +- .../assets/create/lang/default/interface.json | 4 +- 696 files changed, 6630 insertions(+), 6631 deletions(-) rename src/main/java/com/simibubi/create/{AllTileEntities.java => AllBlockEntityTypes.java} (58%) create mode 100644 src/main/java/com/simibubi/create/api/event/BlockEntityBehaviourEvent.java delete mode 100644 src/main/java/com/simibubi/create/api/event/TileEntityBehaviourEvent.java rename src/main/java/com/simibubi/create/content/contraptions/base/{GeneratingKineticTileEntity.java => GeneratingKineticBlockEntity.java} (90%) rename src/main/java/com/simibubi/create/content/contraptions/base/{KineticTileEntity.java => KineticBlockEntity.java} (89%) rename src/main/java/com/simibubi/create/content/contraptions/base/{KineticTileInstance.java => KineticBlockEntityInstance.java} (80%) rename src/main/java/com/simibubi/create/content/contraptions/base/{KineticTileEntityRenderer.java => KineticBlockEntityRenderer.java} (55%) rename src/main/java/com/simibubi/create/content/contraptions/components/actors/{BlockBreakingKineticTileEntity.java => BlockBreakingKineticBlockEntity.java} (94%) rename src/main/java/com/simibubi/create/content/contraptions/components/actors/{DrillTileEntity.java => DrillBlockEntity.java} (71%) rename src/main/java/com/simibubi/create/content/contraptions/components/actors/{HarvesterTileEntity.java => HarvesterBlockEntity.java} (72%) rename src/main/java/com/simibubi/create/content/contraptions/components/actors/{PortableFluidInterfaceTileEntity.java => PortableFluidInterfaceBlockEntity.java} (94%) rename src/main/java/com/simibubi/create/content/contraptions/components/actors/{PortableItemInterfaceTileEntity.java => PortableItemInterfaceBlockEntity.java} (92%) rename src/main/java/com/simibubi/create/content/contraptions/components/actors/{PortableStorageInterfaceTileEntity.java => PortableStorageInterfaceBlockEntity.java} (93%) rename src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/{ContraptionControlsTileEntity.java => ContraptionControlsBlockEntity.java} (88%) rename src/main/java/com/simibubi/create/content/contraptions/components/clock/{CuckooClockTileEntity.java => CuckooClockBlockEntity.java} (94%) rename src/main/java/com/simibubi/create/content/contraptions/components/crafter/{MechanicalCrafterTileEntity.java => MechanicalCrafterBlockEntity.java} (88%) rename src/main/java/com/simibubi/create/content/contraptions/components/crank/{HandCrankTileEntity.java => HandCrankBlockEntity.java} (93%) rename src/main/java/com/simibubi/create/content/contraptions/components/crusher/{CrushingWheelTileEntity.java => CrushingWheelBlockEntity.java} (83%) rename src/main/java/com/simibubi/create/content/contraptions/components/crusher/{CrushingWheelControllerTileEntity.java => CrushingWheelControllerBlockEntity.java} (95%) rename src/main/java/com/simibubi/create/content/contraptions/components/deployer/{DeployerTileEntity.java => DeployerBlockEntity.java} (90%) rename src/main/java/com/simibubi/create/content/contraptions/components/fan/{EncasedFanTileEntity.java => EncasedFanBlockEntity.java} (83%) rename src/main/java/com/simibubi/create/content/contraptions/components/fan/{NozzleTileEntity.java => NozzleBlockEntity.java} (91%) rename src/main/java/com/simibubi/create/content/contraptions/components/flywheel/{FlywheelTileEntity.java => FlywheelBlockEntity.java} (84%) rename src/main/java/com/simibubi/create/content/contraptions/components/millstone/{MillstoneTileEntity.java => MillstoneBlockEntity.java} (93%) rename src/main/java/com/simibubi/create/content/contraptions/components/mixer/{MechanicalMixerTileEntity.java => MechanicalMixerBlockEntity.java} (90%) rename src/main/java/com/simibubi/create/content/contraptions/components/motor/{CreativeMotorTileEntity.java => CreativeMotorBlockEntity.java} (75%) rename src/main/java/com/simibubi/create/content/contraptions/components/press/{MechanicalPressTileEntity.java => MechanicalPressBlockEntity.java} (94%) rename src/main/java/com/simibubi/create/content/contraptions/components/saw/{SawTileEntity.java => SawBlockEntity.java} (96%) rename src/main/java/com/simibubi/create/content/contraptions/components/steam/{PoweredShaftTileEntity.java => PoweredShaftBlockEntity.java} (95%) rename src/main/java/com/simibubi/create/content/contraptions/components/steam/{SteamEngineTileEntity.java => SteamEngineBlockEntity.java} (80%) rename src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/{WhistleTileEntity.java => WhistleBlockEntity.java} (89%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/{ClockworkBearingTileEntity.java => ClockworkBearingBlockEntity.java} (95%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/{IBearingTileEntity.java => IBearingBlockEntity.java} (83%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/{MechanicalBearingTileEntity.java => MechanicalBearingBlockEntity.java} (94%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/{WindmillBearingTileEntity.java => WindmillBearingBlockEntity.java} (88%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/{ChassisTileEntity.java => ChassisBlockEntity.java} (87%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/{StickerTileEntity.java => StickerBlockEntity.java} (89%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/{ElevatorContactTileEntity.java => ElevatorContactBlockEntity.java} (91%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/{ElevatorPulleyTileEntity.java => ElevatorPulleyBlockEntity.java} (94%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/{GantryCarriageTileEntity.java => GantryCarriageBlockEntity.java} (85%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/{CartAssemblerTileEntity.java => CartAssemblerBlockEntity.java} (93%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/{LinearActuatorTileEntity.java => LinearActuatorBlockEntity.java} (94%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/{MechanicalPistonTileEntity.java => MechanicalPistonBlockEntity.java} (96%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/{PulleyTileEntity.java => PulleyBlockEntity.java} (93%) rename src/main/java/com/simibubi/create/content/contraptions/components/turntable/{TurntableTileEntity.java => TurntableBlockEntity.java} (54%) rename src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/{WaterWheelTileEntity.java => WaterWheelBlockEntity.java} (87%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/{PumpTileEntity.java => PumpBlockEntity.java} (92%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/actors/{HosePulleyTileEntity.java => HosePulleyBlockEntity.java} (93%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/actors/{ItemDrainTileEntity.java => ItemDrainBlockEntity.java} (92%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/actors/{SpoutTileEntity.java => SpoutBlockEntity.java} (87%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/{FluidPipeTileEntity.java => FluidPipeBlockEntity.java} (77%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/{FluidValveTileEntity.java => FluidValveBlockEntity.java} (83%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/{SmartFluidPipeTileEntity.java => SmartFluidPipeBlockEntity.java} (81%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/{StraightPipeTileEntity.java => StraightPipeBlockEntity.java} (78%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/tank/{CreativeFluidTankTileEntity.java => CreativeFluidTankBlockEntity.java} (90%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/tank/{FluidTankTileEntity.java => FluidTankBlockEntity.java} (90%) rename src/main/java/com/simibubi/create/content/contraptions/processing/{BasinTileEntity.java => BasinBlockEntity.java} (90%) rename src/main/java/com/simibubi/create/content/contraptions/processing/{BasinOperatingTileEntity.java => BasinOperatingBlockEntity.java} (76%) rename src/main/java/com/simibubi/create/content/contraptions/processing/burner/{BlazeBurnerTileEntity.java => BlazeBurnerBlockEntity.java} (96%) rename src/main/java/com/simibubi/create/content/contraptions/relays/advanced/{GantryShaftTileEntity.java => GantryShaftBlockEntity.java} (79%) rename src/main/java/com/simibubi/create/content/contraptions/relays/advanced/{SpeedControllerTileEntity.java => SpeedControllerBlockEntity.java} (80%) rename src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/{SequencedGearshiftTileEntity.java => SequencedGearshiftBlockEntity.java} (96%) rename src/main/java/com/simibubi/create/content/contraptions/relays/belt/{BeltTileEntity.java => BeltBlockEntity.java} (89%) rename src/main/java/com/simibubi/create/content/contraptions/relays/elementary/{BracketedTileEntityBehaviour.java => BracketedBlockEntityBehaviour.java} (74%) rename src/main/java/com/simibubi/create/content/contraptions/relays/elementary/{BracketedKineticTileEntity.java => BracketedKineticBlockEntity.java} (55%) rename src/main/java/com/simibubi/create/content/contraptions/relays/elementary/{BracketedKineticTileInstance.java => BracketedKineticBlockEntityInstance.java} (77%) rename src/main/java/com/simibubi/create/content/contraptions/relays/elementary/{BracketedKineticTileRenderer.java => BracketedKineticBlockEntityRenderer.java} (64%) rename src/main/java/com/simibubi/create/content/contraptions/relays/elementary/{SimpleKineticTileEntity.java => SimpleKineticBlockEntity.java} (81%) rename src/main/java/com/simibubi/create/content/contraptions/relays/encased/{AdjustablePulleyTileEntity.java => AdjustablePulleyBlockEntity.java} (86%) rename src/main/java/com/simibubi/create/content/contraptions/relays/encased/{ClutchTileEntity.java => ClutchBlockEntity.java} (79%) rename src/main/java/com/simibubi/create/content/contraptions/relays/encased/{DirectionalShaftHalvesTileEntity.java => DirectionalShaftHalvesBlockEntity.java} (62%) rename src/main/java/com/simibubi/create/content/contraptions/relays/encased/{SplitShaftTileEntity.java => SplitShaftBlockEntity.java} (61%) rename src/main/java/com/simibubi/create/content/contraptions/relays/gauge/{GaugeTileEntity.java => GaugeBlockEntity.java} (85%) rename src/main/java/com/simibubi/create/content/contraptions/relays/gauge/{SpeedGaugeTileEntity.java => SpeedGaugeBlockEntity.java} (92%) rename src/main/java/com/simibubi/create/content/contraptions/relays/gauge/{StressGaugeTileEntity.java => StressGaugeBlockEntity.java} (92%) rename src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/{GearboxTileEntity.java => GearboxBlockEntity.java} (66%) rename src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/{GearshiftTileEntity.java => GearshiftBlockEntity.java} (78%) rename src/main/java/com/simibubi/create/content/curiosities/armor/{BacktankTileEntity.java => BacktankBlockEntity.java} (92%) rename src/main/java/com/simibubi/create/content/curiosities/bell/{AbstractBellTileEntity.java => AbstractBellBlockEntity.java} (81%) rename src/main/java/com/simibubi/create/content/curiosities/bell/{HauntedBellTileEntity.java => HauntedBellBlockEntity.java} (94%) rename src/main/java/com/simibubi/create/content/curiosities/bell/{PeculiarBellTileEntity.java => PeculiarBellBlockEntity.java} (77%) rename src/main/java/com/simibubi/create/content/curiosities/deco/{PlacardTileEntity.java => PlacardBlockEntity.java} (87%) rename src/main/java/com/simibubi/create/content/curiosities/deco/{SlidingDoorTileEntity.java => SlidingDoorBlockEntity.java} (85%) rename src/main/java/com/simibubi/create/content/curiosities/frames/{CopycatTileEntity.java => CopycatBlockEntity.java} (90%) rename src/main/java/com/simibubi/create/content/curiosities/toolbox/{ToolboxTileEntity.java => ToolboxBlockEntity.java} (96%) rename src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/{BeltTunnelTileEntity.java => BeltTunnelBlockEntity.java} (94%) rename src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/{BrassTunnelTileEntity.java => BrassTunnelBlockEntity.java} (83%) rename src/main/java/com/simibubi/create/content/logistics/block/chute/{ChuteTileEntity.java => ChuteBlockEntity.java} (89%) rename src/main/java/com/simibubi/create/content/logistics/block/chute/{SmartChuteTileEntity.java => SmartChuteBlockEntity.java} (83%) rename src/main/java/com/simibubi/create/content/logistics/block/depot/{DepotTileEntity.java => DepotBlockEntity.java} (71%) rename src/main/java/com/simibubi/create/content/logistics/block/depot/{EjectorTileEntity.java => EjectorBlockEntity.java} (96%) rename src/main/java/com/simibubi/create/content/logistics/block/diodes/{BrassDiodeTileEntity.java => BrassDiodeBlockEntity.java} (80%) rename src/main/java/com/simibubi/create/content/logistics/block/diodes/{PulseExtenderTileEntity.java => PulseExtenderBlockEntity.java} (84%) rename src/main/java/com/simibubi/create/content/logistics/block/diodes/{PulseRepeaterTileEntity.java => PulseRepeaterBlockEntity.java} (84%) rename src/main/java/com/simibubi/create/content/logistics/block/display/{DisplayLinkTileEntity.java => DisplayLinkBlockEntity.java} (93%) rename src/main/java/com/simibubi/create/content/logistics/block/funnel/{FunnelTileEntity.java => FunnelBlockEntity.java} (91%) create mode 100644 src/main/java/com/simibubi/create/content/logistics/block/inventories/CrateBlockEntity.java delete mode 100644 src/main/java/com/simibubi/create/content/logistics/block/inventories/CrateTileEntity.java rename src/main/java/com/simibubi/create/content/logistics/block/inventories/{CreativeCrateTileEntity.java => CreativeCrateBlockEntity.java} (78%) rename src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/{ArmTileEntity.java => ArmBlockEntity.java} (96%) rename src/main/java/com/simibubi/create/content/logistics/block/redstone/{AnalogLeverTileEntity.java => AnalogLeverBlockEntity.java} (83%) rename src/main/java/com/simibubi/create/content/logistics/block/redstone/{ContentObserverTileEntity.java => ContentObserverBlockEntity.java} (74%) rename src/main/java/com/simibubi/create/content/logistics/block/redstone/{NixieTubeTileEntity.java => NixieTubeBlockEntity.java} (85%) rename src/main/java/com/simibubi/create/content/logistics/block/redstone/{RedstoneLinkTileEntity.java => RedstoneLinkBlockEntity.java} (84%) rename src/main/java/com/simibubi/create/content/logistics/block/redstone/{StockpileSwitchTileEntity.java => StockpileSwitchBlockEntity.java} (86%) rename src/main/java/com/simibubi/create/content/logistics/block/vault/{ItemVaultTileEntity.java => ItemVaultBlockEntity.java} (83%) rename src/main/java/com/simibubi/create/content/logistics/item/{LecternControllerTileEntity.java => LecternControllerBlockEntity.java} (93%) rename src/main/java/com/simibubi/create/content/logistics/trains/{BogeyTileEntityRenderer.java => BogeyBlockEntityRenderer.java} (60%) rename src/main/java/com/simibubi/create/content/logistics/trains/management/display/{FlapDisplayTileEntity.java => FlapDisplayBlockEntity.java} (94%) rename src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/{TrackObserverTileEntity.java => TrackObserverBlockEntity.java} (84%) rename src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/{SignalTileEntity.java => SignalBlockEntity.java} (91%) rename src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/{SingleTileEdgePoint.java => SingleBlockEntityEdgePoint.java} (50%) rename src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/{StationTileEntity.java => StationBlockEntity.java} (98%) rename src/main/java/com/simibubi/create/content/logistics/trains/track/{FakeTrackTileEntity.java => FakeTrackBlockEntity.java} (67%) rename src/main/java/com/simibubi/create/content/logistics/trains/track/{StandardBogeyTileEntity.java => StandardBogeyBlockEntity.java} (81%) rename src/main/java/com/simibubi/create/content/logistics/trains/track/{TrackTileEntity.java => TrackBlockEntity.java} (89%) rename src/main/java/com/simibubi/create/content/schematics/block/{SchematicTableTileEntity.java => SchematicTableBlockEntity.java} (88%) rename src/main/java/com/simibubi/create/content/schematics/block/{SchematicannonTileEntity.java => SchematicannonBlockEntity.java} (93%) rename src/main/java/com/simibubi/create/foundation/block/{ITE.java => IBE.java} (52%) rename src/main/java/com/simibubi/create/foundation/{tileEntity/TileEntityBehaviour.java => blockEntity/BlockEntityBehaviour.java} (68%) rename src/main/java/com/simibubi/create/foundation/{tileEntity/CachedRenderBBTileEntity.java => blockEntity/CachedRenderBBBlockEntity.java} (76%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/ComparatorUtil.java (73%) rename src/main/java/com/simibubi/create/foundation/{tileEntity/IMergeableTE.java => blockEntity/IMergeableBE.java} (55%) rename src/main/java/com/simibubi/create/foundation/{tileEntity/IMultiTileContainer.java => blockEntity/IMultiBlockEntityContainer.java} (88%) create mode 100644 src/main/java/com/simibubi/create/foundation/blockEntity/RemoveBlockEntityPacket.java rename src/main/java/com/simibubi/create/foundation/{tileEntity/SmartTileEntity.java => blockEntity/SmartBlockEntity.java} (74%) rename src/main/java/com/simibubi/create/foundation/{tileEntity/SmartTileEntityTicker.java => blockEntity/SmartBlockEntityTicker.java} (69%) rename src/main/java/com/simibubi/create/foundation/{tileEntity/SyncedTileEntity.java => blockEntity/SyncedBlockEntity.java} (90%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/BehaviourType.java (60%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/CenteredSideValueBoxTransform.java (92%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/ValueBox.java (96%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/ValueBoxRenderer.java (98%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/ValueBoxTransform.java (98%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/belt/BeltProcessingBehaviour.java (79%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/belt/DirectBeltInputBehaviour.java (81%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/belt/TransportedItemStackHandlerBehaviour.java (87%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/edgeInteraction/EdgeInteractionBehaviour.java (71%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/edgeInteraction/EdgeInteractionHandler.java (93%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/edgeInteraction/EdgeInteractionRenderer.java (89%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/filtering/FilteringBehaviour.java (84%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/filtering/FilteringCountUpdatePacket.java (56%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/filtering/FilteringHandler.java (90%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/filtering/FilteringRenderer.java (82%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/filtering/SidedFilteringBehaviour.java (86%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/fluid/SmartFluidTankBehaviour.java (90%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/inventory/CapManipulationBehaviourBase.java (79%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/inventory/InvManipulationBehaviour.java (77%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/inventory/TankManipulationBehaviour.java (76%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/linked/LinkBehaviour.java (79%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/linked/LinkHandler.java (88%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/linked/LinkRenderer.java (75%) create mode 100644 src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/BulkScrollValueBehaviour.java rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/scrollvalue/INamedIconOptions.java (65%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/scrollvalue/ScrollOptionBehaviour.java (61%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/scrollvalue/ScrollValueBehaviour.java (84%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/scrollvalue/ScrollValueHandler.java (84%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/scrollvalue/ScrollValueRenderer.java (76%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/scrollvalue/ScrollValueUpdatePacket.java (56%) rename src/main/java/com/simibubi/create/foundation/{tileEntity => blockEntity}/behaviour/simple/DeferralBehaviour.java (66%) rename src/main/java/com/simibubi/create/foundation/{tileEntity/renderer/ColoredOverlayTileEntityRenderer.java => blockEntity/renderer/ColoredOverlayBlockEntityRenderer.java} (53%) rename src/main/java/com/simibubi/create/foundation/{tileEntity/renderer/SafeTileEntityRenderer.java => blockEntity/renderer/SafeBlockEntityRenderer.java} (50%) create mode 100644 src/main/java/com/simibubi/create/foundation/blockEntity/renderer/SmartBlockEntityRenderer.java rename src/main/java/com/simibubi/create/foundation/data/{CreateTileEntityBuilder.java => CreateBlockEntityBuilder.java} (72%) rename src/main/java/com/simibubi/create/foundation/networking/{TileEntityConfigurationPacket.java => BlockEntityConfigurationPacket.java} (66%) rename src/main/java/com/simibubi/create/foundation/networking/{TileEntityDataPacket.java => BlockEntityDataPacket.java} (55%) rename src/main/java/com/simibubi/create/foundation/ponder/instruction/{AnimateTileEntityInstruction.java => AnimateBlockEntityInstruction.java} (55%) rename src/main/java/com/simibubi/create/foundation/ponder/instruction/{TileEntityDataInstruction.java => BlockEntityDataInstruction.java} (63%) rename src/main/java/com/simibubi/create/foundation/render/{TileEntityRenderHelper.java => BlockEntityRenderHelper.java} (70%) delete mode 100644 src/main/java/com/simibubi/create/foundation/tileEntity/RemoveTileEntityPacket.java delete mode 100644 src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/BulkScrollValueBehaviour.java delete mode 100644 src/main/java/com/simibubi/create/foundation/tileEntity/renderer/SmartTileEntityRenderer.java diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 07b2bdb9b..b4ebf1790 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -566,30 +566,30 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json 3054a5519fbf91481b0c9c8160a20679fa9530da assets/create/lang/en_ud.json -c57c7f223e483ec45f7b94a33582f2bf66c4cf60 assets/create/lang/en_us.json -a8a98ef3d6c5d586001f26b52be79074fbbf698b assets/create/lang/unfinished/cs_cz.json -12babbc5593d305389ef8251e29531fa8301c7dc assets/create/lang/unfinished/da_dk.json -6d3b2431c3499dc73220bb81a9e3e183964d5cc0 assets/create/lang/unfinished/de_de.json -aa0b7e416178db0cf2b9ac2ecead98e86a99a80a assets/create/lang/unfinished/es_cl.json -1b383a69d1f17ffad2548959375e901bb49744b6 assets/create/lang/unfinished/es_es.json -8800449d59b970abefa17a4f4880e18e69feb045 assets/create/lang/unfinished/es_mx.json -01b50942474c627bb2071c6585fd96296daa3547 assets/create/lang/unfinished/fr_fr.json -c993975f362688389c39d6213081b5408874236a assets/create/lang/unfinished/hu_hu.json -5066f4b4a13e8a5a03f2405859508ab7bfe6bdb5 assets/create/lang/unfinished/it_it.json -5293c84a5e3d19c51fb414092c13a955f7045f33 assets/create/lang/unfinished/ja_jp.json -1d0d011e4da491eef7f69be41dd92f194a8a2872 assets/create/lang/unfinished/ko_kr.json -fd10e7de1e60c3c6537781b67e215effb3d96964 assets/create/lang/unfinished/nl_nl.json -0b1cfb3738eecd97d28ad7eb8110a4f03ef5682b assets/create/lang/unfinished/no_no.json -dd9fb706e979d00a90f5f9a947541c5b4cebc024 assets/create/lang/unfinished/pl_pl.json -086802842bb63805d358b5ea9d70aeb9d490331f assets/create/lang/unfinished/pt_br.json -538445e2d4b6626136b25a1c04a0445b00a229c5 assets/create/lang/unfinished/pt_pt.json -01bc95d3f4844e642b8f4848f325e7d2f670bcbb assets/create/lang/unfinished/ro_ro.json -967f93516721dda8974359cc5fb088e6fa50d627 assets/create/lang/unfinished/ru_ru.json -321146806a1364b3ad4feac1592df680be230e42 assets/create/lang/unfinished/sv_se.json -aa3feff9a8b3314002939bef8793c3ae4ee07758 assets/create/lang/unfinished/th_th.json -af6ce2a42851ee2b16fc156d6f0198ddf9fa8f74 assets/create/lang/unfinished/uk_ua.json -35057efca9e51b76f0ce8292e52c87c830873d1d assets/create/lang/unfinished/zh_cn.json -1c56066b9d1094dcf43a307a432b830d916c4bab assets/create/lang/unfinished/zh_tw.json +10368a860ae28910f8b376da5a71ed5329e878d6 assets/create/lang/en_us.json +0aca1235610eae2a297eda6f96780115f8cd0a8e assets/create/lang/unfinished/cs_cz.json +91513e2231501328a1a2e99c8bd90a51c8513c1b assets/create/lang/unfinished/da_dk.json +e2e4f2644ca0cfbe26436abadc6553333fe2ce89 assets/create/lang/unfinished/de_de.json +ef633c12441059ac2d6795e39bb70578696da6e0 assets/create/lang/unfinished/es_cl.json +2d4d14e4c1fb9d9c8590a33570981cca83e0f44f assets/create/lang/unfinished/es_es.json +2fb12650950d8867501f5b00ff6edbedd8e231e4 assets/create/lang/unfinished/es_mx.json +645f1b7cc8d99de345fa3e5f2d1967e49b17d32b assets/create/lang/unfinished/fr_fr.json +0e6f608edc0d95337a6cce21d26cc8c5c7284bfc assets/create/lang/unfinished/hu_hu.json +0afaccef5e6b4bc2149bef652e5dd51c426c816a assets/create/lang/unfinished/it_it.json +ee8bd262d30c4b176d012902d0371648f5f5d5d4 assets/create/lang/unfinished/ja_jp.json +499063468b398b7b31182c109b68e751361b04fa assets/create/lang/unfinished/ko_kr.json +5beecf8025e06933a488a4e8224927e001f759cb assets/create/lang/unfinished/nl_nl.json +7e6a23b7f7c24ebbd08c135a8565787f65c6e0f0 assets/create/lang/unfinished/no_no.json +da8649af75b2b52a99ae4c30a106768f917192b4 assets/create/lang/unfinished/pl_pl.json +3fba7b5d3649aac2cb759bed41d8690b5cf4dbd1 assets/create/lang/unfinished/pt_br.json +3e83cdf96cde7c50f3f106a7e1f4c029cf26bfe2 assets/create/lang/unfinished/pt_pt.json +4a9f031baa04241b34779c74a75ca9f73ee589b7 assets/create/lang/unfinished/ro_ro.json +fa470b919e1f304ed0eb43cf3b47f2e9c9f1a470 assets/create/lang/unfinished/ru_ru.json +ec236461ebc2bddf2a1281b4d8713ba0bbb40012 assets/create/lang/unfinished/sv_se.json +906d8450cd95b65824ff23c1db38096cdc3802ec assets/create/lang/unfinished/th_th.json +a7122f134d4cdad8802f097822c38158b3042fa5 assets/create/lang/unfinished/uk_ua.json +0e0501505897acbc7bb2fe5cb20faa71727285ab assets/create/lang/unfinished/zh_cn.json +7829c9e8b9e5fa92b7327b839d914162a2ab5f06 assets/create/lang/unfinished/zh_tw.json 487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json 3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 4f2358c2d..f130944a7 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -1198,12 +1198,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Replace Solid with Any", "create.gui.schematicannon.option.replaceWithEmpty": "Replace Solid with Empty", "create.gui.schematicannon.option.skipMissing": "Skip missing Blocks", - "create.gui.schematicannon.option.skipTileEntities": "Protect Tile Entities", + "create.gui.schematicannon.option.skipBlockEntities": "Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Add gunpowder to fuel the cannon", "create.gui.schematicannon.slot.listPrinter": "Place books here to print a Checklist for your Schematic", "create.gui.schematicannon.slot.schematic": "Add your Schematic here. Make sure it is deployed at a specific location.", "create.gui.schematicannon.option.skipMissing.description": "If the cannon cannot find a required Block for placement, it will continue at the next Location.", - "create.gui.schematicannon.option.skipTileEntities.description": "The cannon will avoid replacing data holding blocks such as Chests.", + "create.gui.schematicannon.option.skipBlockEntities.description": "The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "The cannon will never replace any Solid blocks in its working area, only non-Solid and Air.", "create.gui.schematicannon.option.replaceWithSolid.description": "The cannon will only replace Solid blocks in its working area if the Schematic contains a solid Block at the Location.", "create.gui.schematicannon.option.replaceWithAny.description": "The cannon will replace Solid blocks in its working area if the Schematic contains any Block at the Location.", diff --git a/src/generated/resources/assets/create/lang/unfinished/cs_cz.json b/src/generated/resources/assets/create/lang/unfinished/cs_cz.json index c46258a9c..f0dc301a5 100644 --- a/src/generated/resources/assets/create/lang/unfinished/cs_cz.json +++ b/src/generated/resources/assets/create/lang/unfinished/cs_cz.json @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "UNLOCALIZED: Replace Solid with Any", "create.gui.schematicannon.option.replaceWithEmpty": "UNLOCALIZED: Replace Solid with Empty", "create.gui.schematicannon.option.skipMissing": "UNLOCALIZED: Skip missing Blocks", - "create.gui.schematicannon.option.skipTileEntities": "UNLOCALIZED: Protect Tile Entities", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "UNLOCALIZED: Add gunpowder to fuel the cannon", "create.gui.schematicannon.slot.listPrinter": "UNLOCALIZED: Place books here to print a Checklist for your Schematic", "create.gui.schematicannon.slot.schematic": "UNLOCALIZED: Add your Schematic here. Make sure it is deployed at a specific location.", "create.gui.schematicannon.option.skipMissing.description": "UNLOCALIZED: If the cannon cannot find a required Block for placement, it will continue at the next Location.", - "create.gui.schematicannon.option.skipTileEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "UNLOCALIZED: The cannon will never replace any Solid blocks in its working area, only non-Solid and Air.", "create.gui.schematicannon.option.replaceWithSolid.description": "UNLOCALIZED: The cannon will only replace Solid blocks in its working area if the Schematic contains a solid Block at the Location.", "create.gui.schematicannon.option.replaceWithAny.description": "UNLOCALIZED: The cannon will replace Solid blocks in its working area if the Schematic contains any Block at the Location.", diff --git a/src/generated/resources/assets/create/lang/unfinished/da_dk.json b/src/generated/resources/assets/create/lang/unfinished/da_dk.json index d288390ec..b7054ea62 100644 --- a/src/generated/resources/assets/create/lang/unfinished/da_dk.json +++ b/src/generated/resources/assets/create/lang/unfinished/da_dk.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1353", + "_": "Missing Localizations: 1354", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Erstat massiv med enhver", "create.gui.schematicannon.option.replaceWithEmpty": "Erstat massiv med tomt", "create.gui.schematicannon.option.skipMissing": "Spring over manglende blokke", - "create.gui.schematicannon.option.skipTileEntities": "Beskyt blokojekter", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "UNLOCALIZED: Add gunpowder to fuel the cannon", "create.gui.schematicannon.slot.listPrinter": "UNLOCALIZED: Place books here to print a Checklist for your Schematic", "create.gui.schematicannon.slot.schematic": "UNLOCALIZED: Add your Schematic here. Make sure it is deployed at a specific location.", "create.gui.schematicannon.option.skipMissing.description": "UNLOCALIZED: If the cannon cannot find a required Block for placement, it will continue at the next Location.", - "create.gui.schematicannon.option.skipTileEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "UNLOCALIZED: The cannon will never replace any Solid blocks in its working area, only non-Solid and Air.", "create.gui.schematicannon.option.replaceWithSolid.description": "UNLOCALIZED: The cannon will only replace Solid blocks in its working area if the Schematic contains a solid Block at the Location.", "create.gui.schematicannon.option.replaceWithAny.description": "UNLOCALIZED: The cannon will replace Solid blocks in its working area if the Schematic contains any Block at the Location.", diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index 500b73c60..e8052a528 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 40", + "_": "Missing Localizations: 42", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Feste Blöcke immer ersetzen", "create.gui.schematicannon.option.replaceWithEmpty": "Feste Blöcke mit Leere ersetzen", "create.gui.schematicannon.option.skipMissing": "Fehlende Blöcke ignorieren", - "create.gui.schematicannon.option.skipTileEntities": "Tile Entities ignorieren", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Füge Schwarzpulver hinzu um die Kanone zu betreiben", "create.gui.schematicannon.slot.listPrinter": "Platziere hier Bücher um eine Checkliste für deinen Bauplan zu drucken", "create.gui.schematicannon.slot.schematic": "Füge Bauplan hier hinzu. Stelle sicher dass er an einer spezifischen Position bereitgestellt wird.", "create.gui.schematicannon.option.skipMissing.description": "Wenn die Bauplankanone einen benötigten Block nicht finden kann, wird sie einfach beim nächsten weiter machen.", - "create.gui.schematicannon.option.skipTileEntities.description": "Die Bauplankanone wird versuchen, Blöcke mit extra Daten, beispielsweise Truhen, nicht zu ersetzen.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "Die Kanone wird ausschließlich nicht feste Blöcke und Luft in ihrem Arbeitsbereich ersetzen.", "create.gui.schematicannon.option.replaceWithSolid.description": "Die Kanone wird feste Blöcke nur dann ersetzen, wenn an der Position vorher bereits ein fester Block war.", "create.gui.schematicannon.option.replaceWithAny.description": "Die Kanone wird feste Blöcke ersetzen, wenn der Bauplan an der Position einen Block enthält.", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_cl.json b/src/generated/resources/assets/create/lang/unfinished/es_cl.json index 5516cbd60..0d36653bc 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_cl.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_cl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1059", + "_": "Missing Localizations: 1061", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Reemplazar Sólido con cualquier cosa", "create.gui.schematicannon.option.replaceWithEmpty": "Reemplazar Sólido con Vacío", "create.gui.schematicannon.option.skipMissing": "Saltarse objetos faltantes", - "create.gui.schematicannon.option.skipTileEntities": "Proteject objetos con información", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Añade pólvora para alimentar el cañon", "create.gui.schematicannon.slot.listPrinter": "Coloca libros aquí para imprimir una lista de verificación para tu esquema", "create.gui.schematicannon.slot.schematic": "Pon tu Esquema aquí. Asegurate de haberlo desplegado en la ubicación deseada.", "create.gui.schematicannon.option.skipMissing.description": "Si el cañón no puede encontrar un Bloque requerido para colocarlo, saltará a la siguiente Ubicación.", - "create.gui.schematicannon.option.skipTileEntities.description": "El cañón evitará reemplazar bloques con almacenamiento de datos como cofres o máquinas.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "El cañón nunca reemplazará ningún bloque sólido en su área de trabajo, solo no-sólidos y aire.", "create.gui.schematicannon.option.replaceWithSolid.description": "El cañón solo reemplazará los bloques sólidos en su área de trabajo si el esquema contiene un bloque sólido en esa ubicación.", "create.gui.schematicannon.option.replaceWithAny.description": "El cañón reemplazará los bloques sólidos en su área de trabajo si el esquema contiene algún bloque de cualquier tipo en la ubicación.", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_es.json b/src/generated/resources/assets/create/lang/unfinished/es_es.json index 0a897010b..28b9cd576 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_es.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 104", + "_": "Missing Localizations: 106", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Sustituir sólido por cualquiera", "create.gui.schematicannon.option.replaceWithEmpty": "Sustituir sólido por vacío", "create.gui.schematicannon.option.skipMissing": "Omitir los bloques que faltan", - "create.gui.schematicannon.option.skipTileEntities": "Proteger a las entidades", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Añade pólvora para alimentar el cañón", "create.gui.schematicannon.slot.listPrinter": "Coloque los libros aquí para imprimir una lista de comprobación para su esquema", "create.gui.schematicannon.slot.schematic": "Añada su esquema aquí. Asegúrese de que se despliega en un lugar específico.", "create.gui.schematicannon.option.skipMissing.description": "Si el cañón no encuentra un bloque necesario para su colocación, continuará en la siguiente ubicación.", - "create.gui.schematicannon.option.skipTileEntities.description": "El cañón evitará reemplazar los bloques que contienen datos, como los cofres.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "El cañón nunca sustituirá ningún bloque sólido en su zona de trabajo, sólo los no sólidos y el aire.", "create.gui.schematicannon.option.replaceWithSolid.description": "El cañón sólo reemplazará los bloques sólidos en su área de trabajo si el esquema contiene un bloque sólido en la ubicación.", "create.gui.schematicannon.option.replaceWithAny.description": "El cañón reemplazará los bloques sólidos en su área de trabajo si el esquema contiene algún bloque en la ubicación.", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_mx.json b/src/generated/resources/assets/create/lang/unfinished/es_mx.json index 818acc38b..b20fc4ba7 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_mx.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_mx.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 104", + "_": "Missing Localizations: 106", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Sustituir sólido por cualquiera", "create.gui.schematicannon.option.replaceWithEmpty": "Sustituir sólido por vacío", "create.gui.schematicannon.option.skipMissing": "Omitir los bloques que faltan", - "create.gui.schematicannon.option.skipTileEntities": "Proteger a las entidades", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Añade pólvora para alimentar el cañón", "create.gui.schematicannon.slot.listPrinter": "Coloque los libros aquí para imprimir una lista de comprobación para su esquema", "create.gui.schematicannon.slot.schematic": "Añada su esquema aquí. Asegúrese de que se despliega en un lugar específico.", "create.gui.schematicannon.option.skipMissing.description": "Si el cañón no encuentra un bloque necesario para su colocación, continuará en la siguiente ubicación.", - "create.gui.schematicannon.option.skipTileEntities.description": "El cañón evitará reemplazar los bloques que contienen datos, como los cofres.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "El cañón nunca sustituirá ningún bloque sólido en su zona de trabajo, sólo los no sólidos y el aire.", "create.gui.schematicannon.option.replaceWithSolid.description": "El cañón sólo reemplazará los bloques sólidos en su área de trabajo si el esquema contiene un bloque sólido en la ubicación.", "create.gui.schematicannon.option.replaceWithAny.description": "El cañón reemplazará los bloques sólidos en su área de trabajo si el esquema contiene algún bloque en la ubicación.", diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index 04d7f3d8c..0bcc47348 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 40", + "_": "Missing Localizations: 42", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Remplacer le solide par n'importe quoi", "create.gui.schematicannon.option.replaceWithEmpty": "Remplacer le solide par rien", "create.gui.schematicannon.option.skipMissing": "Ignorer les blocs manquants", - "create.gui.schematicannon.option.skipTileEntities": "Protéger les entités de blocs", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Ajouter de la poudre à canon pour alimenter le canon", "create.gui.schematicannon.slot.listPrinter": "Placez des livres ici pour imprimer une liste des matériaux de votre schéma", "create.gui.schematicannon.slot.schematic": "Ajoutez votre schéma ici. Soyez sûr qu'il est déployé à un emplacement spécifique.", "create.gui.schematicannon.option.skipMissing.description": "Si le canon ne peut pas trouver un bloc requis pour le placement, il continuera au prochain emplacement.", - "create.gui.schematicannon.option.skipTileEntities.description": "Le canon évitera de remplacer les blocs de stockage de données tels que les coffres.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "Le canon ne remplacera jamais les blocs solides dans sa zone de travail, seulement non solides et air.", "create.gui.schematicannon.option.replaceWithSolid.description": "Le canon ne remplacera les blocs solides dans sa zone de travail que si le schéma contient un bloc solide à l'emplacement.", "create.gui.schematicannon.option.replaceWithAny.description": "Le canon remplacera les blocs solides dans sa zone de travail si le schéma contient un bloc à l'emplacement.", diff --git a/src/generated/resources/assets/create/lang/unfinished/hu_hu.json b/src/generated/resources/assets/create/lang/unfinished/hu_hu.json index 9704cfc0b..2a0c33527 100644 --- a/src/generated/resources/assets/create/lang/unfinished/hu_hu.json +++ b/src/generated/resources/assets/create/lang/unfinished/hu_hu.json @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Tömör blokk kicserélése bármire", "create.gui.schematicannon.option.replaceWithEmpty": "Tömör blokk kicserélése üresre", "create.gui.schematicannon.option.skipMissing": "Hiányzó blokkok kihagyása", - "create.gui.schematicannon.option.skipTileEntities": "UNLOCALIZED: Protect Tile Entities", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Az ágyú tüzeléséhez adj hozzá puskaport", "create.gui.schematicannon.slot.listPrinter": "Helyezz ide könyveket, hogy a tervrajzod számára ellenőrzőlistát nyomtass", "create.gui.schematicannon.slot.schematic": "A tervrajzod ide rakd. Bizonyosodj meg arról, hogy egy megadott helyre van lehelyezve.", "create.gui.schematicannon.option.skipMissing.description": "UNLOCALIZED: If the cannon cannot find a required Block for placement, it will continue at the next Location.", - "create.gui.schematicannon.option.skipTileEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "A löveg a munkaterületen soha sem fog kicserélni egyetlen tömör blokkot sem, csak nem-tömör és levegő blokkokat.", "create.gui.schematicannon.option.replaceWithSolid.description": "UNLOCALIZED: The cannon will only replace Solid blocks in its working area if the Schematic contains a solid Block at the Location.", "create.gui.schematicannon.option.replaceWithAny.description": "UNLOCALIZED: The cannon will replace Solid blocks in its working area if the Schematic contains any Block at the Location.", diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index 29a30682b..b1bbb6499 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 40", + "_": "Missing Localizations: 42", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Sostituisci solidi con qualsiasi", "create.gui.schematicannon.option.replaceWithEmpty": "Sostituisci solidi con il vuoto", "create.gui.schematicannon.option.skipMissing": "Salta i blocchi mancanti", - "create.gui.schematicannon.option.skipTileEntities": "Proteggi i blocchi entità", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Aggiungi polvere da sparo per alimentare il cannone", "create.gui.schematicannon.slot.listPrinter": "Piazza qui i libri per stampare una lista di controllo per il tuo progetto", "create.gui.schematicannon.slot.schematic": "Aggiungi qui il tuo progetto. Assicurati che sia piazzato in una posizione specifica.", "create.gui.schematicannon.option.skipMissing.description": "Se il cannone non riesce a trovare un blocco richiesto per il posizionamento, continuerà nella posizione successiva.", - "create.gui.schematicannon.option.skipTileEntities.description": "Il cannone eviterà di sostituire i blocchi entità come bauli o fornaci.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "Il cannone non sostituirà mai alcun blocco solido nella sua area di lavoro, solo non-solidi e aria.", "create.gui.schematicannon.option.replaceWithSolid.description": "Il cannone sostituirà i blocchi solidi nella sua area di lavoro se lo schema contiene un blocco solido in quella posizione.", "create.gui.schematicannon.option.replaceWithAny.description": "Il cannone sostituirà i blocchi solidi nella sua area di lavoro se lo schema contiene un blocco qualunque in quella posizione.", diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index 87e2f8373..d3e6f65f6 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 69", + "_": "Missing Localizations: 71", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "固体ブロックを任意のブロックに置き換える", "create.gui.schematicannon.option.replaceWithEmpty": "固体ブロックを空気に置き換える", "create.gui.schematicannon.option.skipMissing": "不足しているブロックをスキップ", - "create.gui.schematicannon.option.skipTileEntities": "タイルエンティティを保護する", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "火薬を燃料として概略図砲に入れてください。", "create.gui.schematicannon.slot.listPrinter": "本をここに入れると概略図の材料チェックリストを印刷します。", "create.gui.schematicannon.slot.schematic": "概略図をここに入れてください。特定の場所に配置されていることを確認してください。", "create.gui.schematicannon.option.skipMissing.description": "配置に必要なブロックを見つけられない場合、次の場所に進みます。", - "create.gui.schematicannon.option.skipTileEntities.description": "チェストなどのデータ保持ブロックの置き換えによる消滅を回避します。", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "その作業範囲の固体ブロックを置き換えることはなく、非固体ブロックと空気のみを置き換えます。", "create.gui.schematicannon.option.replaceWithSolid.description": "固体ブロックを設置する場合にのみ、その位置の固体ブロックを置き換えます。", "create.gui.schematicannon.option.replaceWithAny.description": "任意のブロックを設置する場合に、その位置の固体ブロックを置き換えます。", diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index c8b7365ff..9290b4a17 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 48", + "_": "Missing Localizations: 50", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "온전한 블록을 아무 재료로 대체함", "create.gui.schematicannon.option.replaceWithEmpty": "온전한 블록을 공기로 채움", "create.gui.schematicannon.option.skipMissing": "부족한 블록을 무시하고 진행", - "create.gui.schematicannon.option.skipTileEntities": "블록 엔티티 보호", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "화약을 넣어 대포 연료를 채우세요", "create.gui.schematicannon.slot.listPrinter": "책을 넣어 건축 재료 체크리스트를 인쇄하세요", "create.gui.schematicannon.slot.schematic": "여기에 설계도를 넣으세요. 건설 구역이 설정되어 있어야 합니다.", "create.gui.schematicannon.option.skipMissing.description": "만약 대포가 설치에 필요한 블록을 찾지 못할 경우,건너뛰고 다음 블록 설치를 진행합니다.", - "create.gui.schematicannon.option.skipTileEntities.description": "대포가 상자, 화로같이 데이터가 담긴 블록을 설치하지 않습니다.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "대포가 작업구역의 온전한 블록을 대체하지 않습니다.", "create.gui.schematicannon.option.replaceWithSolid.description": "대포가 작업구역의 온전한 블록을 대포가 가진 재료로 대체합니다.", "create.gui.schematicannon.option.replaceWithAny.description": "대포가 작업구역의 온전한 블록을 대포가 가진 어떠한 재료로든 대체합니다.", diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index be395ca60..c59f0a676 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1830", + "_": "Missing Localizations: 1832", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Vervang vast met alles", "create.gui.schematicannon.option.replaceWithEmpty": "Vervang vast met leeg", "create.gui.schematicannon.option.skipMissing": "Sla missende blokken over", - "create.gui.schematicannon.option.skipTileEntities": "Bescherm Tile Entities", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "UNLOCALIZED: Add gunpowder to fuel the cannon", "create.gui.schematicannon.slot.listPrinter": "UNLOCALIZED: Place books here to print a Checklist for your Schematic", "create.gui.schematicannon.slot.schematic": "UNLOCALIZED: Add your Schematic here. Make sure it is deployed at a specific location.", "create.gui.schematicannon.option.skipMissing.description": "Als het Bouwtekeningkannon niet een geschikt blok kan vinden om te plaatsen gaat hij door naar de volgende positie.", - "create.gui.schematicannon.option.skipTileEntities.description": "Het Bouwtekeningkannon probeert blokken met data zoals kisten te vermijden", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "Het Bouwtekeningkannon zal nooit vaste blokken in zijn gebied vervangen, alleen niet-vaste blokken en lucht", "create.gui.schematicannon.option.replaceWithSolid.description": "Het Bouwtekeningkannon zal alleen vaste blokken in zijn gebied veranderen als de bouwtekening een vast blok bevat op zijn positie.", "create.gui.schematicannon.option.replaceWithAny.description": "Het Bouwtekeningkannon zal vaste blokken in zijn gebied vervangen als de bouwtekening een blok op bevat op zijn positie.", diff --git a/src/generated/resources/assets/create/lang/unfinished/no_no.json b/src/generated/resources/assets/create/lang/unfinished/no_no.json index 82892d5c5..493677b77 100644 --- a/src/generated/resources/assets/create/lang/unfinished/no_no.json +++ b/src/generated/resources/assets/create/lang/unfinished/no_no.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 2359", + "_": "Missing Localizations: 2360", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "UNLOCALIZED: Replace Solid with Any", "create.gui.schematicannon.option.replaceWithEmpty": "UNLOCALIZED: Replace Solid with Empty", "create.gui.schematicannon.option.skipMissing": "UNLOCALIZED: Skip missing Blocks", - "create.gui.schematicannon.option.skipTileEntities": "UNLOCALIZED: Protect Tile Entities", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "UNLOCALIZED: Add gunpowder to fuel the cannon", "create.gui.schematicannon.slot.listPrinter": "UNLOCALIZED: Place books here to print a Checklist for your Schematic", "create.gui.schematicannon.slot.schematic": "UNLOCALIZED: Add your Schematic here. Make sure it is deployed at a specific location.", "create.gui.schematicannon.option.skipMissing.description": "UNLOCALIZED: If the cannon cannot find a required Block for placement, it will continue at the next Location.", - "create.gui.schematicannon.option.skipTileEntities.description": "Kanonen vil unngå å erstatte blokker som inneholder data, slik som kister.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "Kanonen vil aldri erstatte solide blokker i arbeidsområdet, bare ikke usolide blokker og luft.", "create.gui.schematicannon.option.replaceWithSolid.description": "Kanonen vil bare erstatte solide blokker i arbeidsområdet om byggeplanen inneholder en solid blokk på samme posisjon.", "create.gui.schematicannon.option.replaceWithAny.description": "Kanonen vil erstatte solide blokker i arbeidsområdet hvis bygeplanen inneholder uansett type blokk på samme posisjon.", diff --git a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json index c98318c24..9952c34e4 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json +++ b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 49", + "_": "Missing Localizations: 51", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Zastępuj stałe dowolnymi", "create.gui.schematicannon.option.replaceWithEmpty": "Zastępuj stałe pustymi", "create.gui.schematicannon.option.skipMissing": "Pomijaj brakujące bloki", - "create.gui.schematicannon.option.skipTileEntities": "Chroń byty bloków", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Dodaj prochu, aby załadować armatę", "create.gui.schematicannon.slot.listPrinter": "Daj tu książki, aby wydrukować listę", "create.gui.schematicannon.slot.schematic": "Daj tu swój schemat. Upewnij się, że jest postawiony w odpowiednim miejscu.", "create.gui.schematicannon.option.skipMissing.description": "Jeśli armata nie znajdzie wymaganego bloku, przejdzie w następne miejsce", - "create.gui.schematicannon.option.skipTileEntities.description": "Armata będzie unikać zastępowania bloków przechowujących dane, takich jak skrzynie.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "Armata nigdy nie będzie zastępować jakichkolwiek stałych bloków, jedynie nie-stałe i powietrze.", "create.gui.schematicannon.option.replaceWithSolid.description": "Armata będzie zastępować stałe bloki jedynie, jeśli schemat zawiera stały blok w tym miejscu.", "create.gui.schematicannon.option.replaceWithAny.description": "Armata będzie zastępować stałe bloki jedynie, jeśli schemat zawiera dowolny blok w tym miejscu.", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index 59716b0fc..968e01c36 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 45", + "_": "Missing Localizations: 47", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Substituir Sólidos com Qualquer", "create.gui.schematicannon.option.replaceWithEmpty": "Substituir Sólidos com Vazio", "create.gui.schematicannon.option.skipMissing": "Pulando Blocos faltantes", - "create.gui.schematicannon.option.skipTileEntities": "Proteger tile entities", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Adicionar pólvora para carregar o canhão", "create.gui.schematicannon.slot.listPrinter": "Coloque livros aqui para imprimir uma lista para o seu esquema", "create.gui.schematicannon.slot.schematic": "Adicione o seu esquema aqui. Tenha certeza que ele está colocado em um lugar especifico.", "create.gui.schematicannon.option.skipMissing.description": "Se o Canhão de esquema não encontrar o Bloco para colocar, ele irá continuar para a próxima. Posição.", - "create.gui.schematicannon.option.skipTileEntities.description": "O Canhão de esquema vai evitar substituir blocos que contêm dados como Baús.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "O Canhão de esquema nunca irá substituir Blocos sólidos na área em trabalho, apenas não-Sólidos e Ar.", "create.gui.schematicannon.option.replaceWithSolid.description": "O Canhão de esquema irá apenas substituir Blocos sólidos na área de trabalho, se o Esquema conter um bloco Sólido naquela posição.", "create.gui.schematicannon.option.replaceWithAny.description": "O Canhão de esquema irá substituir Blocos sólidos na área de trabalho, se o Esquema conter qualquer Bloco naquela posição.", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json index afbd383e7..39ed5e00f 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 2252", + "_": "Missing Localizations: 2254", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Substituir Sólidos com Qualquer", "create.gui.schematicannon.option.replaceWithEmpty": "Substituir Sólidos com Vazio", "create.gui.schematicannon.option.skipMissing": "Pulando Blocos faltantes", - "create.gui.schematicannon.option.skipTileEntities": "Proteger Entidades Entalhadas", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "UNLOCALIZED: Add gunpowder to fuel the cannon", "create.gui.schematicannon.slot.listPrinter": "UNLOCALIZED: Place books here to print a Checklist for your Schematic", "create.gui.schematicannon.slot.schematic": "UNLOCALIZED: Add your Schematic here. Make sure it is deployed at a specific location.", "create.gui.schematicannon.option.skipMissing.description": "Se o Canhão de esquema não encontrar o Bloco para colocar, ele irá continuar para a próx. Posição.", - "create.gui.schematicannon.option.skipTileEntities.description": "O Canhão de esquema vai evitar substituir blocos que contêm dados como Baus.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "O Canhão de esquema nunca irá substituir Blocos sólidos na área em trabalho, apenas não-Sólidos e Ar.", "create.gui.schematicannon.option.replaceWithSolid.description": "O Canhão de esquema irá apenas substituir Blocos sólidos na área de trabalho, se o Esquema conter um bloco Sólido naquela posição.", "create.gui.schematicannon.option.replaceWithAny.description": "O Canhão de esquema irá substituir Blocos sólidos na área de trabalho, se o Esquema conter qualquer Bloco naquela posição.", diff --git a/src/generated/resources/assets/create/lang/unfinished/ro_ro.json b/src/generated/resources/assets/create/lang/unfinished/ro_ro.json index d7f251a1f..400b47ffd 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ro_ro.json +++ b/src/generated/resources/assets/create/lang/unfinished/ro_ro.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 739", + "_": "Missing Localizations: 741", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Înlocuiește Solid cu Orice", "create.gui.schematicannon.option.replaceWithEmpty": "Înlocuiește Solid cu Gol", "create.gui.schematicannon.option.skipMissing": "Ocolește Blocuri lipsă", - "create.gui.schematicannon.option.skipTileEntities": "Protejează Entități", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Adaugă praf de pușcă pentru a alimenta tunul", "create.gui.schematicannon.slot.listPrinter": "Plasează cărți aici pentru a imprima o listă de verificare pentru Schema ta", "create.gui.schematicannon.slot.schematic": "Adaugă-ti Schema aici. Asigură-te că este instalată la o locație specifică.", "create.gui.schematicannon.option.skipMissing.description": "Dacă tunul nu poate găsi un bloc necesar pentru plasare, va continua la locația următoare.", - "create.gui.schematicannon.option.skipTileEntities.description": "Tunul va evita să înlocuiască blocuri care țin date, cum ar fi Cuferele..", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "Tunul nu va înlocui niciodată orice bloc Solid în zona lui de locru, doar non-Solid și Aer.", "create.gui.schematicannon.option.replaceWithSolid.description": "Tunul va înlocui daor blocuri Solide în zona lui de lucru dacă Schema conține un Bloc solid la acea Locație.", "create.gui.schematicannon.option.replaceWithAny.description": "Tunul va înlocui blocuri Solide în zona lui de lucru dacă Schema conține orice Bloc la acea Locație.", diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index 08ebfc777..29bc1b209 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 45", + "_": "Missing Localizations: 47", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Заменять твёрдые блоки любыми блоками", "create.gui.schematicannon.option.replaceWithEmpty": "Заменять твёрдые блоки воздухом", "create.gui.schematicannon.option.skipMissing": "Пропускать отсутствующие блоки", - "create.gui.schematicannon.option.skipTileEntities": "Защитить имущество", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Добавьте порох, чтобы заправить пушку", "create.gui.schematicannon.slot.listPrinter": "Положите книгу, чтобы создать список предметов для схематики", "create.gui.schematicannon.slot.schematic": "Положите свою схематику здесь. Убедитесь что она размещена в правильном месте", "create.gui.schematicannon.option.skipMissing.description": "Если пушка не сможет найти требуемый блок, то она перейдёт к следующему.", - "create.gui.schematicannon.option.skipTileEntities.description": "Пушка не будет заменять блоки-хранилища, такие как сундуки.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "Пушка не будет заменять твёрдые блоки, только нетвёрдые и воздух.", "create.gui.schematicannon.option.replaceWithSolid.description": "Пушка будет заменять твёрдые блоки только в случае, если в схеме в этом месте расположен другой твёрдый блок.", "create.gui.schematicannon.option.replaceWithAny.description": "Пушка будет заменять любые твёрдые блоки, кроме замены на воздух.", diff --git a/src/generated/resources/assets/create/lang/unfinished/sv_se.json b/src/generated/resources/assets/create/lang/unfinished/sv_se.json index 73514e60e..f20a384b5 100644 --- a/src/generated/resources/assets/create/lang/unfinished/sv_se.json +++ b/src/generated/resources/assets/create/lang/unfinished/sv_se.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1248", + "_": "Missing Localizations: 1250", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Ersätt Fast med Valfri", "create.gui.schematicannon.option.replaceWithEmpty": "Ersätt Fast med Tom", "create.gui.schematicannon.option.skipMissing": "Hoppa över saknande Block", - "create.gui.schematicannon.option.skipTileEntities": "Skydda Block Enheter", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Tillsätt krut för att driva kanonen", "create.gui.schematicannon.slot.listPrinter": "Placera böcker här för att skriva ut en Checklista för din Schematic", "create.gui.schematicannon.slot.schematic": "Lägg till din Schematic här. Dubbelkolla så att den blir utplacerat på en specifik plats.", "create.gui.schematicannon.option.skipMissing.description": "Om kanonen ej kan hitta ett nödvändigt block för placering, kommer den att fortsätta på nästa plats.", - "create.gui.schematicannon.option.skipTileEntities.description": "Kanonen kommer undvika att ersätta informationsinnehavande block såsom kistor.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "Kanonen kommer aldrig att ersätta fasta block i dess arbetsområde, endast ej fasta block och luft.", "create.gui.schematicannon.option.replaceWithSolid.description": "Kanonen kommer bara ersätta fasta block i dess arbetsområde om Schematic innehåller ett fast block på platsen.", "create.gui.schematicannon.option.replaceWithAny.description": "Kanonen kommer att ersätta fasta block i dess arbetsområde om Schematic innehåller något block på platsen.", diff --git a/src/generated/resources/assets/create/lang/unfinished/th_th.json b/src/generated/resources/assets/create/lang/unfinished/th_th.json index 95f3d95b0..d512efecf 100644 --- a/src/generated/resources/assets/create/lang/unfinished/th_th.json +++ b/src/generated/resources/assets/create/lang/unfinished/th_th.json @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "UNLOCALIZED: Replace Solid with Any", "create.gui.schematicannon.option.replaceWithEmpty": "UNLOCALIZED: Replace Solid with Empty", "create.gui.schematicannon.option.skipMissing": "UNLOCALIZED: Skip missing Blocks", - "create.gui.schematicannon.option.skipTileEntities": "UNLOCALIZED: Protect Tile Entities", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "UNLOCALIZED: Add gunpowder to fuel the cannon", "create.gui.schematicannon.slot.listPrinter": "UNLOCALIZED: Place books here to print a Checklist for your Schematic", "create.gui.schematicannon.slot.schematic": "UNLOCALIZED: Add your Schematic here. Make sure it is deployed at a specific location.", "create.gui.schematicannon.option.skipMissing.description": "UNLOCALIZED: If the cannon cannot find a required Block for placement, it will continue at the next Location.", - "create.gui.schematicannon.option.skipTileEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "UNLOCALIZED: The cannon will never replace any Solid blocks in its working area, only non-Solid and Air.", "create.gui.schematicannon.option.replaceWithSolid.description": "UNLOCALIZED: The cannon will only replace Solid blocks in its working area if the Schematic contains a solid Block at the Location.", "create.gui.schematicannon.option.replaceWithAny.description": "UNLOCALIZED: The cannon will replace Solid blocks in its working area if the Schematic contains any Block at the Location.", diff --git a/src/generated/resources/assets/create/lang/unfinished/uk_ua.json b/src/generated/resources/assets/create/lang/unfinished/uk_ua.json index eb8b4b57f..f928e6e40 100644 --- a/src/generated/resources/assets/create/lang/unfinished/uk_ua.json +++ b/src/generated/resources/assets/create/lang/unfinished/uk_ua.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 213", + "_": "Missing Localizations: 215", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "Замінювати суцільні блоки будь-якими блоками", "create.gui.schematicannon.option.replaceWithEmpty": "Замінювати суцільні блоки повітрям", "create.gui.schematicannon.option.skipMissing": "Пропускати відсутні блоки", - "create.gui.schematicannon.option.skipTileEntities": "Захищати блоки-сутності", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Додайте порох, щоб заправити гармату", "create.gui.schematicannon.slot.listPrinter": "Покладіть книгу, щоб створити список предметів для схематики", "create.gui.schematicannon.slot.schematic": "Покладіть вашу схему сюди. Переконайтеся, що схематика розташована у конкретному місці.", "create.gui.schematicannon.option.skipMissing.description": "Якщо гармата не може знайти необхідний блок, вона будуватиме в наступному місці.", - "create.gui.schematicannon.option.skipTileEntities.description": "Гармата не замінюватиме блоки, які зберігають данні, такі як скрині.", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "Гармата ніколи не замінюватиме суцільні блоки, тільки замінюватиме несуцільні блоки та повітря.", "create.gui.schematicannon.option.replaceWithSolid.description": "Гармата замінюватиме суцільні блоки лише у випадку, якщо у схемі в цьому місці розташований суцільний блок.", "create.gui.schematicannon.option.replaceWithAny.description": "Гармата замінюватиме суцільні блоки у випадку, якщо у схемі в цьому місці розташований будь-який блок.", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json index 41ae03e87..c2586f00b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 48", + "_": "Missing Localizations: 50", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "用任何方块替换工作区域内的方块", "create.gui.schematicannon.option.replaceWithEmpty": "用空气替换工作区域内的方块", "create.gui.schematicannon.option.skipMissing": "跳过缺少的方块", - "create.gui.schematicannon.option.skipTileEntities": "保护存储方块", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "向蓝图加农炮添加火药以提供动力", "create.gui.schematicannon.slot.listPrinter": "在此处放置书以打印蓝图所需的材料清单", "create.gui.schematicannon.slot.schematic": "在此处添加你的蓝图,务必确保其已经被部署在特定位置", "create.gui.schematicannon.option.skipMissing.description": "如果缺失材料,蓝图加农炮将忽略当前缺失材料并且使用其他已有材料继续工作", - "create.gui.schematicannon.option.skipTileEntities.description": "蓝图加农炮将避免替换存储数据的方块,如箱子", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "蓝图加农炮将不会替换工作范围内的任何固体方块", "create.gui.schematicannon.option.replaceWithSolid.description": "蓝图加农炮会使用所提供的固体方块来替换工作区域内的其他固体方块", "create.gui.schematicannon.option.replaceWithAny.description": "蓝图加农炮会使用任何所提供的方块来替换工作区域内的固体方块", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json index 6a7d119b4..d59fb054d 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 46", + "_": "Missing Localizations: 48", "_": "->------------------------] Game Elements [------------------------<-", @@ -1199,12 +1199,12 @@ "create.gui.schematicannon.option.replaceWithAny": "用任何方塊替換工作區域內的方塊", "create.gui.schematicannon.option.replaceWithEmpty": "用空氣替換工作區域內的方塊", "create.gui.schematicannon.option.skipMissing": "繞過缺少的方塊", - "create.gui.schematicannon.option.skipTileEntities": "保護儲存方塊", + "create.gui.schematicannon.option.skipBlockEntities": "UNLOCALIZED: Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "向藍圖加農炮裝填火藥以提供動能", "create.gui.schematicannon.slot.listPrinter": "在此處放置書以列印藍圖所需的材料清單", "create.gui.schematicannon.slot.schematic": "在此處放置你的藍圖,務必確保其已被部署在特定位置", "create.gui.schematicannon.option.skipMissing.description": "如果材料不夠,藍圖大炮將忽略目前不夠的材料並且使用其他已有材料繼續工作", - "create.gui.schematicannon.option.skipTileEntities.description": "藍圖將避免更換儲存方塊,如箱子", + "create.gui.schematicannon.option.skipBlockEntities.description": "UNLOCALIZED: The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "藍圖加農炮將不會替換工作範圍內的任何固體方塊", "create.gui.schematicannon.option.replaceWithSolid.description": "藍圖加農炮會使用所提供的固體方塊來替換工作區域內的其他固體方塊", "create.gui.schematicannon.option.replaceWithAny.description": "藍圖加農炮會使用任何所提供的方塊來替換工作區域內的固體方塊", diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllBlockEntityTypes.java similarity index 58% rename from src/main/java/com/simibubi/create/AllTileEntities.java rename to src/main/java/com/simibubi/create/AllBlockEntityTypes.java index ded24ac6f..c8c126fea 100644 --- a/src/main/java/com/simibubi/create/AllTileEntities.java +++ b/src/main/java/com/simibubi/create/AllBlockEntityTypes.java @@ -1,125 +1,125 @@ package com.simibubi.create; import static com.simibubi.create.Create.REGISTRATE; -import static com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours.assignDataBehaviourTE; +import static com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours.assignDataBehaviourBE; import com.simibubi.create.content.contraptions.base.CutoutRotatingInstance; import com.simibubi.create.content.contraptions.base.HalfShaftInstance; import com.simibubi.create.content.contraptions.base.HorizontalHalfShaftInstance; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.content.contraptions.base.SingleRotatingInstance; +import com.simibubi.create.content.contraptions.components.actors.DrillBlockEntity; import com.simibubi.create.content.contraptions.components.actors.DrillInstance; 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.HarvesterBlockEntity; 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.actors.PSIInstance; -import com.simibubi.create.content.contraptions.components.actors.PortableFluidInterfaceTileEntity; -import com.simibubi.create.content.contraptions.components.actors.PortableItemInterfaceTileEntity; +import com.simibubi.create.content.contraptions.components.actors.PortableFluidInterfaceBlockEntity; +import com.simibubi.create.content.contraptions.components.actors.PortableItemInterfaceBlockEntity; import com.simibubi.create.content.contraptions.components.actors.PortableStorageInterfaceRenderer; +import com.simibubi.create.content.contraptions.components.actors.controls.ContraptionControlsBlockEntity; import com.simibubi.create.content.contraptions.components.actors.controls.ContraptionControlsRenderer; -import com.simibubi.create.content.contraptions.components.actors.controls.ContraptionControlsTileEntity; +import com.simibubi.create.content.contraptions.components.clock.CuckooClockBlockEntity; 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.MechanicalCrafterBlockEntity; import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterInstance; 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.HandCrankBlockEntity; import com.simibubi.create.content.contraptions.components.crank.HandCrankInstance; 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.crusher.CrushingWheelBlockEntity; +import com.simibubi.create.content.contraptions.components.crusher.CrushingWheelControllerBlockEntity; +import com.simibubi.create.content.contraptions.components.deployer.DeployerBlockEntity; import com.simibubi.create.content.contraptions.components.deployer.DeployerInstance; 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.EncasedFanBlockEntity; 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.FanInstance; -import com.simibubi.create.content.contraptions.components.fan.NozzleTileEntity; +import com.simibubi.create.content.contraptions.components.fan.NozzleBlockEntity; import com.simibubi.create.content.contraptions.components.flywheel.FlyWheelInstance; +import com.simibubi.create.content.contraptions.components.flywheel.FlywheelBlockEntity; 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.millstone.MillStoneCogInstance; +import com.simibubi.create.content.contraptions.components.millstone.MillstoneBlockEntity; 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.MechanicalMixerBlockEntity; 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.mixer.MixerInstance; +import com.simibubi.create.content.contraptions.components.motor.CreativeMotorBlockEntity; 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.MechanicalPressBlockEntity; 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.press.PressInstance; +import com.simibubi.create.content.contraptions.components.saw.SawBlockEntity; import com.simibubi.create.content.contraptions.components.saw.SawInstance; 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.steam.PoweredShaftTileEntity; +import com.simibubi.create.content.contraptions.components.steam.PoweredShaftBlockEntity; +import com.simibubi.create.content.contraptions.components.steam.SteamEngineBlockEntity; import com.simibubi.create.content.contraptions.components.steam.SteamEngineInstance; import com.simibubi.create.content.contraptions.components.steam.SteamEngineRenderer; -import com.simibubi.create.content.contraptions.components.steam.SteamEngineTileEntity; +import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleBlockEntity; import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleRenderer; -import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingInstance; 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.bearing.WindmillBearingTileEntity; -import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkBearingBlockEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingBlockEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.bearing.WindmillBearingBlockEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisBlockEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerInstance; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerRenderer; -import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerTileEntity; -import com.simibubi.create.content.contraptions.components.structureMovement.elevator.ElevatorContactTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.elevator.ElevatorContactBlockEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.elevator.ElevatorPulleyBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.elevator.ElevatorPulleyRenderer; -import com.simibubi.create.content.contraptions.components.structureMovement.elevator.ElevatorPulleyTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageInstance; import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageRenderer; -import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageTileEntity; -import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlockEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlockEntity; 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.HosePulleyInstance; +import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlockEntity; 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.structureMovement.pulley.RopePulleyInstance; -import com.simibubi.create.content.contraptions.components.turntable.TurntableTileEntity; -import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelTileEntity; +import com.simibubi.create.content.contraptions.components.turntable.TurntableBlockEntity; +import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelBlockEntity; +import com.simibubi.create.content.contraptions.fluids.PumpBlockEntity; import com.simibubi.create.content.contraptions.fluids.PumpCogInstance; import com.simibubi.create.content.contraptions.fluids.PumpRenderer; -import com.simibubi.create.content.contraptions.fluids.PumpTileEntity; +import com.simibubi.create.content.contraptions.fluids.actors.HosePulleyBlockEntity; import com.simibubi.create.content.contraptions.fluids.actors.HosePulleyRenderer; -import com.simibubi.create.content.contraptions.fluids.actors.HosePulleyTileEntity; +import com.simibubi.create.content.contraptions.fluids.actors.ItemDrainBlockEntity; import com.simibubi.create.content.contraptions.fluids.actors.ItemDrainRenderer; -import com.simibubi.create.content.contraptions.fluids.actors.ItemDrainTileEntity; +import com.simibubi.create.content.contraptions.fluids.actors.SpoutBlockEntity; import com.simibubi.create.content.contraptions.fluids.actors.SpoutRenderer; -import com.simibubi.create.content.contraptions.fluids.actors.SpoutTileEntity; -import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeTileEntity; +import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlockEntity; +import com.simibubi.create.content.contraptions.fluids.pipes.FluidValveBlockEntity; import com.simibubi.create.content.contraptions.fluids.pipes.FluidValveInstance; import com.simibubi.create.content.contraptions.fluids.pipes.FluidValveRenderer; -import com.simibubi.create.content.contraptions.fluids.pipes.FluidValveTileEntity; -import com.simibubi.create.content.contraptions.fluids.pipes.SmartFluidPipeTileEntity; -import com.simibubi.create.content.contraptions.fluids.pipes.StraightPipeTileEntity; +import com.simibubi.create.content.contraptions.fluids.pipes.SmartFluidPipeBlockEntity; +import com.simibubi.create.content.contraptions.fluids.pipes.StraightPipeBlockEntity; import com.simibubi.create.content.contraptions.fluids.pipes.TransparentStraightPipeRenderer; -import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity; +import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankBlockEntity; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.content.contraptions.fluids.tank.FluidTankRenderer; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; +import com.simibubi.create.content.contraptions.processing.BasinBlockEntity; import com.simibubi.create.content.contraptions.processing.BasinRenderer; -import com.simibubi.create.content.contraptions.processing.BasinTileEntity; +import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlockEntity; 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.GantryShaftTileEntity; +import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlockEntity; +import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlockEntity; 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.advanced.sequencer.SequencedGearshiftBlockEntity; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltInstance; 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.BracketedKineticTileEntity; -import com.simibubi.create.content.contraptions.relays.elementary.BracketedKineticTileInstance; -import com.simibubi.create.content.contraptions.relays.elementary.BracketedKineticTileRenderer; -import com.simibubi.create.content.contraptions.relays.elementary.SimpleKineticTileEntity; -import com.simibubi.create.content.contraptions.relays.encased.AdjustablePulleyTileEntity; -import com.simibubi.create.content.contraptions.relays.encased.ClutchTileEntity; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedKineticBlockEntity; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedKineticBlockEntityInstance; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedKineticBlockEntityRenderer; +import com.simibubi.create.content.contraptions.relays.elementary.SimpleKineticBlockEntity; +import com.simibubi.create.content.contraptions.relays.encased.AdjustablePulleyBlockEntity; +import com.simibubi.create.content.contraptions.relays.encased.ClutchBlockEntity; import com.simibubi.create.content.contraptions.relays.encased.EncasedCogInstance; import com.simibubi.create.content.contraptions.relays.encased.EncasedCogRenderer; import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance; @@ -128,729 +128,729 @@ import com.simibubi.create.content.contraptions.relays.encased.SplitShaftInstanc import com.simibubi.create.content.contraptions.relays.encased.SplitShaftRenderer; import com.simibubi.create.content.contraptions.relays.gauge.GaugeInstance; 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.gauge.SpeedGaugeBlockEntity; +import com.simibubi.create.content.contraptions.relays.gauge.StressGaugeBlockEntity; +import com.simibubi.create.content.contraptions.relays.gearbox.GearboxBlockEntity; import com.simibubi.create.content.contraptions.relays.gearbox.GearboxInstance; 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.contraptions.relays.gearbox.GearshiftBlockEntity; +import com.simibubi.create.content.curiosities.armor.BacktankBlockEntity; import com.simibubi.create.content.curiosities.armor.BacktankInstance; import com.simibubi.create.content.curiosities.armor.BacktankRenderer; -import com.simibubi.create.content.curiosities.armor.BacktankTileEntity; import com.simibubi.create.content.curiosities.bell.BellRenderer; -import com.simibubi.create.content.curiosities.bell.HauntedBellTileEntity; -import com.simibubi.create.content.curiosities.bell.PeculiarBellTileEntity; +import com.simibubi.create.content.curiosities.bell.HauntedBellBlockEntity; +import com.simibubi.create.content.curiosities.bell.PeculiarBellBlockEntity; +import com.simibubi.create.content.curiosities.deco.PlacardBlockEntity; import com.simibubi.create.content.curiosities.deco.PlacardRenderer; -import com.simibubi.create.content.curiosities.deco.PlacardTileEntity; +import com.simibubi.create.content.curiosities.deco.SlidingDoorBlockEntity; import com.simibubi.create.content.curiosities.deco.SlidingDoorRenderer; -import com.simibubi.create.content.curiosities.deco.SlidingDoorTileEntity; -import com.simibubi.create.content.curiosities.frames.CopycatTileEntity; +import com.simibubi.create.content.curiosities.frames.CopycatBlockEntity; import com.simibubi.create.content.curiosities.toolbox.ToolBoxInstance; +import com.simibubi.create.content.curiosities.toolbox.ToolboxBlockEntity; import com.simibubi.create.content.curiosities.toolbox.ToolboxRenderer; -import com.simibubi.create.content.curiosities.toolbox.ToolboxTileEntity; +import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlockEntity; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelInstance; 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.belts.tunnel.BrassTunnelBlockEntity; +import com.simibubi.create.content.logistics.block.chute.ChuteBlockEntity; 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.chute.SmartChuteBlockEntity; import com.simibubi.create.content.logistics.block.chute.SmartChuteRenderer; -import com.simibubi.create.content.logistics.block.chute.SmartChuteTileEntity; +import com.simibubi.create.content.logistics.block.depot.DepotBlockEntity; 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.depot.EjectorBlockEntity; import com.simibubi.create.content.logistics.block.depot.EjectorInstance; import com.simibubi.create.content.logistics.block.depot.EjectorRenderer; -import com.simibubi.create.content.logistics.block.depot.EjectorTileEntity; import com.simibubi.create.content.logistics.block.diodes.BrassDiodeInstance; import com.simibubi.create.content.logistics.block.diodes.BrassDiodeRenderer; -import com.simibubi.create.content.logistics.block.diodes.PulseExtenderTileEntity; -import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterTileEntity; +import com.simibubi.create.content.logistics.block.diodes.PulseExtenderBlockEntity; +import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterBlockEntity; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkRenderer; -import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity; import com.simibubi.create.content.logistics.block.display.source.NixieTubeDisplaySource; import com.simibubi.create.content.logistics.block.display.target.NixieTubeDisplayTarget; +import com.simibubi.create.content.logistics.block.funnel.FunnelBlockEntity; import com.simibubi.create.content.logistics.block.funnel.FunnelInstance; 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.CreativeCrateTileEntity; +import com.simibubi.create.content.logistics.block.inventories.CreativeCrateBlockEntity; +import com.simibubi.create.content.logistics.block.mechanicalArm.ArmBlockEntity; import com.simibubi.create.content.logistics.block.mechanicalArm.ArmInstance; 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.redstone.AnalogLeverBlockEntity; import com.simibubi.create.content.logistics.block.redstone.AnalogLeverInstance; import com.simibubi.create.content.logistics.block.redstone.AnalogLeverRenderer; -import com.simibubi.create.content.logistics.block.redstone.AnalogLeverTileEntity; -import com.simibubi.create.content.logistics.block.redstone.ContentObserverTileEntity; +import com.simibubi.create.content.logistics.block.redstone.ContentObserverBlockEntity; +import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlockEntity; import com.simibubi.create.content.logistics.block.redstone.NixieTubeRenderer; -import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity; -import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkTileEntity; -import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchTileEntity; -import com.simibubi.create.content.logistics.block.vault.ItemVaultTileEntity; +import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkBlockEntity; +import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchBlockEntity; +import com.simibubi.create.content.logistics.block.vault.ItemVaultBlockEntity; +import com.simibubi.create.content.logistics.item.LecternControllerBlockEntity; import com.simibubi.create.content.logistics.item.LecternControllerRenderer; -import com.simibubi.create.content.logistics.item.LecternControllerTileEntity; -import com.simibubi.create.content.logistics.trains.BogeyTileEntityRenderer; +import com.simibubi.create.content.logistics.trains.BogeyBlockEntityRenderer; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayRenderer; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.observer.TrackObserverBlockEntity; import com.simibubi.create.content.logistics.trains.management.edgePoint.observer.TrackObserverRenderer; -import com.simibubi.create.content.logistics.trains.management.edgePoint.observer.TrackObserverTileEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlockEntity; import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalRenderer; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationBlockEntity; import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationRenderer; -import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationTileEntity; -import com.simibubi.create.content.logistics.trains.track.FakeTrackTileEntity; -import com.simibubi.create.content.logistics.trains.track.StandardBogeyTileEntity; +import com.simibubi.create.content.logistics.trains.track.FakeTrackBlockEntity; +import com.simibubi.create.content.logistics.trains.track.StandardBogeyBlockEntity; +import com.simibubi.create.content.logistics.trains.track.TrackBlockEntity; import com.simibubi.create.content.logistics.trains.track.TrackInstance; import com.simibubi.create.content.logistics.trains.track.TrackRenderer; -import com.simibubi.create.content.logistics.trains.track.TrackTileEntity; -import com.simibubi.create.content.schematics.block.SchematicTableTileEntity; +import com.simibubi.create.content.schematics.block.SchematicTableBlockEntity; +import com.simibubi.create.content.schematics.block.SchematicannonBlockEntity; import com.simibubi.create.content.schematics.block.SchematicannonInstance; 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.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import com.tterrag.registrate.util.entry.BlockEntityEntry; -public class AllTileEntities { +public class AllBlockEntityTypes { // Schematics - public static final BlockEntityEntry SCHEMATICANNON = REGISTRATE - .tileEntity("schematicannon", SchematicannonTileEntity::new) + public static final BlockEntityEntry SCHEMATICANNON = REGISTRATE + .blockEntity("schematicannon", SchematicannonBlockEntity::new) .instance(() -> SchematicannonInstance::new) .validBlocks(AllBlocks.SCHEMATICANNON) .renderer(() -> SchematicannonRenderer::new) .register(); - public static final BlockEntityEntry SCHEMATIC_TABLE = REGISTRATE - .tileEntity("schematic_table", SchematicTableTileEntity::new) + public static final BlockEntityEntry SCHEMATIC_TABLE = REGISTRATE + .blockEntity("schematic_table", SchematicTableBlockEntity::new) .validBlocks(AllBlocks.SCHEMATIC_TABLE) .register(); // Kinetics - public static final BlockEntityEntry BRACKETED_KINETIC = REGISTRATE - .tileEntity("simple_kinetic", BracketedKineticTileEntity::new) - .instance(() -> BracketedKineticTileInstance::new, false) + public static final BlockEntityEntry BRACKETED_KINETIC = REGISTRATE + .blockEntity("simple_kinetic", BracketedKineticBlockEntity::new) + .instance(() -> BracketedKineticBlockEntityInstance::new, false) .validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL) - .renderer(() -> BracketedKineticTileRenderer::new) + .renderer(() -> BracketedKineticBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry MOTOR = REGISTRATE - .tileEntity("motor", CreativeMotorTileEntity::new) + public static final BlockEntityEntry MOTOR = REGISTRATE + .blockEntity("motor", CreativeMotorBlockEntity::new) .instance(() -> HalfShaftInstance::new, false) .validBlocks(AllBlocks.CREATIVE_MOTOR) .renderer(() -> CreativeMotorRenderer::new) .register(); - public static final BlockEntityEntry GEARBOX = REGISTRATE - .tileEntity("gearbox", GearboxTileEntity::new) + public static final BlockEntityEntry GEARBOX = REGISTRATE + .blockEntity("gearbox", GearboxBlockEntity::new) .instance(() -> GearboxInstance::new, false) .validBlocks(AllBlocks.GEARBOX) .renderer(() -> GearboxRenderer::new) .register(); - public static final BlockEntityEntry ENCASED_SHAFT = REGISTRATE - .tileEntity("encased_shaft", KineticTileEntity::new) + public static final BlockEntityEntry ENCASED_SHAFT = REGISTRATE + .blockEntity("encased_shaft", KineticBlockEntity::new) .instance(() -> ShaftInstance::new, false) .validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_CHAIN_DRIVE, AllBlocks.METAL_GIRDER_ENCASED_SHAFT) .renderer(() -> ShaftRenderer::new) .register(); - public static final BlockEntityEntry ENCASED_COGWHEEL = REGISTRATE - .tileEntity("encased_cogwheel", SimpleKineticTileEntity::new) + public static final BlockEntityEntry ENCASED_COGWHEEL = REGISTRATE + .blockEntity("encased_cogwheel", SimpleKineticBlockEntity::new) .instance(() -> EncasedCogInstance::small, false) .validBlocks(AllBlocks.ANDESITE_ENCASED_COGWHEEL, AllBlocks.BRASS_ENCASED_COGWHEEL) .renderer(() -> EncasedCogRenderer::small) .register(); - public static final BlockEntityEntry ENCASED_LARGE_COGWHEEL = REGISTRATE - .tileEntity("encased_large_cogwheel", SimpleKineticTileEntity::new) + public static final BlockEntityEntry ENCASED_LARGE_COGWHEEL = REGISTRATE + .blockEntity("encased_large_cogwheel", SimpleKineticBlockEntity::new) .instance(() -> EncasedCogInstance::large, false) .validBlocks(AllBlocks.ANDESITE_ENCASED_LARGE_COGWHEEL, AllBlocks.BRASS_ENCASED_LARGE_COGWHEEL) .renderer(() -> EncasedCogRenderer::large) .register(); - public static final BlockEntityEntry ADJUSTABLE_PULLEY = REGISTRATE - .tileEntity("adjustable_pulley", AdjustablePulleyTileEntity::new) + public static final BlockEntityEntry ADJUSTABLE_PULLEY = REGISTRATE + .blockEntity("adjustable_pulley", AdjustablePulleyBlockEntity::new) .instance(() -> ShaftInstance::new, false) .validBlocks(AllBlocks.ADJUSTABLE_CHAIN_GEARSHIFT) .renderer(() -> ShaftRenderer::new) .register(); - public static final BlockEntityEntry ENCASED_FAN = REGISTRATE - .tileEntity("encased_fan", EncasedFanTileEntity::new) + public static final BlockEntityEntry ENCASED_FAN = REGISTRATE + .blockEntity("encased_fan", EncasedFanBlockEntity::new) .instance(() -> FanInstance::new, false) .validBlocks(AllBlocks.ENCASED_FAN) .renderer(() -> EncasedFanRenderer::new) .register(); - public static final BlockEntityEntry NOZZLE = REGISTRATE - .tileEntity("nozzle", NozzleTileEntity::new) + public static final BlockEntityEntry NOZZLE = REGISTRATE + .blockEntity("nozzle", NozzleBlockEntity::new) .validBlocks(AllBlocks.NOZZLE) // .renderer(() -> renderer) .register(); - public static final BlockEntityEntry CLUTCH = REGISTRATE - .tileEntity("clutch", ClutchTileEntity::new) + public static final BlockEntityEntry CLUTCH = REGISTRATE + .blockEntity("clutch", ClutchBlockEntity::new) .instance(() -> SplitShaftInstance::new, false) .validBlocks(AllBlocks.CLUTCH) .renderer(() -> SplitShaftRenderer::new) .register(); - public static final BlockEntityEntry GEARSHIFT = REGISTRATE - .tileEntity("gearshift", GearshiftTileEntity::new) + public static final BlockEntityEntry GEARSHIFT = REGISTRATE + .blockEntity("gearshift", GearshiftBlockEntity::new) .instance(() -> SplitShaftInstance::new, false) .validBlocks(AllBlocks.GEARSHIFT) .renderer(() -> SplitShaftRenderer::new) .register(); - public static final BlockEntityEntry TURNTABLE = REGISTRATE - .tileEntity("turntable", TurntableTileEntity::new) + public static final BlockEntityEntry TURNTABLE = REGISTRATE + .blockEntity("turntable", TurntableBlockEntity::new) .instance(() -> SingleRotatingInstance::new, false) .validBlocks(AllBlocks.TURNTABLE) - .renderer(() -> KineticTileEntityRenderer::new) + .renderer(() -> KineticBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry HAND_CRANK = REGISTRATE - .tileEntity("hand_crank", HandCrankTileEntity::new) + public static final BlockEntityEntry HAND_CRANK = REGISTRATE + .blockEntity("hand_crank", HandCrankBlockEntity::new) .instance(() -> HandCrankInstance::new) .validBlocks(AllBlocks.HAND_CRANK, AllBlocks.COPPER_VALVE_HANDLE) .validBlocks(AllBlocks.DYED_VALVE_HANDLES.toArray()) .renderer(() -> HandCrankRenderer::new) .register(); - public static final BlockEntityEntry CUCKOO_CLOCK = REGISTRATE - .tileEntity("cuckoo_clock", CuckooClockTileEntity::new) + public static final BlockEntityEntry CUCKOO_CLOCK = REGISTRATE + .blockEntity("cuckoo_clock", CuckooClockBlockEntity::new) .instance(() -> HorizontalHalfShaftInstance::new) .validBlocks(AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK) .renderer(() -> CuckooClockRenderer::new) .register(); - public static final BlockEntityEntry GANTRY_SHAFT = REGISTRATE - .tileEntity("gantry_shaft", GantryShaftTileEntity::new) + public static final BlockEntityEntry GANTRY_SHAFT = REGISTRATE + .blockEntity("gantry_shaft", GantryShaftBlockEntity::new) .instance(() -> SingleRotatingInstance::new, false) .validBlocks(AllBlocks.GANTRY_SHAFT) - .renderer(() -> KineticTileEntityRenderer::new) + .renderer(() -> KineticBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry GANTRY_PINION = REGISTRATE - .tileEntity("gantry_pinion", GantryCarriageTileEntity::new) + public static final BlockEntityEntry GANTRY_PINION = REGISTRATE + .blockEntity("gantry_pinion", GantryCarriageBlockEntity::new) .instance(() -> GantryCarriageInstance::new) .validBlocks(AllBlocks.GANTRY_CARRIAGE) .renderer(() -> GantryCarriageRenderer::new) .register(); - public static final BlockEntityEntry MECHANICAL_PUMP = REGISTRATE - .tileEntity("mechanical_pump", PumpTileEntity::new) + public static final BlockEntityEntry MECHANICAL_PUMP = REGISTRATE + .blockEntity("mechanical_pump", PumpBlockEntity::new) .instance(() -> PumpCogInstance::new) .validBlocks(AllBlocks.MECHANICAL_PUMP) .renderer(() -> PumpRenderer::new) .register(); - public static final BlockEntityEntry SMART_FLUID_PIPE = REGISTRATE - .tileEntity("smart_fluid_pipe", SmartFluidPipeTileEntity::new) + public static final BlockEntityEntry SMART_FLUID_PIPE = REGISTRATE + .blockEntity("smart_fluid_pipe", SmartFluidPipeBlockEntity::new) .validBlocks(AllBlocks.SMART_FLUID_PIPE) - .renderer(() -> SmartTileEntityRenderer::new) + .renderer(() -> SmartBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry FLUID_PIPE = REGISTRATE - .tileEntity("fluid_pipe", FluidPipeTileEntity::new) + public static final BlockEntityEntry FLUID_PIPE = REGISTRATE + .blockEntity("fluid_pipe", FluidPipeBlockEntity::new) .validBlocks(AllBlocks.FLUID_PIPE) .register(); - public static final BlockEntityEntry ENCASED_FLUID_PIPE = REGISTRATE - .tileEntity("encased_fluid_pipe", FluidPipeTileEntity::new) + public static final BlockEntityEntry ENCASED_FLUID_PIPE = REGISTRATE + .blockEntity("encased_fluid_pipe", FluidPipeBlockEntity::new) .validBlocks(AllBlocks.ENCASED_FLUID_PIPE) .register(); - public static final BlockEntityEntry GLASS_FLUID_PIPE = REGISTRATE - .tileEntity("glass_fluid_pipe", StraightPipeTileEntity::new) + public static final BlockEntityEntry GLASS_FLUID_PIPE = REGISTRATE + .blockEntity("glass_fluid_pipe", StraightPipeBlockEntity::new) .validBlocks(AllBlocks.GLASS_FLUID_PIPE) .renderer(() -> TransparentStraightPipeRenderer::new) .register(); - public static final BlockEntityEntry FLUID_VALVE = REGISTRATE - .tileEntity("fluid_valve", FluidValveTileEntity::new) + public static final BlockEntityEntry FLUID_VALVE = REGISTRATE + .blockEntity("fluid_valve", FluidValveBlockEntity::new) .instance(() -> FluidValveInstance::new) .validBlocks(AllBlocks.FLUID_VALVE) .renderer(() -> FluidValveRenderer::new) .register(); - public static final BlockEntityEntry FLUID_TANK = REGISTRATE - .tileEntity("fluid_tank", FluidTankTileEntity::new) + public static final BlockEntityEntry FLUID_TANK = REGISTRATE + .blockEntity("fluid_tank", FluidTankBlockEntity::new) .validBlocks(AllBlocks.FLUID_TANK) .renderer(() -> FluidTankRenderer::new) .register(); - public static final BlockEntityEntry CREATIVE_FLUID_TANK = REGISTRATE - .tileEntity("creative_fluid_tank", CreativeFluidTankTileEntity::new) + public static final BlockEntityEntry CREATIVE_FLUID_TANK = REGISTRATE + .blockEntity("creative_fluid_tank", CreativeFluidTankBlockEntity::new) .validBlocks(AllBlocks.CREATIVE_FLUID_TANK) .renderer(() -> FluidTankRenderer::new) .register(); - public static final BlockEntityEntry HOSE_PULLEY = REGISTRATE - .tileEntity("hose_pulley", HosePulleyTileEntity::new) + public static final BlockEntityEntry HOSE_PULLEY = REGISTRATE + .blockEntity("hose_pulley", HosePulleyBlockEntity::new) .instance(() -> HosePulleyInstance::new) .validBlocks(AllBlocks.HOSE_PULLEY) .renderer(() -> HosePulleyRenderer::new) .register(); - public static final BlockEntityEntry SPOUT = REGISTRATE - .tileEntity("spout", SpoutTileEntity::new) + public static final BlockEntityEntry SPOUT = REGISTRATE + .blockEntity("spout", SpoutBlockEntity::new) .validBlocks(AllBlocks.SPOUT) .renderer(() -> SpoutRenderer::new) .register(); - public static final BlockEntityEntry ITEM_DRAIN = REGISTRATE - .tileEntity("item_drain", ItemDrainTileEntity::new) + public static final BlockEntityEntry ITEM_DRAIN = REGISTRATE + .blockEntity("item_drain", ItemDrainBlockEntity::new) .validBlocks(AllBlocks.ITEM_DRAIN) .renderer(() -> ItemDrainRenderer::new) .register(); - public static final BlockEntityEntry BELT = REGISTRATE - .tileEntity("belt", BeltTileEntity::new) - .instance(() -> BeltInstance::new, BeltTileEntity::shouldRenderNormally) + public static final BlockEntityEntry BELT = REGISTRATE + .blockEntity("belt", BeltBlockEntity::new) + .instance(() -> BeltInstance::new, BeltBlockEntity::shouldRenderNormally) .validBlocks(AllBlocks.BELT) .renderer(() -> BeltRenderer::new) .register(); - public static final BlockEntityEntry CHUTE = REGISTRATE - .tileEntity("chute", ChuteTileEntity::new) + public static final BlockEntityEntry CHUTE = REGISTRATE + .blockEntity("chute", ChuteBlockEntity::new) .validBlocks(AllBlocks.CHUTE) .renderer(() -> ChuteRenderer::new) .register(); - public static final BlockEntityEntry SMART_CHUTE = REGISTRATE - .tileEntity("smart_chute", SmartChuteTileEntity::new) + public static final BlockEntityEntry SMART_CHUTE = REGISTRATE + .blockEntity("smart_chute", SmartChuteBlockEntity::new) .validBlocks(AllBlocks.SMART_CHUTE) .renderer(() -> SmartChuteRenderer::new) .register(); - public static final BlockEntityEntry ANDESITE_TUNNEL = REGISTRATE - .tileEntity("andesite_tunnel", BeltTunnelTileEntity::new) + public static final BlockEntityEntry ANDESITE_TUNNEL = REGISTRATE + .blockEntity("andesite_tunnel", BeltTunnelBlockEntity::new) .instance(() -> BeltTunnelInstance::new) .validBlocks(AllBlocks.ANDESITE_TUNNEL) .renderer(() -> BeltTunnelRenderer::new) .register(); - public static final BlockEntityEntry BRASS_TUNNEL = REGISTRATE - .tileEntity("brass_tunnel", BrassTunnelTileEntity::new) + public static final BlockEntityEntry BRASS_TUNNEL = REGISTRATE + .blockEntity("brass_tunnel", BrassTunnelBlockEntity::new) .instance(() -> BeltTunnelInstance::new) .validBlocks(AllBlocks.BRASS_TUNNEL) .renderer(() -> BeltTunnelRenderer::new) .register(); - public static final BlockEntityEntry MECHANICAL_ARM = REGISTRATE - .tileEntity("mechanical_arm", ArmTileEntity::new) + public static final BlockEntityEntry MECHANICAL_ARM = REGISTRATE + .blockEntity("mechanical_arm", ArmBlockEntity::new) .instance(() -> ArmInstance::new) .validBlocks(AllBlocks.MECHANICAL_ARM) .renderer(() -> ArmRenderer::new) .register(); - public static final BlockEntityEntry ITEM_VAULT = REGISTRATE - .tileEntity("item_vault", ItemVaultTileEntity::new) + public static final BlockEntityEntry ITEM_VAULT = REGISTRATE + .blockEntity("item_vault", ItemVaultBlockEntity::new) .validBlocks(AllBlocks.ITEM_VAULT) .register(); - public static final BlockEntityEntry MECHANICAL_PISTON = REGISTRATE - .tileEntity("mechanical_piston", MechanicalPistonTileEntity::new) + public static final BlockEntityEntry MECHANICAL_PISTON = REGISTRATE + .blockEntity("mechanical_piston", MechanicalPistonBlockEntity::new) .instance(() -> ShaftInstance::new, false) .validBlocks(AllBlocks.MECHANICAL_PISTON, AllBlocks.STICKY_MECHANICAL_PISTON) .renderer(() -> MechanicalPistonRenderer::new) .register(); - public static final BlockEntityEntry WINDMILL_BEARING = REGISTRATE - .tileEntity("windmill_bearing", WindmillBearingTileEntity::new) + public static final BlockEntityEntry WINDMILL_BEARING = REGISTRATE + .blockEntity("windmill_bearing", WindmillBearingBlockEntity::new) .instance(() -> BearingInstance::new) .validBlocks(AllBlocks.WINDMILL_BEARING) .renderer(() -> BearingRenderer::new) .register(); - public static final BlockEntityEntry MECHANICAL_BEARING = REGISTRATE - .tileEntity("mechanical_bearing", MechanicalBearingTileEntity::new) + public static final BlockEntityEntry MECHANICAL_BEARING = REGISTRATE + .blockEntity("mechanical_bearing", MechanicalBearingBlockEntity::new) .instance(() -> BearingInstance::new) .validBlocks(AllBlocks.MECHANICAL_BEARING) .renderer(() -> BearingRenderer::new) .register(); - public static final BlockEntityEntry CLOCKWORK_BEARING = REGISTRATE - .tileEntity("clockwork_bearing", ClockworkBearingTileEntity::new) + public static final BlockEntityEntry CLOCKWORK_BEARING = REGISTRATE + .blockEntity("clockwork_bearing", ClockworkBearingBlockEntity::new) .instance(() -> BearingInstance::new) .validBlocks(AllBlocks.CLOCKWORK_BEARING) .renderer(() -> BearingRenderer::new) .register(); - public static final BlockEntityEntry ROPE_PULLEY = REGISTRATE - .tileEntity("rope_pulley", PulleyTileEntity::new) + public static final BlockEntityEntry ROPE_PULLEY = REGISTRATE + .blockEntity("rope_pulley", PulleyBlockEntity::new) .instance(() -> RopePulleyInstance::new, false) .validBlocks(AllBlocks.ROPE_PULLEY) .renderer(() -> PulleyRenderer::new) .register(); - public static final BlockEntityEntry ELEVATOR_PULLEY = - REGISTRATE.tileEntity("elevator_pulley", ElevatorPulleyTileEntity::new) + public static final BlockEntityEntry ELEVATOR_PULLEY = + REGISTRATE.blockEntity("elevator_pulley", ElevatorPulleyBlockEntity::new) // .instance(() -> ElevatorPulleyInstance::new, false) .validBlocks(AllBlocks.ELEVATOR_PULLEY) .renderer(() -> ElevatorPulleyRenderer::new) .register(); - public static final BlockEntityEntry ELEVATOR_CONTACT = - REGISTRATE.tileEntity("elevator_contact", ElevatorContactTileEntity::new) + public static final BlockEntityEntry ELEVATOR_CONTACT = + REGISTRATE.blockEntity("elevator_contact", ElevatorContactBlockEntity::new) .validBlocks(AllBlocks.ELEVATOR_CONTACT) .register(); - public static final BlockEntityEntry CHASSIS = REGISTRATE - .tileEntity("chassis", ChassisTileEntity::new) + public static final BlockEntityEntry CHASSIS = REGISTRATE + .blockEntity("chassis", ChassisBlockEntity::new) .validBlocks(AllBlocks.RADIAL_CHASSIS, AllBlocks.LINEAR_CHASSIS, AllBlocks.SECONDARY_LINEAR_CHASSIS) // .renderer(() -> renderer) .register(); - public static final BlockEntityEntry STICKER = REGISTRATE - .tileEntity("sticker", StickerTileEntity::new) + public static final BlockEntityEntry STICKER = REGISTRATE + .blockEntity("sticker", StickerBlockEntity::new) .instance(() -> StickerInstance::new, false) .validBlocks(AllBlocks.STICKER) .renderer(() -> StickerRenderer::new) .register(); - public static final BlockEntityEntry CONTRAPTION_CONTROLS = - REGISTRATE.tileEntity("contraption_controls", ContraptionControlsTileEntity::new) + public static final BlockEntityEntry CONTRAPTION_CONTROLS = + REGISTRATE.blockEntity("contraption_controls", ContraptionControlsBlockEntity::new) .validBlocks(AllBlocks.CONTRAPTION_CONTROLS) .renderer(() -> ContraptionControlsRenderer::new) .register(); - public static final BlockEntityEntry DRILL = REGISTRATE - .tileEntity("drill", DrillTileEntity::new) + public static final BlockEntityEntry DRILL = REGISTRATE + .blockEntity("drill", DrillBlockEntity::new) .instance(() -> DrillInstance::new, false) .validBlocks(AllBlocks.MECHANICAL_DRILL) .renderer(() -> DrillRenderer::new) .register(); - public static final BlockEntityEntry SAW = REGISTRATE - .tileEntity("saw", SawTileEntity::new) + public static final BlockEntityEntry SAW = REGISTRATE + .blockEntity("saw", SawBlockEntity::new) .instance(() -> SawInstance::new) .validBlocks(AllBlocks.MECHANICAL_SAW) .renderer(() -> SawRenderer::new) .register(); - public static final BlockEntityEntry HARVESTER = REGISTRATE - .tileEntity("harvester", HarvesterTileEntity::new) + public static final BlockEntityEntry HARVESTER = REGISTRATE + .blockEntity("harvester", HarvesterBlockEntity::new) .validBlocks(AllBlocks.MECHANICAL_HARVESTER) .renderer(() -> HarvesterRenderer::new) .register(); - public static final BlockEntityEntry PORTABLE_STORAGE_INTERFACE = + public static final BlockEntityEntry PORTABLE_STORAGE_INTERFACE = REGISTRATE - .tileEntity("portable_storage_interface", PortableItemInterfaceTileEntity::new) + .blockEntity("portable_storage_interface", PortableItemInterfaceBlockEntity::new) .instance(() -> PSIInstance::new) .validBlocks(AllBlocks.PORTABLE_STORAGE_INTERFACE) .renderer(() -> PortableStorageInterfaceRenderer::new) .register(); - public static final BlockEntityEntry PORTABLE_FLUID_INTERFACE = + public static final BlockEntityEntry PORTABLE_FLUID_INTERFACE = REGISTRATE - .tileEntity("portable_fluid_interface", PortableFluidInterfaceTileEntity::new) + .blockEntity("portable_fluid_interface", PortableFluidInterfaceBlockEntity::new) .instance(() -> PSIInstance::new) .validBlocks(AllBlocks.PORTABLE_FLUID_INTERFACE) .renderer(() -> PortableStorageInterfaceRenderer::new) .register(); - public static final BlockEntityEntry STEAM_ENGINE = REGISTRATE - .tileEntity("steam_engine", SteamEngineTileEntity::new) + public static final BlockEntityEntry STEAM_ENGINE = REGISTRATE + .blockEntity("steam_engine", SteamEngineBlockEntity::new) .instance(() -> SteamEngineInstance::new, false) .validBlocks(AllBlocks.STEAM_ENGINE) .renderer(() -> SteamEngineRenderer::new) .register(); - public static final BlockEntityEntry STEAM_WHISTLE = REGISTRATE - .tileEntity("steam_whistle", WhistleTileEntity::new) + public static final BlockEntityEntry STEAM_WHISTLE = REGISTRATE + .blockEntity("steam_whistle", WhistleBlockEntity::new) .validBlocks(AllBlocks.STEAM_WHISTLE) .renderer(() -> WhistleRenderer::new) .register(); - public static final BlockEntityEntry POWERED_SHAFT = REGISTRATE - .tileEntity("powered_shaft", PoweredShaftTileEntity::new) + public static final BlockEntityEntry POWERED_SHAFT = REGISTRATE + .blockEntity("powered_shaft", PoweredShaftBlockEntity::new) .instance(() -> SingleRotatingInstance::new, false) .validBlocks(AllBlocks.POWERED_SHAFT) - .renderer(() -> KineticTileEntityRenderer::new) + .renderer(() -> KineticBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry FLYWHEEL = REGISTRATE - .tileEntity("flywheel", FlywheelTileEntity::new) + public static final BlockEntityEntry FLYWHEEL = REGISTRATE + .blockEntity("flywheel", FlywheelBlockEntity::new) .instance(() -> FlyWheelInstance::new, false) .validBlocks(AllBlocks.FLYWHEEL) .renderer(() -> FlywheelRenderer::new) .register(); - public static final BlockEntityEntry MILLSTONE = REGISTRATE - .tileEntity("millstone", MillstoneTileEntity::new) + public static final BlockEntityEntry MILLSTONE = REGISTRATE + .blockEntity("millstone", MillstoneBlockEntity::new) .instance(() -> MillStoneCogInstance::new, false) .validBlocks(AllBlocks.MILLSTONE) .renderer(() -> MillstoneRenderer::new) .register(); - public static final BlockEntityEntry CRUSHING_WHEEL = REGISTRATE - .tileEntity("crushing_wheel", CrushingWheelTileEntity::new) + public static final BlockEntityEntry CRUSHING_WHEEL = REGISTRATE + .blockEntity("crushing_wheel", CrushingWheelBlockEntity::new) .instance(() -> CutoutRotatingInstance::new, false) .validBlocks(AllBlocks.CRUSHING_WHEEL) - .renderer(() -> KineticTileEntityRenderer::new) + .renderer(() -> KineticBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry CRUSHING_WHEEL_CONTROLLER = + public static final BlockEntityEntry CRUSHING_WHEEL_CONTROLLER = REGISTRATE - .tileEntity("crushing_wheel_controller", CrushingWheelControllerTileEntity::new) + .blockEntity("crushing_wheel_controller", CrushingWheelControllerBlockEntity::new) .validBlocks(AllBlocks.CRUSHING_WHEEL_CONTROLLER) // .renderer(() -> renderer) .register(); - public static final BlockEntityEntry WATER_WHEEL = REGISTRATE - .tileEntity("water_wheel", WaterWheelTileEntity::new) + public static final BlockEntityEntry WATER_WHEEL = REGISTRATE + .blockEntity("water_wheel", WaterWheelBlockEntity::new) .instance(() -> CutoutRotatingInstance::new, false) .validBlocks(AllBlocks.WATER_WHEEL) - .renderer(() -> KineticTileEntityRenderer::new) + .renderer(() -> KineticBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry MECHANICAL_PRESS = REGISTRATE - .tileEntity("mechanical_press", MechanicalPressTileEntity::new) + public static final BlockEntityEntry MECHANICAL_PRESS = REGISTRATE + .blockEntity("mechanical_press", MechanicalPressBlockEntity::new) .instance(() -> PressInstance::new) .validBlocks(AllBlocks.MECHANICAL_PRESS) .renderer(() -> MechanicalPressRenderer::new) .register(); - public static final BlockEntityEntry MECHANICAL_MIXER = REGISTRATE - .tileEntity("mechanical_mixer", MechanicalMixerTileEntity::new) + public static final BlockEntityEntry MECHANICAL_MIXER = REGISTRATE + .blockEntity("mechanical_mixer", MechanicalMixerBlockEntity::new) .instance(() -> MixerInstance::new) .validBlocks(AllBlocks.MECHANICAL_MIXER) .renderer(() -> MechanicalMixerRenderer::new) .register(); - public static final BlockEntityEntry DEPLOYER = REGISTRATE - .tileEntity("deployer", DeployerTileEntity::new) + public static final BlockEntityEntry DEPLOYER = REGISTRATE + .blockEntity("deployer", DeployerBlockEntity::new) .instance(() -> DeployerInstance::new) .validBlocks(AllBlocks.DEPLOYER) .renderer(() -> DeployerRenderer::new) .register(); - public static final BlockEntityEntry BASIN = REGISTRATE - .tileEntity("basin", BasinTileEntity::new) + public static final BlockEntityEntry BASIN = REGISTRATE + .blockEntity("basin", BasinBlockEntity::new) .validBlocks(AllBlocks.BASIN) .renderer(() -> BasinRenderer::new) .register(); - public static final BlockEntityEntry HEATER = REGISTRATE - .tileEntity("blaze_heater", BlazeBurnerTileEntity::new) + public static final BlockEntityEntry HEATER = REGISTRATE + .blockEntity("blaze_heater", BlazeBurnerBlockEntity::new) .validBlocks(AllBlocks.BLAZE_BURNER) .renderer(() -> BlazeBurnerRenderer::new) .register(); - public static final BlockEntityEntry MECHANICAL_CRAFTER = REGISTRATE - .tileEntity("mechanical_crafter", MechanicalCrafterTileEntity::new) + public static final BlockEntityEntry MECHANICAL_CRAFTER = REGISTRATE + .blockEntity("mechanical_crafter", MechanicalCrafterBlockEntity::new) .instance(() -> MechanicalCrafterInstance::new) .validBlocks(AllBlocks.MECHANICAL_CRAFTER) .renderer(() -> MechanicalCrafterRenderer::new) .register(); - public static final BlockEntityEntry SEQUENCED_GEARSHIFT = REGISTRATE - .tileEntity("sequenced_gearshift", SequencedGearshiftTileEntity::new) + public static final BlockEntityEntry SEQUENCED_GEARSHIFT = REGISTRATE + .blockEntity("sequenced_gearshift", SequencedGearshiftBlockEntity::new) .instance(() -> SplitShaftInstance::new, false) .validBlocks(AllBlocks.SEQUENCED_GEARSHIFT) .renderer(() -> SplitShaftRenderer::new) .register(); - public static final BlockEntityEntry ROTATION_SPEED_CONTROLLER = REGISTRATE - .tileEntity("rotation_speed_controller", SpeedControllerTileEntity::new) + public static final BlockEntityEntry ROTATION_SPEED_CONTROLLER = REGISTRATE + .blockEntity("rotation_speed_controller", SpeedControllerBlockEntity::new) .instance(() -> ShaftInstance::new) .validBlocks(AllBlocks.ROTATION_SPEED_CONTROLLER) .renderer(() -> SpeedControllerRenderer::new) .register(); - public static final BlockEntityEntry SPEEDOMETER = REGISTRATE - .tileEntity("speedometer", SpeedGaugeTileEntity::new) + public static final BlockEntityEntry SPEEDOMETER = REGISTRATE + .blockEntity("speedometer", SpeedGaugeBlockEntity::new) .instance(() -> GaugeInstance.Speed::new) .validBlocks(AllBlocks.SPEEDOMETER) .renderer(() -> GaugeRenderer::speed) .register(); - public static final BlockEntityEntry STRESSOMETER = REGISTRATE - .tileEntity("stressometer", StressGaugeTileEntity::new) + public static final BlockEntityEntry STRESSOMETER = REGISTRATE + .blockEntity("stressometer", StressGaugeBlockEntity::new) .instance(() -> GaugeInstance.Stress::new) .validBlocks(AllBlocks.STRESSOMETER) .renderer(() -> GaugeRenderer::stress) .register(); - public static final BlockEntityEntry ANALOG_LEVER = REGISTRATE - .tileEntity("analog_lever", AnalogLeverTileEntity::new) + public static final BlockEntityEntry ANALOG_LEVER = REGISTRATE + .blockEntity("analog_lever", AnalogLeverBlockEntity::new) .instance(() -> AnalogLeverInstance::new, false) .validBlocks(AllBlocks.ANALOG_LEVER) .renderer(() -> AnalogLeverRenderer::new) .register(); - public static final BlockEntityEntry PLACARD = REGISTRATE - .tileEntity("placard", PlacardTileEntity::new) + public static final BlockEntityEntry PLACARD = REGISTRATE + .blockEntity("placard", PlacardBlockEntity::new) .validBlocks(AllBlocks.PLACARD) .renderer(() -> PlacardRenderer::new) .register(); - public static final BlockEntityEntry CART_ASSEMBLER = REGISTRATE - .tileEntity("cart_assembler", CartAssemblerTileEntity::new) + public static final BlockEntityEntry CART_ASSEMBLER = REGISTRATE + .blockEntity("cart_assembler", CartAssemblerBlockEntity::new) .validBlocks(AllBlocks.CART_ASSEMBLER) // .renderer(() -> renderer) .register(); // Logistics - public static final BlockEntityEntry REDSTONE_LINK = REGISTRATE - .tileEntity("redstone_link", RedstoneLinkTileEntity::new) + public static final BlockEntityEntry REDSTONE_LINK = REGISTRATE + .blockEntity("redstone_link", RedstoneLinkBlockEntity::new) .validBlocks(AllBlocks.REDSTONE_LINK) - .renderer(() -> SmartTileEntityRenderer::new) + .renderer(() -> SmartBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry NIXIE_TUBE = REGISTRATE - .tileEntity("nixie_tube", NixieTubeTileEntity::new) + public static final BlockEntityEntry NIXIE_TUBE = REGISTRATE + .blockEntity("nixie_tube", NixieTubeBlockEntity::new) .validBlocks(AllBlocks.ORANGE_NIXIE_TUBE) .validBlocks(AllBlocks.NIXIE_TUBES.toArray()) .renderer(() -> NixieTubeRenderer::new) - .onRegister(assignDataBehaviourTE(new NixieTubeDisplayTarget())) - .onRegister(assignDataBehaviourTE(new NixieTubeDisplaySource())) + .onRegister(assignDataBehaviourBE(new NixieTubeDisplayTarget())) + .onRegister(assignDataBehaviourBE(new NixieTubeDisplaySource())) .register(); - public static final BlockEntityEntry DISPLAY_LINK = REGISTRATE - .tileEntity("display_link", DisplayLinkTileEntity::new) + public static final BlockEntityEntry DISPLAY_LINK = REGISTRATE + .blockEntity("display_link", DisplayLinkBlockEntity::new) .validBlocks(AllBlocks.DISPLAY_LINK) .renderer(() -> DisplayLinkRenderer::new) .register(); - public static final BlockEntityEntry STOCKPILE_SWITCH = REGISTRATE - .tileEntity("stockpile_switch", StockpileSwitchTileEntity::new) + public static final BlockEntityEntry STOCKPILE_SWITCH = REGISTRATE + .blockEntity("stockpile_switch", StockpileSwitchBlockEntity::new) .validBlocks(AllBlocks.STOCKPILE_SWITCH) - .renderer(() -> SmartTileEntityRenderer::new) + .renderer(() -> SmartBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry CREATIVE_CRATE = REGISTRATE - .tileEntity("creative_crate", CreativeCrateTileEntity::new) + public static final BlockEntityEntry CREATIVE_CRATE = REGISTRATE + .blockEntity("creative_crate", CreativeCrateBlockEntity::new) .validBlocks(AllBlocks.CREATIVE_CRATE) - .renderer(() -> SmartTileEntityRenderer::new) + .renderer(() -> SmartBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry DEPOT = REGISTRATE - .tileEntity("depot", DepotTileEntity::new) + public static final BlockEntityEntry DEPOT = REGISTRATE + .blockEntity("depot", DepotBlockEntity::new) .validBlocks(AllBlocks.DEPOT) .renderer(() -> DepotRenderer::new) .register(); - public static final BlockEntityEntry WEIGHTED_EJECTOR = REGISTRATE - .tileEntity("weighted_ejector", EjectorTileEntity::new) + public static final BlockEntityEntry WEIGHTED_EJECTOR = REGISTRATE + .blockEntity("weighted_ejector", EjectorBlockEntity::new) .instance(() -> EjectorInstance::new) .validBlocks(AllBlocks.WEIGHTED_EJECTOR) .renderer(() -> EjectorRenderer::new) .register(); - public static final BlockEntityEntry FUNNEL = REGISTRATE - .tileEntity("funnel", FunnelTileEntity::new) + public static final BlockEntityEntry FUNNEL = REGISTRATE + .blockEntity("funnel", FunnelBlockEntity::new) .instance(() -> FunnelInstance::new) .validBlocks(AllBlocks.BRASS_FUNNEL, AllBlocks.BRASS_BELT_FUNNEL, AllBlocks.ANDESITE_FUNNEL, AllBlocks.ANDESITE_BELT_FUNNEL) .renderer(() -> FunnelRenderer::new) .register(); - public static final BlockEntityEntry CONTENT_OBSERVER = REGISTRATE - .tileEntity("content_observer", ContentObserverTileEntity::new) + public static final BlockEntityEntry CONTENT_OBSERVER = REGISTRATE + .blockEntity("content_observer", ContentObserverBlockEntity::new) .validBlocks(AllBlocks.CONTENT_OBSERVER) - .renderer(() -> SmartTileEntityRenderer::new) + .renderer(() -> SmartBlockEntityRenderer::new) .register(); - public static final BlockEntityEntry PULSE_EXTENDER = REGISTRATE - .tileEntity("pulse_extender", PulseExtenderTileEntity::new) + public static final BlockEntityEntry PULSE_EXTENDER = REGISTRATE + .blockEntity("pulse_extender", PulseExtenderBlockEntity::new) .instance(() -> BrassDiodeInstance::new, false) .validBlocks(AllBlocks.PULSE_EXTENDER) .renderer(() -> BrassDiodeRenderer::new) .register(); - public static final BlockEntityEntry PULSE_REPEATER = REGISTRATE - .tileEntity("pulse_repeater", PulseRepeaterTileEntity::new) + public static final BlockEntityEntry PULSE_REPEATER = REGISTRATE + .blockEntity("pulse_repeater", PulseRepeaterBlockEntity::new) .instance(() -> BrassDiodeInstance::new, false) .validBlocks(AllBlocks.PULSE_REPEATER) .renderer(() -> BrassDiodeRenderer::new) .register(); - public static final BlockEntityEntry LECTERN_CONTROLLER = REGISTRATE - .tileEntity("lectern_controller", LecternControllerTileEntity::new) + public static final BlockEntityEntry LECTERN_CONTROLLER = REGISTRATE + .blockEntity("lectern_controller", LecternControllerBlockEntity::new) .validBlocks(AllBlocks.LECTERN_CONTROLLER) .renderer(() -> LecternControllerRenderer::new) .register(); // Curiosities - public static final BlockEntityEntry BACKTANK = REGISTRATE - .tileEntity("backtank", BacktankTileEntity::new) + public static final BlockEntityEntry BACKTANK = REGISTRATE + .blockEntity("backtank", BacktankBlockEntity::new) .instance(() -> BacktankInstance::new) .validBlocks(AllBlocks.COPPER_BACKTANK, AllBlocks.NETHERITE_BACKTANK) .renderer(() -> BacktankRenderer::new) .register(); - public static final BlockEntityEntry PECULIAR_BELL = REGISTRATE - .tileEntity("peculiar_bell", PeculiarBellTileEntity::new) + public static final BlockEntityEntry PECULIAR_BELL = REGISTRATE + .blockEntity("peculiar_bell", PeculiarBellBlockEntity::new) .validBlocks(AllBlocks.PECULIAR_BELL) .renderer(() -> BellRenderer::new) .register(); - public static final BlockEntityEntry HAUNTED_BELL = REGISTRATE - .tileEntity("cursed_bell", HauntedBellTileEntity::new) + public static final BlockEntityEntry HAUNTED_BELL = REGISTRATE + .blockEntity("cursed_bell", HauntedBellBlockEntity::new) .validBlocks(AllBlocks.HAUNTED_BELL) .renderer(() -> BellRenderer::new) .register(); - public static final BlockEntityEntry TOOLBOX = REGISTRATE - .tileEntity("toolbox", ToolboxTileEntity::new) + public static final BlockEntityEntry TOOLBOX = REGISTRATE + .blockEntity("toolbox", ToolboxBlockEntity::new) .instance(() -> ToolBoxInstance::new, false) .validBlocks(AllBlocks.TOOLBOXES.toArray()) .renderer(() -> ToolboxRenderer::new) .register(); - public static final BlockEntityEntry TRACK = REGISTRATE - .tileEntity("track", TrackTileEntity::new) + public static final BlockEntityEntry TRACK = REGISTRATE + .blockEntity("track", TrackBlockEntity::new) .instance(() -> TrackInstance::new) .renderer(() -> TrackRenderer::new) .validBlocks(AllBlocks.TRACK) .register(); - public static final BlockEntityEntry FAKE_TRACK = REGISTRATE - .tileEntity("fake_track", FakeTrackTileEntity::new) + public static final BlockEntityEntry FAKE_TRACK = REGISTRATE + .blockEntity("fake_track", FakeTrackBlockEntity::new) .validBlocks(AllBlocks.FAKE_TRACK) .register(); - public static final BlockEntityEntry BOGEY = REGISTRATE - .tileEntity("bogey", StandardBogeyTileEntity::new) - .renderer(() -> BogeyTileEntityRenderer::new) + public static final BlockEntityEntry BOGEY = REGISTRATE + .blockEntity("bogey", StandardBogeyBlockEntity::new) + .renderer(() -> BogeyBlockEntityRenderer::new) .validBlocks(AllBlocks.SMALL_BOGEY, AllBlocks.LARGE_BOGEY) .register(); - public static final BlockEntityEntry TRACK_STATION = REGISTRATE - .tileEntity("track_station", StationTileEntity::new) + public static final BlockEntityEntry TRACK_STATION = REGISTRATE + .blockEntity("track_station", StationBlockEntity::new) .renderer(() -> StationRenderer::new) .validBlocks(AllBlocks.TRACK_STATION) .register(); - public static final BlockEntityEntry SLIDING_DOOR = REGISTRATE - .tileEntity("sliding_door", SlidingDoorTileEntity::new) + public static final BlockEntityEntry SLIDING_DOOR = REGISTRATE + .blockEntity("sliding_door", SlidingDoorBlockEntity::new) .renderer(() -> SlidingDoorRenderer::new) .validBlocks(AllBlocks.TRAIN_DOOR, AllBlocks.FRAMED_GLASS_DOOR) .register(); - public static final BlockEntityEntry UNIVERSAL_FRAME = REGISTRATE - .tileEntity("universal_frame", CopycatTileEntity::new) + public static final BlockEntityEntry UNIVERSAL_FRAME = REGISTRATE + .blockEntity("universal_frame", CopycatBlockEntity::new) .validBlocks(AllBlocks.COPYCAT_PANEL, AllBlocks.COPYCAT_STEP) .register(); - public static final BlockEntityEntry FLAP_DISPLAY = REGISTRATE - .tileEntity("flap_display", FlapDisplayTileEntity::new) + public static final BlockEntityEntry FLAP_DISPLAY = REGISTRATE + .blockEntity("flap_display", FlapDisplayBlockEntity::new) .instance(() -> MechanicalCrafterInstance::new) .renderer(() -> FlapDisplayRenderer::new) .validBlocks(AllBlocks.DISPLAY_BOARD) .register(); - public static final BlockEntityEntry TRACK_SIGNAL = REGISTRATE - .tileEntity("track_signal", SignalTileEntity::new) + public static final BlockEntityEntry TRACK_SIGNAL = REGISTRATE + .blockEntity("track_signal", SignalBlockEntity::new) .renderer(() -> SignalRenderer::new) .validBlocks(AllBlocks.TRACK_SIGNAL) .register(); - public static final BlockEntityEntry TRACK_OBSERVER = REGISTRATE - .tileEntity("track_observer", TrackObserverTileEntity::new) + public static final BlockEntityEntry TRACK_OBSERVER = REGISTRATE + .blockEntity("track_observer", TrackObserverBlockEntity::new) .renderer(() -> TrackObserverRenderer::new) .validBlocks(AllBlocks.TRACK_OBSERVER) .register(); diff --git a/src/main/java/com/simibubi/create/Create.java b/src/main/java/com/simibubi/create/Create.java index 967c32e43..892cccdeb 100644 --- a/src/main/java/com/simibubi/create/Create.java +++ b/src/main/java/com/simibubi/create/Create.java @@ -111,7 +111,7 @@ public class Create { AllPaletteBlocks.register(); AllMenuTypes.register(); AllEntityTypes.register(); - AllTileEntities.register(); + AllBlockEntityTypes.register(); AllEnchantments.register(); AllRecipeTypes.register(modEventBus); AllParticleTypes.register(modEventBus); diff --git a/src/main/java/com/simibubi/create/CreateClient.java b/src/main/java/com/simibubi/create/CreateClient.java index cb68f1a4a..6cf74ddcd 100644 --- a/src/main/java/com/simibubi/create/CreateClient.java +++ b/src/main/java/com/simibubi/create/CreateClient.java @@ -1,6 +1,6 @@ package com.simibubi.create; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueSelectionHandler; import com.simibubi.create.content.contraptions.components.structureMovement.interaction.controls.TrainHUD; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher; @@ -76,10 +76,10 @@ public class CreateClient { } public static void clientInit(final FMLClientSetupEvent event) { - BUFFER_CACHE.registerCompartment(CachedBufferer.GENERIC_TILE); + BUFFER_CACHE.registerCompartment(CachedBufferer.GENERIC_BLOCK); BUFFER_CACHE.registerCompartment(CachedBufferer.PARTIAL); BUFFER_CACHE.registerCompartment(CachedBufferer.DIRECTIONAL_PARTIAL); - BUFFER_CACHE.registerCompartment(KineticTileEntityRenderer.KINETIC_TILE); + BUFFER_CACHE.registerCompartment(KineticBlockEntityRenderer.KINETIC_BLOCK); BUFFER_CACHE.registerCompartment(SBBContraptionManager.CONTRAPTION, 20); BUFFER_CACHE.registerCompartment(WorldSectionElement.DOC_WORLD_SECTION, 20); diff --git a/src/main/java/com/simibubi/create/api/behaviour/BlockSpoutingBehaviour.java b/src/main/java/com/simibubi/create/api/behaviour/BlockSpoutingBehaviour.java index 8915492b8..c2f33942b 100644 --- a/src/main/java/com/simibubi/create/api/behaviour/BlockSpoutingBehaviour.java +++ b/src/main/java/com/simibubi/create/api/behaviour/BlockSpoutingBehaviour.java @@ -6,7 +6,7 @@ import java.util.function.Consumer; import com.simibubi.create.Create; import com.simibubi.create.compat.tconstruct.SpoutCasting; -import com.simibubi.create.content.contraptions.fluids.actors.SpoutTileEntity; +import com.simibubi.create.content.contraptions.fluids.actors.SpoutBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; @@ -43,7 +43,7 @@ public abstract class BlockSpoutingBehaviour { * @param simulate whether the spout is testing or actually performing this behaviour * @return amount filled into the block, 0 to idle/cancel */ - public abstract int fillBlock(Level world, BlockPos pos, SpoutTileEntity spout, FluidStack availableFluid, + public abstract int fillBlock(Level world, BlockPos pos, SpoutBlockEntity spout, FluidStack availableFluid, boolean simulate); public static void registerDefaults() { diff --git a/src/main/java/com/simibubi/create/api/connectivity/ConnectivityHandler.java b/src/main/java/com/simibubi/create/api/connectivity/ConnectivityHandler.java index cb6ed563c..f355cccf5 100644 --- a/src/main/java/com/simibubi/create/api/connectivity/ConnectivityHandler.java +++ b/src/main/java/com/simibubi/create/api/connectivity/ConnectivityHandler.java @@ -13,8 +13,8 @@ import javax.annotation.Nullable; import org.apache.commons.lang3.tuple.Pair; -import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity; -import com.simibubi.create.foundation.tileEntity.IMultiTileContainer; +import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankBlockEntity; +import com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -31,14 +31,14 @@ import net.minecraftforge.items.CapabilityItemHandler; public class ConnectivityHandler { - public static void formMulti(T be) { + public static void formMulti(T be) { SearchCache cache = new SearchCache<>(); List frontier = new ArrayList<>(); frontier.add(be); formMulti(be.getType(), be.getLevel(), cache, frontier); } - private static void formMulti(BlockEntityType type, + private static void formMulti(BlockEntityType type, BlockGetter level, SearchCache cache, List frontier) { PriorityQueue> creationQueue = makeCreationQueue(); Set visited = new HashSet<>(); @@ -110,7 +110,7 @@ public class ConnectivityHandler { } } - private static int tryToFormNewMulti(T be, SearchCache cache, + private static int tryToFormNewMulti(T be, SearchCache cache, boolean simulate) { int bestWidth = 1; int bestAmount = -1; @@ -132,7 +132,7 @@ public class ConnectivityHandler { return bestAmount; splitMultiAndInvalidate(be, cache, false); - if (be instanceof IMultiTileContainer.Fluid ifluid && ifluid.hasTank()) + if (be instanceof IMultiBlockEntityContainer.Fluid ifluid && ifluid.hasTank()) ifluid.setTankSize(0, bestAmount); tryToFormNewMultiOfWidth(be, bestWidth, cache, false); @@ -145,7 +145,7 @@ public class ConnectivityHandler { return bestAmount; } - private static int tryToFormNewMultiOfWidth(T be, int width, + private static int tryToFormNewMultiOfWidth(T be, int width, SearchCache cache, boolean simulate) { int amount = 0; int height = 0; @@ -158,7 +158,7 @@ public class ConnectivityHandler { // optional fluid handling IFluidTank beTank = null; FluidStack fluid = FluidStack.EMPTY; - if (be instanceof IMultiTileContainer.Fluid ifluid && ifluid.hasTank()) { + if (be instanceof IMultiBlockEntityContainer.Fluid ifluid && ifluid.hasTank()) { beTank = ifluid.getTank(0); fluid = beTank.getFluid(); } @@ -213,7 +213,7 @@ public class ConnectivityHandler { break Search; } } - if (controller instanceof IMultiTileContainer.Fluid ifluidCon && ifluidCon.hasTank()) { + if (controller instanceof IMultiBlockEntityContainer.Fluid ifluidCon && ifluidCon.hasTank()) { FluidStack otherFluid = ifluidCon.getFluid(0); if (!fluid.isEmpty() && !otherFluid.isEmpty() && !fluid.isFluidEqual(otherFluid)) break Search; @@ -245,17 +245,17 @@ public class ConnectivityHandler { extraData = be.modifyExtraData(extraData); - if (part instanceof IMultiTileContainer.Fluid ifluidPart && ifluidPart.hasTank()) { + if (part instanceof IMultiBlockEntityContainer.Fluid ifluidPart && ifluidPart.hasTank()) { IFluidTank tankAt = ifluidPart.getTank(0); FluidStack fluidAt = tankAt.getFluid(); if (!fluidAt.isEmpty()) { // making this generic would be a rather large mess, unfortunately if (beTank != null && fluid.isEmpty() - && beTank instanceof CreativeFluidTankTileEntity.CreativeSmartFluidTank) { - ((CreativeFluidTankTileEntity.CreativeSmartFluidTank) beTank) + && beTank instanceof CreativeFluidTankBlockEntity.CreativeSmartFluidTank) { + ((CreativeFluidTankBlockEntity.CreativeSmartFluidTank) beTank) .setContainedFluid(fluidAt); } - if (be instanceof IMultiTileContainer.Fluid ifluidBE && ifluidBE.hasTank() + if (be instanceof IMultiBlockEntityContainer.Fluid ifluidBE && ifluidBE.hasTank() && beTank != null) { beTank.fill(fluidAt, IFluidHandler.FluidAction.EXECUTE); } @@ -278,18 +278,18 @@ public class ConnectivityHandler { return amount; } - public static void splitMulti(T be) { + public static void splitMulti(T be) { splitMultiAndInvalidate(be, null, false); } // tryReconnect helps whenever only a few tanks have been removed - private static void splitMultiAndInvalidate(T be, + private static void splitMultiAndInvalidate(T be, @Nullable SearchCache cache, boolean tryReconnect) { Level level = be.getLevel(); if (level == null) return; - be = be.getControllerTE(); + be = be.getControllerBE(); if (be == null) return; @@ -305,7 +305,7 @@ public class ConnectivityHandler { // fluid handling, if present FluidStack toDistribute = FluidStack.EMPTY; int maxCapacity = 0; - if (be instanceof IMultiTileContainer.Fluid ifluidBE && ifluidBE.hasTank()) { + if (be instanceof IMultiBlockEntityContainer.Fluid ifluidBE && ifluidBE.hasTank()) { toDistribute = ifluidBE.getFluid(0); maxCapacity = ifluidBE.getTankSize(0); if (!toDistribute.isEmpty() && !be.isRemoved()) @@ -330,16 +330,16 @@ public class ConnectivityHandler { .equals(origin)) continue; - T controllerBE = partAt.getControllerTE(); + T controllerBE = partAt.getControllerBE(); partAt.setExtraData((controllerBE == null ? null : controllerBE.getExtraData())); partAt.removeController(true); if (!toDistribute.isEmpty() && partAt != be) { FluidStack copy = toDistribute.copy(); IFluidTank tank = - (partAt instanceof IMultiTileContainer.Fluid ifluidPart ? ifluidPart.getTank(0) : null); + (partAt instanceof IMultiBlockEntityContainer.Fluid ifluidPart ? ifluidPart.getTank(0) : null); // making this generic would be a rather large mess, unfortunately - if (tank instanceof CreativeFluidTankTileEntity.CreativeSmartFluidTank creativeTank) { + if (tank instanceof CreativeFluidTankBlockEntity.CreativeSmartFluidTank creativeTank) { if (creativeTank.isEmpty()) creativeTank.setContainedFluid(toDistribute); } else { @@ -360,10 +360,10 @@ public class ConnectivityHandler { } } - if (be instanceof IMultiTileContainer.Inventory inv && inv.hasInventory()) + if (be instanceof IMultiBlockEntityContainer.Inventory inv && inv.hasInventory()) be.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) .invalidate(); - if (be instanceof IMultiTileContainer.Fluid fluid && fluid.hasTank()) + if (be instanceof IMultiBlockEntityContainer.Fluid fluid && fluid.hasTank()) be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) .invalidate(); @@ -371,12 +371,12 @@ public class ConnectivityHandler { formMulti(be.getType(), level, cache == null ? new SearchCache<>() : cache, frontier); } - private static PriorityQueue> makeCreationQueue() { + private static PriorityQueue> makeCreationQueue() { return new PriorityQueue<>((one, two) -> two.getKey() - one.getKey()); } @Nullable - public static T partAt(BlockEntityType type, BlockGetter level, + public static T partAt(BlockEntityType type, BlockGetter level, BlockPos pos) { BlockEntity be = level.getBlockEntity(pos); if (be != null && be.getType() == type && !be.isRemoved()) @@ -384,7 +384,7 @@ public class ConnectivityHandler { return null; } - public static boolean isConnected(BlockGetter level, BlockPos pos, + public static boolean isConnected(BlockGetter level, BlockPos pos, BlockPos other) { T one = checked(level.getBlockEntity(pos)); T two = checked(level.getBlockEntity(other)); @@ -396,13 +396,13 @@ public class ConnectivityHandler { @Nullable @SuppressWarnings("unchecked") - private static T checked(BlockEntity be) { - if (be instanceof IMultiTileContainer) + private static T checked(BlockEntity be) { + if (be instanceof IMultiBlockEntityContainer) return (T) be; return null; } - private static class SearchCache { + private static class SearchCache { Map> controllerMap; public SearchCache() { diff --git a/src/main/java/com/simibubi/create/api/event/BlockEntityBehaviourEvent.java b/src/main/java/com/simibubi/create/api/event/BlockEntityBehaviourEvent.java new file mode 100644 index 000000000..146d5ad1b --- /dev/null +++ b/src/main/java/com/simibubi/create/api/event/BlockEntityBehaviourEvent.java @@ -0,0 +1,58 @@ +package com.simibubi.create.api.event; + +import java.lang.reflect.Type; +import java.util.Map; + +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; + +import net.minecraft.world.level.block.state.BlockState; +import net.minecraftforge.eventbus.api.GenericEvent; + +/** + * Event that is fired just before a SmartBlockEntity is being deserialized
+ * Also if a new one is placed
+ * Use it to attach a new {@link BlockEntityBehaviour} or replace existing ones + * (with caution)
+ *
+ * Actual setup of the behaviours internal workings and data should be done in + * BlockEntityBehaviour#read() and BlockEntityBehaviour#initialize() + * respectively.
+ *
+ * Because of the earliness of this event, the added behaviours will have access + * to the initial NBT read (unless the BE was placed, not loaded), thereby + * allowing block entities to store and retrieve data for injected behaviours. + */ +public class BlockEntityBehaviourEvent extends GenericEvent { + + private T smartBlockEntity; + private Map, BlockEntityBehaviour> behaviours; + + public BlockEntityBehaviourEvent(T blockEntity, Map, BlockEntityBehaviour> behaviours) { + smartBlockEntity = blockEntity; + this.behaviours = behaviours; + } + + @Override + public Type getGenericType() { + return smartBlockEntity.getClass(); + } + + public void attach(BlockEntityBehaviour behaviour) { + behaviours.put(behaviour.getType(), behaviour); + } + + public BlockEntityBehaviour remove(BehaviourType type) { + return behaviours.remove(type); + } + + public T getBlockEntity() { + return smartBlockEntity; + } + + public BlockState getBlockState() { + return smartBlockEntity.getBlockState(); + } + +} diff --git a/src/main/java/com/simibubi/create/api/event/TileEntityBehaviourEvent.java b/src/main/java/com/simibubi/create/api/event/TileEntityBehaviourEvent.java deleted file mode 100644 index 657d21065..000000000 --- a/src/main/java/com/simibubi/create/api/event/TileEntityBehaviourEvent.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.simibubi.create.api.event; - -import java.lang.reflect.Type; -import java.util.Map; - -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; - -import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.eventbus.api.GenericEvent; - -/** - * Event that is fired just before a SmartTileEntity is being deserialized
- * Also if a new one is placed
- * Use it to attach a new {@link TileEntityBehaviour} or replace existing ones - * (with caution)
- *
- * Actual setup of the behaviours internal workings and data should be done in - * TileEntityBehaviour#read() and TileEntityBehaviour#initialize() - * respectively.
- *
- * Because of the earliness of this event, the added behaviours will have access - * to the initial NBT read (unless the TE was placed, not loaded), thereby - * allowing tiles to store and retrieve data for injected behaviours. - */ -public class TileEntityBehaviourEvent extends GenericEvent { - - private T smartTileEntity; - private Map, TileEntityBehaviour> behaviours; - - public TileEntityBehaviourEvent(T tileEntity, Map, TileEntityBehaviour> behaviours) { - smartTileEntity = tileEntity; - this.behaviours = behaviours; - } - - @Override - public Type getGenericType() { - return smartTileEntity.getClass(); - } - - public void attach(TileEntityBehaviour behaviour) { - behaviours.put(behaviour.getType(), behaviour); - } - - public TileEntityBehaviour remove(BehaviourType type) { - return behaviours.remove(type); - } - - public T getTileEntity() { - return smartTileEntity; - } - - public BlockState getBlockState() { - return smartTileEntity.getBlockState(); - } - -} diff --git a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java index aee865c74..8a1b6741a 100644 --- a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java +++ b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java @@ -46,10 +46,10 @@ import com.simibubi.create.content.contraptions.components.deployer.DeployerAppl import com.simibubi.create.content.contraptions.components.deployer.ManualApplicationRecipe; import com.simibubi.create.content.contraptions.components.fan.HauntingRecipe; import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe; -import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity; +import com.simibubi.create.content.contraptions.components.press.MechanicalPressBlockEntity; import com.simibubi.create.content.contraptions.components.press.PressingRecipe; import com.simibubi.create.content.contraptions.components.saw.CuttingRecipe; -import com.simibubi.create.content.contraptions.components.saw.SawTileEntity; +import com.simibubi.create.content.contraptions.components.saw.SawBlockEntity; import com.simibubi.create.content.contraptions.fluids.actors.FillingRecipe; import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid; import com.simibubi.create.content.contraptions.fluids.recipe.PotionMixingRecipes; @@ -177,7 +177,7 @@ public class CreateJEI implements IModPlugin { .addAllRecipesIf(r -> r instanceof CraftingRecipe && !(r instanceof IShapedRecipe) && r.getIngredients() .size() > 1 - && !MechanicalPressTileEntity.canCompress(r) && !AllRecipeTypes.shouldIgnoreInAutomation(r), + && !MechanicalPressBlockEntity.canCompress(r) && !AllRecipeTypes.shouldIgnoreInAutomation(r), BasinRecipe::convertShapeless) .catalyst(AllBlocks.MECHANICAL_MIXER::get) .catalyst(AllBlocks.BASIN::get) @@ -206,7 +206,7 @@ public class CreateJEI implements IModPlugin { .enableWhen(c -> c.allowShapedSquareInPress) .addAllRecipesIf( r -> (r instanceof CraftingRecipe) && !(r instanceof MechanicalCraftingRecipe) - && MechanicalPressTileEntity.canCompress(r) && !AllRecipeTypes.shouldIgnoreInAutomation(r), + && MechanicalPressBlockEntity.canCompress(r) && !AllRecipeTypes.shouldIgnoreInAutomation(r), BasinRecipe::convertShapeless) .catalyst(AllBlocks.MECHANICAL_PRESS::get) .catalyst(AllBlocks.BASIN::get) @@ -232,7 +232,7 @@ public class CreateJEI implements IModPlugin { woodCutting = builder(CondensedBlockCuttingRecipe.class) .enableIf(c -> c.allowWoodcuttingOnSaw.get() && ModList.get() .isLoaded("druidcraft")) - .addRecipes(() -> CondensedBlockCuttingRecipe.condenseRecipes(getTypedRecipesExcluding(SawTileEntity.woodcuttingRecipeType.get(), AllRecipeTypes::shouldIgnoreInAutomation))) + .addRecipes(() -> CondensedBlockCuttingRecipe.condenseRecipes(getTypedRecipesExcluding(SawBlockEntity.woodcuttingRecipeType.get(), AllRecipeTypes::shouldIgnoreInAutomation))) .catalyst(AllBlocks.MECHANICAL_SAW::get) .doubleItemIcon(AllBlocks.MECHANICAL_SAW.get(), Items.OAK_STAIRS) .emptyBackground(177, 70) diff --git a/src/main/java/com/simibubi/create/compat/storageDrawers/StorageDrawers.java b/src/main/java/com/simibubi/create/compat/storageDrawers/StorageDrawers.java index 45fa06186..f671c259a 100644 --- a/src/main/java/com/simibubi/create/compat/storageDrawers/StorageDrawers.java +++ b/src/main/java/com/simibubi/create/compat/storageDrawers/StorageDrawers.java @@ -1,7 +1,7 @@ package com.simibubi.create.compat.storageDrawers; import com.simibubi.create.compat.Mods; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.BlockEntity; @@ -9,9 +9,9 @@ import net.minecraftforge.items.IItemHandler; public class StorageDrawers { - public static boolean isDrawer(BlockEntity tile) { - return tile != null && Mods.STORAGEDRAWERS.asId() - .equals(tile.getType() + public static boolean isDrawer(BlockEntity be) { + return be != null && Mods.STORAGEDRAWERS.asId() + .equals(be.getType() .getRegistryName() .getNamespace()); } diff --git a/src/main/java/com/simibubi/create/compat/tconstruct/SpoutCasting.java b/src/main/java/com/simibubi/create/compat/tconstruct/SpoutCasting.java index ccf2a8bac..ee6aeff32 100644 --- a/src/main/java/com/simibubi/create/compat/tconstruct/SpoutCasting.java +++ b/src/main/java/com/simibubi/create/compat/tconstruct/SpoutCasting.java @@ -2,7 +2,7 @@ package com.simibubi.create.compat.tconstruct; import com.simibubi.create.api.behaviour.BlockSpoutingBehaviour; import com.simibubi.create.compat.Mods; -import com.simibubi.create.content.contraptions.fluids.actors.SpoutTileEntity; +import com.simibubi.create.content.contraptions.fluids.actors.SpoutBlockEntity; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.utility.RegisteredObjects; @@ -25,23 +25,23 @@ public class SpoutCasting extends BlockSpoutingBehaviour { ResourceLocation BASIN = new ResourceLocation("tconstruct", "basin"); @Override - public int fillBlock(Level level, BlockPos pos, SpoutTileEntity spout, FluidStack availableFluid, + public int fillBlock(Level level, BlockPos pos, SpoutBlockEntity spout, FluidStack availableFluid, boolean simulate) { if (!enabled()) return 0; - BlockEntity te = level.getBlockEntity(pos); - if (te == null) + BlockEntity blockEntity = level.getBlockEntity(pos); + if (blockEntity == null) return 0; - IFluidHandler handler = te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, Direction.UP) + IFluidHandler handler = blockEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, Direction.UP) .orElse(null); if (handler == null) return 0; if (handler.getTanks() != 1) return 0; - ResourceLocation registryName = RegisteredObjects.getKeyOrThrow(te.getType()); + ResourceLocation registryName = RegisteredObjects.getKeyOrThrow(blockEntity.getType()); if (!registryName.equals(TABLE) && !registryName.equals(BASIN)) return 0; if (!handler.isFluidValid(0, availableFluid)) diff --git a/src/main/java/com/simibubi/create/content/contraptions/KineticDebugger.java b/src/main/java/com/simibubi/create/content/contraptions/KineticDebugger.java index 5bb3dd29a..8c8c70412 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/KineticDebugger.java +++ b/src/main/java/com/simibubi/create/content/contraptions/KineticDebugger.java @@ -2,8 +2,8 @@ package com.simibubi.create.content.contraptions; import com.simibubi.create.CreateClient; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.utility.Color; import com.simibubi.create.foundation.utility.VecHelper; @@ -26,34 +26,34 @@ public class KineticDebugger { public static void tick() { if (!isActive()) { - if (KineticTileEntityRenderer.rainbowMode) { - KineticTileEntityRenderer.rainbowMode = false; + if (KineticBlockEntityRenderer.rainbowMode) { + KineticBlockEntityRenderer.rainbowMode = false; CreateClient.BUFFER_CACHE.invalidate(); } return; } - KineticTileEntity te = getSelectedTE(); - if (te == null) + KineticBlockEntity be = getSelectedBE(); + if (be == null) return; Level world = Minecraft.getInstance().level; - BlockPos toOutline = te.hasSource() ? te.source : te.getBlockPos(); - BlockState state = te.getBlockState(); + BlockPos toOutline = be.hasSource() ? be.source : be.getBlockPos(); + BlockState state = be.getBlockState(); VoxelShape shape = world.getBlockState(toOutline) .getBlockSupportShape(world, toOutline); - if (te.getTheoreticalSpeed() != 0 && !shape.isEmpty()) + if (be.getTheoreticalSpeed() != 0 && !shape.isEmpty()) CreateClient.OUTLINER.chaseAABB("kineticSource", shape.bounds() .move(toOutline)) .lineWidth(1 / 16f) - .colored(te.hasSource() ? Color.generateFromLong(te.network).getRGB() : 0xffcc00); + .colored(be.hasSource() ? Color.generateFromLong(be.network).getRGB() : 0xffcc00); if (state.getBlock() instanceof IRotate) { Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state); Vec3 vec = Vec3.atLowerCornerOf(Direction.get(AxisDirection.POSITIVE, axis) .getNormal()); - Vec3 center = VecHelper.getCenterOf(te.getBlockPos()); + Vec3 center = VecHelper.getCenterOf(be.getBlockPos()); CreateClient.OUTLINER.showLine("rotationAxis", center.add(vec), center.subtract(vec)) .lineWidth(1 / 16f); } @@ -68,7 +68,7 @@ public class KineticDebugger { return Minecraft.getInstance().options.renderDebug; } - public static KineticTileEntity getSelectedTE() { + public static KineticBlockEntity getSelectedBE() { HitResult obj = Minecraft.getInstance().hitResult; ClientLevel world = Minecraft.getInstance().level; if (obj == null) @@ -79,11 +79,11 @@ public class KineticDebugger { return null; BlockHitResult ray = (BlockHitResult) obj; - BlockEntity te = world.getBlockEntity(ray.getBlockPos()); - if (!(te instanceof KineticTileEntity)) + BlockEntity be = world.getBlockEntity(ray.getBlockPos()); + if (!(be instanceof KineticBlockEntity)) return null; - return (KineticTileEntity) te; + return (KineticBlockEntity) be; } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/KineticNetwork.java b/src/main/java/com/simibubi/create/content/contraptions/KineticNetwork.java index a3e06a424..392af43be 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/KineticNetwork.java +++ b/src/main/java/com/simibubi/create/content/contraptions/KineticNetwork.java @@ -4,14 +4,14 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; public class KineticNetwork { public Long id; public boolean initialized; - public Map sources; - public Map members; + public Map sources; + public Map members; private float currentCapacity; private float currentStress; @@ -33,18 +33,18 @@ public class KineticNetwork { updateCapacity(); } - public void addSilently(KineticTileEntity te, float lastCapacity, float lastStress) { - if (members.containsKey(te)) + public void addSilently(KineticBlockEntity be, float lastCapacity, float lastStress) { + if (members.containsKey(be)) return; - if (te.isSource()) { - unloadedCapacity -= lastCapacity * getStressMultiplierForSpeed(te.getGeneratedSpeed()); - float addedStressCapacity = te.calculateAddedStressCapacity(); - sources.put(te, addedStressCapacity); + if (be.isSource()) { + unloadedCapacity -= lastCapacity * getStressMultiplierForSpeed(be.getGeneratedSpeed()); + float addedStressCapacity = be.calculateAddedStressCapacity(); + sources.put(be, addedStressCapacity); } - unloadedStress -= lastStress * getStressMultiplierForSpeed(te.getTheoreticalSpeed()); - float stressApplied = te.calculateStressApplied(); - members.put(te, stressApplied); + unloadedStress -= lastStress * getStressMultiplierForSpeed(be.getTheoreticalSpeed()); + float stressApplied = be.calculateStressApplied(); + members.put(be, stressApplied); unloadedMembers--; if (unloadedMembers < 0) @@ -55,36 +55,36 @@ public class KineticNetwork { unloadedStress = 0; } - public void add(KineticTileEntity te) { - if (members.containsKey(te)) + public void add(KineticBlockEntity be) { + if (members.containsKey(be)) return; - if (te.isSource()) - sources.put(te, te.calculateAddedStressCapacity()); - members.put(te, te.calculateStressApplied()); - updateFromNetwork(te); - te.networkDirty = true; + if (be.isSource()) + sources.put(be, be.calculateAddedStressCapacity()); + members.put(be, be.calculateStressApplied()); + updateFromNetwork(be); + be.networkDirty = true; } - public void updateCapacityFor(KineticTileEntity te, float capacity) { - sources.put(te, capacity); + public void updateCapacityFor(KineticBlockEntity be, float capacity) { + sources.put(be, capacity); updateCapacity(); } - public void updateStressFor(KineticTileEntity te, float stress) { - members.put(te, stress); + public void updateStressFor(KineticBlockEntity be, float stress) { + members.put(be, stress); updateStress(); } - public void remove(KineticTileEntity te) { - if (!members.containsKey(te)) + public void remove(KineticBlockEntity be) { + if (!members.containsKey(be)) return; - if (te.isSource()) - sources.remove(te); - members.remove(te); - te.updateFromNetwork(0, 0, 0); + if (be.isSource()) + sources.remove(be); + members.remove(be); + be.updateFromNetwork(0, 0, 0); if (members.isEmpty()) { - TorquePropagator.networks.get(te.getLevel()) + TorquePropagator.networks.get(be.getLevel()) .remove(this.id); return; } @@ -96,12 +96,12 @@ public class KineticNetwork { } public void sync() { - for (KineticTileEntity te : members.keySet()) - updateFromNetwork(te); + for (KineticBlockEntity be : members.keySet()) + updateFromNetwork(be); } - private void updateFromNetwork(KineticTileEntity te) { - te.updateFromNetwork(currentCapacity, currentStress, getSize()); + private void updateFromNetwork(KineticBlockEntity be) { + be.updateFromNetwork(currentCapacity, currentStress, getSize()); } public void updateCapacity() { @@ -132,15 +132,15 @@ public class KineticNetwork { public float calculateCapacity() { float presentCapacity = 0; - for (Iterator iterator = sources.keySet() + for (Iterator iterator = sources.keySet() .iterator(); iterator.hasNext();) { - KineticTileEntity te = iterator.next(); - if (te.getLevel() - .getBlockEntity(te.getBlockPos()) != te) { + KineticBlockEntity be = iterator.next(); + if (be.getLevel() + .getBlockEntity(be.getBlockPos()) != be) { iterator.remove(); continue; } - presentCapacity += getActualCapacityOf(te); + presentCapacity += getActualCapacityOf(be); } float newMaxStress = presentCapacity + unloadedCapacity; return newMaxStress; @@ -148,26 +148,26 @@ public class KineticNetwork { public float calculateStress() { float presentStress = 0; - for (Iterator iterator = members.keySet() + for (Iterator iterator = members.keySet() .iterator(); iterator.hasNext();) { - KineticTileEntity te = iterator.next(); - if (te.getLevel() - .getBlockEntity(te.getBlockPos()) != te) { + KineticBlockEntity be = iterator.next(); + if (be.getLevel() + .getBlockEntity(be.getBlockPos()) != be) { iterator.remove(); continue; } - presentStress += getActualStressOf(te); + presentStress += getActualStressOf(be); } float newStress = presentStress + unloadedStress; return newStress; } - public float getActualCapacityOf(KineticTileEntity te) { - return sources.get(te) * getStressMultiplierForSpeed(te.getGeneratedSpeed()); + public float getActualCapacityOf(KineticBlockEntity be) { + return sources.get(be) * getStressMultiplierForSpeed(be.getGeneratedSpeed()); } - public float getActualStressOf(KineticTileEntity te) { - return members.get(te) * getStressMultiplierForSpeed(te.getTheoreticalSpeed()); + public float getActualStressOf(KineticBlockEntity be) { + return members.get(be) * getStressMultiplierForSpeed(be.getTheoreticalSpeed()); } private static float getStressMultiplierForSpeed(float speed) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/RotationPropagator.java b/src/main/java/com/simibubi/create/content/contraptions/RotationPropagator.java index acc77ac8f..995324cbb 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/RotationPropagator.java +++ b/src/main/java/com/simibubi/create/content/contraptions/RotationPropagator.java @@ -7,15 +7,15 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock; -import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerTileEntity; +import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlockEntity; import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock; import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; -import com.simibubi.create.content.contraptions.relays.encased.DirectionalShaftHalvesTileEntity; +import com.simibubi.create.content.contraptions.relays.encased.DirectionalShaftHalvesBlockEntity; import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock; -import com.simibubi.create.content.contraptions.relays.encased.SplitShaftTileEntity; -import com.simibubi.create.content.contraptions.relays.gearbox.GearboxTileEntity; +import com.simibubi.create.content.contraptions.relays.encased.SplitShaftBlockEntity; +import com.simibubi.create.content.contraptions.relays.gearbox.GearboxBlockEntity; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.utility.Iterate; @@ -41,7 +41,7 @@ public class RotationPropagator { * @param to * @return */ - private static float getRotationSpeedModifier(KineticTileEntity from, KineticTileEntity to) { + private static float getRotationSpeedModifier(KineticBlockEntity from, KineticBlockEntity to) { final BlockState stateFrom = from.getBlockState(); final BlockState stateTo = to.getBlockState(); @@ -121,17 +121,17 @@ public class RotationPropagator { return 0; } - private static float getConveyedSpeed(KineticTileEntity from, KineticTileEntity to) { + private static float getConveyedSpeed(KineticBlockEntity from, KineticBlockEntity to) { final BlockState stateFrom = from.getBlockState(); final BlockState stateTo = to.getBlockState(); // Rotation Speed Controller <-> Large Gear if (isLargeCogToSpeedController(stateFrom, stateTo, to.getBlockPos() .subtract(from.getBlockPos()))) - return SpeedControllerTileEntity.getConveyedSpeed(from, to, true); + return SpeedControllerBlockEntity.getConveyedSpeed(from, to, true); if (isLargeCogToSpeedController(stateTo, stateFrom, from.getBlockPos() .subtract(to.getBlockPos()))) - return SpeedControllerTileEntity.getConveyedSpeed(to, from, false); + return SpeedControllerBlockEntity.getConveyedSpeed(to, from, false); float rotationSpeedModifier = getRotationSpeedModifier(from, to); return from.getTheoreticalSpeed() * rotationSpeedModifier; @@ -156,17 +156,17 @@ public class RotationPropagator { return true; } - private static float getAxisModifier(KineticTileEntity te, Direction direction) { - if (!(te.hasSource()||te.isSource()) || !(te instanceof DirectionalShaftHalvesTileEntity)) + private static float getAxisModifier(KineticBlockEntity be, Direction direction) { + if (!(be.hasSource()||be.isSource()) || !(be instanceof DirectionalShaftHalvesBlockEntity)) return 1; - Direction source = ((DirectionalShaftHalvesTileEntity) te).getSourceFacing(); + Direction source = ((DirectionalShaftHalvesBlockEntity) be).getSourceFacing(); - if (te instanceof GearboxTileEntity) + if (be instanceof GearboxBlockEntity) return direction.getAxis() == source.getAxis() ? direction == source ? 1 : -1 : direction.getAxisDirection() == source.getAxisDirection() ? -1 : 1; - if (te instanceof SplitShaftTileEntity) - return ((SplitShaftTileEntity) te).getRotationSpeedModifier(direction); + if (be instanceof SplitShaftBlockEntity) + return ((SplitShaftBlockEntity) be).getRotationSpeedModifier(direction); return 1; } @@ -205,7 +205,7 @@ public class RotationPropagator { * @param worldIn * @param pos */ - public static void handleAdded(Level worldIn, BlockPos pos, KineticTileEntity addedTE) { + public static void handleAdded(Level worldIn, BlockPos pos, KineticBlockEntity addedTE) { if (worldIn.isClientSide) return; if (!worldIn.isLoaded(pos)) @@ -218,11 +218,11 @@ public class RotationPropagator { * * @param currentTE */ - private static void propagateNewSource(KineticTileEntity currentTE) { + private static void propagateNewSource(KineticBlockEntity currentTE) { BlockPos pos = currentTE.getBlockPos(); Level world = currentTE.getLevel(); - for (KineticTileEntity neighbourTE : getConnectedNeighbours(currentTE)) { + for (KineticBlockEntity neighbourTE : getConnectedNeighbours(currentTE)) { float speedOfCurrent = currentTE.getTheoreticalSpeed(); float speedOfNeighbour = neighbourTE.getTheoreticalSpeed(); float newSpeed = getConveyedSpeed(currentTE, neighbourTE); @@ -306,29 +306,29 @@ public class RotationPropagator { * * @param worldIn * @param pos - * @param removedTE + * @param removedBE */ - public static void handleRemoved(Level worldIn, BlockPos pos, KineticTileEntity removedTE) { + public static void handleRemoved(Level worldIn, BlockPos pos, KineticBlockEntity removedBE) { if (worldIn.isClientSide) return; - if (removedTE == null) + if (removedBE == null) return; - if (removedTE.getTheoreticalSpeed() == 0) + if (removedBE.getTheoreticalSpeed() == 0) return; - for (BlockPos neighbourPos : getPotentialNeighbourLocations(removedTE)) { + for (BlockPos neighbourPos : getPotentialNeighbourLocations(removedBE)) { BlockState neighbourState = worldIn.getBlockState(neighbourPos); if (!(neighbourState.getBlock() instanceof IRotate)) continue; - BlockEntity tileEntity = worldIn.getBlockEntity(neighbourPos); - if (!(tileEntity instanceof KineticTileEntity)) + BlockEntity blockEntity = worldIn.getBlockEntity(neighbourPos); + if (!(blockEntity instanceof KineticBlockEntity)) continue; - final KineticTileEntity neighbourTE = (KineticTileEntity) tileEntity; - if (!neighbourTE.hasSource() || !neighbourTE.source.equals(pos)) + final KineticBlockEntity neighbourBE = (KineticBlockEntity) blockEntity; + if (!neighbourBE.hasSource() || !neighbourBE.source.equals(pos)) continue; - propagateMissingSource(neighbourTE); + propagateMissingSource(neighbourBE); } } @@ -339,44 +339,44 @@ public class RotationPropagator { * * @param updateTE */ - private static void propagateMissingSource(KineticTileEntity updateTE) { + private static void propagateMissingSource(KineticBlockEntity updateTE) { final Level world = updateTE.getLevel(); - List potentialNewSources = new LinkedList<>(); + List potentialNewSources = new LinkedList<>(); List frontier = new LinkedList<>(); frontier.add(updateTE.getBlockPos()); BlockPos missingSource = updateTE.hasSource() ? updateTE.source : null; while (!frontier.isEmpty()) { final BlockPos pos = frontier.remove(0); - BlockEntity tileEntity = world.getBlockEntity(pos); - if (!(tileEntity instanceof KineticTileEntity)) + BlockEntity blockEntity = world.getBlockEntity(pos); + if (!(blockEntity instanceof KineticBlockEntity)) continue; - final KineticTileEntity currentTE = (KineticTileEntity) tileEntity; + final KineticBlockEntity currentBE = (KineticBlockEntity) blockEntity; - currentTE.removeSource(); - currentTE.sendData(); + currentBE.removeSource(); + currentBE.sendData(); - for (KineticTileEntity neighbourTE : getConnectedNeighbours(currentTE)) { - if (neighbourTE.getBlockPos() + for (KineticBlockEntity neighbourBE : getConnectedNeighbours(currentBE)) { + if (neighbourBE.getBlockPos() .equals(missingSource)) continue; - if (!neighbourTE.hasSource()) + if (!neighbourBE.hasSource()) continue; - if (!neighbourTE.source.equals(pos)) { - potentialNewSources.add(neighbourTE); + if (!neighbourBE.source.equals(pos)) { + potentialNewSources.add(neighbourBE); continue; } - if (neighbourTE.isSource()) - potentialNewSources.add(neighbourTE); + if (neighbourBE.isSource()) + potentialNewSources.add(neighbourBE); - frontier.add(neighbourTE.getBlockPos()); + frontier.add(neighbourBE.getBlockPos()); } } - for (KineticTileEntity newSource : potentialNewSources) { + for (KineticBlockEntity newSource : potentialNewSources) { if (newSource.hasSource() || newSource.isSource()) { propagateNewSource(newSource); return; @@ -384,27 +384,27 @@ public class RotationPropagator { } } - private static KineticTileEntity findConnectedNeighbour(KineticTileEntity currentTE, BlockPos neighbourPos) { + private static KineticBlockEntity findConnectedNeighbour(KineticBlockEntity currentTE, BlockPos neighbourPos) { BlockState neighbourState = currentTE.getLevel() .getBlockState(neighbourPos); if (!(neighbourState.getBlock() instanceof IRotate)) return null; if (!neighbourState.hasBlockEntity()) return null; - BlockEntity neighbourTE = currentTE.getLevel() + BlockEntity neighbourBE = currentTE.getLevel() .getBlockEntity(neighbourPos); - if (!(neighbourTE instanceof KineticTileEntity)) + if (!(neighbourBE instanceof KineticBlockEntity)) return null; - KineticTileEntity neighbourKTE = (KineticTileEntity) neighbourTE; - if (!(neighbourKTE.getBlockState() + KineticBlockEntity neighbourKBE = (KineticBlockEntity) neighbourBE; + if (!(neighbourKBE.getBlockState() .getBlock() instanceof IRotate)) return null; - if (!isConnected(currentTE, neighbourKTE) && !isConnected(neighbourKTE, currentTE)) + if (!isConnected(currentTE, neighbourKBE) && !isConnected(neighbourKBE, currentTE)) return null; - return neighbourKTE; + return neighbourKBE; } - public static boolean isConnected(KineticTileEntity from, KineticTileEntity to) { + public static boolean isConnected(KineticBlockEntity from, KineticBlockEntity to) { final BlockState stateFrom = from.getBlockState(); final BlockState stateTo = to.getBlockState(); return isLargeCogToSpeedController(stateFrom, stateTo, to.getBlockPos() @@ -412,34 +412,34 @@ public class RotationPropagator { || from.isCustomConnection(to, stateFrom, stateTo); } - private static List getConnectedNeighbours(KineticTileEntity te) { - List neighbours = new LinkedList<>(); - for (BlockPos neighbourPos : getPotentialNeighbourLocations(te)) { - final KineticTileEntity neighbourTE = findConnectedNeighbour(te, neighbourPos); - if (neighbourTE == null) + private static List getConnectedNeighbours(KineticBlockEntity be) { + List neighbours = new LinkedList<>(); + for (BlockPos neighbourPos : getPotentialNeighbourLocations(be)) { + final KineticBlockEntity neighbourBE = findConnectedNeighbour(be, neighbourPos); + if (neighbourBE == null) continue; - neighbours.add(neighbourTE); + neighbours.add(neighbourBE); } return neighbours; } - private static List getPotentialNeighbourLocations(KineticTileEntity te) { + private static List getPotentialNeighbourLocations(KineticBlockEntity be) { List neighbours = new LinkedList<>(); - if (!te.getLevel() - .isAreaLoaded(te.getBlockPos(), 1)) + if (!be.getLevel() + .isAreaLoaded(be.getBlockPos(), 1)) return neighbours; for (Direction facing : Iterate.directions) - neighbours.add(te.getBlockPos() + neighbours.add(be.getBlockPos() .relative(facing)); - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); if (!(blockState.getBlock() instanceof IRotate)) return neighbours; IRotate block = (IRotate) blockState.getBlock(); - return te.addPropagationLocations(block, blockState, neighbours); + return be.addPropagationLocations(block, blockState, neighbours); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/TorquePropagator.java b/src/main/java/com/simibubi/create/content/contraptions/TorquePropagator.java index 4d7e336ce..d9ba562ef 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/TorquePropagator.java +++ b/src/main/java/com/simibubi/create/content/contraptions/TorquePropagator.java @@ -4,7 +4,7 @@ import java.util.HashMap; import java.util.Map; import com.simibubi.create.Create; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.utility.WorldHelper; import net.minecraft.world.level.LevelAccessor; @@ -23,16 +23,16 @@ public class TorquePropagator { Create.LOGGER.debug("Removed Kinetic Network Space for " + WorldHelper.getDimensionID(world)); } - public KineticNetwork getOrCreateNetworkFor(KineticTileEntity te) { - Long id = te.network; + public KineticNetwork getOrCreateNetworkFor(KineticBlockEntity be) { + Long id = be.network; KineticNetwork network; - Map map = networks.computeIfAbsent(te.getLevel(), $ -> new HashMap<>()); + Map map = networks.computeIfAbsent(be.getLevel(), $ -> new HashMap<>()); if (id == null) return null; if (!map.containsKey(id)) { network = new KineticNetwork(); - network.id = te.network; + network.id = be.network; map.put(id, network); } network = map.get(id); diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/BackHalfShaftInstance.java b/src/main/java/com/simibubi/create/content/contraptions/base/BackHalfShaftInstance.java index 8181db747..35a08a762 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/BackHalfShaftInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/BackHalfShaftInstance.java @@ -6,8 +6,8 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.properties.BlockStateProperties; public class BackHalfShaftInstance extends HalfShaftInstance { - public BackHalfShaftInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public BackHalfShaftInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/CutoutRotatingInstance.java b/src/main/java/com/simibubi/create/content/contraptions/base/CutoutRotatingInstance.java index 3c625fa2a..9e4dc451d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/CutoutRotatingInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/CutoutRotatingInstance.java @@ -6,8 +6,8 @@ import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; import com.simibubi.create.foundation.render.AllMaterialSpecs; public class CutoutRotatingInstance extends SingleRotatingInstance { - public CutoutRotatingInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public CutoutRotatingInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } protected Material getRotatingMaterial() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/GeneratingKineticTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/base/GeneratingKineticBlockEntity.java similarity index 90% rename from src/main/java/com/simibubi/create/content/contraptions/base/GeneratingKineticTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/base/GeneratingKineticBlockEntity.java index d9dfcb467..159c65ad7 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/GeneratingKineticTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/GeneratingKineticBlockEntity.java @@ -15,12 +15,12 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public abstract class GeneratingKineticTileEntity extends KineticTileEntity { +public abstract class GeneratingKineticBlockEntity extends KineticBlockEntity { public boolean reActivateSource; - public GeneratingKineticTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { - super(typeIn, pos, state); + public GeneratingKineticBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); } protected void notifyStressCapacityChange(float capacity) { @@ -37,11 +37,11 @@ public abstract class GeneratingKineticTileEntity extends KineticTileEntity { @Override public void setSource(BlockPos source) { super.setSource(source); - BlockEntity tileEntity = level.getBlockEntity(source); - if (!(tileEntity instanceof KineticTileEntity)) + BlockEntity blockEntity = level.getBlockEntity(source); + if (!(blockEntity instanceof KineticBlockEntity)) return; - KineticTileEntity sourceTe = (KineticTileEntity) tileEntity; - if (reActivateSource && Math.abs(sourceTe.getSpeed()) >= Math.abs(getGeneratedSpeed())) + KineticBlockEntity sourceBE = (KineticBlockEntity) blockEntity; + if (reActivateSource && Math.abs(sourceBE.getSpeed()) >= Math.abs(getGeneratedSpeed())) reActivateSource = false; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/HalfShaftInstance.java b/src/main/java/com/simibubi/create/content/contraptions/base/HalfShaftInstance.java index 6ddaf3acf..25a038647 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/HalfShaftInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/HalfShaftInstance.java @@ -9,8 +9,8 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.properties.BlockStateProperties; public class HalfShaftInstance extends SingleRotatingInstance { - public HalfShaftInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public HalfShaftInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/HorizontalHalfShaftInstance.java b/src/main/java/com/simibubi/create/content/contraptions/base/HorizontalHalfShaftInstance.java index 275adabda..30fc9fa0c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/HorizontalHalfShaftInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/HorizontalHalfShaftInstance.java @@ -7,8 +7,8 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; public class HorizontalHalfShaftInstance extends HalfShaftInstance { - public HorizontalHalfShaftInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public HorizontalHalfShaftInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticBlock.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticBlock.java index 80ee71e4d..8bc4c0236 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/KineticBlock.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.base; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -22,15 +22,15 @@ public abstract class KineticBlock extends Block implements IRotate { @Override public void onPlace(BlockState state, Level worldIn, BlockPos pos, BlockState oldState, boolean isMoving) { - // onBlockAdded is useless for init, as sometimes the TE gets re-instantiated + // onBlockAdded is useless for init, as sometimes the BE gets re-instantiated // however, if a block change occurs that does not change kinetic connections, // we can prevent a major re-propagation here - BlockEntity tileEntity = worldIn.getBlockEntity(pos); - if (tileEntity instanceof KineticTileEntity) { - KineticTileEntity kineticTileEntity = (KineticTileEntity) tileEntity; - kineticTileEntity.preventSpeedUpdate = 0; + BlockEntity blockEntity = worldIn.getBlockEntity(pos); + if (blockEntity instanceof KineticBlockEntity) { + KineticBlockEntity kineticBlockEntity = (KineticBlockEntity) blockEntity; + kineticBlockEntity.preventSpeedUpdate = 0; if (oldState.getBlock() != state.getBlock()) return; @@ -39,13 +39,13 @@ public abstract class KineticBlock extends Block implements IRotate { if (!areStatesKineticallyEquivalent(oldState, state)) return; - kineticTileEntity.preventSpeedUpdate = 2; + kineticBlockEntity.preventSpeedUpdate = 2; } } @Override public void onRemove(BlockState pState, Level pLevel, BlockPos pPos, BlockState pNewState, boolean pIsMoving) { - ITE.onRemove(pState, pLevel, pPos, pNewState); + IBE.onRemove(pState, pLevel, pPos, pNewState); } @Override @@ -65,18 +65,18 @@ public abstract class KineticBlock extends Block implements IRotate { if (worldIn.isClientSide()) return; - BlockEntity tileEntity = worldIn.getBlockEntity(pos); - if (!(tileEntity instanceof KineticTileEntity)) + BlockEntity blockEntity = worldIn.getBlockEntity(pos); + if (!(blockEntity instanceof KineticBlockEntity)) return; - KineticTileEntity kte = (KineticTileEntity) tileEntity; + KineticBlockEntity kbe = (KineticBlockEntity) blockEntity; - if (kte.preventSpeedUpdate > 0) + if (kbe.preventSpeedUpdate > 0) return; // Remove previous information when block is added - kte.warnOfMovement(); - kte.clearKineticInformation(); - kte.updateSpeed = true; + kbe.warnOfMovement(); + kbe.clearKineticInformation(); + kbe.updateSpeed = true; } @Override @@ -85,12 +85,12 @@ public abstract class KineticBlock extends Block implements IRotate { if (worldIn.isClientSide) return; - BlockEntity tileEntity = worldIn.getBlockEntity(pos); - if (!(tileEntity instanceof KineticTileEntity)) + BlockEntity blockEntity = worldIn.getBlockEntity(pos); + if (!(blockEntity instanceof KineticBlockEntity)) return; - KineticTileEntity kte = (KineticTileEntity) tileEntity; - kte.effects.queueRotationIndicators(); + KineticBlockEntity kbe = (KineticBlockEntity) blockEntity; + kbe.effects.queueRotationIndicators(); } public float getParticleTargetRadius() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticBlockEntity.java similarity index 89% rename from src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/base/KineticBlockEntity.java index 548e80d3e..1b62e170c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/KineticBlockEntity.java @@ -18,12 +18,12 @@ import com.simibubi.create.content.contraptions.goggles.IHaveHoveringInformation import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; import com.simibubi.create.content.contraptions.relays.gearbox.GearboxBlock; import com.simibubi.create.foundation.block.BlockStressValues; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.item.TooltipHelper; import com.simibubi.create.foundation.sound.SoundScapes; import com.simibubi.create.foundation.sound.SoundScapes.AmbienceGroup; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.ChatFormatting; @@ -46,7 +46,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; -public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInformation, IHaveHoveringInformation { +public class KineticBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation, IHaveHoveringInformation { public @Nullable Long network; public @Nullable BlockPos source; @@ -67,7 +67,7 @@ public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInf protected float lastStressApplied; protected float lastCapacityProvided; - public KineticTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public KineticBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); effects = new KineticEffectHandler(this); updateSpeed = true; @@ -125,10 +125,10 @@ public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInf if (!level.isLoaded(source)) return; - BlockEntity tileEntity = level.getBlockEntity(source); - KineticTileEntity sourceTe = - tileEntity instanceof KineticTileEntity ? (KineticTileEntity) tileEntity : null; - if (sourceTe == null || sourceTe.speed == 0) { + BlockEntity blockEntity = level.getBlockEntity(source); + KineticBlockEntity sourceBE = + blockEntity instanceof KineticBlockEntity ? (KineticBlockEntity) blockEntity : null; + if (sourceBE == null || sourceBE.speed == 0) { removeSource(); detachKinetics(); return; @@ -292,14 +292,14 @@ public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInf if (level == null || level.isClientSide) return; - BlockEntity tileEntity = level.getBlockEntity(source); - if (!(tileEntity instanceof KineticTileEntity)) { + BlockEntity blockEntity = level.getBlockEntity(source); + if (!(blockEntity instanceof KineticBlockEntity)) { removeSource(); return; } - KineticTileEntity sourceTe = (KineticTileEntity) tileEntity; - setNetwork(sourceTe.network); + KineticBlockEntity sourceBE = (KineticBlockEntity) blockEntity; + setNetwork(sourceBE.network); } public void removeSource() { @@ -360,32 +360,32 @@ public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInf if (world.isClientSide) return; - BlockEntity tileEntityIn = world.getBlockEntity(pos); + BlockEntity blockEntity = world.getBlockEntity(pos); BlockState currentState = world.getBlockState(pos); - boolean isKinetic = tileEntityIn instanceof KineticTileEntity; + boolean isKinetic = blockEntity instanceof KineticBlockEntity; if (currentState == state) return; - if (tileEntityIn == null || !isKinetic) { + if (blockEntity == null || !isKinetic) { world.setBlock(pos, state, 3); return; } - KineticTileEntity tileEntity = (KineticTileEntity) tileEntityIn; + KineticBlockEntity kineticBlockEntity = (KineticBlockEntity) blockEntity; if (state.getBlock() instanceof KineticBlock && !((KineticBlock) state.getBlock()).areStatesKineticallyEquivalent(currentState, state)) { - if (tileEntity.hasNetwork()) - tileEntity.getOrCreateNetwork() - .remove(tileEntity); - tileEntity.detachKinetics(); - tileEntity.removeSource(); + if (kineticBlockEntity.hasNetwork()) + kineticBlockEntity.getOrCreateNetwork() + .remove(kineticBlockEntity); + kineticBlockEntity.detachKinetics(); + kineticBlockEntity.removeSource(); } world.setBlock(pos, state, 3); } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override public boolean addToTooltip(List tooltip, boolean isPlayerSneaking) { @@ -500,18 +500,18 @@ public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInf * Specify ratio of transferred rotation from this kinetic component to a * specific other. * - * @param target other Kinetic TE to transfer to - * @param stateFrom this TE's blockstate - * @param stateTo other TE's blockstate + * @param target other Kinetic BE to transfer to + * @param stateFrom this BE's blockstate + * @param stateTo other BE's blockstate * @param diff difference in position (to.pos - from.pos) * @param connectedViaAxes whether these kinetic blocks are connected via mutual * IRotate.hasShaftTowards() * @param connectedViaCogs whether these kinetic blocks are connected via mutual * IRotate.hasIntegratedCogwheel() - * @return factor of rotation speed from this TE to other. 0 if no rotation is + * @return factor of rotation speed from this BE to other. 0 if no rotation is * transferred, or the standard rules apply (integrated shafts/cogs) */ - public float propagateRotationTo(KineticTileEntity target, BlockState stateFrom, BlockState stateTo, BlockPos diff, + public float propagateRotationTo(KineticBlockEntity target, BlockState stateFrom, BlockState stateTo, BlockPos diff, boolean connectedViaAxes, boolean connectedViaCogs) { return 0; } @@ -554,7 +554,7 @@ public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInf * @return true if this and the other component should check their propagation * factor and are not already connected via integrated cogs or shafts */ - public boolean isCustomConnection(KineticTileEntity other, BlockState state, BlockState otherState) { + public boolean isCustomConnection(KineticBlockEntity other, BlockState state, BlockState otherState) { return false; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileInstance.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticBlockEntityInstance.java similarity index 80% rename from src/main/java/com/simibubi/create/content/contraptions/base/KineticTileInstance.java rename to src/main/java/com/simibubi/create/content/contraptions/base/KineticBlockEntityInstance.java index bcaf4e436..21a877739 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/KineticBlockEntityInstance.java @@ -13,21 +13,21 @@ import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.world.level.block.state.BlockState; -public abstract class KineticTileInstance extends BlockEntityInstance { +public abstract class KineticBlockEntityInstance extends BlockEntityInstance { protected final Direction.Axis axis; - public KineticTileInstance(MaterialManager modelManager, T tile) { - super(modelManager, tile); - axis = (blockState.getBlock()instanceof IRotate irotate) ? irotate.getRotationAxis(blockState) : Axis.Y; + public KineticBlockEntityInstance(MaterialManager materialManager, T blockEntity) { + super(materialManager, blockEntity); + axis = (blockState.getBlock() instanceof IRotate irotate) ? irotate.getRotationAxis(blockState) : Axis.Y; } protected final void updateRotation(RotatingData instance) { - updateRotation(instance, getRotationAxis(), getTileSpeed()); + updateRotation(instance, getRotationAxis(), getBlockEntitySpeed()); } protected final void updateRotation(RotatingData instance, Direction.Axis axis) { - updateRotation(instance, axis, getTileSpeed()); + updateRotation(instance, axis, getBlockEntitySpeed()); } protected final void updateRotation(RotatingData instance, float speed) { @@ -42,11 +42,11 @@ public abstract class KineticTileInstance extends B } protected final RotatingData setup(RotatingData key) { - return setup(key, getRotationAxis(), getTileSpeed()); + return setup(key, getRotationAxis(), getBlockEntitySpeed()); } protected final RotatingData setup(RotatingData key, Direction.Axis axis) { - return setup(key, axis, getTileSpeed()); + return setup(key, axis, getBlockEntitySpeed()); } protected final RotatingData setup(RotatingData key, float speed) { @@ -77,7 +77,7 @@ public abstract class KineticTileInstance extends B return axis; } - protected float getTileSpeed() { + protected float getBlockEntitySpeed() { return blockEntity.getSpeed(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntityRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticBlockEntityRenderer.java similarity index 55% rename from src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntityRenderer.java rename to src/main/java/com/simibubi/create/content/contraptions/base/KineticBlockEntityRenderer.java index 3ef7482b8..17c472b09 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntityRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/KineticBlockEntityRenderer.java @@ -8,10 +8,10 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.KineticDebugger; import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.render.SuperByteBufferCache; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.Color; @@ -26,9 +26,9 @@ import net.minecraft.core.Direction.AxisDirection; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class KineticTileEntityRenderer extends SafeTileEntityRenderer { +public class KineticBlockEntityRenderer extends SafeBlockEntityRenderer { - public static final SuperByteBufferCache.Compartment KINETIC_TILE = new SuperByteBufferCache.Compartment<>(); + public static final SuperByteBufferCache.Compartment KINETIC_BLOCK = new SuperByteBufferCache.Compartment<>(); public static boolean rainbowMode = false; protected static final RenderType[] REVERSED_CHUNK_BUFFER_LAYERS = RenderType.chunkBufferLayers().toArray(RenderType[]::new); @@ -36,71 +36,71 @@ public class KineticTileEntityRenderer extends SafeTileEntityRenderer 0) buffer.color(Color.WHITE.mixWith(Color.RED, overStressedEffect)); @@ -113,13 +113,13 @@ public class KineticTileEntityRenderer extends SafeTileEntityRenderer { +public class SingleRotatingInstance extends KineticBlockEntityInstance { protected RotatingData rotatingModel; - public SingleRotatingInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public SingleRotatingInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/KineticData.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/KineticData.java index 88f97c572..323e48dac 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/KineticData.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/KineticData.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.base.flwdata; import com.jozufozu.flywheel.core.materials.BasicData; import com.mojang.math.Vector3f; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.utility.Color; import net.minecraft.core.BlockPos; @@ -38,9 +38,9 @@ public class KineticData extends BasicData { return this; } - public KineticData setColor(KineticTileEntity te) { - if (te.hasNetwork()) { - setColor(Color.generateFromLong(te.network)); + public KineticData setColor(KineticBlockEntity blockEntity) { + if (blockEntity.hasNetwork()) { + setColor(Color.generateFromLong(blockEntity.network)); }else { setColor(0xFF, 0xFF, 0xFF); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/BellMovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/BellMovementBehaviour.java index e521fdfad..ca3eb6234 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/BellMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/BellMovementBehaviour.java @@ -15,7 +15,7 @@ import net.minecraft.world.phys.Vec3; public class BellMovementBehaviour implements MovementBehaviour { @Override - public boolean renderAsNormalTileEntity() { + public boolean renderAsNormalBlockEntity() { return true; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/BlockBreakingKineticTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/BlockBreakingKineticBlockEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/content/contraptions/components/actors/BlockBreakingKineticTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/actors/BlockBreakingKineticBlockEntity.java index 5e1fb49f2..29d7ef8ef 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/BlockBreakingKineticTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/BlockBreakingKineticBlockEntity.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.actors; import java.util.concurrent.atomic.AtomicInteger; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -18,7 +18,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public abstract class BlockBreakingKineticTileEntity extends KineticTileEntity { +public abstract class BlockBreakingKineticBlockEntity extends KineticBlockEntity { public static final AtomicInteger NEXT_BREAKER_ID = new AtomicInteger(); protected int ticksUntilNextProgress; @@ -26,8 +26,8 @@ public abstract class BlockBreakingKineticTileEntity extends KineticTileEntity { protected int breakerId = -NEXT_BREAKER_ID.incrementAndGet(); protected BlockPos breakingPos; - public BlockBreakingKineticTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { - super(typeIn, pos, state); + public BlockBreakingKineticBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/BlockBreakingMovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/BlockBreakingMovementBehaviour.java index 70771c429..f12e7b7c4 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/BlockBreakingMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/BlockBreakingMovementBehaviour.java @@ -28,7 +28,7 @@ public class BlockBreakingMovementBehaviour implements MovementBehaviour { public void startMoving(MovementContext context) { if (context.world.isClientSide) return; - context.data.putInt("BreakerId", -BlockBreakingKineticTileEntity.NEXT_BREAKER_ID.incrementAndGet()); + context.data.putInt("BreakerId", -BlockBreakingKineticBlockEntity.NEXT_BREAKER_ID.incrementAndGet()); } @Override @@ -220,7 +220,7 @@ public class BlockBreakingMovementBehaviour implements MovementBehaviour { public boolean canBreak(Level world, BlockPos breakingPos, BlockState state) { float blockHardness = state.getDestroySpeed(world, breakingPos); - return BlockBreakingKineticTileEntity.isBreakable(state, blockHardness); + return BlockBreakingKineticBlockEntity.isBreakable(state, blockHardness); } protected void onBlockBroken(MovementContext context, BlockPos pos, BlockState brokenState) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/CampfireMovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/CampfireMovementBehaviour.java index a107be587..5948a02f6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/CampfireMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/CampfireMovementBehaviour.java @@ -10,7 +10,7 @@ import net.minecraft.world.level.block.CampfireBlock; public class CampfireMovementBehaviour implements MovementBehaviour { @Override - public boolean renderAsNormalTileEntity() { + public boolean renderAsNormalBlockEntity() { return true; } @@ -20,7 +20,7 @@ public class CampfireMovementBehaviour implements MovementBehaviour { || !context.state.getValue(CampfireBlock.LIT)) return; - // Mostly copied from CampfireBlock and CampfireTileEntity + // Mostly copied from CampfireBlock and CampfireBlockEntity Random random = context.world.random; if (random.nextFloat() < 0.11F) { for (int i = 0; i < random.nextInt(2) + 2; ++i) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlock.java index 39915dcbc..04e5d19f5 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlock.java @@ -2,10 +2,10 @@ package com.simibubi.create.content.contraptions.components.actors; import javax.annotation.ParametersAreNonnullByDefault; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; @@ -36,7 +36,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault -public class DrillBlock extends DirectionalKineticBlock implements ITE, SimpleWaterloggedBlock { +public class DrillBlock extends DirectionalKineticBlock implements IBE, SimpleWaterloggedBlock { public static DamageSource damageSourceDrill = new DamageSource("create.mechanical_drill").bypassArmor(); public DrillBlock(Properties properties) { @@ -51,10 +51,10 @@ public class DrillBlock extends DirectionalKineticBlock implements ITE { - if (te.getSpeed() == 0) + withBlockEntityDo(worldIn, pos, be -> { + if (be.getSpeed() == 0) return; - entityIn.hurt(damageSourceDrill, (float) getDamage(te.getSpeed())); + entityIn.hurt(damageSourceDrill, (float) getDamage(be.getSpeed())); }); } @@ -66,7 +66,7 @@ public class DrillBlock extends DirectionalKineticBlock implements ITE getTileEntityClass() { - return DrillTileEntity.class; + public Class getBlockEntityClass() { + return DrillBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.DRILL.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.DRILL.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlockEntity.java similarity index 71% rename from src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlockEntity.java index 8879fa80d..f095f06c6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlockEntity.java @@ -4,9 +4,9 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class DrillTileEntity extends BlockBreakingKineticTileEntity { +public class DrillBlockEntity extends BlockBreakingKineticBlockEntity { - public DrillTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public DrillBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillInstance.java index cf949ebd4..3a499bb8a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillInstance.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.components.actors; import com.jozufozu.flywheel.api.Instancer; import com.jozufozu.flywheel.api.MaterialManager; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.base.SingleRotatingInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; @@ -13,8 +13,8 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; public class DrillInstance extends SingleRotatingInstance { - public DrillInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public DrillInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillRenderer.java index 28140233b..aa116ee86 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillRenderer.java @@ -2,8 +2,8 @@ package com.simibubi.create.content.contraptions.components.actors; import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher; @@ -19,14 +19,14 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; -public class DrillRenderer extends KineticTileEntityRenderer { +public class DrillRenderer extends KineticBlockEntityRenderer { public DrillRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be, BlockState state) { return CachedBufferer.partialFacing(AllBlockPartials.DRILL_HEAD, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterBlock.java index b5f4fd566..928da6280 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterBlock.java @@ -1,24 +1,24 @@ package com.simibubi.create.content.contraptions.components.actors; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.world.level.block.entity.BlockEntityType; -public class HarvesterBlock extends AttachedActorBlock implements ITE { +public class HarvesterBlock extends AttachedActorBlock implements IBE { public HarvesterBlock(Properties p_i48377_1_) { super(p_i48377_1_); } @Override - public Class getTileEntityClass() { - return HarvesterTileEntity.class; + public Class getBlockEntityClass() { + return HarvesterBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.HARVESTER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.HARVESTER.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterBlockEntity.java similarity index 72% rename from src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterBlockEntity.java index 93dc35fa3..5569ae9c5 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterBlockEntity.java @@ -1,18 +1,18 @@ package com.simibubi.create.content.contraptions.components.actors; -import com.simibubi.create.foundation.tileEntity.CachedRenderBBTileEntity; +import com.simibubi.create.foundation.blockEntity.CachedRenderBBBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -public class HarvesterTileEntity extends CachedRenderBBTileEntity { +public class HarvesterBlockEntity extends CachedRenderBBBlockEntity { // For simulations such as Ponder private float manuallyAnimatedSpeed; - public HarvesterTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public HarvesterBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterRenderer.java index 0fbe0c3d8..39eef7257 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterRenderer.java @@ -8,9 +8,9 @@ import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.VecHelper; @@ -24,18 +24,18 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class HarvesterRenderer extends SafeTileEntityRenderer { +public class HarvesterRenderer extends SafeBlockEntityRenderer { public HarvesterRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(HarvesterTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(HarvesterBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); SuperByteBuffer superBuffer = CachedBufferer.partial(AllBlockPartials.HARVESTER_BLADE, blockState); - transform(te.getLevel(), blockState.getValue(HarvesterBlock.FACING), superBuffer, - te.getAnimatedSpeed()); + transform(be.getLevel(), blockState.getValue(HarvesterBlock.FACING), superBuffer, + be.getAnimatedSpeed()); superBuffer.light(light) .renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped())); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PSIInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PSIInstance.java index 5ddcac06e..2ff5b1d4d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PSIInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PSIInstance.java @@ -6,12 +6,12 @@ import com.jozufozu.flywheel.api.instance.TickableInstance; import com.jozufozu.flywheel.backend.instancing.blockentity.BlockEntityInstance; import com.simibubi.create.foundation.utility.AnimationTickHolder; -public class PSIInstance extends BlockEntityInstance implements DynamicInstance, TickableInstance { +public class PSIInstance extends BlockEntityInstance implements DynamicInstance, TickableInstance { private final PIInstance instance; - public PSIInstance(MaterialManager materialManager, PortableStorageInterfaceTileEntity tile) { - super(materialManager, tile); + public PSIInstance(MaterialManager materialManager, PortableStorageInterfaceBlockEntity blockEntity) { + super(materialManager, blockEntity); instance = new PIInstance(materialManager, blockState, getInstancePosition()); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableFluidInterfaceTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableFluidInterfaceBlockEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableFluidInterfaceTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableFluidInterfaceBlockEntity.java index ec1b2ff60..ce034dfd8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableFluidInterfaceTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableFluidInterfaceBlockEntity.java @@ -12,11 +12,11 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.fluids.capability.templates.FluidTank; -public class PortableFluidInterfaceTileEntity extends PortableStorageInterfaceTileEntity { +public class PortableFluidInterfaceBlockEntity extends PortableStorageInterfaceBlockEntity { protected LazyOptional capability; - public PortableFluidInterfaceTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public PortableFluidInterfaceBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); capability = createEmptyHandler(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableItemInterfaceTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableItemInterfaceBlockEntity.java similarity index 92% rename from src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableItemInterfaceTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableItemInterfaceBlockEntity.java index d729c6180..82c8ba256 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableItemInterfaceTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableItemInterfaceBlockEntity.java @@ -13,11 +13,11 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.ItemStackHandler; -public class PortableItemInterfaceTileEntity extends PortableStorageInterfaceTileEntity { +public class PortableItemInterfaceBlockEntity extends PortableStorageInterfaceBlockEntity { protected LazyOptional capability; - public PortableItemInterfaceTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public PortableItemInterfaceBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); capability = createEmptyHandler(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceBlock.java index 9bda8441e..0d572f5ca 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceBlock.java @@ -2,10 +2,10 @@ package com.simibubi.create.content.contraptions.components.actors; import javax.annotation.ParametersAreNonnullByDefault; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.WrenchableDirectionalBlock; import net.minecraft.MethodsReturnNonnullByDefault; @@ -25,7 +25,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault public class PortableStorageInterfaceBlock extends WrenchableDirectionalBlock - implements ITE { + implements IBE { boolean fluids; @@ -45,7 +45,7 @@ public class PortableStorageInterfaceBlock extends WrenchableDirectionalBlock @Override public void neighborChanged(BlockState state, Level world, BlockPos pos, Block p_220069_4_, BlockPos p_220069_5_, boolean p_220069_6_) { - withTileEntityDo(world, pos, PortableStorageInterfaceTileEntity::neighbourChanged); + withBlockEntityDo(world, pos, PortableStorageInterfaceBlockEntity::neighbourChanged); } @Override @@ -75,19 +75,19 @@ public class PortableStorageInterfaceBlock extends WrenchableDirectionalBlock @Override public int getAnalogOutputSignal(BlockState blockState, Level worldIn, BlockPos pos) { - return getTileEntityOptional(worldIn, pos).map(te -> te.isConnected() ? 15 : 0) + return getBlockEntityOptional(worldIn, pos).map(be -> be.isConnected() ? 15 : 0) .orElse(0); } @Override - public Class getTileEntityClass() { - return PortableStorageInterfaceTileEntity.class; + public Class getBlockEntityClass() { + return PortableStorageInterfaceBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return fluids ? AllTileEntities.PORTABLE_FLUID_INTERFACE.get() - : AllTileEntities.PORTABLE_STORAGE_INTERFACE.get(); + public BlockEntityType getBlockEntityType() { + return fluids ? AllBlockEntityTypes.PORTABLE_FLUID_INTERFACE.get() + : AllBlockEntityTypes.PORTABLE_STORAGE_INTERFACE.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceBlockEntity.java similarity index 93% rename from src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceBlockEntity.java index f2125015d..98a0e5741 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceBlockEntity.java @@ -5,9 +5,9 @@ import java.util.List; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.Contraption; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import net.minecraft.core.BlockPos; @@ -18,7 +18,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -public abstract class PortableStorageInterfaceTileEntity extends SmartTileEntity { +public abstract class PortableStorageInterfaceBlockEntity extends SmartBlockEntity { public static final int ANIMATION = 4; protected int transferTimer; @@ -29,7 +29,7 @@ public abstract class PortableStorageInterfaceTileEntity extends SmartTileEntity public int keepAlive = 0; - public PortableStorageInterfaceTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public PortableStorageInterfaceBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); transferTimer = 0; connectionAnimation = LerpedFloat.linear() @@ -195,7 +195,7 @@ public abstract class PortableStorageInterfaceTileEntity extends SmartTileEntity } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { registerAwardables(behaviours, AllAdvancements.PSI); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceMovement.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceMovement.java index 6df522cf8..a56765ade 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceMovement.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceMovement.java @@ -98,7 +98,7 @@ public class PortableStorageInterfaceMovement implements MovementBehaviour { if (!currentFacingIfValid.isPresent()) return; - PortableStorageInterfaceTileEntity stationaryInterface = + PortableStorageInterfaceBlockEntity stationaryInterface = getStationaryInterfaceAt(context.world, pos, context.state, currentFacingIfValid.get()); if (stationaryInterface == null) { reset(context); @@ -108,7 +108,7 @@ public class PortableStorageInterfaceMovement implements MovementBehaviour { if (stationaryInterface.connectedEntity == null) stationaryInterface.startTransferringTo(context.contraption, stationaryInterface.distance); - boolean timerBelow = stationaryInterface.transferTimer <= PortableStorageInterfaceTileEntity.ANIMATION; + boolean timerBelow = stationaryInterface.transferTimer <= PortableStorageInterfaceBlockEntity.ANIMATION; stationaryInterface.keepAlive = 2; if (context.stall && timerBelow) { context.stall = false; @@ -123,7 +123,7 @@ public class PortableStorageInterfaceMovement implements MovementBehaviour { return false; Direction currentFacing = currentFacingIfValid.get(); - PortableStorageInterfaceTileEntity psi = + PortableStorageInterfaceBlockEntity psi = findStationaryInterface(context.world, pos, context.state, currentFacing); if (psi == null) @@ -165,10 +165,10 @@ public class PortableStorageInterfaceMovement implements MovementBehaviour { getAnimation(context).chase(0, 0.25f, Chaser.LINEAR); } - private PortableStorageInterfaceTileEntity findStationaryInterface(Level world, BlockPos pos, BlockState state, + private PortableStorageInterfaceBlockEntity findStationaryInterface(Level world, BlockPos pos, BlockState state, Direction facing) { for (int i = 0; i < 2; i++) { - PortableStorageInterfaceTileEntity interfaceAt = + PortableStorageInterfaceBlockEntity interfaceAt = getStationaryInterfaceAt(world, pos.relative(facing, i), state, facing); if (interfaceAt == null) continue; @@ -177,10 +177,10 @@ public class PortableStorageInterfaceMovement implements MovementBehaviour { return null; } - private PortableStorageInterfaceTileEntity getStationaryInterfaceAt(Level world, BlockPos pos, BlockState state, + private PortableStorageInterfaceBlockEntity getStationaryInterfaceAt(Level world, BlockPos pos, BlockState state, Direction facing) { - BlockEntity te = world.getBlockEntity(pos); - if (!(te instanceof PortableStorageInterfaceTileEntity psi)) + BlockEntity blockEntity = world.getBlockEntity(pos); + if (!(blockEntity instanceof PortableStorageInterfaceBlockEntity psi)) return null; BlockState blockState = world.getBlockState(pos); if (blockState.getBlock() != state.getBlock()) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceRenderer.java index 051f63086..938fd80f1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceRenderer.java @@ -12,9 +12,9 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.animation.LerpedFloat; @@ -28,20 +28,20 @@ import net.minecraft.nbt.NbtUtils; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; -public class PortableStorageInterfaceRenderer extends SafeTileEntityRenderer { +public class PortableStorageInterfaceRenderer extends SafeBlockEntityRenderer { public PortableStorageInterfaceRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(PortableStorageInterfaceTileEntity te, float partialTicks, PoseStack ms, + protected void renderSafe(PortableStorageInterfaceBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) + if (Backend.canUseInstancing(be.getLevel())) return; - BlockState blockState = te.getBlockState(); - float progress = te.getExtensionDistance(partialTicks); + BlockState blockState = be.getBlockState(); + float progress = be.getExtensionDistance(partialTicks); VertexConsumer vb = buffer.getBuffer(RenderType.solid()); - render(blockState, te.isConnected(), progress, null, sbb -> sbb.light(light) + render(blockState, be.isConnected(), progress, null, sbb -> sbb.light(light) .renderInto(ms, vb)); } @@ -86,14 +86,14 @@ public class PortableStorageInterfaceRenderer extends SafeTileEntityRenderer { +public class ContraptionControlsBlock extends ControlsBlock implements IBE { public ContraptionControlsBlock(Properties pProperties) { super(pProperties); @@ -28,12 +28,12 @@ public class ContraptionControlsBlock extends ControlsBlock implements ITE { + return onBlockEntityUse(pLevel, pPos, cte -> { cte.pressButton(); cte.disabled = !cte.disabled; cte.notifyUpdate(); if (!pLevel.isClientSide()) { - ContraptionControlsTileEntity.sendStatus(pPlayer, cte.filtering.getFilter(), !cte.disabled); + ContraptionControlsBlockEntity.sendStatus(pPlayer, cte.filtering.getFilter(), !cte.disabled); AllSoundEvents.CONTROLLER_CLICK.play(cte.getLevel(), null, cte.getBlockPos(), 1, cte.disabled ? 0.8f : 1.5f); } @@ -44,7 +44,7 @@ public class ContraptionControlsBlock extends ControlsBlock implements ITE getTileEntityClass() { - return ContraptionControlsTileEntity.class; + public Class getBlockEntityClass() { + return ContraptionControlsBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CONTRAPTION_CONTROLS.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CONTRAPTION_CONTROLS.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsBlockEntity.java similarity index 88% rename from src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsBlockEntity.java index eb2f92ce4..09ae713ed 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsBlockEntity.java @@ -5,10 +5,10 @@ import java.util.List; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.content.contraptions.components.structureMovement.interaction.controls.ControlsBlock; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.DyeHelper; import com.simibubi.create.foundation.utility.Lang; @@ -28,7 +28,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class ContraptionControlsTileEntity extends SmartTileEntity { +public class ContraptionControlsBlockEntity extends SmartBlockEntity { public FilteringBehaviour filtering; public boolean disabled; @@ -37,7 +37,7 @@ public class ContraptionControlsTileEntity extends SmartTileEntity { public LerpedFloat indicator; public LerpedFloat button; - public ContraptionControlsTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public ContraptionControlsBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); indicator = LerpedFloat.angular() .startWithValue(0); @@ -47,7 +47,7 @@ public class ContraptionControlsTileEntity extends SmartTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(filtering = new FilteringBehaviour(this, new ControlsSlot()).moveText(new Vec3(-30, 20, 10))); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsMovement.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsMovement.java index ecac443ee..106d22613 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsMovement.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsMovement.java @@ -29,15 +29,15 @@ public class ContraptionControlsMovement implements MovementBehaviour { @Override public void startMoving(MovementContext context) { - if (context.contraption instanceof ElevatorContraption && context.tileData != null) - context.tileData.remove("Filter"); + if (context.contraption instanceof ElevatorContraption && context.blockEntityData != null) + context.blockEntityData.remove("Filter"); } @Override public void stopMoving(MovementContext context) { ItemStack filter = getFilter(context); if (filter != null) - context.tileData.putBoolean("Disabled", context.contraption.isActorTypeDisabled(filter) + context.blockEntityData.putBoolean("Disabled", context.contraption.isActorTypeDisabled(filter) || context.contraption.isActorTypeDisabled(ItemStack.EMPTY)); } @@ -48,14 +48,14 @@ public class ContraptionControlsMovement implements MovementBehaviour { } public static ItemStack getFilter(MovementContext ctx) { - CompoundTag tileData = ctx.tileData; - if (tileData == null) + CompoundTag blockEntityData = ctx.blockEntityData; + if (blockEntityData == null) return null; - return ItemStack.of(tileData.getCompound("Filter")); + return ItemStack.of(blockEntityData.getCompound("Filter")); } public static boolean isDisabledInitially(MovementContext ctx) { - return ctx.tileData != null && ctx.tileData.getBoolean("Disabled"); + return ctx.blockEntityData != null && ctx.blockEntityData.getBoolean("Disabled"); } @Override @@ -65,15 +65,15 @@ public class ContraptionControlsMovement implements MovementBehaviour { Contraption contraption = ctx.contraption; if (!(contraption instanceof ElevatorContraption ec)) { - if (!(contraption.presentTileEntities.get(ctx.localPos)instanceof ContraptionControlsTileEntity cte)) + if (!(contraption.presentBlockEntities.get(ctx.localPos) instanceof ContraptionControlsBlockEntity cbe)) return; ItemStack filter = getFilter(ctx); int value = contraption.isActorTypeDisabled(filter) || contraption.isActorTypeDisabled(ItemStack.EMPTY) ? 4 * 45 : 0; - cte.indicator.setValue(value); - cte.indicator.updateChaseTarget(value); - cte.tickAnimations(); + cbe.indicator.setValue(value); + cbe.indicator.updateChaseTarget(value); + cbe.tickAnimations(); return; } @@ -83,15 +83,15 @@ public class ContraptionControlsMovement implements MovementBehaviour { ElevatorFloorSelection efs = (ElevatorFloorSelection) ctx.temporaryData; tickFloorSelection(efs, ec); - if (!(contraption.presentTileEntities.get(ctx.localPos)instanceof ContraptionControlsTileEntity cte)) + if (!(contraption.presentBlockEntities.get(ctx.localPos) instanceof ContraptionControlsBlockEntity cbe)) return; - cte.tickAnimations(); + cbe.tickAnimations(); int currentY = (int) Math.round(contraption.entity.getY() + ec.getContactYOffset()); boolean atTargetY = ec.clientYTarget == currentY; - LerpedFloat indicator = cte.indicator; + LerpedFloat indicator = cbe.indicator; float currentIndicator = indicator.getChaseTarget(); boolean below = atTargetY ? currentIndicator > 0 : ec.clientYTarget <= currentY; @@ -99,7 +99,7 @@ public class ContraptionControlsMovement implements MovementBehaviour { int startingPoint = below ? 181 : -181; indicator.setValue(startingPoint); indicator.updateChaseTarget(startingPoint); - cte.tickAnimations(); + cbe.tickAnimations(); return; } @@ -139,7 +139,7 @@ public class ContraptionControlsMovement implements MovementBehaviour { } @Override - public boolean renderAsNormalTileEntity() { + public boolean renderAsNormalBlockEntity() { return true; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsMovingInteraction.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsMovingInteraction.java index 75f8df039..c589ea098 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsMovingInteraction.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsMovingInteraction.java @@ -41,7 +41,7 @@ public class ContraptionControlsMovingInteraction extends MovingInteractionBehav if (contraption instanceof ElevatorContraption ec) return elevatorInteraction(localPos, contraptionEntity, ec, ctx); if (contraptionEntity.level.isClientSide()) { - if (contraption.presentTileEntities.get(ctx.localPos)instanceof ContraptionControlsTileEntity cte) + if (contraption.presentBlockEntities.get(ctx.localPos)instanceof ContraptionControlsBlockEntity cte) cte.pressButton(); return true; } @@ -91,7 +91,7 @@ public class ContraptionControlsMovingInteraction extends MovingInteractionBehav disabledActors.add(filter); contraption.setActorsActive(filter, !disable); - ContraptionControlsTileEntity.sendStatus(player, filter, !disable); + ContraptionControlsBlockEntity.sendStatus(player, filter, !disable); send(contraptionEntity, filter, disable); AllSoundEvents.CONTROLLER_CLICK.play(player.level, null, @@ -119,7 +119,7 @@ public class ContraptionControlsMovingInteraction extends MovingInteractionBehav return false; AllPackets.channel.sendToServer(new ElevatorTargetFloorPacket(contraptionEntity, efs.currentTargetY)); - if (contraption.presentTileEntities.get(ctx.localPos)instanceof ContraptionControlsTileEntity cte) + if (contraption.presentBlockEntities.get(ctx.localPos)instanceof ContraptionControlsBlockEntity cte) cte.pressButton(); return true; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsRenderer.java index a48f914fa..f0076a6ed 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/controls/ContraptionControlsRenderer.java @@ -12,8 +12,8 @@ import com.simibubi.create.content.contraptions.components.actors.controls.Contr import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices; import com.simibubi.create.content.logistics.block.redstone.NixieTubeRenderer; +import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; -import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.Color; @@ -33,7 +33,7 @@ import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class ContraptionControlsRenderer extends SmartTileEntityRenderer { +public class ContraptionControlsRenderer extends SmartBlockEntityRenderer { private static Random r = new Random(); @@ -42,17 +42,17 @@ public class ContraptionControlsRenderer extends SmartTileEntityRenderer stacks = NonNullList.withSize(getInvSize(), ItemStack.EMPTY); - ContainerHelper.loadAllItems(context.tileData, stacks); + ContainerHelper.loadAllItems(context.blockEntityData, stacks); context.temporaryData = stacks; } } @@ -84,7 +84,7 @@ public class DropperMovementBehaviour implements MovementBehaviour { NonNullList stacks = getStacks(context); if (stacks == null) return; - ContainerHelper.saveAllItems(context.tileData, stacks); + ContainerHelper.saveAllItems(context.blockEntityData, stacks); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/dispenser/MovedProjectileDispenserBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/dispenser/MovedProjectileDispenserBehaviour.java index 4add4a76e..eb11f3c7f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/dispenser/MovedProjectileDispenserBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/dispenser/MovedProjectileDispenserBehaviour.java @@ -20,12 +20,12 @@ public abstract class MovedProjectileDispenserBehaviour extends MovedDefaultDisp double x = pos.getX() + facing.x * .7 + .5; double y = pos.getY() + facing.y * .7 + .5; double z = pos.getZ() + facing.z * .7 + .5; - Projectile ProjectileEntity = this.getProjectileEntity(context.world, x, y, z, itemStack.copy()); - if (ProjectileEntity == null) + Projectile projectile = this.getProjectileEntity(context.world, x, y, z, itemStack.copy()); + if (projectile == null) return itemStack; Vec3 effectiveMovementVec = facing.scale(getProjectileVelocity()).add(context.motion); - ProjectileEntity.shoot(effectiveMovementVec.x, effectiveMovementVec.y, effectiveMovementVec.z, (float) effectiveMovementVec.length(), this.getProjectileInaccuracy()); - context.world.addFreshEntity(ProjectileEntity); + projectile.shoot(effectiveMovementVec.x, effectiveMovementVec.y, effectiveMovementVec.z, (float) effectiveMovementVec.length(), this.getProjectileInaccuracy()); + context.world.addFreshEntity(projectile); itemStack.shrink(1); return itemStack; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlock.java index 2421f03ba..aaba43dea 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlock.java @@ -1,9 +1,9 @@ package com.simibubi.create.content.contraptions.components.clock; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -21,7 +21,7 @@ import net.minecraft.world.level.pathfinder.PathComputationType; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class CuckooClockBlock extends HorizontalKineticBlock implements ITE { +public class CuckooClockBlock extends HorizontalKineticBlock implements IBE { private boolean mysterious; @@ -79,13 +79,13 @@ public class CuckooClockBlock extends HorizontalKineticBlock implements ITE getTileEntityClass() { - return CuckooClockTileEntity.class; + public Class getBlockEntityClass() { + return CuckooClockBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CUCKOO_CLOCK.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CUCKOO_CLOCK.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlockEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlockEntity.java index 2367a0a23..5645a090c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlockEntity.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.contraptions.components.clock; import java.util.List; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -24,7 +24,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class CuckooClockTileEntity extends KineticTileEntity { +public class CuckooClockBlockEntity extends KineticBlockEntity { public static DamageSource CUCKOO_SURPRISE = new DamageSource("create.cuckoo_clock_explosion").setExplosion(); @@ -38,13 +38,13 @@ public class CuckooClockTileEntity extends KineticTileEntity { PIG, CREEPER, SURPRISE, NONE; } - public CuckooClockTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public CuckooClockBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); animationType = Animation.NONE; } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.CUCKOO_CLOCK); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockRenderer.java index db08c740e..538ebeb06 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockRenderer.java @@ -4,9 +4,9 @@ import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; -import com.simibubi.create.content.contraptions.components.clock.CuckooClockTileEntity.Animation; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.contraptions.components.clock.CuckooClockBlockEntity.Animation; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -18,21 +18,21 @@ import net.minecraft.core.Direction; import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; -public class CuckooClockRenderer extends KineticTileEntityRenderer { +public class CuckooClockRenderer extends KineticBlockEntityRenderer { public CuckooClockRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); - if (!(te instanceof CuckooClockTileEntity)) + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + if (!(be instanceof CuckooClockBlockEntity)) return; - CuckooClockTileEntity clock = (CuckooClockTileEntity) te; - BlockState blockState = te.getBlockState(); + CuckooClockBlockEntity clock = (CuckooClockBlockEntity) be; + BlockState blockState = be.getBlockState(); Direction direction = blockState.getValue(CuckooClockBlock.HORIZONTAL_FACING); VertexConsumer vb = buffer.getBuffer(RenderType.solid()); @@ -90,7 +90,7 @@ public class CuckooClockRenderer extends KineticTileEntityRenderer { } @Override - protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be, BlockState state) { return CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, state, state .getValue(CuckooClockBlock.HORIZONTAL_FACING) .getOpposite()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/ConnectedInputHandler.java b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/ConnectedInputHandler.java index 36a6c2d7c..69f5a45fa 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/ConnectedInputHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/ConnectedInputHandler.java @@ -53,8 +53,8 @@ public class ConnectedInputHandler { } public static void toggleConnection(Level world, BlockPos pos, BlockPos pos2) { - MechanicalCrafterTileEntity crafter1 = CrafterHelper.getCrafter(world, pos); - MechanicalCrafterTileEntity crafter2 = CrafterHelper.getCrafter(world, pos2); + MechanicalCrafterBlockEntity crafter1 = CrafterHelper.getCrafter(world, pos); + MechanicalCrafterBlockEntity crafter2 = CrafterHelper.getCrafter(world, pos2); if (crafter1 == null || crafter2 == null) return; @@ -65,7 +65,7 @@ public class ConnectedInputHandler { .offset(crafter2.input.data.get(0)); if (controllerPos1.equals(controllerPos2)) { - MechanicalCrafterTileEntity controller = CrafterHelper.getCrafter(world, controllerPos1); + MechanicalCrafterBlockEntity controller = CrafterHelper.getCrafter(world, controllerPos1); Set positions = controller.input.data.stream() .map(controllerPos1::offset) @@ -114,7 +114,7 @@ public class ConnectedInputHandler { crafter2.connectivityChanged(); } - public static void initAndAddAll(Level world, MechanicalCrafterTileEntity crafter, Collection positions) { + public static void initAndAddAll(Level world, MechanicalCrafterBlockEntity crafter, Collection positions) { crafter.input = new ConnectedInput(); positions.forEach(splitPos -> { modifyAndUpdate(world, splitPos, input -> { @@ -124,8 +124,8 @@ public class ConnectedInputHandler { }); } - public static void connectControllers(Level world, MechanicalCrafterTileEntity crafter1, - MechanicalCrafterTileEntity crafter2) { + public static void connectControllers(Level world, MechanicalCrafterBlockEntity crafter1, + MechanicalCrafterBlockEntity crafter2) { crafter1.input.data.forEach(offset -> { BlockPos connectedPos = crafter1.getBlockPos() @@ -150,11 +150,11 @@ public class ConnectedInputHandler { } private static void modifyAndUpdate(Level world, BlockPos pos, Consumer callback) { - BlockEntity te = world.getBlockEntity(pos); - if (!(te instanceof MechanicalCrafterTileEntity)) + BlockEntity blockEntity = world.getBlockEntity(pos); + if (!(blockEntity instanceof MechanicalCrafterBlockEntity)) return; - MechanicalCrafterTileEntity crafter = (MechanicalCrafterTileEntity) te; + MechanicalCrafterBlockEntity crafter = (MechanicalCrafterBlockEntity) blockEntity; callback.accept(crafter.input); crafter.setChanged(); crafter.connectivityChanged(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/CrafterHelper.java b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/CrafterHelper.java index d04f3449e..bcc6fe006 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/CrafterHelper.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/CrafterHelper.java @@ -6,15 +6,15 @@ import net.minecraft.world.level.block.entity.BlockEntity; public class CrafterHelper { - public static MechanicalCrafterTileEntity getCrafter(BlockAndTintGetter reader, BlockPos pos) { - BlockEntity te = reader.getBlockEntity(pos); - if (!(te instanceof MechanicalCrafterTileEntity)) + public static MechanicalCrafterBlockEntity getCrafter(BlockAndTintGetter reader, BlockPos pos) { + BlockEntity blockEntity = reader.getBlockEntity(pos); + if (!(blockEntity instanceof MechanicalCrafterBlockEntity)) return null; - return (MechanicalCrafterTileEntity) te; + return (MechanicalCrafterBlockEntity) blockEntity; } public static ConnectedInputHandler.ConnectedInput getInput(BlockAndTintGetter reader, BlockPos pos) { - MechanicalCrafterTileEntity crafter = getCrafter(reader, pos); + MechanicalCrafterBlockEntity crafter = getCrafter(reader, pos); return crafter == null ? null : crafter.input; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterBlock.java index 65c3c894d..4c2913d8a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterBlock.java @@ -1,16 +1,16 @@ package com.simibubi.create.content.contraptions.components.crafter; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; 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.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; 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.MechanicalCrafterBlockEntity.Phase; import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; -import com.simibubi.create.foundation.block.ITE; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Pointing; @@ -42,7 +42,7 @@ import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.ItemStackHandler; public class MechanicalCrafterBlock extends HorizontalKineticBlock - implements ITE, ICogWheel { + implements IBE, ICogWheel { public static final EnumProperty POINTING = EnumProperty.create("pointing", Pointing.class); @@ -89,14 +89,14 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { if (state.getBlock() == newState.getBlock()) { if (getTargetDirection(state) != getTargetDirection(newState)) { - MechanicalCrafterTileEntity crafter = CrafterHelper.getCrafter(worldIn, pos); + MechanicalCrafterBlockEntity crafter = CrafterHelper.getCrafter(worldIn, pos); if (crafter != null) crafter.blockChanged(); } } if (state.hasBlockEntity() && !state.is(newState.getBlock())) { - MechanicalCrafterTileEntity crafter = CrafterHelper.getCrafter(worldIn, pos); + MechanicalCrafterBlockEntity crafter = CrafterHelper.getCrafter(worldIn, pos); if (crafter != null) { if (crafter.covered) Block.popResource(worldIn, pos, AllItems.CRAFTER_SLOT_COVER.asStack()); @@ -145,7 +145,7 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock public InteractionResult onWrenched(BlockState state, UseOnContext context) { if (context.getClickedFace() == state.getValue(HORIZONTAL_FACING)) { if (!context.getLevel().isClientSide) - KineticTileEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), + KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), state.cycle(POINTING)); return InteractionResult.SUCCESS; } @@ -156,8 +156,8 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock @Override public InteractionResult use(BlockState state, Level worldIn, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) { - BlockEntity te = worldIn.getBlockEntity(pos); - if (!(te instanceof MechanicalCrafterTileEntity crafter)) + BlockEntity blockEntity = worldIn.getBlockEntity(pos); + if (!(blockEntity instanceof MechanicalCrafterBlockEntity crafter)) return InteractionResult.PASS; ItemStack heldItem = player.getItemInHand(handIn); @@ -236,7 +236,7 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock @Override public void neighborChanged(BlockState state, Level worldIn, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { - InvManipulationBehaviour behaviour = TileEntityBehaviour.get(worldIn, pos, InvManipulationBehaviour.TYPE); + InvManipulationBehaviour behaviour = BlockEntityBehaviour.get(worldIn, pos, InvManipulationBehaviour.TYPE); if (behaviour != null) behaviour.onNeighborChanged(fromPos); } @@ -279,13 +279,13 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock } @Override - public Class getTileEntityClass() { - return MechanicalCrafterTileEntity.class; + public Class getBlockEntityClass() { + return MechanicalCrafterBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.MECHANICAL_CRAFTER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.MECHANICAL_CRAFTER.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterBlockEntity.java similarity index 88% rename from src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterBlockEntity.java index a38066091..3f9f24e67 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterBlockEntity.java @@ -12,15 +12,15 @@ import org.apache.commons.lang3.tuple.Pair; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.crafter.ConnectedInputHandler.ConnectedInput; import com.simibubi.create.content.contraptions.components.crafter.RecipeGridHandler.GroupedItems; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.edgeInteraction.EdgeInteractionBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.item.SmartInventory; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.edgeInteraction.EdgeInteractionBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.utility.BlockFace; import com.simibubi.create.foundation.utility.Pointing; import com.simibubi.create.foundation.utility.VecHelper; @@ -43,7 +43,7 @@ import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.IItemHandler; -public class MechanicalCrafterTileEntity extends KineticTileEntity { +public class MechanicalCrafterBlockEntity extends KineticBlockEntity { enum Phase { IDLE, ACCEPTING, ASSEMBLING, EXPORTING, WAITING, CRAFTING, INSERTING; @@ -51,30 +51,30 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity { public static class Inventory extends SmartInventory { - private MechanicalCrafterTileEntity te; + private MechanicalCrafterBlockEntity blockEntity; - public Inventory(MechanicalCrafterTileEntity te) { - super(1, te, 1, false); - this.te = te; + public Inventory(MechanicalCrafterBlockEntity blockEntity) { + super(1, blockEntity, 1, false); + this.blockEntity = blockEntity; forbidExtraction(); whenContentsChanged(slot -> { if (getItem(slot).isEmpty()) return; - if (te.phase == Phase.IDLE) - te.checkCompletedRecipe(false); + if (blockEntity.phase == Phase.IDLE) + blockEntity.checkCompletedRecipe(false); }); } @Override public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { - if (te.phase != Phase.IDLE) + if (blockEntity.phase != Phase.IDLE) return stack; - if (te.covered) + if (blockEntity.covered) return stack; ItemStack insertItem = super.insertItem(slot, stack, simulate); if (insertItem.getCount() != stack.getCount() && !simulate) - te.getLevel() - .playSound(null, te.getBlockPos(), SoundEvents.ITEM_FRAME_ADD_ITEM, SoundSource.BLOCKS, .25f, .5f); + blockEntity.getLevel() + .playSound(null, blockEntity.getBlockPos(), SoundEvents.ITEM_FRAME_ADD_ITEM, SoundSource.BLOCKS, .25f, .5f); return insertItem; } @@ -97,7 +97,7 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity { private ItemStack scriptedResult = ItemStack.EMPTY; - public MechanicalCrafterTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public MechanicalCrafterBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setLazyTickRate(20); phase = Phase.IDLE; @@ -109,7 +109,7 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); inserting = new InvManipulationBehaviour(this, this::getTargetFace); connectivity = new EdgeInteractionBehaviour(this, ConnectedInputHandler::toggleConnection) @@ -299,7 +299,7 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity { if (!runLogic) return; - MechanicalCrafterTileEntity targetingCrafter = RecipeGridHandler.getTargetingCrafter(this); + MechanicalCrafterBlockEntity targetingCrafter = RecipeGridHandler.getTargetingCrafter(this); if (targetingCrafter == null) { ejectWholeGrid(); return; @@ -387,7 +387,7 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity { protected DirectBeltInputBehaviour getTargetingBelt() { BlockPos targetPos = worldPosition.relative(getTargetDirection()); - return TileEntityBehaviour.get(level, targetPos, DirectBeltInputBehaviour.TYPE); + return BlockEntityBehaviour.get(level, targetPos, DirectBeltInputBehaviour.TYPE); } public void tryInsert() { @@ -425,10 +425,10 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity { } public void ejectWholeGrid() { - List chain = RecipeGridHandler.getAllCraftersOfChain(this); + List chain = RecipeGridHandler.getAllCraftersOfChain(this); if (chain == null) return; - chain.forEach(MechanicalCrafterTileEntity::eject); + chain.forEach(MechanicalCrafterBlockEntity::eject); } public void eject() { @@ -481,13 +481,13 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity { return; if (level.isClientSide && !isVirtual()) return; - List chain = RecipeGridHandler.getAllCraftersOfChainIf(this, - poweredStart ? MechanicalCrafterTileEntity::craftingItemPresent - : MechanicalCrafterTileEntity::craftingItemOrCoverPresent, + List chain = RecipeGridHandler.getAllCraftersOfChainIf(this, + poweredStart ? MechanicalCrafterBlockEntity::craftingItemPresent + : MechanicalCrafterBlockEntity::craftingItemOrCoverPresent, poweredStart); if (chain == null) return; - chain.forEach(MechanicalCrafterTileEntity::begin); + chain.forEach(MechanicalCrafterBlockEntity::begin); } protected void begin() { @@ -503,14 +503,14 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity { } protected void continueIfAllPrecedingFinished() { - List preceding = RecipeGridHandler.getPrecedingCrafters(this); + List preceding = RecipeGridHandler.getPrecedingCrafters(this); if (preceding == null) { ejectWholeGrid(); return; } - for (MechanicalCrafterTileEntity mechanicalCrafterTileEntity : preceding) - if (mechanicalCrafterTileEntity.phase != Phase.WAITING) + for (MechanicalCrafterBlockEntity blockEntity : preceding) + if (blockEntity.phase != Phase.WAITING) return; phase = Phase.ASSEMBLING; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterInstance.java index f0536efbf..f85ecc139 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterInstance.java @@ -7,7 +7,7 @@ import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.base.SingleRotatingInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; @@ -15,8 +15,8 @@ import net.minecraft.core.Direction; public class MechanicalCrafterInstance extends SingleRotatingInstance { - public MechanicalCrafterInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public MechanicalCrafterInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterRenderer.java index 72a648e76..b10090430 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterRenderer.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.components.crafter; import static com.simibubi.create.content.contraptions.base.HorizontalKineticBlock.HORIZONTAL_FACING; -import static com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer.standardKineticRotationTransform; +import static com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer.standardKineticRotationTransform; import com.jozufozu.flywheel.backend.Backend; import com.jozufozu.flywheel.core.PartialModel; @@ -11,11 +11,11 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Vector3f; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllSpriteShifts; -import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity.Phase; +import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterBlockEntity.Phase; import com.simibubi.create.content.contraptions.components.crafter.RecipeGridHandler.GroupedItems; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.Pointing; @@ -32,25 +32,25 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class MechanicalCrafterRenderer extends SafeTileEntityRenderer { +public class MechanicalCrafterRenderer extends SafeBlockEntityRenderer { public MechanicalCrafterRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(MechanicalCrafterTileEntity te, float partialTicks, PoseStack ms, + protected void renderSafe(MechanicalCrafterBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { ms.pushPose(); - Direction facing = te.getBlockState() + Direction facing = be.getBlockState() .getValue(HORIZONTAL_FACING); Vec3 vec = Vec3.atLowerCornerOf(facing.getNormal()) .scale(.58) .add(.5, .5, .5); - if (te.phase == Phase.EXPORTING) { - Direction targetDirection = MechanicalCrafterBlock.getTargetDirection(te.getBlockState()); + if (be.phase == Phase.EXPORTING) { + Direction targetDirection = MechanicalCrafterBlock.getTargetDirection(be.getBlockState()); float progress = - Mth.clamp((1000 - te.countDown + te.getCountDownSpeed() * partialTicks) / 1000f, 0, 1); + Mth.clamp((1000 - be.countDown + be.getCountDownSpeed() * partialTicks) / 1000f, 0, 1); vec = vec.add(Vec3.atLowerCornerOf(targetDirection.getNormal()) .scale(progress * .75f)); } @@ -59,16 +59,16 @@ public class MechanicalCrafterRenderer extends SafeTileEntityRenderer { if (onlyRenderFirst && (pair.getLeft() @@ -117,8 +117,8 @@ public class MechanicalCrafterRenderer extends SafeTileEntityRenderer getAllCraftersOfChain(MechanicalCrafterTileEntity root) { + public static List getAllCraftersOfChain(MechanicalCrafterBlockEntity root) { return getAllCraftersOfChainIf(root, Predicates.alwaysTrue()); } - public static List getAllCraftersOfChainIf(MechanicalCrafterTileEntity root, - Predicate test) { + public static List getAllCraftersOfChainIf(MechanicalCrafterBlockEntity root, + Predicate test) { return getAllCraftersOfChainIf(root, test, false); } - public static List getAllCraftersOfChainIf(MechanicalCrafterTileEntity root, - Predicate test, boolean poweredStart) { - List crafters = new ArrayList<>(); - List> frontier = new ArrayList<>(); - Set visited = new HashSet<>(); + public static List getAllCraftersOfChainIf(MechanicalCrafterBlockEntity root, + Predicate test, boolean poweredStart) { + List crafters = new ArrayList<>(); + List> frontier = new ArrayList<>(); + Set visited = new HashSet<>(); frontier.add(Pair.of(root, null)); boolean powered = false; @@ -55,9 +55,9 @@ public class RecipeGridHandler { boolean allEmpty = true; while (!frontier.isEmpty()) { - Pair pair = frontier.remove(0); - MechanicalCrafterTileEntity current = pair.getKey(); - MechanicalCrafterTileEntity last = pair.getValue(); + Pair pair = frontier.remove(0); + MechanicalCrafterBlockEntity current = pair.getKey(); + MechanicalCrafterBlockEntity last = pair.getValue(); if (visited.contains(current)) return null; @@ -72,10 +72,10 @@ public class RecipeGridHandler { crafters.add(current); visited.add(current); - MechanicalCrafterTileEntity target = getTargetingCrafter(current); + MechanicalCrafterBlockEntity target = getTargetingCrafter(current); if (target != last && target != null) frontier.add(Pair.of(target, current)); - for (MechanicalCrafterTileEntity preceding : getPrecedingCrafters(current)) + for (MechanicalCrafterBlockEntity preceding : getPrecedingCrafters(current)) if (preceding != last) frontier.add(Pair.of(preceding, current)); } @@ -83,29 +83,29 @@ public class RecipeGridHandler { return empty && !powered || allEmpty ? null : crafters; } - public static MechanicalCrafterTileEntity getTargetingCrafter(MechanicalCrafterTileEntity crafter) { + public static MechanicalCrafterBlockEntity getTargetingCrafter(MechanicalCrafterBlockEntity crafter) { BlockState state = crafter.getBlockState(); if (!isCrafter(state)) return null; BlockPos targetPos = crafter.getBlockPos() .relative(MechanicalCrafterBlock.getTargetDirection(state)); - MechanicalCrafterTileEntity targetTE = CrafterHelper.getCrafter(crafter.getLevel(), targetPos); - if (targetTE == null) + MechanicalCrafterBlockEntity targetBE = CrafterHelper.getCrafter(crafter.getLevel(), targetPos); + if (targetBE == null) return null; - BlockState targetState = targetTE.getBlockState(); + BlockState targetState = targetBE.getBlockState(); if (!isCrafter(targetState)) return null; if (state.getValue(HORIZONTAL_FACING) != targetState.getValue(HORIZONTAL_FACING)) return null; - return targetTE; + return targetBE; } - public static List getPrecedingCrafters(MechanicalCrafterTileEntity crafter) { + public static List getPrecedingCrafters(MechanicalCrafterBlockEntity crafter) { BlockPos pos = crafter.getBlockPos(); Level world = crafter.getLevel(); - List crafters = new ArrayList<>(); + List crafters = new ArrayList<>(); BlockState blockState = crafter.getBlockState(); if (!isCrafter(blockState)) return crafters; @@ -126,11 +126,11 @@ public class RecipeGridHandler { continue; if (blockFacing != neighbourState.getValue(HORIZONTAL_FACING)) continue; - MechanicalCrafterTileEntity te = CrafterHelper.getCrafter(world, neighbourPos); - if (te == null) + MechanicalCrafterBlockEntity be = CrafterHelper.getCrafter(world, neighbourPos); + if (be == null) continue; - crafters.add(te); + crafters.add(be); } return crafters; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankBlock.java index 96cb2a8ba..ab3cf52fc 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankBlock.java @@ -1,12 +1,12 @@ package com.simibubi.create.content.contraptions.components.crank; import com.jozufozu.flywheel.core.PartialModel; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.utility.Couple; @@ -36,7 +36,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; public class HandCrankBlock extends DirectionalKineticBlock - implements ITE, ProperWaterloggedBlock { + implements IBE, ProperWaterloggedBlock { public HandCrankBlock(Properties properties) { super(properties); @@ -73,7 +73,7 @@ public class HandCrankBlock extends DirectionalKineticBlock if (player.isSpectator()) return InteractionResult.PASS; - withTileEntityDo(worldIn, pos, te -> te.turn(player.isShiftKeyDown())); + withBlockEntityDo(worldIn, pos, be -> be.turn(player.isShiftKeyDown())); player.causeFoodExhaustion(getRotationSpeed() * AllConfigs.SERVER.kinetics.crankHungerMultiplier.getF()); if (player.getFoodData() @@ -143,13 +143,13 @@ public class HandCrankBlock extends DirectionalKineticBlock } @Override - public Class getTileEntityClass() { - return HandCrankTileEntity.class; + public Class getBlockEntityClass() { + return HandCrankBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.HAND_CRANK.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.HAND_CRANK.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankBlockEntity.java similarity index 93% rename from src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankBlockEntity.java index 4ef31339f..b1ce4981d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankBlockEntity.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.crank; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; +import com.simibubi.create.content.contraptions.base.GeneratingKineticBlockEntity; import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.core.BlockPos; @@ -13,14 +13,14 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class HandCrankTileEntity extends GeneratingKineticTileEntity { +public class HandCrankBlockEntity extends GeneratingKineticBlockEntity { public int inUse; public boolean backwards; public float independentAngle; public float chasingVelocity; - public HandCrankTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public HandCrankBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankInstance.java index c3eaeb218..aa9fbc479 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankInstance.java @@ -14,13 +14,13 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; public class HandCrankInstance extends SingleRotatingInstance implements DynamicInstance { - private final HandCrankTileEntity tile; + private final HandCrankBlockEntity blockEntity; private ModelData crank; private Direction facing; - public HandCrankInstance(MaterialManager modelManager, HandCrankTileEntity tile) { - super(modelManager, tile); - this.tile = tile; + public HandCrankInstance(MaterialManager modelManager, HandCrankBlockEntity blockEntity) { + super(modelManager, blockEntity); + this.blockEntity = blockEntity; Block block = blockState.getBlock(); PartialModel renderedHandle = null; @@ -46,7 +46,7 @@ public class HandCrankInstance extends SingleRotatingInstance implements Dynamic private void rotateCrank() { Direction.Axis axis = facing.getAxis(); - float angle = (tile.independentAngle + AnimationTickHolder.getPartialTicks() * tile.chasingVelocity) / 360; + float angle = (blockEntity.independentAngle + AnimationTickHolder.getPartialTicks() * blockEntity.chasingVelocity) / 360; crank.loadIdentity() .translate(getInstancePosition()) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankRenderer.java index 05dce03e5..d3c56cb28 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankRenderer.java @@ -5,8 +5,8 @@ import static net.minecraft.world.level.block.state.properties.BlockStatePropert import com.jozufozu.flywheel.backend.Backend; import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; @@ -17,20 +17,20 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -public class HandCrankRenderer extends KineticTileEntityRenderer { +public class HandCrankRenderer extends KineticBlockEntityRenderer { public HandCrankRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - BlockState state = te.getBlockState(); + BlockState state = be.getBlockState(); Block block = state.getBlock(); PartialModel renderedHandle = null; if (block instanceof HandCrankBlock) @@ -40,8 +40,8 @@ public class HandCrankRenderer extends KineticTileEntityRenderer { Direction facing = state.getValue(FACING); SuperByteBuffer handle = CachedBufferer.partialFacing(renderedHandle, state, facing.getOpposite()); - HandCrankTileEntity crank = (HandCrankTileEntity) te; - kineticRotationTransform(handle, te, facing.getAxis(), + HandCrankBlockEntity crank = (HandCrankBlockEntity) be; + kineticRotationTransform(handle, be, facing.getAxis(), (crank.independentAngle + partialTicks * crank.chasingVelocity) / 360, light); handle.renderInto(ms, buffer.getBuffer(RenderType.solid())); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelBlock.java index fdcef77ef..1bf3ddff3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelBlock.java @@ -2,11 +2,11 @@ package com.simibubi.create.content.contraptions.components.crusher; import static com.simibubi.create.content.contraptions.components.crusher.CrushingWheelControllerBlock.VALID; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -24,7 +24,7 @@ import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class CrushingWheelBlock extends RotatedPillarKineticBlock implements ITE { +public class CrushingWheelBlock extends RotatedPillarKineticBlock implements IBE { public CrushingWheelBlock(Properties properties) { super(properties); @@ -80,14 +80,14 @@ public class CrushingWheelBlock extends RotatedPillarKineticBlock implements ITE if (AllBlocks.CRUSHING_WHEEL.has(otherState)) { controllerShouldExist = true; - CrushingWheelTileEntity te = getTileEntity(world, pos); - CrushingWheelTileEntity otherTe = getTileEntity(world, otherWheelPos); + CrushingWheelBlockEntity be = getBlockEntity(world, pos); + CrushingWheelBlockEntity otherBE = getBlockEntity(world, otherWheelPos); - if (te != null && otherTe != null && (te.getSpeed() > 0) != (otherTe.getSpeed() > 0) - && te.getSpeed() != 0) { + if (be != null && otherBE != null && (be.getSpeed() > 0) != (otherBE.getSpeed() > 0) + && be.getSpeed() != 0) { Axis wheelAxis = state.getValue(AXIS); Axis sideAxis = side.getAxis(); - int controllerADO = Math.round(Math.signum(te.getSpeed())) * side.getAxisDirection() + int controllerADO = Math.round(Math.signum(be.getSpeed())) * side.getAxisDirection() .getStep(); Vec3 controllerDirVec = new Vec3(wheelAxis == Axis.X ? 1 : 0, wheelAxis == Axis.Y ? 1 : 0, wheelAxis == Axis.Z ? 1 : 0).cross( @@ -132,7 +132,7 @@ public class CrushingWheelBlock extends RotatedPillarKineticBlock implements ITE if (entityIn.getY() < pos.getY() + 1.25f || !entityIn.isOnGround()) return; - float speed = getTileEntityOptional(worldIn, pos).map(CrushingWheelTileEntity::getSpeed) + float speed = getBlockEntityOptional(worldIn, pos).map(CrushingWheelBlockEntity::getSpeed) .orElse(0f); double x = 0; @@ -183,13 +183,13 @@ public class CrushingWheelBlock extends RotatedPillarKineticBlock implements ITE } @Override - public Class getTileEntityClass() { - return CrushingWheelTileEntity.class; + public Class getBlockEntityClass() { + return CrushingWheelBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CRUSHING_WHEEL.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CRUSHING_WHEEL.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelBlockEntity.java similarity index 83% rename from src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelBlockEntity.java index 7cedbe8ce..93688cd3b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelBlockEntity.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.contraptions.components.crusher; import java.util.List; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -21,18 +21,18 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; @EventBusSubscriber -public class CrushingWheelTileEntity extends KineticTileEntity { +public class CrushingWheelBlockEntity extends KineticBlockEntity { public static final DamageSource DAMAGE_SOURCE = new DamageSource("create.crush").bypassArmor() .setScalesWithDifficulty(); - public CrushingWheelTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public CrushingWheelBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setLazyTickRate(20); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.CRUSHING_WHEEL, AllAdvancements.CRUSHER_MAXED); } @@ -69,7 +69,7 @@ public class CrushingWheelTileEntity extends KineticTileEntity { @SubscribeEvent public static void handleCrushedMobDrops(LivingDropsEvent event) { - if (event.getSource() != CrushingWheelTileEntity.DAMAGE_SOURCE) + if (event.getSource() != CrushingWheelBlockEntity.DAMAGE_SOURCE) return; Vec3 outSpeed = Vec3.ZERO; for (ItemEntity outputItem : event.getDrops()) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerBlock.java index 7bb3f606a..aa1837fab 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerBlock.java @@ -2,11 +2,11 @@ package com.simibubi.create.content.contraptions.components.crusher; import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.utility.Iterate; @@ -38,7 +38,7 @@ import net.minecraft.world.phys.shapes.EntityCollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -public class CrushingWheelControllerBlock extends DirectionalBlock implements ITE { +public class CrushingWheelControllerBlock extends DirectionalBlock implements IBE { public CrushingWheelControllerBlock(Properties p_i48440_1_) { super(p_i48440_1_); @@ -72,8 +72,8 @@ public class CrushingWheelControllerBlock extends DirectionalBlock implements IT checkEntityForProcessing(worldIn, pos, entityIn); - withTileEntityDo(worldIn, pos, te -> { - if (te.processingEntity == entityIn) + withBlockEntityDo(worldIn, pos, be -> { + if (be.processingEntity == entityIn) entityIn.makeStuckInBlock(state, new Vec3(axis == Axis.X ? (double) 0.05F : 0.25D, axis == Axis.Y ? (double) 0.05F : 0.25D, axis == Axis.Z ? (double) 0.05F : 0.25D)); @@ -81,10 +81,10 @@ public class CrushingWheelControllerBlock extends DirectionalBlock implements IT } public void checkEntityForProcessing(Level worldIn, BlockPos pos, Entity entityIn) { - CrushingWheelControllerTileEntity te = getTileEntity(worldIn, pos); - if (te == null) + CrushingWheelControllerBlockEntity be = getBlockEntity(worldIn, pos); + if (be == null) return; - if (te.crushingspeed == 0) + if (be.crushingspeed == 0) return; // if (entityIn instanceof ItemEntity) // ((ItemEntity) entityIn).setPickUpDelay(10); @@ -93,7 +93,7 @@ public class CrushingWheelControllerBlock extends DirectionalBlock implements IT if (pos.equals(NbtUtils.readBlockPos(data.getCompound("BypassCrushingWheel")))) return; } - if (te.isOccupied()) + if (be.isOccupied()) return; boolean isPlayer = entityIn instanceof Player; if (isPlayer && ((Player) entityIn).isCreative()) @@ -101,7 +101,7 @@ public class CrushingWheelControllerBlock extends DirectionalBlock implements IT if (isPlayer && entityIn.level.getDifficulty() == Difficulty.PEACEFUL) return; - te.startCrushing(entityIn); + be.startCrushing(entityIn); } @Override @@ -130,11 +130,11 @@ public class CrushingWheelControllerBlock extends DirectionalBlock implements IT } public void updateSpeed(BlockState state, LevelAccessor world, BlockPos pos) { - withTileEntityDo(world, pos, te -> { + withBlockEntityDo(world, pos, be -> { if (!state.getValue(VALID)) { - if (te.crushingspeed != 0) { - te.crushingspeed = 0; - te.sendData(); + if (be.crushingspeed != 0) { + be.crushingspeed = 0; + be.sendData(); } return; } @@ -145,11 +145,11 @@ public class CrushingWheelControllerBlock extends DirectionalBlock implements IT continue; if (neighbour.getValue(BlockStateProperties.AXIS) == d.getAxis()) continue; - BlockEntity adjTe = world.getBlockEntity(pos.relative(d)); - if (!(adjTe instanceof CrushingWheelTileEntity cwte)) + BlockEntity adjBE = world.getBlockEntity(pos.relative(d)); + if (!(adjBE instanceof CrushingWheelBlockEntity cwte)) continue; - te.crushingspeed = Math.abs(cwte.getSpeed() / 50f); - te.sendData(); + be.crushingspeed = Math.abs(cwte.getSpeed() / 50f); + be.sendData(); cwte.award(AllAdvancements.CRUSHING_WHEEL); if (cwte.getSpeed() > 255) @@ -179,8 +179,8 @@ public class CrushingWheelControllerBlock extends DirectionalBlock implements IT // than falling back through. return Shapes.empty(); - CrushingWheelControllerTileEntity te = getTileEntity(worldIn, pos); - if (te != null && te.processingEntity == entity) + CrushingWheelControllerBlockEntity be = getBlockEntity(worldIn, pos); + if (be != null && be.processingEntity == entity) return Shapes.empty(); return standardShape; @@ -191,18 +191,18 @@ public class CrushingWheelControllerBlock extends DirectionalBlock implements IT if (!state.hasBlockEntity() || state.getBlock() == newState.getBlock()) return; - withTileEntityDo(worldIn, pos, te -> ItemHelper.dropContents(worldIn, pos, te.inventory)); + withBlockEntityDo(worldIn, pos, be -> ItemHelper.dropContents(worldIn, pos, be.inventory)); worldIn.removeBlockEntity(pos); } @Override - public Class getTileEntityClass() { - return CrushingWheelControllerTileEntity.class; + public Class getBlockEntityClass() { + return CrushingWheelControllerBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CRUSHING_WHEEL_CONTROLLER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CRUSHING_WHEEL_CONTROLLER.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerBlockEntity.java similarity index 95% rename from src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerBlockEntity.java index 120001d63..ab2ec3fee 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerBlockEntity.java @@ -9,13 +9,13 @@ import java.util.UUID; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.content.contraptions.processing.ProcessingInventory; import com.simibubi.create.content.contraptions.processing.ProcessingRecipe; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.sound.SoundScapes; import com.simibubi.create.foundation.sound.SoundScapes.AmbienceGroup; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -47,7 +47,7 @@ import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.wrapper.RecipeWrapper; -public class CrushingWheelControllerTileEntity extends SmartTileEntity { +public class CrushingWheelControllerBlockEntity extends SmartBlockEntity { public Entity processingEntity; private UUID entityUUID; @@ -58,7 +58,7 @@ public class CrushingWheelControllerTileEntity extends SmartTileEntity { private RecipeWrapper wrapper; public float crushingspeed; - public CrushingWheelControllerTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public CrushingWheelControllerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); inventory = new ProcessingInventory(this::itemInserted) { @@ -72,7 +72,7 @@ public class CrushingWheelControllerTileEntity extends SmartTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(new DirectBeltInputBehaviour(this).onlyInsertWhen(this::supportsDirectBeltInput)); } @@ -148,7 +148,7 @@ public class CrushingWheelControllerTileEntity extends SmartTileEntity { BlockPos nextPos = worldPosition.offset(facing.getAxis() == Axis.X ? 1f * offset : 0f, (-1f), facing.getAxis() == Axis.Z ? 1f * offset : 0f); DirectBeltInputBehaviour behaviour = - TileEntityBehaviour.get(level, nextPos, DirectBeltInputBehaviour.TYPE); + BlockEntityBehaviour.get(level, nextPos, DirectBeltInputBehaviour.TYPE); if (behaviour != null) { boolean changed = false; if (!behaviour.canInsertFromSide(facing)) @@ -230,7 +230,7 @@ public class CrushingWheelControllerTileEntity extends SmartTileEntity { processingEntity.setPos(entityOutPos.x, entityOutPos.y, entityOutPos.z); } } - processingEntity.hurt(CrushingWheelTileEntity.DAMAGE_SOURCE, crusherDamage); + processingEntity.hurt(CrushingWheelBlockEntity.DAMAGE_SOURCE, crusherDamage); if (!processingEntity.isAlive()) { processingEntity.setPos(entityOutPos.x, entityOutPos.y, entityOutPos.z); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/BeltDeployerCallbacks.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/BeltDeployerCallbacks.java index 82b69aa97..7bc2f6c96 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/BeltDeployerCallbacks.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/BeltDeployerCallbacks.java @@ -8,8 +8,8 @@ import java.util.stream.Collectors; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.Create; -import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity.Mode; -import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity.State; +import com.simibubi.create.content.contraptions.components.deployer.DeployerBlockEntity.Mode; +import com.simibubi.create.content.contraptions.components.deployer.DeployerBlockEntity.State; import com.simibubi.create.content.contraptions.processing.InWorldProcessing; import com.simibubi.create.content.contraptions.processing.ItemApplicationRecipe; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; @@ -17,9 +17,9 @@ import com.simibubi.create.content.contraptions.relays.belt.transport.Transporte import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe; import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.advancement.CreateAdvancement; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -35,66 +35,66 @@ import net.minecraftforge.items.ItemHandlerHelper; public class BeltDeployerCallbacks { public static ProcessingResult onItemReceived(TransportedItemStack s, TransportedItemStackHandlerBehaviour i, - DeployerTileEntity deployerTileEntity) { + DeployerBlockEntity blockEntity) { - if (deployerTileEntity.getSpeed() == 0) + if (blockEntity.getSpeed() == 0) return ProcessingResult.PASS; - if (deployerTileEntity.mode == Mode.PUNCH) + if (blockEntity.mode == Mode.PUNCH) return ProcessingResult.PASS; - BlockState blockState = deployerTileEntity.getBlockState(); + BlockState blockState = blockEntity.getBlockState(); if (!blockState.hasProperty(FACING) || blockState.getValue(FACING) != Direction.DOWN) return ProcessingResult.PASS; - if (deployerTileEntity.state != State.WAITING) + if (blockEntity.state != State.WAITING) return ProcessingResult.HOLD; - if (deployerTileEntity.redstoneLocked) + if (blockEntity.redstoneLocked) return ProcessingResult.PASS; - DeployerFakePlayer player = deployerTileEntity.getPlayer(); + DeployerFakePlayer player = blockEntity.getPlayer(); ItemStack held = player == null ? ItemStack.EMPTY : player.getMainHandItem(); if (held.isEmpty()) return ProcessingResult.HOLD; - if (deployerTileEntity.getRecipe(s.stack) == null) + if (blockEntity.getRecipe(s.stack) == null) return ProcessingResult.PASS; - deployerTileEntity.start(); + blockEntity.start(); return ProcessingResult.HOLD; } public static ProcessingResult whenItemHeld(TransportedItemStack s, TransportedItemStackHandlerBehaviour i, - DeployerTileEntity deployerTileEntity) { + DeployerBlockEntity blockEntity) { - if (deployerTileEntity.getSpeed() == 0) + if (blockEntity.getSpeed() == 0) return ProcessingResult.PASS; - BlockState blockState = deployerTileEntity.getBlockState(); + BlockState blockState = blockEntity.getBlockState(); if (!blockState.hasProperty(FACING) || blockState.getValue(FACING) != Direction.DOWN) return ProcessingResult.PASS; - DeployerFakePlayer player = deployerTileEntity.getPlayer(); + DeployerFakePlayer player = blockEntity.getPlayer(); ItemStack held = player == null ? ItemStack.EMPTY : player.getMainHandItem(); if (held.isEmpty()) return ProcessingResult.HOLD; - Recipe recipe = deployerTileEntity.getRecipe(s.stack); + Recipe recipe = blockEntity.getRecipe(s.stack); if (recipe == null) return ProcessingResult.PASS; - if (deployerTileEntity.state == State.RETRACTING && deployerTileEntity.timer == 1000) { - activate(s, i, deployerTileEntity, recipe); + if (blockEntity.state == State.RETRACTING && blockEntity.timer == 1000) { + activate(s, i, blockEntity, recipe); return ProcessingResult.HOLD; } - if (deployerTileEntity.state == State.WAITING) { - if (deployerTileEntity.redstoneLocked) + if (blockEntity.state == State.WAITING) { + if (blockEntity.redstoneLocked) return ProcessingResult.PASS; - deployerTileEntity.start(); + blockEntity.start(); } return ProcessingResult.HOLD; } public static void activate(TransportedItemStack transported, TransportedItemStackHandlerBehaviour handler, - DeployerTileEntity deployerTileEntity, Recipe recipe) { + DeployerBlockEntity blockEntity, Recipe recipe) { List collect = InWorldProcessing.applyRecipeOn(ItemHandlerHelper.copyStackWithSize(transported.stack, 1), recipe) @@ -113,10 +113,10 @@ public class BeltDeployerCallbacks { }) .collect(Collectors.toList()); - deployerTileEntity.award(AllAdvancements.DEPLOYER); + blockEntity.award(AllAdvancements.DEPLOYER); TransportedItemStack left = transported.copy(); - deployerTileEntity.player.spawnedItemEffects = transported.stack.copy(); + blockEntity.player.spawnedItemEffects = transported.stack.copy(); left.stack.shrink(1); ItemStack resultItem = null; @@ -128,7 +128,7 @@ public class BeltDeployerCallbacks { handler.handleProcessingOnItem(transported, TransportedResult.convertToAndLeaveHeld(collect, left)); } - ItemStack heldItem = deployerTileEntity.player.getMainHandItem(); + ItemStack heldItem = blockEntity.player.getMainHandItem(); boolean unbreakable = heldItem.hasTag() && heldItem.getTag() .getBoolean("Unbreakable"); boolean keepHeld = @@ -136,27 +136,27 @@ public class BeltDeployerCallbacks { if (!unbreakable && !keepHeld) { if (heldItem.isDamageableItem()) - heldItem.hurtAndBreak(1, deployerTileEntity.player, + heldItem.hurtAndBreak(1, blockEntity.player, s -> s.broadcastBreakEvent(InteractionHand.MAIN_HAND)); else heldItem.shrink(1); } if (resultItem != null && !resultItem.isEmpty()) - awardAdvancements(deployerTileEntity, resultItem); + awardAdvancements(blockEntity, resultItem); - BlockPos pos = deployerTileEntity.getBlockPos(); - Level world = deployerTileEntity.getLevel(); + BlockPos pos = blockEntity.getBlockPos(); + Level world = blockEntity.getLevel(); if (heldItem.isEmpty()) world.playSound(null, pos, SoundEvents.ITEM_BREAK, SoundSource.BLOCKS, .25f, 1); world.playSound(null, pos, SoundEvents.ITEM_PICKUP, SoundSource.BLOCKS, .25f, .75f); if (recipe instanceof SandPaperPolishingRecipe) AllSoundEvents.SANDING_SHORT.playOnServer(world, pos, .35f, 1f); - deployerTileEntity.sendData(); + blockEntity.sendData(); } - private static void awardAdvancements(DeployerTileEntity deployerTileEntity, ItemStack created) { + private static void awardAdvancements(DeployerBlockEntity blockEntity, ItemStack created) { CreateAdvancement advancement = null; if (AllBlocks.ANDESITE_CASING.isIn(created)) @@ -170,7 +170,7 @@ public class BeltDeployerCallbacks { else return; - deployerTileEntity.award(advancement); + blockEntity.award(advancement); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerActorInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerActorInstance.java index 56163a0e2..ce24a1403 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerActorInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerActorInstance.java @@ -13,7 +13,7 @@ import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileInstance; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance; @@ -50,7 +50,7 @@ public class DeployerActorInstance extends ActorInstance { .material(Materials.TRANSFORMED); BlockState state = context.state; - DeployerTileEntity.Mode mode = NBTHelper.readEnum(context.tileData, "Mode", DeployerTileEntity.Mode.class); + DeployerBlockEntity.Mode mode = NBTHelper.readEnum(context.blockEntityData, "Mode", DeployerBlockEntity.Mode.class); PartialModel handPose = DeployerRenderer.getHandPose(mode); stationaryTimer = context.data.contains("StationaryTimer"); @@ -67,7 +67,7 @@ public class DeployerActorInstance extends ActorInstance { Direction.Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state); shaft = materialManager.defaultSolid() .material(AllMaterialSpecs.ROTATING) - .getModel(KineticTileInstance.shaft(axis)) + .getModel(KineticBlockEntityInstance.shaft(axis)) .createInstance(); int blockLight = localBlockLight(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlock.java index 673789b4d..9ca3d723b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlock.java @@ -2,12 +2,12 @@ package com.simibubi.create.content.contraptions.components.deployer; import javax.annotation.ParametersAreNonnullByDefault; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllItems; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.components.AssemblyOperatorUseContext; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; @@ -31,7 +31,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault -public class DeployerBlock extends DirectionalAxisKineticBlock implements ITE { +public class DeployerBlock extends DirectionalAxisKineticBlock implements IBE { public DeployerBlock(Properties properties) { super(properties); @@ -51,7 +51,7 @@ public class DeployerBlock extends DirectionalAxisKineticBlock implements ITE { - ItemStack heldByDeployer = te.player.getMainHandItem() + withBlockEntityDo(worldIn, pos, be -> { + ItemStack heldByDeployer = be.player.getMainHandItem() .copy(); if (heldByDeployer.isEmpty() && heldByPlayer.isEmpty()) return; player.setItemInHand(handIn, heldByDeployer); - te.player.setItemInHand(InteractionHand.MAIN_HAND, heldByPlayer); - te.sendData(); + be.player.setItemInHand(InteractionHand.MAIN_HAND, heldByPlayer); + be.sendData(); }); return InteractionResult.SUCCESS; } @Override - public Class getTileEntityClass() { - return DeployerTileEntity.class; + public Class getBlockEntityClass() { + return DeployerBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.DEPLOYER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.DEPLOYER.get(); } @Override public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean isMoving) { super.onPlace(state, world, pos, oldState, isMoving); - withTileEntityDo(world, pos, DeployerTileEntity::redstoneUpdate); + withBlockEntityDo(world, pos, DeployerBlockEntity::redstoneUpdate); } @Override public void neighborChanged(BlockState state, Level world, BlockPos pos, Block p_220069_4_, BlockPos p_220069_5_, boolean p_220069_6_) { - withTileEntityDo(world, pos, DeployerTileEntity::redstoneUpdate); + withBlockEntityDo(world, pos, DeployerBlockEntity::redstoneUpdate); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlockEntity.java similarity index 90% rename from src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlockEntity.java index 31d8dfc6f..f879c371a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlockEntity.java @@ -13,16 +13,16 @@ import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.content.contraptions.base.IRotate.StressImpact; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRecipe; import com.simibubi.create.content.curiosities.tools.SandPaperItem; import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe.SandPaperInv; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.item.TooltipHelper; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.NBTHelper; @@ -63,7 +63,7 @@ import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.ItemStackHandler; import net.minecraftforge.items.wrapper.RecipeWrapper; -public class DeployerTileEntity extends KineticTileEntity { +public class DeployerBlockEntity extends KineticBlockEntity { protected State state; protected Mode mode; @@ -90,7 +90,7 @@ public class DeployerTileEntity extends KineticTileEntity { PUNCH, USE } - public DeployerTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public DeployerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); this.state = State.WAITING; mode = Mode.USE; @@ -101,7 +101,7 @@ public class DeployerTileEntity extends KineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); filtering = new FilteringBehaviour(this, new DeployerFilterSlot()); behaviours.add(filtering); @@ -251,14 +251,14 @@ public class DeployerTileEntity extends KineticTileEntity { public boolean startFistBump(Direction facing) { int i = 0; - DeployerTileEntity partner = null; + DeployerBlockEntity partner = null; for (i = 2; i < 5; i++) { BlockPos otherDeployer = worldPosition.relative(facing, i); if (!level.isLoaded(otherDeployer)) return false; - BlockEntity otherTile = level.getBlockEntity(otherDeployer); - if (otherTile instanceof DeployerTileEntity dpe) { + BlockEntity other = level.getBlockEntity(otherDeployer); + if (other instanceof DeployerBlockEntity dpe) { partner = dpe; break; } @@ -274,12 +274,12 @@ public class DeployerTileEntity extends KineticTileEntity { if (partner.getSpeed() == 0) return false; - for (DeployerTileEntity te : Arrays.asList(this, partner)) { - te.fistBump = true; - te.reach = ((i - 2)) * .5f; - te.timer = 1000; - te.state = State.EXPANDING; - te.sendData(); + for (DeployerBlockEntity be : Arrays.asList(this, partner)) { + be.fistBump = true; + be.reach = ((i - 2)) * .5f; + be.timer = 1000; + be.state = State.EXPANDING; + be.sendData(); } return true; @@ -287,33 +287,33 @@ public class DeployerTileEntity extends KineticTileEntity { public void triggerFistBump() { int i = 0; - DeployerTileEntity deployerTile = null; + DeployerBlockEntity deployerBlockEntity = null; for (i = 2; i < 5; i++) { BlockPos pos = worldPosition.relative(getBlockState().getValue(FACING), i); if (!level.isLoaded(pos)) return; - if (level.getBlockEntity(pos) instanceof DeployerTileEntity dpe) { - deployerTile = dpe; + if (level.getBlockEntity(pos) instanceof DeployerBlockEntity dpe) { + deployerBlockEntity = dpe; break; } } - if (deployerTile == null) + if (deployerBlockEntity == null) return; - if (!deployerTile.fistBump || deployerTile.state != State.EXPANDING) + if (!deployerBlockEntity.fistBump || deployerBlockEntity.state != State.EXPANDING) return; - if (deployerTile.timer > 0) + if (deployerBlockEntity.timer > 0) return; fistBump = false; - deployerTile.fistBump = false; - deployerTile.state = State.RETRACTING; - deployerTile.timer = 1000; - deployerTile.sendData(); + deployerBlockEntity.fistBump = false; + deployerBlockEntity.state = State.RETRACTING; + deployerBlockEntity.timer = 1000; + deployerBlockEntity.sendData(); award(AllAdvancements.FIST_BUMP); BlockPos soundLocation = new BlockPos(Vec3.atCenterOf(worldPosition) - .add(Vec3.atCenterOf(deployerTile.getBlockPos())) + .add(Vec3.atCenterOf(deployerBlockEntity.getBlockPos())) .scale(.5f)); level.playSound(null, soundLocation, SoundEvents.PLAYER_ATTACK_NODAMAGE, SoundSource.BLOCKS, .75f, .75f); } @@ -327,7 +327,7 @@ public class DeployerTileEntity extends KineticTileEntity { player.setYRot(direction.toYRot()); if (direction == Direction.DOWN - && TileEntityBehaviour.get(level, clickedPos, TransportedItemStackHandlerBehaviour.TYPE) != null) + && BlockEntityBehaviour.get(level, clickedPos, TransportedItemStackHandlerBehaviour.TYPE) != null) return; // Belt processing handled in BeltDeployerCallbacks DeployerHandler.activate(player, center, clickedPos, movementVector, mode); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerFilterSlot.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerFilterSlot.java index ae37feff1..b82e5441e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerFilterSlot.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerFilterSlot.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.deployer; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.VecHelper; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java index 02137a196..414a782e3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java @@ -14,13 +14,13 @@ import org.apache.commons.lang3.tuple.Pair; import com.google.common.collect.Multimap; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.AllTags.AllItemTags; -import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity.Mode; +import com.simibubi.create.content.contraptions.components.deployer.DeployerBlockEntity.Mode; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlockItem; import com.simibubi.create.content.curiosities.tools.SandPaperItem; import com.simibubi.create.content.logistics.trains.ITrackBlock; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld; @@ -121,7 +121,7 @@ public class DeployerHandler { } if (!held.isEmpty() && facing == Direction.DOWN - && TileEntityBehaviour.get(world, targetPos, TransportedItemStackHandlerBehaviour.TYPE) != null) + && BlockEntityBehaviour.get(world, targetPos, TransportedItemStackHandlerBehaviour.TYPE) != null) return false; return true; @@ -364,7 +364,7 @@ public class DeployerHandler { if (net.minecraftforge.common.ForgeHooks.onBlockBreakEvent(world, gameType, player, pos) == -1) return false; - BlockEntity tileentity = world.getBlockEntity(pos); + BlockEntity blockEntity = world.getBlockEntity(pos); if (player.getMainHandItem() .onBlockStartBreak(pos, player)) return false; @@ -398,7 +398,7 @@ public class DeployerHandler { if (!canHarvest) return true; - Block.getDrops(blockstate, world, pos, tileentity, player, prevHeldItem) + Block.getDrops(blockstate, world, pos, blockEntity, player, prevHeldItem) .forEach(item -> player.getInventory().placeItemBackInInventory(item)); blockstate.spawnAfterBreak(world, pos, prevHeldItem); return true; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerInstance.java index f34dec09b..6d4525f38 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerInstance.java @@ -10,7 +10,7 @@ import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.core.materials.oriented.OrientedData; import com.mojang.math.Quaternion; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -22,7 +22,7 @@ import net.minecraft.util.Mth; public class DeployerInstance extends ShaftInstance implements DynamicInstance, TickableInstance { - final DeployerTileEntity tile; + final DeployerBlockEntity blockEntity; final Direction facing; final float yRot; final float xRot; @@ -35,10 +35,10 @@ public class DeployerInstance extends ShaftInstance implements DynamicInstance, PartialModel currentHand; float progress; - public DeployerInstance(MaterialManager dispatcher, KineticTileEntity tile) { - super(dispatcher, tile); + public DeployerInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); - this.tile = (DeployerTileEntity) super.blockEntity; + this.blockEntity = (DeployerBlockEntity) super.blockEntity; facing = blockState.getValue(FACING); boolean rotatePole = blockState.getValue(AXIS_ALONG_FIRST_COORDINATE) ^ facing.getAxis() == Direction.Axis.Z; @@ -49,7 +49,7 @@ public class DeployerInstance extends ShaftInstance implements DynamicInstance, pole = getOrientedMaterial().getModel(AllBlockPartials.DEPLOYER_POLE, blockState).createInstance(); - currentHand = this.tile.getHandPose(); + currentHand = this.blockEntity.getHandPose(); hand = getOrientedMaterial().getModel(currentHand, blockState).createInstance(); @@ -60,7 +60,7 @@ public class DeployerInstance extends ShaftInstance implements DynamicInstance, @Override public void tick() { - PartialModel handPose = tile.getHandPose(); + PartialModel handPose = blockEntity.getHandPose(); if (currentHand != handPose) { currentHand = handPose; @@ -95,21 +95,21 @@ public class DeployerInstance extends ShaftInstance implements DynamicInstance, } private float getProgress(float partialTicks) { - if (tile.state == DeployerTileEntity.State.EXPANDING) { - float f = 1 - (tile.timer - partialTicks * tile.getTimerSpeed()) / 1000f; - if (tile.fistBump) + if (blockEntity.state == DeployerBlockEntity.State.EXPANDING) { + float f = 1 - (blockEntity.timer - partialTicks * blockEntity.getTimerSpeed()) / 1000f; + if (blockEntity.fistBump) f *= f; return f; } - if (tile.state == DeployerTileEntity.State.RETRACTING) - return (tile.timer - partialTicks * tile.getTimerSpeed()) / 1000f; + if (blockEntity.state == DeployerBlockEntity.State.RETRACTING) + return (blockEntity.timer - partialTicks * blockEntity.getTimerSpeed()) / 1000f; return 0; } private void updatePosition() { float handLength = currentHand == AllBlockPartials.DEPLOYER_HAND_POINTING ? 0 : currentHand == AllBlockPartials.DEPLOYER_HAND_HOLDING ? 4 / 16f : 3 / 16f; - float distance = Math.min(Mth.clamp(progress, 0, 1) * (tile.reach + handLength), 21 / 16f); + float distance = Math.min(Mth.clamp(progress, 0, 1) * (blockEntity.reach + handLength), 21 / 16f); Vec3i facingVec = facing.getNormal(); BlockPos blockPos = getInstancePosition(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerItemHandler.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerItemHandler.java index 5d8b00047..15d163545 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerItemHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerItemHandler.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.components.deployer; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import net.minecraft.world.InteractionHand; import net.minecraft.world.item.ItemStack; @@ -9,22 +9,22 @@ import net.minecraftforge.items.ItemHandlerHelper; public class DeployerItemHandler implements IItemHandlerModifiable { - private DeployerTileEntity te; + private DeployerBlockEntity be; private DeployerFakePlayer player; - public DeployerItemHandler(DeployerTileEntity te) { - this.te = te; - this.player = te.player; + public DeployerItemHandler(DeployerBlockEntity be) { + this.be = be; + this.player = be.player; } @Override public int getSlots() { - return 1 + te.overflowItems.size(); + return 1 + be.overflowItems.size(); } @Override public ItemStack getStackInSlot(int slot) { - return slot >= te.overflowItems.size() ? getHeld() : te.overflowItems.get(slot); + return slot >= be.overflowItems.size() ? getHeld() : be.overflowItems.get(slot); } public ItemStack getHeld() { @@ -36,16 +36,16 @@ public class DeployerItemHandler implements IItemHandlerModifiable { public void set(ItemStack stack) { if (player == null) return; - if (te.getLevel().isClientSide) + if (be.getLevel().isClientSide) return; player.setItemInHand(InteractionHand.MAIN_HAND, stack); - te.setChanged(); - te.sendData(); + be.setChanged(); + be.sendData(); } @Override public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { - if (slot < te.overflowItems.size()) + if (slot < be.overflowItems.size()) return stack; if (!isItemValid(slot, stack)) return stack; @@ -80,31 +80,31 @@ public class DeployerItemHandler implements IItemHandlerModifiable { if (amount == 0) return ItemStack.EMPTY; - if (slot < te.overflowItems.size()) { - ItemStack itemStack = te.overflowItems.get(slot); + if (slot < be.overflowItems.size()) { + ItemStack itemStack = be.overflowItems.get(slot); int toExtract = Math.min(amount, itemStack.getCount()); ItemStack extracted = simulate ? itemStack.copy() : itemStack.split(toExtract); extracted.setCount(toExtract); if (!simulate && itemStack.isEmpty()) - te.overflowItems.remove(slot); + be.overflowItems.remove(slot); if (!simulate && !extracted.isEmpty()) - te.setChanged(); + be.setChanged(); return extracted; } ItemStack held = getHeld(); if (amount == 0 || held.isEmpty()) return ItemStack.EMPTY; - if (!te.filtering.getFilter() - .isEmpty() && te.filtering.test(held)) + if (!be.filtering.getFilter() + .isEmpty() && be.filtering.test(held)) return ItemStack.EMPTY; if (simulate) return held.copy() .split(amount); ItemStack toReturn = held.split(amount); - te.setChanged(); - te.sendData(); + be.setChanged(); + be.sendData(); return toReturn; } @@ -115,14 +115,14 @@ public class DeployerItemHandler implements IItemHandlerModifiable { @Override public boolean isItemValid(int slot, ItemStack stack) { - FilteringBehaviour filteringBehaviour = te.getBehaviour(FilteringBehaviour.TYPE); + FilteringBehaviour filteringBehaviour = be.getBehaviour(FilteringBehaviour.TYPE); return filteringBehaviour == null || filteringBehaviour.test(stack); } @Override public void setStackInSlot(int slot, ItemStack stack) { - if (slot < te.overflowItems.size()) { - te.overflowItems.set(slot, stack); + if (slot < be.overflowItems.size()) { + be.overflowItems.set(slot, stack); return; } set(stack); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerMovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerMovementBehaviour.java index 45e4fb15e..496403c3a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerMovementBehaviour.java @@ -12,7 +12,7 @@ import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllTags.AllBlockTags; -import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity.Mode; +import com.simibubi.create.content.contraptions.components.deployer.DeployerBlockEntity.Mode; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour; import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; @@ -108,8 +108,8 @@ public class DeployerMovementBehaviour implements MovementBehaviour { DeployerHandler.activate(player, vec, pos, facingVec, mode); if ((context.contraption instanceof MountedContraption || context.contraption instanceof CarriageContraption) - && player.placedTracks && context.tileData != null && context.tileData.contains("Owner")) - AllAdvancements.SELF_DEPLOYING.awardTo(world.getPlayerByUUID(context.tileData.getUUID("Owner"))); + && player.placedTracks && context.blockEntityData != null && context.blockEntityData.contains("Owner")) + AllAdvancements.SELF_DEPLOYING.awardTo(world.getPlayerByUUID(context.blockEntityData.getUUID("Owner"))); } protected void activateAsSchematicPrinter(MovementContext context, BlockPos pos, DeployerFakePlayer player, @@ -156,10 +156,10 @@ public class DeployerMovementBehaviour implements MovementBehaviour { CompoundTag data = null; if (AllBlockTags.SAFE_NBT.matches(blockState)) { - BlockEntity tile = schematicWorld.getBlockEntity(pos); - if (tile != null) { - data = tile.saveWithFullMetadata(); - data = NBTProcessors.process(tile, data, true); + BlockEntity blockEntity = schematicWorld.getBlockEntity(pos); + if (blockEntity != null) { + data = blockEntity.saveWithFullMetadata(); + data = NBTProcessors.process(blockEntity, data, true); } } @@ -221,7 +221,7 @@ public class DeployerMovementBehaviour implements MovementBehaviour { return; cancelStall(context); - context.tileData.put("Inventory", player.getInventory() + context.blockEntityData.put("Inventory", player.getInventory() .save(new ListTag())); player.discard(); } @@ -277,22 +277,22 @@ public class DeployerMovementBehaviour implements MovementBehaviour { DeployerFakePlayer deployerFakePlayer = new DeployerFakePlayer((ServerLevel) context.world); deployerFakePlayer.onMinecartContraption = context.contraption instanceof MountedContraption; deployerFakePlayer.getInventory() - .load(context.tileData.getList("Inventory", Tag.TAG_COMPOUND)); + .load(context.blockEntityData.getList("Inventory", Tag.TAG_COMPOUND)); if (context.data.contains("HeldItem")) deployerFakePlayer.setItemInHand(InteractionHand.MAIN_HAND, ItemStack.of(context.data.getCompound("HeldItem"))); - context.tileData.remove("Inventory"); + context.blockEntityData.remove("Inventory"); context.temporaryData = deployerFakePlayer; } return (DeployerFakePlayer) context.temporaryData; } private ItemStack getFilter(MovementContext context) { - return ItemStack.of(context.tileData.getCompound("Filter")); + return ItemStack.of(context.blockEntityData.getCompound("Filter")); } private Mode getMode(MovementContext context) { - return NBTHelper.readEnum(context.tileData, "Mode", Mode.class); + return NBTHelper.readEnum(context.blockEntityData, "Mode", Mode.class); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerMovingInteraction.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerMovingInteraction.java index 9bdd77197..95910e376 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerMovingInteraction.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerMovingInteraction.java @@ -31,9 +31,9 @@ public class DeployerMovingInteraction extends MovingInteractionBehaviour { ItemStack heldStack = player.getItemInHand(activeHand); if (heldStack.getItem() .equals(AllItems.WRENCH.get())) { - DeployerTileEntity.Mode mode = NBTHelper.readEnum(ctx.tileData, "Mode", DeployerTileEntity.Mode.class); - NBTHelper.writeEnum(ctx.tileData, "Mode", - mode == DeployerTileEntity.Mode.PUNCH ? DeployerTileEntity.Mode.USE : DeployerTileEntity.Mode.PUNCH); + DeployerBlockEntity.Mode mode = NBTHelper.readEnum(ctx.blockEntityData, "Mode", DeployerBlockEntity.Mode.class); + NBTHelper.writeEnum(ctx.blockEntityData, "Mode", + mode == DeployerBlockEntity.Mode.PUNCH ? DeployerBlockEntity.Mode.USE : DeployerBlockEntity.Mode.PUNCH); } else { if (ctx.world.isClientSide) @@ -44,9 +44,9 @@ public class DeployerMovingInteraction extends MovingInteractionBehaviour { DeployerFakePlayer deployerFakePlayer = new DeployerFakePlayer((ServerLevel) ctx.world); deployerFakePlayer.onMinecartContraption = ctx.contraption instanceof MountedContraption; deployerFakePlayer.getInventory() - .load(ctx.tileData.getList("Inventory", Tag.TAG_COMPOUND)); + .load(ctx.blockEntityData.getList("Inventory", Tag.TAG_COMPOUND)); ctx.temporaryData = fake = deployerFakePlayer; - ctx.tileData.remove("Inventory"); + ctx.blockEntityData.remove("Inventory"); } else fake = (DeployerFakePlayer) ctx.temporaryData; @@ -56,7 +56,7 @@ public class DeployerMovingInteraction extends MovingInteractionBehaviour { ItemStack deployerItem = fake.getMainHandItem(); player.setItemInHand(activeHand, deployerItem.copy()); fake.setItemInHand(InteractionHand.MAIN_HAND, heldStack.copy()); - ctx.tileData.put("HeldItem", heldStack.serializeNBT()); + ctx.blockEntityData.put("HeldItem", heldStack.serializeNBT()); ctx.data.put("HeldItem", heldStack.serializeNBT()); } // if (index >= 0) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerRecipeSearchEvent.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerRecipeSearchEvent.java index e1c6db1fa..7462c48e7 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerRecipeSearchEvent.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerRecipeSearchEvent.java @@ -11,14 +11,14 @@ import net.minecraftforge.eventbus.api.Event; import net.minecraftforge.items.wrapper.RecipeWrapper; public class DeployerRecipeSearchEvent extends Event { - private final DeployerTileEntity tileEntity; + private final DeployerBlockEntity blockEntity; private final RecipeWrapper inventory; @Nullable Recipe recipe = null; private int maxPriority = 0; - public DeployerRecipeSearchEvent(DeployerTileEntity tileEntity, RecipeWrapper inventory) { - this.tileEntity = tileEntity; + public DeployerRecipeSearchEvent(DeployerBlockEntity blockEntity, RecipeWrapper inventory) { + this.blockEntity = blockEntity; this.inventory = inventory; } @@ -27,8 +27,8 @@ public class DeployerRecipeSearchEvent extends Event { return true; } - public DeployerTileEntity getTileEntity() { - return tileEntity; + public DeployerBlockEntity getBlockEntity() { + return blockEntity; } public RecipeWrapper getInventory() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerRenderer.java index e4388a44c..295b3cea7 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerRenderer.java @@ -13,16 +13,16 @@ import com.mojang.math.Vector3f; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; -import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity.Mode; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.contraptions.components.deployer.DeployerBlockEntity.Mode; import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringRenderer; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringRenderer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.NBTHelper; @@ -43,38 +43,38 @@ import net.minecraft.world.item.BlockItem; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class DeployerRenderer extends SafeTileEntityRenderer { +public class DeployerRenderer extends SafeBlockEntityRenderer { public DeployerRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(DeployerTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(DeployerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - renderItem(te, partialTicks, ms, buffer, light, overlay); - FilteringRenderer.renderOnTileEntity(te, partialTicks, ms, buffer, light, overlay); + renderItem(be, partialTicks, ms, buffer, light, overlay); + FilteringRenderer.renderOnBlockEntity(be, partialTicks, ms, buffer, light, overlay); - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - renderComponents(te, partialTicks, ms, buffer, light, overlay); + renderComponents(be, partialTicks, ms, buffer, light, overlay); } - protected void renderItem(DeployerTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderItem(DeployerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (te.heldItem.isEmpty()) return; + if (be.heldItem.isEmpty()) return; - BlockState deployerState = te.getBlockState(); - Vec3 offset = getHandOffset(te, partialTicks, deployerState).add(VecHelper.getCenterOf(BlockPos.ZERO)); + BlockState deployerState = be.getBlockState(); + Vec3 offset = getHandOffset(be, partialTicks, deployerState).add(VecHelper.getCenterOf(BlockPos.ZERO)); ms.pushPose(); ms.translate(offset.x, offset.y, offset.z); Direction facing = deployerState.getValue(FACING); - boolean punching = te.mode == Mode.PUNCH; + boolean punching = be.mode == Mode.PUNCH; float yRot = AngleHelper.horizontalAngle(facing) + 180; float xRot = facing == Direction.UP ? 90 : facing == Direction.DOWN ? 270 : 0; - boolean displayMode = facing == Direction.UP && te.getSpeed() == 0 && !punching; + boolean displayMode = facing == Direction.UP && be.getSpeed() == 0 && !punching; ms.mulPose(Vector3f.YP.rotationDegrees(yRot)); if (!displayMode) { @@ -89,8 +89,8 @@ public class DeployerRenderer extends SafeTileEntityRenderer .getItemRenderer(); TransformType transform = TransformType.NONE; - boolean isBlockItem = (te.heldItem.getItem() instanceof BlockItem) - && itemRenderer.getModel(te.heldItem, te.getLevel(), null, 0) + boolean isBlockItem = (be.heldItem.getItem() instanceof BlockItem) + && itemRenderer.getModel(be.heldItem, be.getLevel(), null, 0) .isGui3d(); if (displayMode) { @@ -98,7 +98,7 @@ public class DeployerRenderer extends SafeTileEntityRenderer ms.translate(0, isBlockItem ? 9 / 16f : 11 / 16f, 0); ms.scale(scale, scale, scale); transform = TransformType.GROUND; - ms.mulPose(Vector3f.YP.rotationDegrees(AnimationTickHolder.getRenderTime(te.getLevel()))); + ms.mulPose(Vector3f.YP.rotationDegrees(AnimationTickHolder.getRenderTime(be.getLevel()))); } else { float scale = punching ? .75f : isBlockItem ? .75f - 1 / 64f : .5f; @@ -106,22 +106,22 @@ public class DeployerRenderer extends SafeTileEntityRenderer transform = punching ? TransformType.THIRD_PERSON_RIGHT_HAND : TransformType.FIXED; } - itemRenderer.renderStatic(te.heldItem, transform, light, overlay, ms, buffer, 0); + itemRenderer.renderStatic(be.heldItem, transform, light, overlay, ms, buffer, 0); ms.popPose(); } - protected void renderComponents(DeployerTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderComponents(DeployerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { VertexConsumer vb = buffer.getBuffer(RenderType.solid()); - if (!Backend.canUseInstancing(te.getLevel())) { - KineticTileEntityRenderer.renderRotatingKineticBlock(te, getRenderedBlockState(te), ms, vb, light); + if (!Backend.canUseInstancing(be.getLevel())) { + KineticBlockEntityRenderer.renderRotatingKineticBlock(be, getRenderedBlockState(be), ms, vb, light); } - BlockState blockState = te.getBlockState(); - Vec3 offset = getHandOffset(te, partialTicks, blockState); + BlockState blockState = be.getBlockState(); + Vec3 offset = getHandOffset(be, partialTicks, blockState); SuperByteBuffer pole = CachedBufferer.partial(AllBlockPartials.DEPLOYER_POLE, blockState); - SuperByteBuffer hand = CachedBufferer.partial(te.getHandPose(), blockState); + SuperByteBuffer hand = CachedBufferer.partial(be.getHandPose(), blockState); transform(pole.translate(offset.x, offset.y, offset.z), blockState, true) .light(light) @@ -131,13 +131,13 @@ public class DeployerRenderer extends SafeTileEntityRenderer .renderInto(ms, vb); } - protected Vec3 getHandOffset(DeployerTileEntity te, float partialTicks, BlockState blockState) { - float distance = te.getHandOffset(partialTicks); + protected Vec3 getHandOffset(DeployerBlockEntity be, float partialTicks, BlockState blockState) { + float distance = be.getHandOffset(partialTicks); return Vec3.atLowerCornerOf(blockState.getValue(FACING).getNormal()).scale(distance); } - protected BlockState getRenderedBlockState(KineticTileEntity te) { - return KineticTileEntityRenderer.shaft(KineticTileEntityRenderer.getRotationAxisOf(te)); + protected BlockState getRenderedBlockState(KineticBlockEntity be) { + return KineticBlockEntityRenderer.shaft(KineticBlockEntityRenderer.getRotationAxisOf(be)); } private static SuperByteBuffer transform(SuperByteBuffer buffer, BlockState deployerState, boolean axisDirectionMatters) { @@ -159,7 +159,7 @@ public class DeployerRenderer extends SafeTileEntityRenderer ContraptionMatrices matrices, MultiBufferSource buffer) { VertexConsumer builder = buffer.getBuffer(RenderType.solid()); BlockState blockState = context.state; - Mode mode = NBTHelper.readEnum(context.tileData, "Mode", Mode.class); + Mode mode = NBTHelper.readEnum(context.blockEntityData, "Mode", Mode.class); PartialModel handPose = getHandPose(mode); float speed = (float) context.getAnimationSpeed(); @@ -224,8 +224,8 @@ public class DeployerRenderer extends SafeTileEntityRenderer m.popPose(); } - static PartialModel getHandPose(DeployerTileEntity.Mode mode) { - return mode == DeployerTileEntity.Mode.PUNCH ? AllBlockPartials.DEPLOYER_HAND_PUNCHING : AllBlockPartials.DEPLOYER_HAND_POINTING; + static PartialModel getHandPose(DeployerBlockEntity.Mode mode) { + return mode == DeployerBlockEntity.Mode.PUNCH ? AllBlockPartials.DEPLOYER_HAND_PUNCHING : AllBlockPartials.DEPLOYER_HAND_POINTING; } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java index 7a68fc804..c31a65790 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java @@ -11,10 +11,10 @@ import com.simibubi.create.content.contraptions.particle.AirFlowParticleData; import com.simibubi.create.content.contraptions.processing.InWorldProcessing; import com.simibubi.create.content.contraptions.processing.InWorldProcessing.Type; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.VecHelper; @@ -122,7 +122,7 @@ public class AirCurrent { } if (InWorldProcessing.canProcess(itemEntity, processingType)) if (InWorldProcessing.applyProcessing(itemEntity, processingType) - && source instanceof EncasedFanTileEntity fan) + && source instanceof EncasedFanBlockEntity fan) fan.award(AllAdvancements.FAN_PROCESSING); continue; } @@ -265,7 +265,7 @@ public class AirCurrent { BlockPos pos = start.relative(direction, i) .below(offset); TransportedItemStackHandlerBehaviour behaviour = - TileEntityBehaviour.get(world, pos, TransportedItemStackHandlerBehaviour.TYPE); + BlockEntityBehaviour.get(world, pos, TransportedItemStackHandlerBehaviour.TYPE); if (behaviour != null) affectedItemHandlers.add(Pair.of(behaviour, type)); if (direction.getAxis() @@ -288,7 +288,7 @@ public class AirCurrent { return TransportedResult.doNothing(); } TransportedResult applyProcessing = InWorldProcessing.applyProcessing(transported, world, processingType); - if (!applyProcessing.doesNothing() && source instanceof EncasedFanTileEntity fan) + if (!applyProcessing.doesNothing() && source instanceof EncasedFanBlockEntity fan) fan.award(AllAdvancements.FAN_PROCESSING); return applyProcessing; }); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanBlock.java index 445be9ef4..7c7d33b02 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanBlock.java @@ -1,9 +1,9 @@ package com.simibubi.create.content.contraptions.components.fan; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; import com.simibubi.create.content.logistics.block.chute.AbstractChuteBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld; import net.minecraft.core.BlockPos; @@ -18,7 +18,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class EncasedFanBlock extends DirectionalKineticBlock implements ITE { +public class EncasedFanBlock extends DirectionalKineticBlock implements IBE { public EncasedFanBlock(Properties properties) { super(properties); @@ -65,11 +65,11 @@ public class EncasedFanBlock extends DirectionalKineticBlock implements ITE getTileEntityClass() { - return EncasedFanTileEntity.class; + public Class getBlockEntityClass() { + return EncasedFanBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ENCASED_FAN.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ENCASED_FAN.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanBlockEntity.java similarity index 83% rename from src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanBlockEntity.java index 691167097..82ee7cd1b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanBlockEntity.java @@ -4,11 +4,11 @@ import java.util.List; import javax.annotation.Nullable; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.logistics.block.chute.ChuteTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.logistics.block.chute.ChuteBlockEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; @@ -21,21 +21,21 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; @MethodsReturnNonnullByDefault -public class EncasedFanTileEntity extends KineticTileEntity implements IAirCurrentSource { +public class EncasedFanBlockEntity extends KineticBlockEntity implements IAirCurrentSource { public AirCurrent airCurrent; protected int airCurrentUpdateCooldown; protected int entitySearchCooldown; protected boolean updateAirFlow; - public EncasedFanTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public EncasedFanBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); airCurrent = new AirCurrent(this); updateAirFlow = true; } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.ENCASED_FAN, AllAdvancements.FAN_PROCESSING); } @@ -108,13 +108,13 @@ public class EncasedFanTileEntity extends KineticTileEntity implements IAirCurre .isVertical()) return; BlockEntity poweredChute = level.getBlockEntity(worldPosition.relative(direction)); - if (!(poweredChute instanceof ChuteTileEntity)) + if (!(poweredChute instanceof ChuteBlockEntity)) return; - ChuteTileEntity chuteTE = (ChuteTileEntity) poweredChute; + ChuteBlockEntity chuteBE = (ChuteBlockEntity) poweredChute; if (direction == Direction.DOWN) - chuteTE.updatePull(); + chuteBE.updatePull(); else - chuteTE.updatePush(1); + chuteBE.updatePush(1); } public void blockInFrontChanged() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanRenderer.java index 73b918fa7..89cd528d8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanRenderer.java @@ -6,8 +6,8 @@ import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -19,31 +19,31 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.core.Direction; import net.minecraft.util.Mth; -public class EncasedFanRenderer extends KineticTileEntityRenderer { +public class EncasedFanRenderer extends KineticBlockEntityRenderer { public EncasedFanRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - Direction direction = te.getBlockState() + Direction direction = be.getBlockState() .getValue(FACING); VertexConsumer vb = buffer.getBuffer(RenderType.cutoutMipped()); - int lightBehind = LevelRenderer.getLightColor(te.getLevel(), te.getBlockPos().relative(direction.getOpposite())); - int lightInFront = LevelRenderer.getLightColor(te.getLevel(), te.getBlockPos().relative(direction)); + int lightBehind = LevelRenderer.getLightColor(be.getLevel(), be.getBlockPos().relative(direction.getOpposite())); + int lightInFront = LevelRenderer.getLightColor(be.getLevel(), be.getBlockPos().relative(direction)); SuperByteBuffer shaftHalf = - CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, te.getBlockState(), direction.getOpposite()); + CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, be.getBlockState(), direction.getOpposite()); SuperByteBuffer fanInner = - CachedBufferer.partialFacing(AllBlockPartials.ENCASED_FAN_INNER, te.getBlockState(), direction.getOpposite()); + CachedBufferer.partialFacing(AllBlockPartials.ENCASED_FAN_INNER, be.getBlockState(), direction.getOpposite()); - float time = AnimationTickHolder.getRenderTime(te.getLevel()); - float speed = te.getSpeed() * 5; + float time = AnimationTickHolder.getRenderTime(be.getLevel()); + float speed = be.getSpeed() * 5; if (speed > 0) speed = Mth.clamp(speed, 80, 64 * 20); if (speed < 0) @@ -51,8 +51,8 @@ public class EncasedFanRenderer extends KineticTileEntityRenderer { float angle = (time * speed * 3 / 10f) % 360; angle = angle / 180f * (float) Math.PI; - standardKineticRotationTransform(shaftHalf, te, lightBehind).renderInto(ms, vb); - kineticRotationTransform(fanInner, te, direction.getAxis(), angle, lightInFront).renderInto(ms, vb); + standardKineticRotationTransform(shaftHalf, be, lightBehind).renderInto(ms, vb); + kineticRotationTransform(fanInner, be, direction.getAxis(), angle, lightInFront).renderInto(ms, vb); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/FanInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/FanInstance.java index 9a7dfa93b..1a065282f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/FanInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/FanInstance.java @@ -4,7 +4,7 @@ import static net.minecraft.world.level.block.state.properties.BlockStatePropert import com.jozufozu.flywheel.api.MaterialManager; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileInstance; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; import com.simibubi.create.foundation.render.AllMaterialSpecs; @@ -12,21 +12,21 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.Mth; -public class FanInstance extends KineticTileInstance { +public class FanInstance extends KineticBlockEntityInstance { protected final RotatingData shaft; protected final RotatingData fan; final Direction direction; private final Direction opposite; - public FanInstance(MaterialManager modelManager, EncasedFanTileEntity tile) { - super(modelManager, tile); + public FanInstance(MaterialManager materialManager, EncasedFanBlockEntity blockEntity) { + super(materialManager, blockEntity); direction = blockState.getValue(FACING); opposite = direction.getOpposite(); shaft = getRotatingMaterial().getModel(AllBlockPartials.SHAFT_HALF, blockState, opposite).createInstance(); - fan = modelManager.defaultCutout() + fan = materialManager.defaultCutout() .material(AllMaterialSpecs.ROTATING) .getModel(AllBlockPartials.ENCASED_FAN_INNER, blockState, opposite) .createInstance(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleBlock.java index f5aae9ac1..52dab43a1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleBlock.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.contraptions.components.fan; import javax.annotation.ParametersAreNonnullByDefault; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.WrenchableDirectionalBlock; import net.minecraft.MethodsReturnNonnullByDefault; @@ -26,7 +26,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public class NozzleBlock extends WrenchableDirectionalBlock implements ITE { +public class NozzleBlock extends WrenchableDirectionalBlock implements IBE { public NozzleBlock(Properties p_i48415_1_) { super(p_i48415_1_); @@ -63,9 +63,9 @@ public class NozzleBlock extends WrenchableDirectionalBlock implements ITE getTileEntityClass() { - return NozzleTileEntity.class; + public Class getBlockEntityClass() { + return NozzleBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.NOZZLE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.NOZZLE.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleBlockEntity.java similarity index 91% rename from src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleBlockEntity.java index c5b912999..335d48b1a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleBlockEntity.java @@ -4,9 +4,9 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; @@ -26,20 +26,20 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -public class NozzleTileEntity extends SmartTileEntity { +public class NozzleBlockEntity extends SmartBlockEntity { private List pushingEntities = new ArrayList<>(); private float range; private boolean pushing; private BlockPos fanPos; - public NozzleTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public NozzleBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setLazyTickRate(5); } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override protected void write(CompoundTag compound, boolean clientPacket) { @@ -122,11 +122,11 @@ public class NozzleTileEntity extends SmartTileEntity { } private float calcRange() { - BlockEntity te = level.getBlockEntity(fanPos); - if (!(te instanceof IAirCurrentSource)) + BlockEntity be = level.getBlockEntity(fanPos); + if (!(be instanceof IAirCurrentSource)) return 0; - IAirCurrentSource source = (IAirCurrentSource) te; + IAirCurrentSource source = (IAirCurrentSource) be; if (source.getAirCurrent() == null) return 0; if (source.getSpeed() == 0) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlyWheelInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlyWheelInstance.java index d7b8dd9b7..d15f73ce6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlyWheelInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlyWheelInstance.java @@ -5,28 +5,28 @@ import com.jozufozu.flywheel.api.instance.DynamicInstance; import com.jozufozu.flywheel.core.materials.model.ModelData; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.content.contraptions.base.KineticTileInstance; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.core.Direction; -public class FlyWheelInstance extends KineticTileInstance implements DynamicInstance { +public class FlyWheelInstance extends KineticBlockEntityInstance implements DynamicInstance { protected final RotatingData shaft; protected final ModelData wheel; protected float lastAngle = Float.NaN; - public FlyWheelInstance(MaterialManager modelManager, FlywheelTileEntity tile) { - super(modelManager, tile); + public FlyWheelInstance(MaterialManager materialManager, FlywheelBlockEntity blockEntity) { + super(materialManager, blockEntity); shaft = setup(getRotatingMaterial().getModel(shaft()) .createInstance()); wheel = getTransformMaterial().getModel(blockState) .createInstance(); - animate(tile.angle); + animate(blockEntity.angle); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlock.java index 47c961334..b5d23782a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlock.java @@ -1,9 +1,9 @@ package com.simibubi.create.content.contraptions.components.flywheel; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -16,15 +16,15 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class FlywheelBlock extends RotatedPillarKineticBlock implements ITE { +public class FlywheelBlock extends RotatedPillarKineticBlock implements IBE { public FlywheelBlock(Properties properties) { super(properties); } @Override - public Class getTileEntityClass() { - return FlywheelTileEntity.class; + public Class getBlockEntityClass() { + return FlywheelBlockEntity.class; } @Override @@ -38,8 +38,8 @@ public class FlywheelBlock extends RotatedPillarKineticBlock implements ITE getTileEntityType() { - return AllTileEntities.FLYWHEEL.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.FLYWHEEL.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlockEntity.java similarity index 84% rename from src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlockEntity.java index dc9700099..b92d9b646 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlockEntity.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.components.flywheel; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; @@ -10,12 +10,12 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -public class FlywheelTileEntity extends KineticTileEntity { +public class FlywheelBlockEntity extends KineticBlockEntity { LerpedFloat visualSpeed = LerpedFloat.linear(); float angle; - public FlywheelTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public FlywheelBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelRenderer.java index 274f8ba2f..48109bd36 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelRenderer.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.contraptions.components.flywheel; import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -14,40 +14,40 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.world.level.block.state.BlockState; -public class FlywheelRenderer extends KineticTileEntityRenderer { +public class FlywheelRenderer extends KineticBlockEntityRenderer { public FlywheelRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); - if (Backend.canUseInstancing(te.getLevel())) + if (Backend.canUseInstancing(be.getLevel())) return; - BlockState blockState = te.getBlockState(); - FlywheelTileEntity wte = (FlywheelTileEntity) te; + BlockState blockState = be.getBlockState(); + FlywheelBlockEntity wte = (FlywheelBlockEntity) be; float speed = wte.visualSpeed.getValue(partialTicks) * 3 / 10f; float angle = wte.angle + speed * partialTicks; VertexConsumer vb = buffer.getBuffer(RenderType.solid()); - renderFlywheel(te, ms, light, blockState, angle, vb); + renderFlywheel(be, ms, light, blockState, angle, vb); } - private void renderFlywheel(KineticTileEntity te, PoseStack ms, int light, BlockState blockState, float angle, + private void renderFlywheel(KineticBlockEntity be, PoseStack ms, int light, BlockState blockState, float angle, VertexConsumer vb) { SuperByteBuffer wheel = CachedBufferer.block(blockState); - kineticRotationTransform(wheel, te, getRotationAxisOf(te), AngleHelper.rad(angle), light); + kineticRotationTransform(wheel, be, getRotationAxisOf(be), AngleHelper.rad(angle), light); wheel.renderInto(ms, vb); } @Override - protected BlockState getRenderedBlockState(KineticTileEntity te) { - return shaft(getRotationAxisOf(te)); + protected BlockState getRenderedBlockState(KineticBlockEntity be) { + return shaft(getRotationAxisOf(be)); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillStoneCogInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillStoneCogInstance.java index 1e8831261..bd1f0e681 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillStoneCogInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillStoneCogInstance.java @@ -3,14 +3,14 @@ package com.simibubi.create.content.contraptions.components.millstone; import com.jozufozu.flywheel.api.Instancer; import com.jozufozu.flywheel.api.MaterialManager; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.base.SingleRotatingInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; public class MillStoneCogInstance extends SingleRotatingInstance { - public MillStoneCogInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public MillStoneCogInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneBlock.java index dbb38aaf4..c096398f9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneBlock.java @@ -1,10 +1,10 @@ package com.simibubi.create.content.contraptions.components.millstone; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.KineticBlock; import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -31,7 +31,7 @@ import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.ItemStackHandler; -public class MillstoneBlock extends KineticBlock implements ITE, ICogWheel { +public class MillstoneBlock extends KineticBlock implements IBE, ICogWheel { public MillstoneBlock(Properties properties) { super(properties); @@ -56,7 +56,7 @@ public class MillstoneBlock extends KineticBlock implements ITE { + withBlockEntityDo(worldIn, pos, millstone -> { boolean emptyOutput = true; IItemHandlerModifiable inv = millstone.outputInv; for (int slot = 0; slot < inv.getSlots(); slot++) { @@ -95,10 +95,10 @@ public class MillstoneBlock extends KineticBlock implements ITE getTileEntityClass() { - return MillstoneTileEntity.class; + public Class getBlockEntityClass() { + return MillstoneBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.MILLSTONE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.MILLSTONE.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneBlockEntity.java similarity index 93% rename from src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneBlockEntity.java index 91a1fa51b..cc7daff40 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneBlockEntity.java @@ -4,13 +4,13 @@ import java.util.List; import java.util.Optional; import com.simibubi.create.AllRecipeTypes; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.sound.SoundScapes; import com.simibubi.create.foundation.sound.SoundScapes.AmbienceGroup; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; @@ -34,7 +34,7 @@ import net.minecraftforge.items.ItemStackHandler; import net.minecraftforge.items.wrapper.CombinedInvWrapper; import net.minecraftforge.items.wrapper.RecipeWrapper; -public class MillstoneTileEntity extends KineticTileEntity { +public class MillstoneBlockEntity extends KineticBlockEntity { public ItemStackHandler inputInv; public ItemStackHandler outputInv; @@ -42,7 +42,7 @@ public class MillstoneTileEntity extends KineticTileEntity { public int timer; private MillingRecipe lastRecipe; - public MillstoneTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public MillstoneBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); inputInv = new ItemStackHandler(1); outputInv = new ItemStackHandler(9); @@ -50,7 +50,7 @@ public class MillstoneTileEntity extends KineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(new DirectBeltInputBehaviour(this)); super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.MILLSTONE); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneRenderer.java index 0dfd15517..42be20c26 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneRenderer.java @@ -1,22 +1,22 @@ package com.simibubi.create.content.contraptions.components.millstone; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.world.level.block.state.BlockState; -public class MillstoneRenderer extends KineticTileEntityRenderer { +public class MillstoneRenderer extends KineticBlockEntityRenderer { public MillstoneRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be, BlockState state) { return CachedBufferer.partial(AllBlockPartials.MILLSTONE_COG, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerBlock.java index f53f53a6f..adee81414 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerBlock.java @@ -1,11 +1,11 @@ package com.simibubi.create.content.contraptions.components.mixer; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.KineticBlock; import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -20,7 +20,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.EntityCollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class MechanicalMixerBlock extends KineticBlock implements ITE, ICogWheel { +public class MechanicalMixerBlock extends KineticBlock implements IBE, ICogWheel { public MechanicalMixerBlock(Properties properties) { super(properties); @@ -66,13 +66,13 @@ public class MechanicalMixerBlock extends KineticBlock implements ITE getTileEntityClass() { - return MechanicalMixerTileEntity.class; + public Class getBlockEntityClass() { + return MechanicalMixerBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.MECHANICAL_MIXER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.MECHANICAL_MIXER.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerBlockEntity.java similarity index 90% rename from src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerBlockEntity.java index a32b40ea5..54b43941c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerBlockEntity.java @@ -5,19 +5,19 @@ import java.util.Optional; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity; +import com.simibubi.create.content.contraptions.components.press.MechanicalPressBlockEntity; import com.simibubi.create.content.contraptions.fluids.FluidFX; import com.simibubi.create.content.contraptions.fluids.recipe.PotionMixingRecipes; -import com.simibubi.create.content.contraptions.processing.BasinOperatingTileEntity; -import com.simibubi.create.content.contraptions.processing.BasinTileEntity; +import com.simibubi.create.content.contraptions.processing.BasinBlockEntity; +import com.simibubi.create.content.contraptions.processing.BasinOperatingBlockEntity; import com.simibubi.create.content.contraptions.processing.ProcessingRecipe; import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.advancement.CreateAdvancement; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.item.SmartInventory; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.VecHelper; @@ -45,7 +45,7 @@ import net.minecraftforge.common.crafting.IShapedRecipe; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; -public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { +public class MechanicalMixerBlockEntity extends BasinOperatingBlockEntity { private static final Object shapelessOrMixingRecipesKey = new Object(); @@ -53,7 +53,7 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { public int processingTicks; public boolean running; - public MechanicalMixerTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public MechanicalMixerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @@ -93,7 +93,7 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.MIXER); } @@ -147,7 +147,7 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { processingTicks = Mth.clamp((Mth.log2((int) (512 / speed))) * Mth.ceil(recipeSpeed * 15) + 1, 1, 512); - Optional basin = getBasin(); + Optional basin = getBasin(); if (basin.isPresent()) { Couple tanks = basin.get() .getTanks(); @@ -176,7 +176,7 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { } public void renderParticles() { - Optional basin = getBasin(); + Optional basin = getBasin(); if (!basin.isPresent() || level == null) return; @@ -221,15 +221,15 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { if (!AllConfigs.SERVER.recipes.allowBrewingInMixer.get()) return matchingRecipes; - Optional basin = getBasin(); + Optional basin = getBasin(); if (!basin.isPresent()) return matchingRecipes; - BasinTileEntity basinTileEntity = basin.get(); + BasinBlockEntity basinBlockEntity = basin.get(); if (basin.isEmpty()) return matchingRecipes; - IItemHandler availableItems = basinTileEntity + IItemHandler availableItems = basinBlockEntity .getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) .orElse(null); if (availableItems == null) @@ -256,7 +256,7 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { return ((r instanceof CraftingRecipe && !(r instanceof IShapedRecipe) && AllConfigs.SERVER.recipes.allowShapelessInMixer.get() && r.getIngredients() .size() > 1 - && !MechanicalPressTileEntity.canCompress(r)) && !AllRecipeTypes.shouldIgnoreInAutomation(r) + && !MechanicalPressBlockEntity.canCompress(r)) && !AllRecipeTypes.shouldIgnoreInAutomation(r) || r.getType() == AllRecipeTypes.MIXING.getType()); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerRenderer.java index ec59b2037..481052098 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerRenderer.java @@ -4,8 +4,8 @@ import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -16,34 +16,34 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; -public class MechanicalMixerRenderer extends KineticTileEntityRenderer { +public class MechanicalMixerRenderer extends KineticBlockEntityRenderer { public MechanicalMixerRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - public boolean shouldRenderOffScreen(KineticTileEntity te) { + public boolean shouldRenderOffScreen(KineticBlockEntity be) { return true; } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - BlockState blockState = te.getBlockState(); - MechanicalMixerTileEntity mixer = (MechanicalMixerTileEntity) te; + BlockState blockState = be.getBlockState(); + MechanicalMixerBlockEntity mixer = (MechanicalMixerBlockEntity) be; VertexConsumer vb = buffer.getBuffer(RenderType.solid()); SuperByteBuffer superBuffer = CachedBufferer.partial(AllBlockPartials.SHAFTLESS_COGWHEEL, blockState); - standardKineticRotationTransform(superBuffer, te, light).renderInto(ms, vb); + standardKineticRotationTransform(superBuffer, be, light).renderInto(ms, vb); float renderedHeadOffset = mixer.getRenderedHeadOffset(partialTicks); float speed = mixer.getRenderedHeadRotationSpeed(partialTicks); - float time = AnimationTickHolder.getRenderTime(te.getLevel()); + float time = AnimationTickHolder.getRenderTime(be.getLevel()); float angle = ((time * speed * 6 / 10f) % 360) / 180 * (float) Math.PI; SuperByteBuffer poleRender = CachedBufferer.partial(AllBlockPartials.MECHANICAL_MIXER_POLE, blockState); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixerInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixerInstance.java index 8104dd20b..f99712f2a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixerInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixerInstance.java @@ -16,11 +16,11 @@ public class MixerInstance extends EncasedCogInstance implements DynamicInstance private final RotatingData mixerHead; private final OrientedData mixerPole; - private final MechanicalMixerTileEntity mixer; + private final MechanicalMixerBlockEntity mixer; - public MixerInstance(MaterialManager dispatcher, MechanicalMixerTileEntity tile) { - super(dispatcher, tile, false); - this.mixer = tile; + public MixerInstance(MaterialManager materialManager, MechanicalMixerBlockEntity blockEntity) { + super(materialManager, blockEntity, false); + this.mixer = blockEntity; mixerHead = getRotatingMaterial().getModel(AllBlockPartials.MECHANICAL_MIXER_HEAD, blockState) .createInstance(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorBlock.java index 8c5a2f971..cff2125e4 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorBlock.java @@ -1,9 +1,9 @@ package com.simibubi.create.content.contraptions.components.motor; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -17,7 +17,7 @@ import net.minecraft.world.level.pathfinder.PathComputationType; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class CreativeMotorBlock extends DirectionalKineticBlock implements ITE { +public class CreativeMotorBlock extends DirectionalKineticBlock implements IBE { public CreativeMotorBlock(Properties properties) { super(properties); @@ -61,13 +61,13 @@ public class CreativeMotorBlock extends DirectionalKineticBlock implements ITE getTileEntityClass() { - return CreativeMotorTileEntity.class; + public Class getBlockEntityClass() { + return CreativeMotorBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.MOTOR.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.MOTOR.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorBlockEntity.java similarity index 75% rename from src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorBlockEntity.java index 1e8c397c1..2bab97a98 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorBlockEntity.java @@ -3,29 +3,29 @@ package com.simibubi.create.content.contraptions.components.motor; import java.util.List; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; +import com.simibubi.create.content.contraptions.base.GeneratingKineticBlockEntity; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.CenteredSideValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueBehaviour.StepContext; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour.StepContext; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class CreativeMotorTileEntity extends GeneratingKineticTileEntity { +public class CreativeMotorBlockEntity extends GeneratingKineticBlockEntity { public static final int DEFAULT_SPEED = 16; protected ScrollValueBehaviour generatedSpeed; - public CreativeMotorTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public CreativeMotorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); Integer max = AllConfigs.SERVER.kinetics.maxMotorSpeed.get(); @@ -38,7 +38,7 @@ public class CreativeMotorTileEntity extends GeneratingKineticTileEntity { generatedSpeed.scrollableValue = DEFAULT_SPEED; generatedSpeed.withUnit(i -> Lang.translateDirect("generic.unit.rpm")); generatedSpeed.withCallback(i -> this.updateGeneratedRotation()); - generatedSpeed.withStepFunction(CreativeMotorTileEntity::step); + generatedSpeed.withStepFunction(CreativeMotorBlockEntity::step); behaviours.add(generatedSpeed); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorRenderer.java index 6885a9ea8..eebc6c491 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/motor/CreativeMotorRenderer.java @@ -1,22 +1,22 @@ package com.simibubi.create.content.contraptions.components.motor; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.world.level.block.state.BlockState; -public class CreativeMotorRenderer extends KineticTileEntityRenderer { +public class CreativeMotorRenderer extends KineticBlockEntityRenderer { public CreativeMotorRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be, BlockState state) { return CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/press/BeltPressingCallbacks.java b/src/main/java/com/simibubi/create/content/contraptions/components/press/BeltPressingCallbacks.java index def61353d..6ea621e91 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/press/BeltPressingCallbacks.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/press/BeltPressingCallbacks.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.components.press; -import static com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult.HOLD; -import static com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult.PASS; +import static com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult.HOLD; +import static com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult.PASS; import java.util.ArrayList; import java.util.List; @@ -11,9 +11,9 @@ import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.components.press.PressingBehaviour.Mode; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import net.minecraft.world.item.ItemStack; @@ -76,7 +76,7 @@ public class BeltPressingCallbacks { handler.handleProcessingOnItem(transported, TransportedResult.convertToAndLeaveHeld(collect, left)); } - behaviour.tileEntity.sendData(); + behaviour.blockEntity.sendData(); return HOLD; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressBlock.java index 2c37125c5..5b1bfeb03 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressBlock.java @@ -1,10 +1,10 @@ package com.simibubi.create.content.contraptions.components.press; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -20,7 +20,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.EntityCollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class MechanicalPressBlock extends HorizontalKineticBlock implements ITE { +public class MechanicalPressBlock extends HorizontalKineticBlock implements IBE { public MechanicalPressBlock(Properties properties) { super(properties); @@ -61,13 +61,13 @@ public class MechanicalPressBlock extends HorizontalKineticBlock implements ITE< } @Override - public Class getTileEntityClass() { - return MechanicalPressTileEntity.class; + public Class getBlockEntityClass() { + return MechanicalPressBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.MECHANICAL_PRESS.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.MECHANICAL_PRESS.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressBlockEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressBlockEntity.java index 0fb8b8b73..dda66a8d4 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressBlockEntity.java @@ -10,17 +10,17 @@ import com.simibubi.create.content.contraptions.components.crafter.MechanicalCra import com.simibubi.create.content.contraptions.components.press.PressingBehaviour.Mode; import com.simibubi.create.content.contraptions.components.press.PressingBehaviour.PressingBehaviourSpecifics; import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRecipe; -import com.simibubi.create.content.contraptions.processing.BasinOperatingTileEntity; -import com.simibubi.create.content.contraptions.processing.BasinTileEntity; +import com.simibubi.create.content.contraptions.processing.BasinBlockEntity; +import com.simibubi.create.content.contraptions.processing.BasinOperatingBlockEntity; import com.simibubi.create.content.contraptions.processing.InWorldProcessing; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.advancement.CreateAdvancement; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.SmartInventory; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; @@ -40,14 +40,14 @@ import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.ItemStackHandler; import net.minecraftforge.items.wrapper.RecipeWrapper; -public class MechanicalPressTileEntity extends BasinOperatingTileEntity implements PressingBehaviourSpecifics { +public class MechanicalPressBlockEntity extends BasinOperatingBlockEntity implements PressingBehaviourSpecifics { private static final Object compressingRecipesKey = new Object(); public PressingBehaviour pressingBehaviour; private int tracksCreated; - public MechanicalPressTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public MechanicalPressBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @@ -58,7 +58,7 @@ public class MechanicalPressTileEntity extends BasinOperatingTileEntity implemen } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); pressingBehaviour = new PressingBehaviour(this); behaviours.add(pressingBehaviour); @@ -85,7 +85,7 @@ public class MechanicalPressTileEntity extends BasinOperatingTileEntity implemen public boolean tryProcessInBasin(boolean simulate) { applyBasinRecipe(); - Optional basin = getBasin(); + Optional basin = getBasin(); if (basin.isPresent()) { SmartInventory inputs = basin.get() .getInputInventory(); @@ -172,7 +172,7 @@ public class MechanicalPressTileEntity extends BasinOperatingTileEntity implemen @Override public void onPressingCompleted() { if (pressingBehaviour.onBasin() && matchBasinRecipe(currentRecipe) - && getBasin().filter(BasinTileEntity::canContinueProcessing) + && getBasin().filter(BasinBlockEntity::canContinueProcessing) .isPresent()) startProcessingBasin(); else diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressRenderer.java index 44302ce7c..793f4e597 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressRenderer.java @@ -5,8 +5,8 @@ import static net.minecraft.world.level.block.state.properties.BlockStatePropert import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; @@ -15,27 +15,27 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.world.level.block.state.BlockState; -public class MechanicalPressRenderer extends KineticTileEntityRenderer { +public class MechanicalPressRenderer extends KineticBlockEntityRenderer { public MechanicalPressRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - public boolean shouldRenderOffScreen(KineticTileEntity te) { + public boolean shouldRenderOffScreen(KineticBlockEntity be) { return true; } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); - if (Backend.canUseInstancing(te.getLevel())) + if (Backend.canUseInstancing(be.getLevel())) return; - BlockState blockState = te.getBlockState(); - PressingBehaviour pressingBehaviour = ((MechanicalPressTileEntity) te).getPressingBehaviour(); + BlockState blockState = be.getBlockState(); + PressingBehaviour pressingBehaviour = ((MechanicalPressBlockEntity) be).getPressingBehaviour(); float renderedHeadOffset = pressingBehaviour.getRenderedHeadOffset(partialTicks) * pressingBehaviour.mode.headOffset; @@ -47,8 +47,8 @@ public class MechanicalPressRenderer extends KineticTileEntityRenderer { } @Override - protected BlockState getRenderedBlockState(KineticTileEntity te) { - return shaft(getRotationAxisOf(te)); + protected BlockState getRenderedBlockState(KineticBlockEntity be) { + return shaft(getRotationAxisOf(be)); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java index 25d7271e3..1b84d746a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java @@ -14,13 +14,13 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder; public class PressInstance extends ShaftInstance implements DynamicInstance { private final OrientedData pressHead; - private final MechanicalPressTileEntity press; + private final MechanicalPressBlockEntity press; - public PressInstance(MaterialManager dispatcher, MechanicalPressTileEntity tile) { - super(dispatcher, tile); - press = tile; + public PressInstance(MaterialManager materialManager, MechanicalPressBlockEntity blockEntity) { + super(materialManager, blockEntity); + press = blockEntity; - pressHead = dispatcher.defaultSolid() + pressHead = materialManager.defaultSolid() .material(Materials.ORIENTED) .getModel(AllBlockPartials.MECHANICAL_PRESS_HEAD, blockState) .createInstance(); @@ -45,7 +45,7 @@ public class PressInstance extends ShaftInstance implements DynamicInstance { .nudge(0, -renderedHeadOffset, 0); } - private float getRenderedHeadOffset(MechanicalPressTileEntity press) { + private float getRenderedHeadOffset(MechanicalPressBlockEntity press) { PressingBehaviour pressingBehaviour = press.getPressingBehaviour(); return pressingBehaviour.getRenderedHeadOffset(AnimationTickHolder.getPartialTicks()) * pressingBehaviour.mode.headOffset; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/press/PressingBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/components/press/PressingBehaviour.java index 5297f1bb1..55e5a133e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/press/PressingBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/press/PressingBehaviour.java @@ -6,10 +6,10 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -59,9 +59,9 @@ public class PressingBehaviour extends BeltProcessingBehaviour { public float getKineticSpeed(); } - public PressingBehaviour(T te) { - super(te); - this.specifics = te; + public PressingBehaviour(T be) { + super(be); + this.specifics = be; mode = Mode.WORLD; entityScanCooldown = ENTITY_SCAN; whenItemEnters((s, i) -> BeltPressingCallbacks.onItemReceived(s, i, this)); @@ -113,7 +113,7 @@ public class PressingBehaviour extends BeltProcessingBehaviour { prevRunningTicks = 0; runningTicks = 0; particleItems.clear(); - tileEntity.sendData(); + blockEntity.sendData(); } public boolean inWorld() { @@ -141,7 +141,7 @@ public class PressingBehaviour extends BeltProcessingBehaviour { if (entityScanCooldown <= 0) { entityScanCooldown = ENTITY_SCAN; - if (TileEntityBehaviour.get(level, worldPosition.below(2), + if (BlockEntityBehaviour.get(level, worldPosition.below(2), TransportedItemStackHandlerBehaviour.TYPE) != null) return; if (AllBlocks.BASIN.has(level.getBlockState(worldPosition.below(2)))) @@ -181,7 +181,7 @@ public class PressingBehaviour extends BeltProcessingBehaviour { .75f + (Math.abs(specifics.getKineticSpeed()) / 1024f)); if (!level.isClientSide) - tileEntity.sendData(); + blockEntity.sendData(); } if (!level.isClientSide && runningTicks > CYCLE) { @@ -189,7 +189,7 @@ public class PressingBehaviour extends BeltProcessingBehaviour { running = false; particleItems.clear(); specifics.onPressingCompleted(); - tileEntity.sendData(); + blockEntity.sendData(); return; } @@ -198,7 +198,7 @@ public class PressingBehaviour extends BeltProcessingBehaviour { if (prevRunningTicks < CYCLE / 2 && runningTicks >= CYCLE / 2) { runningTicks = CYCLE / 2; // Pause the ticks until a packet is received - if (level.isClientSide && !tileEntity.isVirtual()) + if (level.isClientSide && !blockEntity.isVirtual()) runningTicks = -(CYCLE / 2); } } @@ -209,7 +209,7 @@ public class PressingBehaviour extends BeltProcessingBehaviour { return; particleItems.clear(); if (specifics.tryProcessInBasin(false)) - tileEntity.sendData(); + blockEntity.sendData(); } protected void applyInWorld() { @@ -231,7 +231,7 @@ public class PressingBehaviour extends BeltProcessingBehaviour { entityScanCooldown = 0; if (specifics.tryProcessInWorld(itemEntity, false)) - tileEntity.sendData(); + blockEntity.sendData(); if (!bulk) break; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawBlock.java index c444caa2e..a1ac7f78b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawBlock.java @@ -2,11 +2,11 @@ package com.simibubi.create.content.contraptions.components.saw; import javax.annotation.ParametersAreNonnullByDefault; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.components.actors.DrillBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; @@ -29,7 +29,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault -public class SawBlock extends DirectionalAxisKineticBlock implements ITE { +public class SawBlock extends DirectionalAxisKineticBlock implements IBE { public static DamageSource damageSourceSaw = new DamageSource("create.mechanical_saw").bypassArmor(); public SawBlock(Properties properties) { @@ -56,10 +56,10 @@ public class SawBlock extends DirectionalAxisKineticBlock implements ITE { - if (te.getSpeed() == 0) + withBlockEntityDo(worldIn, pos, be -> { + if (be.getSpeed() == 0) return; - entityIn.hurt(damageSourceSaw, (float) DrillBlock.getDamage(te.getSpeed())); + entityIn.hurt(damageSourceSaw, (float) DrillBlock.getDamage(be.getSpeed())); }); } @@ -72,10 +72,10 @@ public class SawBlock extends DirectionalAxisKineticBlock implements ITE { - if (te.getSpeed() == 0) + withBlockEntityDo(entityIn.level, pos, be -> { + if (be.getSpeed() == 0) return; - te.insertItem((ItemEntity) entityIn); + be.insertItem((ItemEntity) entityIn); }); } @@ -100,13 +100,13 @@ public class SawBlock extends DirectionalAxisKineticBlock implements ITE getTileEntityClass() { - return SawTileEntity.class; + public Class getBlockEntityClass() { + return SawBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.SAW.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.SAW.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawBlockEntity.java similarity index 96% rename from src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/saw/SawBlockEntity.java index ce5a2bff7..f050b748d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawBlockEntity.java @@ -15,15 +15,15 @@ import com.google.common.base.Suppliers; import com.google.common.collect.ImmutableList; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.content.contraptions.components.actors.BlockBreakingKineticTileEntity; +import com.simibubi.create.content.contraptions.components.actors.BlockBreakingKineticBlockEntity; import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRecipe; import com.simibubi.create.content.contraptions.processing.ProcessingInventory; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.item.ItemHelper; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.utility.AbstractBlockBreakQueue; import com.simibubi.create.foundation.utility.TreeCutter; import com.simibubi.create.foundation.utility.VecHelper; @@ -71,7 +71,7 @@ import net.minecraftforge.items.IItemHandler; @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault -public class SawTileEntity extends BlockBreakingKineticTileEntity { +public class SawBlockEntity extends BlockBreakingKineticBlockEntity { private static final Object cuttingRecipesKey = new Object(); public static final Supplier> woodcuttingRecipeType = @@ -84,7 +84,7 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity { private ItemStack playEvent; - public SawTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SawBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); inventory = new ProcessingInventory(this::start).withSlotLimit(!AllConfigs.SERVER.recipes.bulkCutting.get()); inventory.remainingTime = -1; @@ -94,7 +94,7 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); filtering = new FilteringBehaviour(this, new SawFilterSlot()).forRecipes(); behaviours.add(filtering); @@ -210,7 +210,7 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity { } BlockPos nextPos = worldPosition.offset(itemMovement.x, itemMovement.y, itemMovement.z); - DirectBeltInputBehaviour behaviour = TileEntityBehaviour.get(level, nextPos, DirectBeltInputBehaviour.TYPE); + DirectBeltInputBehaviour behaviour = BlockEntityBehaviour.get(level, nextPos, DirectBeltInputBehaviour.TYPE); if (behaviour != null) { boolean changed = false; if (!behaviour.canInsertFromSide(itemMovementFacing)) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawFilterSlot.java b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawFilterSlot.java index c9a407a64..afdf2497c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawFilterSlot.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawFilterSlot.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.saw; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.Direction; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawInstance.java index bba424cbf..85ba42a7b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawInstance.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.components.saw; import com.jozufozu.flywheel.api.Instancer; import com.jozufozu.flywheel.api.MaterialManager; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.base.SingleRotatingInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; @@ -14,8 +14,8 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; public class SawInstance extends SingleRotatingInstance { - public SawInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public SawInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawRenderer.java index 6da19d6a5..8e98f80b8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawRenderer.java @@ -8,15 +8,15 @@ import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Vector3f; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringRenderer; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringRenderer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -34,28 +34,28 @@ import net.minecraft.world.level.block.Rotation; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class SawRenderer extends SafeTileEntityRenderer { +public class SawRenderer extends SafeBlockEntityRenderer { public SawRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(SawTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, + protected void renderSafe(SawBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - renderBlade(te, ms, buffer, light); - renderItems(te, partialTicks, ms, buffer, light, overlay); - FilteringRenderer.renderOnTileEntity(te, partialTicks, ms, buffer, light, overlay); + renderBlade(be, ms, buffer, light); + renderItems(be, partialTicks, ms, buffer, light, overlay); + FilteringRenderer.renderOnBlockEntity(be, partialTicks, ms, buffer, light, overlay); - if (Backend.canUseInstancing(te.getLevel())) + if (Backend.canUseInstancing(be.getLevel())) return; - renderShaft(te, ms, buffer, light, overlay); + renderShaft(be, ms, buffer, light, overlay); } - protected void renderBlade(SawTileEntity te, PoseStack ms, MultiBufferSource buffer, int light) { - BlockState blockState = te.getBlockState(); + protected void renderBlade(SawBlockEntity be, PoseStack ms, MultiBufferSource buffer, int light) { + BlockState blockState = be.getBlockState(); PartialModel partial; - float speed = te.getSpeed(); + float speed = be.getSpeed(); boolean rotate = false; if (SawBlock.isHorizontal(blockState)) { @@ -67,7 +67,7 @@ public class SawRenderer extends SafeTileEntityRenderer { partial = AllBlockPartials.SAW_BLADE_HORIZONTAL_INACTIVE; } } else { - if (te.getSpeed() > 0) { + if (be.getSpeed() > 0) { partial = AllBlockPartials.SAW_BLADE_VERTICAL_ACTIVE; } else if (speed < 0) { partial = AllBlockPartials.SAW_BLADE_VERTICAL_REVERSED; @@ -88,44 +88,44 @@ public class SawRenderer extends SafeTileEntityRenderer { .renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped())); } - protected void renderShaft(SawTileEntity te, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - KineticTileEntityRenderer.renderRotatingBuffer(te, getRotatedModel(te), ms, + protected void renderShaft(SawBlockEntity be, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + KineticBlockEntityRenderer.renderRotatingBuffer(be, getRotatedModel(be), ms, buffer.getBuffer(RenderType.solid()), light); } - protected void renderItems(SawTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderItems(SawBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - boolean processingMode = te.getBlockState() + boolean processingMode = be.getBlockState() .getValue(SawBlock.FACING) == Direction.UP; - if (processingMode && !te.inventory.isEmpty()) { - boolean alongZ = !te.getBlockState() + if (processingMode && !be.inventory.isEmpty()) { + boolean alongZ = !be.getBlockState() .getValue(SawBlock.AXIS_ALONG_FIRST_COORDINATE); ms.pushPose(); - boolean moving = te.inventory.recipeDuration != 0; - float offset = moving ? (float) (te.inventory.remainingTime) / te.inventory.recipeDuration : 0; - float processingSpeed = Mth.clamp(Math.abs(te.getSpeed()) / 32, 1, 128); + boolean moving = be.inventory.recipeDuration != 0; + float offset = moving ? (float) (be.inventory.remainingTime) / be.inventory.recipeDuration : 0; + float processingSpeed = Mth.clamp(Math.abs(be.getSpeed()) / 32, 1, 128); if (moving) { offset = Mth - .clamp(offset + ((-partialTicks + .5f) * processingSpeed) / te.inventory.recipeDuration, 0.125f, 1f); - if (!te.inventory.appliedRecipe) + .clamp(offset + ((-partialTicks + .5f) * processingSpeed) / be.inventory.recipeDuration, 0.125f, 1f); + if (!be.inventory.appliedRecipe) offset += 1; offset /= 2; } - if (te.getSpeed() == 0) + if (be.getSpeed() == 0) offset = .5f; - if (te.getSpeed() < 0 ^ alongZ) + if (be.getSpeed() < 0 ^ alongZ) offset = 1 - offset; - for (int i = 0; i < te.inventory.getSlots(); i++) { - ItemStack stack = te.inventory.getStackInSlot(i); + for (int i = 0; i < be.inventory.getSlots(); i++) { + ItemStack stack = be.inventory.getStackInSlot(i); if (stack.isEmpty()) continue; ItemRenderer itemRenderer = Minecraft.getInstance() .getItemRenderer(); - BakedModel modelWithOverrides = itemRenderer.getModel(stack, te.getLevel(), null, 0); + BakedModel modelWithOverrides = itemRenderer.getModel(stack, be.getLevel(), null, 0); boolean blockItem = modelWithOverrides.isGui3d(); ms.translate(alongZ ? offset : .5, blockItem ? .925f : 13f / 16f, alongZ ? .5 : offset); @@ -142,19 +142,19 @@ public class SawRenderer extends SafeTileEntityRenderer { } } - protected SuperByteBuffer getRotatedModel(KineticTileEntity te) { - BlockState state = te.getBlockState(); + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be) { + BlockState state = be.getBlockState(); if (state.getValue(FACING) .getAxis() .isHorizontal()) return CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, - state.rotate(te.getLevel(), te.getBlockPos(), Rotation.CLOCKWISE_180)); - return CachedBufferer.block(KineticTileEntityRenderer.KINETIC_TILE, - getRenderedBlockState(te)); + state.rotate(be.getLevel(), be.getBlockPos(), Rotation.CLOCKWISE_180)); + return CachedBufferer.block(KineticBlockEntityRenderer.KINETIC_BLOCK, + getRenderedBlockState(be)); } - protected BlockState getRenderedBlockState(KineticTileEntity te) { - return KineticTileEntityRenderer.shaft(KineticTileEntityRenderer.getRotationAxisOf(te)); + protected BlockState getRenderedBlockState(KineticBlockEntity be) { + return KineticBlockEntityRenderer.shaft(KineticBlockEntityRenderer.getRotationAxisOf(be)); } public static void renderInContraption(MovementContext context, VirtualRenderWorld renderWorld, diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlock.java index ef16af57d..31ed53c81 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlock.java @@ -2,10 +2,10 @@ package com.simibubi.create.content.contraptions.components.steam; import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock; import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.foundation.utility.Iterate; @@ -42,8 +42,8 @@ public class PoweredShaftBlock extends AbstractShaftBlock { } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.POWERED_SHAFT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.POWERED_SHAFT.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlockEntity.java similarity index 95% rename from src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlockEntity.java index 8efc121fd..f9e706e54 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlockEntity.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.steam; import java.util.List; -import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; +import com.simibubi.create.content.contraptions.base.GeneratingKineticBlockEntity; import com.simibubi.create.foundation.block.BlockStressValues; import com.simibubi.create.foundation.utility.RegisteredObjects; @@ -18,7 +18,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.registries.ForgeRegistries; -public class PoweredShaftTileEntity extends GeneratingKineticTileEntity { +public class PoweredShaftBlockEntity extends GeneratingKineticBlockEntity { public BlockPos enginePos; public float engineEfficiency; @@ -26,7 +26,7 @@ public class PoweredShaftTileEntity extends GeneratingKineticTileEntity { public int initialTicks; public Block capacityKey; - public PoweredShaftTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public PoweredShaftBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); movementDirection = 1; initialTicks = 3; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineBlock.java index e6df5d808..78f858537 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineBlock.java @@ -4,14 +4,14 @@ import static net.minecraft.world.level.block.state.properties.BlockStatePropert import java.util.function.Predicate; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlock; import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.placement.IPlacementHelper; @@ -48,7 +48,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; public class SteamEngineBlock extends FaceAttachedHorizontalDirectionalBlock - implements SimpleWaterloggedBlock, IWrenchable, ITE { + implements SimpleWaterloggedBlock, IWrenchable, IBE { private static final int placementHelperId = PlacementHelpers.register(new PlacementHelper()); @@ -163,13 +163,13 @@ public class SteamEngineBlock extends FaceAttachedHorizontalDirectionalBlock } @Override - public Class getTileEntityClass() { - return SteamEngineTileEntity.class; + public Class getBlockEntityClass() { + return SteamEngineBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.STEAM_ENGINE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.STEAM_ENGINE.get(); } @MethodsReturnNonnullByDefault diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineBlockEntity.java similarity index 80% rename from src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineBlockEntity.java index e2fe33f67..180f8eedb 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineBlockEntity.java @@ -7,16 +7,16 @@ import javax.annotation.Nullable; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; +import com.simibubi.create.content.contraptions.base.GeneratingKineticBlockEntity; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; -import com.simibubi.create.content.contraptions.components.structureMovement.bearing.WindmillBearingTileEntity.RotationDirection; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.contraptions.components.structureMovement.bearing.WindmillBearingBlockEntity.RotationDirection; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.VecHelper; @@ -38,26 +38,26 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; -public class SteamEngineTileEntity extends SmartTileEntity implements IHaveGoggleInformation { +public class SteamEngineBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { protected ScrollOptionBehaviour movementDirection; - public WeakReference target; - public WeakReference source; + public WeakReference target; + public WeakReference source; - public SteamEngineTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SteamEngineBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); source = new WeakReference<>(null); target = new WeakReference<>(null); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { movementDirection = new ScrollOptionBehaviour<>(RotationDirection.class, Lang.translateDirect("contraptions.windmill.rotation_direction"), this, new SteamEngineValueBox()); movementDirection.requiresWrench(); movementDirection.onlyActiveWhen(() -> { - PoweredShaftTileEntity shaft = getShaft(); + PoweredShaftBlockEntity shaft = getShaft(); return shaft == null || !shaft.hasSource(); }); movementDirection.withCallback($ -> onDirectionChanged()); @@ -71,8 +71,8 @@ public class SteamEngineTileEntity extends SmartTileEntity implements IHaveGoggl @Override public void tick() { super.tick(); - FluidTankTileEntity tank = getTank(); - PoweredShaftTileEntity shaft = getShaft(); + FluidTankBlockEntity tank = getTank(); + PoweredShaftBlockEntity shaft = getShaft(); if (tank == null || shaft == null) { if (level.isClientSide()) @@ -111,7 +111,7 @@ public class SteamEngineTileEntity extends SmartTileEntity implements IHaveGoggl award(AllAdvancements.STEAM_ENGINE); int conveyedSpeedLevel = - efficiency == 0 ? 1 : verticalTarget ? 1 : (int) GeneratingKineticTileEntity.convertToDirection(1, facing); + efficiency == 0 ? 1 : verticalTarget ? 1 : (int) GeneratingKineticBlockEntity.convertToDirection(1, facing); if (targetAxis == Axis.Z) conveyedSpeedLevel *= -1; if (movementDirection.get() == RotationDirection.COUNTER_CLOCKWISE) @@ -135,7 +135,7 @@ public class SteamEngineTileEntity extends SmartTileEntity implements IHaveGoggl @Override public void remove() { - PoweredShaftTileEntity shaft = getShaft(); + PoweredShaftBlockEntity shaft = getShaft(); if (shaft != null) shaft.remove(worldPosition); super.remove(); @@ -147,32 +147,32 @@ public class SteamEngineTileEntity extends SmartTileEntity implements IHaveGoggl return super.createRenderBoundingBox().inflate(2); } - public PoweredShaftTileEntity getShaft() { - PoweredShaftTileEntity shaft = target.get(); + public PoweredShaftBlockEntity getShaft() { + PoweredShaftBlockEntity shaft = target.get(); if (shaft == null || shaft.isRemoved() || !shaft.canBePoweredBy(worldPosition)) { if (shaft != null) target = new WeakReference<>(null); Direction facing = SteamEngineBlock.getFacing(getBlockState()); BlockEntity anyShaftAt = level.getBlockEntity(worldPosition.relative(facing, 2)); - if (anyShaftAt instanceof PoweredShaftTileEntity ps && ps.canBePoweredBy(worldPosition)) + if (anyShaftAt instanceof PoweredShaftBlockEntity ps && ps.canBePoweredBy(worldPosition)) target = new WeakReference<>(shaft = ps); } return shaft; } - public FluidTankTileEntity getTank() { - FluidTankTileEntity tank = source.get(); + public FluidTankBlockEntity getTank() { + FluidTankBlockEntity tank = source.get(); if (tank == null || tank.isRemoved()) { if (tank != null) source = new WeakReference<>(null); Direction facing = SteamEngineBlock.getFacing(getBlockState()); BlockEntity be = level.getBlockEntity(worldPosition.relative(facing.getOpposite())); - if (be instanceof FluidTankTileEntity tankTe) + if (be instanceof FluidTankBlockEntity tankTe) source = new WeakReference<>(tank = tankTe); } if (tank == null) return null; - return tank.getControllerTE(); + return tank.getControllerBE(); } float prevAngle = 0; @@ -180,7 +180,7 @@ public class SteamEngineTileEntity extends SmartTileEntity implements IHaveGoggl @OnlyIn(Dist.CLIENT) private void spawnParticles() { Float targetAngle = getTargetAngle(); - PoweredShaftTileEntity ste = target.get(); + PoweredShaftBlockEntity ste = target.get(); if (ste == null) return; if (!ste.isPoweredBy(worldPosition) || ste.engineEfficiency == 0) @@ -192,7 +192,7 @@ public class SteamEngineTileEntity extends SmartTileEntity implements IHaveGoggl angle += (angle < 0) ? -180 + 75 : 360 - 75; angle %= 360; - PoweredShaftTileEntity shaft = getShaft(); + PoweredShaftBlockEntity shaft = getShaft(); if (shaft == null || shaft.getSpeed() == 0) return; @@ -205,9 +205,9 @@ public class SteamEngineTileEntity extends SmartTileEntity implements IHaveGoggl return; } - FluidTankTileEntity sourceTE = source.get(); - if (sourceTE != null) { - FluidTankTileEntity controller = sourceTE.getControllerTE(); + FluidTankBlockEntity sourceBE = source.get(); + if (sourceBE != null) { + FluidTankBlockEntity controller = sourceBE.getControllerBE(); if (controller != null && controller.boiler != null) { float volume = 3f / Math.max(2, controller.boiler.attachedEngines / 6); float pitch = 1.18f - level.random.nextFloat() * .25f; @@ -242,15 +242,15 @@ public class SteamEngineTileEntity extends SmartTileEntity implements IHaveGoggl return null; Direction facing = SteamEngineBlock.getFacing(blockState); - PoweredShaftTileEntity shaft = getShaft(); + PoweredShaftBlockEntity shaft = getShaft(); Axis facingAxis = facing.getAxis(); Axis axis = Axis.Y; if (shaft == null) return null; - axis = KineticTileEntityRenderer.getRotationAxisOf(shaft); - angle = KineticTileEntityRenderer.getAngleForTe(shaft, shaft.getBlockPos(), axis); + axis = KineticBlockEntityRenderer.getRotationAxisOf(shaft); + angle = KineticBlockEntityRenderer.getAngleForTe(shaft, shaft.getBlockPos(), axis); if (axis == facingAxis) return null; @@ -263,7 +263,7 @@ public class SteamEngineTileEntity extends SmartTileEntity implements IHaveGoggl @Override public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { - PoweredShaftTileEntity shaft = getShaft(); + PoweredShaftBlockEntity shaft = getShaft(); return shaft == null ? false : shaft.addToEngineTooltip(tooltip, isPlayerSneaking); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineInstance.java index 2313e9039..0f55ffc9f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineInstance.java @@ -6,20 +6,20 @@ import com.jozufozu.flywheel.backend.instancing.blockentity.BlockEntityInstance; import com.jozufozu.flywheel.core.Materials; import com.jozufozu.flywheel.core.materials.model.ModelData; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.util.Mth; -public class SteamEngineInstance extends BlockEntityInstance implements DynamicInstance { +public class SteamEngineInstance extends BlockEntityInstance implements DynamicInstance { protected final ModelData piston; protected final ModelData linkage; protected final ModelData connector; - public SteamEngineInstance(MaterialManager materialManager, SteamEngineTileEntity blockEntity) { + public SteamEngineInstance(MaterialManager materialManager, SteamEngineBlockEntity blockEntity) { super(materialManager, blockEntity); piston = materialManager.defaultSolid() @@ -50,9 +50,9 @@ public class SteamEngineInstance extends BlockEntityInstance { +public class SteamEngineRenderer extends SafeBlockEntityRenderer { public SteamEngineRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(SteamEngineTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(SteamEngineBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) + if (Backend.canUseInstancing(be.getLevel())) return; - Float angle = te.getTargetAngle(); + Float angle = be.getTargetAngle(); if (angle == null) return; - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); Direction facing = SteamEngineBlock.getFacing(blockState); Axis facingAxis = facing.getAxis(); Axis axis = Axis.Y; - PoweredShaftTileEntity shaft = te.getShaft(); + PoweredShaftBlockEntity shaft = be.getShaft(); if (shaft != null) - axis = KineticTileEntityRenderer.getRotationAxisOf(shaft); + axis = KineticBlockEntityRenderer.getRotationAxisOf(shaft); boolean roll90 = facingAxis.isHorizontal() && axis == Axis.Y || facingAxis.isVertical() && axis == Axis.Z; float sine = Mth.sin(angle); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineValueBox.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineValueBox.java index 2b294850a..92f80c88e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineValueBox.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamEngineValueBox.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.steam; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Pointing; import com.simibubi.create.foundation.utility.VecHelper; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleBlock.java index 96802b57f..0186f91cf 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleBlock.java @@ -2,14 +2,14 @@ package com.simibubi.create.content.contraptions.components.steam.whistle; import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleExtenderBlock.WhistleExtenderShape; import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlock; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.core.BlockPos; @@ -47,7 +47,7 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class WhistleBlock extends Block implements ITE, IWrenchable { +public class WhistleBlock extends Block implements IBE, IWrenchable { public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; public static final BooleanProperty WALL = BooleanProperty.create("wall"); @@ -181,7 +181,7 @@ public class WhistleBlock extends Block implements ITE, IWren @Override public void tick(BlockState pState, ServerLevel pLevel, BlockPos pPos, Random pRandom) { - withTileEntityDo(pLevel, pPos, WhistleTileEntity::updatePitch); + withBlockEntityDo(pLevel, pPos, WhistleBlockEntity::updatePitch); } @Override @@ -193,7 +193,7 @@ public class WhistleBlock extends Block implements ITE, IWren @Override public void onRemove(BlockState pState, Level pLevel, BlockPos pPos, BlockState pNewState, boolean pIsMoving) { - ITE.onRemove(pState, pLevel, pPos, pNewState); + IBE.onRemove(pState, pLevel, pPos, pNewState); FluidTankBlock.updateBoilerState(pState, pLevel, pPos.relative(getAttachedDirection(pState))); } @@ -235,13 +235,13 @@ public class WhistleBlock extends Block implements ITE, IWren } @Override - public Class getTileEntityClass() { - return WhistleTileEntity.class; + public Class getBlockEntityClass() { + return WhistleBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.STEAM_WHISTLE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.STEAM_WHISTLE.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleBlockEntity.java similarity index 89% rename from src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleBlockEntity.java index 6855445eb..edf00fa07 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleBlockEntity.java @@ -8,11 +8,11 @@ import com.simibubi.create.AllSoundEvents; import com.simibubi.create.content.contraptions.components.steam.SteamJetParticleData; import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleBlock.WhistleSize; import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleExtenderBlock.WhistleExtenderShape; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Lang; @@ -36,20 +36,20 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; -public class WhistleTileEntity extends SmartTileEntity implements IHaveGoggleInformation { +public class WhistleBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { - public WeakReference source; + public WeakReference source; public LerpedFloat animation; protected int pitch; - public WhistleTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public WhistleBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); source = new WeakReference<>(null); animation = LerpedFloat.linear(); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { registerAwardables(behaviours, AllAdvancements.STEAM_WHISTLE); } @@ -72,7 +72,7 @@ public class WhistleTileEntity extends SmartTileEntity implements IHaveGoggleInf notifyUpdate(); - FluidTankTileEntity tank = getTank(); + FluidTankBlockEntity tank = getTank(); if (tank != null && tank.boiler != null) tank.boiler.checkPipeOrganAdvancement(tank); } @@ -86,7 +86,7 @@ public class WhistleTileEntity extends SmartTileEntity implements IHaveGoggleInf return; } - FluidTankTileEntity tank = getTank(); + FluidTankBlockEntity tank = getTank(); boolean powered = isPowered() && (tank != null && tank.boiler.isActive() && (tank.boiler.passiveHeat || tank.boiler.activeHeat > 0) || isVirtual()); @@ -179,19 +179,19 @@ public class WhistleTileEntity extends SmartTileEntity implements IHaveGoggleInf .ordinal(); } - public FluidTankTileEntity getTank() { - FluidTankTileEntity tank = source.get(); + public FluidTankBlockEntity getTank() { + FluidTankBlockEntity tank = source.get(); if (tank == null || tank.isRemoved()) { if (tank != null) source = new WeakReference<>(null); Direction facing = WhistleBlock.getAttachedDirection(getBlockState()); BlockEntity be = level.getBlockEntity(worldPosition.relative(facing)); - if (be instanceof FluidTankTileEntity tankTe) + if (be instanceof FluidTankBlockEntity tankTe) source = new WeakReference<>(tank = tankTe); } if (tank == null) return null; - return tank.getControllerTE(); + return tank.getControllerBE(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleRenderer.java index 1aafc8d7b..e56fcddb7 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/whistle/WhistleRenderer.java @@ -4,8 +4,8 @@ import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleBlock.WhistleSize; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -16,14 +16,14 @@ import net.minecraft.core.Direction; import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; -public class WhistleRenderer extends SafeTileEntityRenderer { +public class WhistleRenderer extends SafeBlockEntityRenderer { public WhistleRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(WhistleTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(WhistleBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); if (!(blockState.getBlock() instanceof WhistleBlock)) return; @@ -33,9 +33,9 @@ public class WhistleRenderer extends SafeTileEntityRenderer { PartialModel mouth = size == WhistleSize.LARGE ? AllBlockPartials.WHISTLE_MOUTH_LARGE : size == WhistleSize.MEDIUM ? AllBlockPartials.WHISTLE_MOUTH_MEDIUM : AllBlockPartials.WHISTLE_MOUTH_SMALL; - float offset = te.animation.getValue(partialTicks); - if (te.animation.getChaseTarget() > 0 && te.animation.getValue() > 0.5f) { - float wiggleProgress = (AnimationTickHolder.getTicks(te.getLevel()) + partialTicks) / 8f; + float offset = be.animation.getValue(partialTicks); + if (be.animation.getChaseTarget() > 0 && be.animation.getValue() > 0.5f) { + float wiggleProgress = (AnimationTickHolder.getTicks(be.getLevel()) + partialTicks) / 8f; offset -= Math.sin(wiggleProgress * (2 * Mth.PI) * (4 - size.ordinal())) / 16f; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/BlockMovementChecks.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/BlockMovementChecks.java index ce06099e4..046b936ba 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/BlockMovementChecks.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/BlockMovementChecks.java @@ -15,9 +15,9 @@ import com.simibubi.create.content.contraptions.components.fan.NozzleBlock; import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleBlock; import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleExtenderBlock; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkBearingBlock; -import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkBearingTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkBearingBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingBlock; -import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.SailBlock; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.AbstractChassisBlock; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerBlock; @@ -25,7 +25,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.mou import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock.PistonState; import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock; -import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlockEntity; import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlock; import com.simibubi.create.content.curiosities.deco.SlidingDoorBlock; import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkBlock; @@ -200,19 +200,19 @@ public class BlockMovementChecks { if (block instanceof MechanicalPistonBlock && state.getValue(MechanicalPistonBlock.STATE) != PistonState.MOVING) return true; if (block instanceof MechanicalBearingBlock) { - BlockEntity te = world.getBlockEntity(pos); - if (te instanceof MechanicalBearingTileEntity) - return !((MechanicalBearingTileEntity) te).isRunning(); + BlockEntity be = world.getBlockEntity(pos); + if (be instanceof MechanicalBearingBlockEntity) + return !((MechanicalBearingBlockEntity) be).isRunning(); } if (block instanceof ClockworkBearingBlock) { - BlockEntity te = world.getBlockEntity(pos); - if (te instanceof ClockworkBearingTileEntity) - return !((ClockworkBearingTileEntity) te).isRunning(); + BlockEntity be = world.getBlockEntity(pos); + if (be instanceof ClockworkBearingBlockEntity) + return !((ClockworkBearingBlockEntity) be).isRunning(); } if (block instanceof PulleyBlock) { - BlockEntity te = world.getBlockEntity(pos); - if (te instanceof PulleyTileEntity) - return !((PulleyTileEntity) te).running; + BlockEntity be = world.getBlockEntity(pos); + if (be instanceof PulleyBlockEntity) + return !((PulleyBlockEntity) be).running; } if (AllBlocks.BELT.has(state)) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java index 9914b6dc9..1b861a9ee 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java @@ -24,24 +24,24 @@ import javax.annotation.Nullable; import org.apache.commons.lang3.tuple.MutablePair; import org.apache.commons.lang3.tuple.Pair; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllInteractionBehaviours; import com.simibubi.create.AllMovementBehaviours; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.actors.BlockBreakingMovementBehaviour; import com.simibubi.create.content.contraptions.components.actors.HarvesterMovementBehaviour; import com.simibubi.create.content.contraptions.components.actors.SeatBlock; import com.simibubi.create.content.contraptions.components.actors.SeatEntity; import com.simibubi.create.content.contraptions.components.actors.controls.ContraptionControlsMovement; -import com.simibubi.create.content.contraptions.components.steam.PoweredShaftTileEntity; +import com.simibubi.create.content.contraptions.components.steam.PoweredShaftBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingBlock; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.StabilizedContraption; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.WindmillBearingBlock; -import com.simibubi.create.content.contraptions.components.structureMovement.bearing.WindmillBearingTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.bearing.WindmillBearingBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.AbstractChassisBlock; -import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerBlock; import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageBlock; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity; @@ -53,21 +53,21 @@ import com.simibubi.create.content.contraptions.components.structureMovement.pis import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock; import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.MagnetBlock; import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.RopeBlock; -import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter; import com.simibubi.create.content.contraptions.components.structureMovement.render.EmptyLighter; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.content.curiosities.deco.SlidingDoorBlock; -import com.simibubi.create.content.logistics.block.inventories.CreativeCrateTileEntity; +import com.simibubi.create.content.logistics.block.inventories.CreativeCrateBlockEntity; import com.simibubi.create.content.logistics.block.redstone.RedstoneContactBlock; -import com.simibubi.create.content.logistics.block.vault.ItemVaultTileEntity; +import com.simibubi.create.content.logistics.block.vault.ItemVaultBlockEntity; import com.simibubi.create.content.logistics.trains.IBogeyBlock; +import com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.IMultiTileContainer; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.utility.BBHelper; import com.simibubi.create.foundation.utility.BlockFace; import com.simibubi.create.foundation.utility.BlockHelper; @@ -155,9 +155,9 @@ public abstract class Contraption { // Client public Map modelData; - public Map presentTileEntities; - public List maybeInstancedTileEntities; - public List specialRenderedTileEntities; + public Map presentBlockEntities; + public List maybeInstancedBlockEntities; + public List specialRenderedBlockEntities; protected ContraptionWorld world; public boolean deferInvalidate; @@ -173,9 +173,9 @@ public abstract class Contraption { seatMapping = new HashMap<>(); glueToRemove = new HashSet<>(); initialPassengers = new HashMap<>(); - presentTileEntities = new HashMap<>(); - maybeInstancedTileEntities = new ArrayList<>(); - specialRenderedTileEntities = new ArrayList<>(); + presentBlockEntities = new HashMap<>(); + maybeInstancedBlockEntities = new ArrayList<>(); + specialRenderedBlockEntities = new ArrayList<>(); pendingSubContraptions = new ArrayList<>(); stabilizedSubContraptions = new HashMap<>(); simplifiedEntityColliders = Optional.empty(); @@ -320,7 +320,7 @@ public abstract class Contraption { if (AllBlocks.BELT.has(state)) moveBelt(pos, frontier, visited, state); - if (AllBlocks.WINDMILL_BEARING.has(state) && world.getBlockEntity(pos)instanceof WindmillBearingTileEntity wbte) + if (AllBlocks.WINDMILL_BEARING.has(state) && world.getBlockEntity(pos)instanceof WindmillBearingBlockEntity wbte) wbte.disassembleForMovement(); if (AllBlocks.GANTRY_CARRIAGE.has(state)) @@ -588,10 +588,10 @@ public abstract class Contraption { private boolean moveChassis(Level world, BlockPos pos, Direction movementDirection, Queue frontier, Set visited) { - BlockEntity te = world.getBlockEntity(pos); - if (!(te instanceof ChassisTileEntity)) + BlockEntity be = world.getBlockEntity(pos); + if (!(be instanceof ChassisBlockEntity)) return false; - ChassisTileEntity chassis = (ChassisTileEntity) te; + ChassisBlockEntity chassis = (ChassisBlockEntity) be; chassis.addAttachedChasses(frontier, visited); List includedBlockPositions = chassis.getIncludedBlockPositions(movementDirection, false); if (includedBlockPositions == null) @@ -620,11 +620,11 @@ public abstract class Contraption { blockstate = blockstate.setValue(PressurePlateBlock.POWERED, false); world.scheduleTick(pos, blockstate.getBlock(), -1); } - CompoundTag compoundnbt = getTileEntityNBT(world, pos); - BlockEntity tileentity = world.getBlockEntity(pos); - if (tileentity instanceof PoweredShaftTileEntity) - tileentity = AllTileEntities.BRACKETED_KINETIC.create(pos, blockstate); - return Pair.of(new StructureBlockInfo(pos, blockstate, compoundnbt), tileentity); + CompoundTag compoundnbt = getBlockEntityNBT(world, pos); + BlockEntity blockEntity = world.getBlockEntity(pos); + if (blockEntity instanceof PoweredShaftBlockEntity) + blockEntity = AllBlockEntityTypes.BRACKETED_KINETIC.create(pos, blockstate); + return Pair.of(new StructureBlockInfo(pos, blockstate, compoundnbt), blockEntity); } protected void addBlock(BlockPos pos, Pair pair) { @@ -636,8 +636,8 @@ public abstract class Contraption { return; bounds = bounds.minmax(new AABB(localPos)); - BlockEntity te = pair.getValue(); - storage.addBlock(localPos, te); + BlockEntity be = pair.getValue(); + storage.addBlock(localPos, be); if (AllMovementBehaviours.getBehaviour(captured.state) != null) actors.add(MutablePair.of(structureBlockInfo, null)); @@ -646,24 +646,24 @@ public abstract class Contraption { if (interactionBehaviour != null) interactors.put(localPos, interactionBehaviour); - if (te instanceof CreativeCrateTileEntity - && ((CreativeCrateTileEntity) te).getBehaviour(FilteringBehaviour.TYPE) + if (be instanceof CreativeCrateBlockEntity + && ((CreativeCrateBlockEntity) be).getBehaviour(FilteringBehaviour.TYPE) .getFilter() .isEmpty()) hasUniversalCreativeCrate = true; } @Nullable - protected CompoundTag getTileEntityNBT(Level world, BlockPos pos) { - BlockEntity tileentity = world.getBlockEntity(pos); - if (tileentity == null) + protected CompoundTag getBlockEntityNBT(Level world, BlockPos pos) { + BlockEntity blockEntity = world.getBlockEntity(pos); + if (blockEntity == null) return null; - CompoundTag nbt = tileentity.saveWithFullMetadata(); + CompoundTag nbt = blockEntity.saveWithFullMetadata(); nbt.remove("x"); nbt.remove("y"); nbt.remove("z"); - if ((tileentity instanceof FluidTankTileEntity || tileentity instanceof ItemVaultTileEntity) + if ((blockEntity instanceof FluidTankBlockEntity || blockEntity instanceof ItemVaultBlockEntity) && nbt.contains("Controller")) nbt.put("Controller", NbtUtils.writeBlockPos(toLocalPos(NbtUtils.readBlockPos(nbt.getCompound("Controller"))))); @@ -685,8 +685,8 @@ public abstract class Contraption { public void readNBT(Level world, CompoundTag nbt, boolean spawnData) { blocks.clear(); - presentTileEntities.clear(); - specialRenderedTileEntities.clear(); + presentBlockEntities.clear(); + specialRenderedBlockEntities.clear(); Tag blocks = nbt.get("Blocks"); // used to differentiate between the 'old' and the paletted serialization @@ -735,7 +735,7 @@ public abstract class Contraption { interactors.put(pos, behaviour); }); - storage.read(nbt, presentTileEntities, spawnData); + storage.read(nbt, presentBlockEntities, spawnData); if (nbt.contains("BoundsFront")) bounds = NBTHelper.readAABB(nbt.getList("BoundsFront", 5)); @@ -886,24 +886,24 @@ public abstract class Contraption { tag.putInt("y", info.pos.getY()); tag.putInt("z", info.pos.getZ()); - BlockEntity te = BlockEntity.loadStatic(info.pos, info.state, tag); - if (te == null) + BlockEntity be = BlockEntity.loadStatic(info.pos, info.state, tag); + if (be == null) return; - te.setLevel(world); - modelData.put(info.pos, te.getModelData()); - if (te instanceof KineticTileEntity kte) + be.setLevel(world); + modelData.put(info.pos, be.getModelData()); + if (be instanceof KineticBlockEntity kte) kte.setSpeed(0); - te.getBlockState(); + be.getBlockState(); MovementBehaviour movementBehaviour = AllMovementBehaviours.getBehaviour(info.state); if (movementBehaviour == null || !movementBehaviour.hasSpecialInstancedRendering()) - maybeInstancedTileEntities.add(te); + maybeInstancedBlockEntities.add(be); - if (movementBehaviour != null && !movementBehaviour.renderAsNormalTileEntity()) + if (movementBehaviour != null && !movementBehaviour.renderAsNormalBlockEntity()) return; - presentTileEntities.put(info.pos, te); - specialRenderedTileEntities.add(te); + presentBlockEntities.put(info.pos, be); + specialRenderedBlockEntities.add(be); }); } @@ -1070,29 +1070,29 @@ public abstract class Contraption { world.destroyBlock(targetPos, true); } - BlockEntity tileEntity = world.getBlockEntity(targetPos); + BlockEntity blockEntity = world.getBlockEntity(targetPos); CompoundTag tag = block.nbt; - if (tileEntity != null) - tag = NBTProcessors.process(tileEntity, tag, false); - if (tileEntity != null && tag != null) { + if (blockEntity != null) + tag = NBTProcessors.process(blockEntity, tag, false); + if (blockEntity != null && tag != null) { tag.putInt("x", targetPos.getX()); tag.putInt("y", targetPos.getY()); tag.putInt("z", targetPos.getZ()); - if (verticalRotation && tileEntity instanceof PulleyTileEntity) { + if (verticalRotation && blockEntity instanceof PulleyBlockEntity) { tag.remove("Offset"); tag.remove("InitialOffset"); } - if (tileEntity instanceof IMultiTileContainer && tag.contains("LastKnownPos")) + if (blockEntity instanceof IMultiBlockEntityContainer && tag.contains("LastKnownPos")) tag.put("LastKnownPos", NbtUtils.writeBlockPos(BlockPos.ZERO.below(Integer.MAX_VALUE - 1))); - tileEntity.load(tag); - storage.addStorageToWorld(block, tileEntity); + blockEntity.load(tag); + storage.addStorageToWorld(block, blockEntity); } - transform.apply(tileEntity); + transform.apply(blockEntity); } } @@ -1365,7 +1365,7 @@ public abstract class Contraption { } public Collection getSpecialRenderedTEs() { - return specialRenderedTileEntities; + return specialRenderedBlockEntities; } public boolean isHiddenInPortal(BlockPos localPos) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ControlledContraptionEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ControlledContraptionEntity.java index 1b22ef7db..872700b1e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ControlledContraptionEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ControlledContraptionEntity.java @@ -204,10 +204,10 @@ public class ControlledContraptionEntity extends AbstractContraptionEntity { return null; if (!level.isLoaded(controllerPos)) return null; - BlockEntity te = level.getBlockEntity(controllerPos); - if (!(te instanceof IControlContraption)) + BlockEntity be = level.getBlockEntity(controllerPos); + if (!(be instanceof IControlContraption)) return null; - return (IControlContraption) te; + return (IControlContraption) be; } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/DirectionalExtenderScrollOptionSlot.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/DirectionalExtenderScrollOptionSlot.java index 0a04654c9..d3aeae54e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/DirectionalExtenderScrollOptionSlot.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/DirectionalExtenderScrollOptionSlot.java @@ -4,7 +4,7 @@ import java.util.function.BiPredicate; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.CenteredSideValueBoxTransform; import com.simibubi.create.foundation.utility.AngleHelper; import net.minecraft.core.Direction; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/IControlContraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/IControlContraption.java index a48f9d883..14c88530d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/IControlContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/IControlContraption.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.INamedIconOptions; import com.simibubi.create.foundation.gui.AllIcons; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIconOptions; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.core.BlockPos; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedFluidStorage.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedFluidStorage.java index a86acebfa..142d82014 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedFluidStorage.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedFluidStorage.java @@ -1,9 +1,9 @@ package com.simibubi.create.content.contraptions.components.structureMovement; import com.simibubi.create.content.contraptions.components.structureMovement.sync.ContraptionFluidPacket; -import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity; -import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity.CreativeSmartFluidTank; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; +import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankBlockEntity; +import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankBlockEntity.CreativeSmartFluidTank; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.networking.AllPackets; import com.simibubi.create.foundation.utility.NBTHelper; @@ -25,34 +25,34 @@ public class MountedFluidStorage { SmartFluidTank tank; private boolean valid; - private BlockEntity te; + private BlockEntity blockEntity; private int packetCooldown = 0; private boolean sendPacket = false; - public static boolean canUseAsStorage(BlockEntity te) { - if (te instanceof FluidTankTileEntity) - return ((FluidTankTileEntity) te).isController(); + public static boolean canUseAsStorage(BlockEntity be) { + if (be instanceof FluidTankBlockEntity) + return ((FluidTankBlockEntity) be).isController(); return false; } - public MountedFluidStorage(BlockEntity te) { - assignTileEntity(te); + public MountedFluidStorage(BlockEntity be) { + assignBlockEntity(be); } - public void assignTileEntity(BlockEntity te) { - this.te = te; - tank = createMountedTank(te); + public void assignBlockEntity(BlockEntity be) { + this.blockEntity = be; + tank = createMountedTank(be); } - private SmartFluidTank createMountedTank(BlockEntity te) { - if (te instanceof CreativeFluidTankTileEntity) + private SmartFluidTank createMountedTank(BlockEntity be) { + if (be instanceof CreativeFluidTankBlockEntity) return new CreativeSmartFluidTank( - ((FluidTankTileEntity) te).getTotalTankSize() * FluidTankTileEntity.getCapacityMultiplier(), $ -> { + ((FluidTankBlockEntity) be).getTotalTankSize() * FluidTankBlockEntity.getCapacityMultiplier(), $ -> { }); - if (te instanceof FluidTankTileEntity) + if (be instanceof FluidTankBlockEntity) return new SmartFluidTank( - ((FluidTankTileEntity) te).getTotalTankSize() * FluidTankTileEntity.getCapacityMultiplier(), + ((FluidTankBlockEntity) be).getTotalTankSize() * FluidTankBlockEntity.getCapacityMultiplier(), this::onFluidStackChanged); return null; } @@ -70,19 +70,19 @@ public class MountedFluidStorage { return; } - if (!(te instanceof FluidTankTileEntity)) + if (!(blockEntity instanceof FluidTankBlockEntity)) return; - FluidTankTileEntity tank = (FluidTankTileEntity) te; + FluidTankBlockEntity tank = (FluidTankBlockEntity) blockEntity; tank.getFluidLevel() .tickChaser(); } public void updateFluid(FluidStack fluid) { tank.setFluid(fluid); - if (!(te instanceof FluidTankTileEntity)) + if (!(blockEntity instanceof FluidTankBlockEntity)) return; float fillState = tank.getFluidAmount() / (float) tank.getCapacity(); - FluidTankTileEntity tank = (FluidTankTileEntity) te; + FluidTankBlockEntity tank = (FluidTankBlockEntity) blockEntity; if (tank.getFluidLevel() == null) tank.setFluidLevel(LerpedFloat.linear() .startWithValue(fillState)); @@ -95,10 +95,10 @@ public class MountedFluidStorage { public void removeStorageFromWorld() { valid = false; - if (te == null) + if (blockEntity == null) return; - IFluidHandler teHandler = te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + IFluidHandler teHandler = blockEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) .orElse(null); if (!(teHandler instanceof SmartFluidTank)) return; @@ -112,11 +112,11 @@ public class MountedFluidStorage { sendPacket = true; } - public void addStorageToWorld(BlockEntity te) { + public void addStorageToWorld(BlockEntity be) { if (tank instanceof CreativeSmartFluidTank) return; - LazyOptional capability = te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); + LazyOptional capability = be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); IFluidHandler teHandler = capability.orElse(null); if (!(teHandler instanceof SmartFluidTank)) return; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorage.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorage.java index f9d8f2813..8d41c67ea 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorage.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorage.java @@ -1,10 +1,10 @@ package com.simibubi.create.content.contraptions.components.structureMovement; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterBlockEntity; import com.simibubi.create.content.contraptions.processing.ProcessingInventory; import com.simibubi.create.content.logistics.block.inventories.BottomlessItemHandler; -import com.simibubi.create.content.logistics.block.vault.ItemVaultTileEntity; +import com.simibubi.create.content.logistics.block.vault.ItemVaultBlockEntity; import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.core.NonNullList; @@ -29,46 +29,46 @@ public class MountedStorage { boolean noFuel; boolean valid; - private BlockEntity te; + private BlockEntity blockEntity; - public static boolean canUseAsStorage(BlockEntity te) { - if (te == null) + public static boolean canUseAsStorage(BlockEntity be) { + if (be == null) return false; - if (te instanceof MechanicalCrafterTileEntity) + if (be instanceof MechanicalCrafterBlockEntity) return false; - if (AllTileEntities.CREATIVE_CRATE.is(te)) + if (AllBlockEntityTypes.CREATIVE_CRATE.is(be)) return true; - if (te instanceof ShulkerBoxBlockEntity) + if (be instanceof ShulkerBoxBlockEntity) return true; - if (te instanceof ChestBlockEntity) + if (be instanceof ChestBlockEntity) return true; - if (te instanceof BarrelBlockEntity) + if (be instanceof BarrelBlockEntity) return true; - if (te instanceof ItemVaultTileEntity) + if (be instanceof ItemVaultBlockEntity) return true; - LazyOptional capability = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY); + LazyOptional capability = be.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY); IItemHandler handler = capability.orElse(null); return handler instanceof ItemStackHandler && !(handler instanceof ProcessingInventory); } - public MountedStorage(BlockEntity te) { - this.te = te; + public MountedStorage(BlockEntity be) { + this.blockEntity = be; handler = dummyHandler; - noFuel = te instanceof ItemVaultTileEntity; + noFuel = be instanceof ItemVaultBlockEntity; } public void removeStorageFromWorld() { valid = false; - if (te == null) + if (blockEntity == null) return; - if (te instanceof ChestBlockEntity) { - CompoundTag tag = te.saveWithFullMetadata(); + if (blockEntity instanceof ChestBlockEntity) { + CompoundTag tag = blockEntity.saveWithFullMetadata(); if (tag.contains("LootTable", 8)) return; - handler = new ItemStackHandler(((ChestBlockEntity) te).getContainerSize()); + handler = new ItemStackHandler(((ChestBlockEntity) blockEntity).getContainerSize()); NonNullList items = NonNullList.withSize(handler.getSlots(), ItemStack.EMPTY); ContainerHelper.loadAllItems(tag, items); for (int i = 0; i < items.size(); i++) @@ -77,29 +77,29 @@ public class MountedStorage { return; } - IItemHandler teHandler = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) + IItemHandler beHandler = blockEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) .orElse(dummyHandler); - if (teHandler == dummyHandler) + if (beHandler == dummyHandler) return; // multiblock vaults need to provide individual invs - if (te instanceof ItemVaultTileEntity) { - handler = ((ItemVaultTileEntity) te).getInventoryOfBlock(); + if (blockEntity instanceof ItemVaultBlockEntity) { + handler = ((ItemVaultBlockEntity) blockEntity).getInventoryOfBlock(); valid = true; return; } - // te uses ItemStackHandler - if (teHandler instanceof ItemStackHandler) { - handler = (ItemStackHandler) teHandler; + // be uses ItemStackHandler + if (beHandler instanceof ItemStackHandler) { + handler = (ItemStackHandler) beHandler; valid = true; return; } // serialization not accessible -> fill into a serializable handler - if (teHandler instanceof IItemHandlerModifiable) { - IItemHandlerModifiable inv = (IItemHandlerModifiable) teHandler; - handler = new ItemStackHandler(teHandler.getSlots()); + if (beHandler instanceof IItemHandlerModifiable) { + IItemHandlerModifiable inv = (IItemHandlerModifiable) beHandler; + handler = new ItemStackHandler(beHandler.getSlots()); for (int slot = 0; slot < handler.getSlots(); slot++) { handler.setStackInSlot(slot, inv.getStackInSlot(slot)); inv.setStackInSlot(slot, ItemStack.EMPTY); @@ -110,28 +110,28 @@ public class MountedStorage { } - public void addStorageToWorld(BlockEntity te) { + public void addStorageToWorld(BlockEntity be) { // FIXME: More dynamic mounted storage in .4 if (handler instanceof BottomlessItemHandler) return; - if (te instanceof ChestBlockEntity) { - CompoundTag tag = te.saveWithFullMetadata(); + if (be instanceof ChestBlockEntity) { + CompoundTag tag = be.saveWithFullMetadata(); tag.remove("Items"); NonNullList items = NonNullList.withSize(handler.getSlots(), ItemStack.EMPTY); for (int i = 0; i < items.size(); i++) items.set(i, handler.getStackInSlot(i)); ContainerHelper.saveAllItems(tag, items); - te.load(tag); + be.load(tag); return; } - if (te instanceof ItemVaultTileEntity) { - ((ItemVaultTileEntity) te).applyInventoryToBlock(handler); + if (be instanceof ItemVaultBlockEntity) { + ((ItemVaultBlockEntity) be).applyInventoryToBlock(handler); return; } - LazyOptional capability = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY); + LazyOptional capability = be.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY); IItemHandler teHandler = capability.orElse(null); if (!(teHandler instanceof IItemHandlerModifiable)) return; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorageManager.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorageManager.java index 6d7566867..507ef58ee 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorageManager.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorageManager.java @@ -9,7 +9,7 @@ import java.util.Map; import java.util.stream.Collectors; import com.simibubi.create.content.contraptions.components.structureMovement.Contraption.ContraptionInvWrapper; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.utility.NBTHelper; @@ -71,14 +71,14 @@ public class MountedStorageManager { return new CombinedTankWrapper(Arrays.copyOf(list.toArray(), list.size(), IFluidHandler[].class)); } - public void addBlock(BlockPos localPos, BlockEntity te) { - if (te != null && MountedStorage.canUseAsStorage(te)) - storage.put(localPos, new MountedStorage(te)); - if (te != null && MountedFluidStorage.canUseAsStorage(te)) - fluidStorage.put(localPos, new MountedFluidStorage(te)); + public void addBlock(BlockPos localPos, BlockEntity be) { + if (be != null && MountedStorage.canUseAsStorage(be)) + storage.put(localPos, new MountedStorage(be)); + if (be != null && MountedFluidStorage.canUseAsStorage(be)) + fluidStorage.put(localPos, new MountedFluidStorage(be)); } - public void read(CompoundTag nbt, Map presentTileEntities, boolean clientPacket) { + public void read(CompoundTag nbt, Map presentBlockEntities, boolean clientPacket) { storage.clear(); NBTHelper.iterateCompoundList(nbt.getList("Storage", Tag.TAG_COMPOUND), c -> storage .put(NbtUtils.readBlockPos(c.getCompound("Pos")), MountedStorage.deserialize(c.getCompound("Data")))); @@ -87,8 +87,8 @@ public class MountedStorageManager { NBTHelper.iterateCompoundList(nbt.getList("FluidStorage", Tag.TAG_COMPOUND), c -> fluidStorage .put(NbtUtils.readBlockPos(c.getCompound("Pos")), MountedFluidStorage.deserialize(c.getCompound("Data")))); - if (clientPacket && presentTileEntities != null) - bindTanks(presentTileEntities); + if (clientPacket && presentBlockEntities != null) + bindTanks(presentBlockEntities); List handlers = new ArrayList<>(); List fuelHandlers = new ArrayList<>(); @@ -107,18 +107,18 @@ public class MountedStorageManager { .toList()); } - public void bindTanks(Map presentTileEntities) { + public void bindTanks(Map presentBlockEntities) { fluidStorage.forEach((pos, mfs) -> { - BlockEntity tileEntity = presentTileEntities.get(pos); - if (!(tileEntity instanceof FluidTankTileEntity)) + BlockEntity blockEntity = presentBlockEntities.get(pos); + if (!(blockEntity instanceof FluidTankBlockEntity)) return; - FluidTankTileEntity tank = (FluidTankTileEntity) tileEntity; + FluidTankBlockEntity tank = (FluidTankBlockEntity) blockEntity; IFluidTank tankInventory = tank.getTankInventory(); if (tankInventory instanceof FluidTank) ((FluidTank) tankInventory).setFluid(mfs.tank.getFluid()); tank.getFluidLevel() .startWithValue(tank.getFillState()); - mfs.assignTileEntity(tank); + mfs.assignBlockEntity(tank); }); } @@ -157,17 +157,17 @@ public class MountedStorageManager { .forEach(MountedFluidStorage::removeStorageFromWorld); } - public void addStorageToWorld(StructureBlockInfo block, BlockEntity tileEntity) { + public void addStorageToWorld(StructureBlockInfo block, BlockEntity blockEntity) { if (storage.containsKey(block.pos)) { MountedStorage mountedStorage = storage.get(block.pos); if (mountedStorage.isValid()) - mountedStorage.addStorageToWorld(tileEntity); + mountedStorage.addStorageToWorld(blockEntity); } if (fluidStorage.containsKey(block.pos)) { MountedFluidStorage mountedStorage = fluidStorage.get(block.pos); if (mountedStorage.isValid()) - mountedStorage.addStorageToWorld(tileEntity); + mountedStorage.addStorageToWorld(blockEntity); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MovementBehaviour.java index 4b2359f34..cba2d315e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MovementBehaviour.java @@ -76,7 +76,7 @@ public interface MovementBehaviour { default void writeExtraData(MovementContext context) {} - default boolean renderAsNormalTileEntity() { + default boolean renderAsNormalBlockEntity() { return false; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MovementContext.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MovementContext.java index e2e1bb0a6..1f483afee 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MovementContext.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MovementContext.java @@ -22,7 +22,7 @@ public class MovementContext { public Level world; public BlockState state; public BlockPos localPos; - public CompoundTag tileData; + public CompoundTag blockEntityData; public boolean stall; public boolean disabled; @@ -34,7 +34,7 @@ public class MovementContext { public MovementContext(Level world, StructureBlockInfo info, Contraption contraption) { this.world = world; this.state = info.state; - this.tileData = info.nbt; + this.blockEntityData = info.nbt; this.contraption = contraption; localPos = info.pos; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/OrientedContraptionEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/OrientedContraptionEntity.java index cb9fbaa20..7911fe0ab 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/OrientedContraptionEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/OrientedContraptionEntity.java @@ -11,7 +11,7 @@ import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllEntityTypes; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.StabilizedContraption; -import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity.CartMovementMode; +import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlockEntity.CartMovementMode; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.MountedContraption; import com.simibubi.create.content.contraptions.components.structureMovement.train.MinecartSim2020; import com.simibubi.create.content.contraptions.components.structureMovement.train.capability.CapabilityMinecartController; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/StructureTransform.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/StructureTransform.java index e03b8b994..e47c124d8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/StructureTransform.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/StructureTransform.java @@ -110,9 +110,9 @@ public class StructureTransform { return applyWithoutOffset(localPos).offset(offset); } - public void apply(BlockEntity te) { - if (te instanceof ITransformableTE) - ((ITransformableTE) te).transform(this); + public void apply(BlockEntity be) { + if (be instanceof ITransformableTE) + ((ITransformableTE) be).transform(this); } /** diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingBlock.java index 2f1c210e5..e67ed606e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingBlock.java @@ -36,9 +36,9 @@ public abstract class BearingBlock extends DirectionalKineticBlock { public InteractionResult onWrenched(BlockState state, UseOnContext context) { InteractionResult resultType = super.onWrenched(state, context); if (!context.getLevel().isClientSide && resultType.consumesAction()) { - BlockEntity te = context.getLevel().getBlockEntity(context.getClickedPos()); - if (te instanceof MechanicalBearingTileEntity) { - ((MechanicalBearingTileEntity) te).disassemble(); + BlockEntity be = context.getLevel().getBlockEntity(context.getClickedPos()); + if (be instanceof MechanicalBearingBlockEntity) { + ((MechanicalBearingBlockEntity) be).disassemble(); } } return resultType; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingContraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingContraption.java index b1a5d142a..0d470707d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingContraption.java @@ -8,7 +8,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Ass import com.simibubi.create.content.contraptions.components.structureMovement.Contraption; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionType; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter; -import com.simibubi.create.content.curiosities.frames.CopycatTileEntity; +import com.simibubi.create.content.curiosities.frames.CopycatBlockEntity; import com.simibubi.create.foundation.config.AllConfigs; import net.minecraft.core.BlockPos; @@ -69,7 +69,7 @@ public class BearingContraption extends Contraption { private BlockState getSailBlock(Pair capture) { BlockState state = capture.getKey().state; - if (AllBlocks.COPYCAT_PANEL.has(state) && capture.getRight()instanceof CopycatTileEntity cte) + if (AllBlocks.COPYCAT_PANEL.has(state) && capture.getRight()instanceof CopycatBlockEntity cte) return cte.getMaterial(); return state; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java index e4f303402..6212c3378 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java @@ -8,14 +8,14 @@ import com.mojang.math.Quaternion; import com.mojang.math.Vector3f; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.BackHalfShaftInstance; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class BearingInstance extends BackHalfShaftInstance implements DynamicInstance { +public class BearingInstance extends BackHalfShaftInstance implements DynamicInstance { final B bearing; final OrientedData topInstance; @@ -23,9 +23,9 @@ public class BearingInstance e final Vector3f rotationAxis; final Quaternion blockOrientation; - public BearingInstance(MaterialManager modelManager, B tile) { - super(modelManager, tile); - this.bearing = tile; + public BearingInstance(MaterialManager materialManager, B blockEntity) { + super(materialManager, blockEntity); + this.bearing = blockEntity; Direction facing = blockState.getValue(BlockStateProperties.FACING); rotationAxis = Direction.get(Direction.AxisDirection.POSITIVE, axis).step(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingRenderer.java index 659152cce..6fadb3b93 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingRenderer.java @@ -4,8 +4,8 @@ import com.jozufozu.flywheel.backend.Backend; import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -17,29 +17,29 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class BearingRenderer extends KineticTileEntityRenderer { +public class BearingRenderer extends KineticBlockEntityRenderer { public BearingRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); - IBearingTileEntity bearingTe = (IBearingTileEntity) te; - final Direction facing = te.getBlockState() + IBearingBlockEntity bearingBE = (IBearingBlockEntity) be; + final Direction facing = be.getBlockState() .getValue(BlockStateProperties.FACING); PartialModel top = - bearingTe.isWoodenTop() ? AllBlockPartials.BEARING_TOP_WOODEN : AllBlockPartials.BEARING_TOP; - SuperByteBuffer superBuffer = CachedBufferer.partial(top, te.getBlockState()); + bearingBE.isWoodenTop() ? AllBlockPartials.BEARING_TOP_WOODEN : AllBlockPartials.BEARING_TOP; + SuperByteBuffer superBuffer = CachedBufferer.partial(top, be.getBlockState()); - float interpolatedAngle = bearingTe.getInterpolatedAngle(partialTicks - 1); - kineticRotationTransform(superBuffer, te, facing.getAxis(), (float) (interpolatedAngle / 180 * Math.PI), light); + float interpolatedAngle = bearingBE.getInterpolatedAngle(partialTicks - 1); + kineticRotationTransform(superBuffer, be, facing.getAxis(), (float) (interpolatedAngle / 180 * Math.PI), light); if (facing.getAxis() .isHorizontal()) @@ -50,7 +50,7 @@ public class BearingRenderer extends KineticTileEntityRenderer { } @Override - protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be, BlockState state) { return CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, state, state .getValue(BearingBlock.FACING) .getOpposite()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingBlock.java index 0b59b1f71..435249155 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingBlock.java @@ -1,7 +1,7 @@ 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.AllBlockEntityTypes; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; @@ -13,7 +13,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -public class ClockworkBearingBlock extends BearingBlock implements ITE { +public class ClockworkBearingBlock extends BearingBlock implements IBE { public ClockworkBearingBlock(Properties properties) { super(properties); @@ -28,12 +28,12 @@ public class ClockworkBearingBlock extends BearingBlock implements ITE { - if (te.running) { - te.disassemble(); + withBlockEntityDo(worldIn, pos, be -> { + if (be.running) { + be.disassemble(); return; } - te.assembleNextTick = true; + be.assembleNextTick = true; }); } return InteractionResult.SUCCESS; @@ -42,21 +42,21 @@ public class ClockworkBearingBlock extends BearingBlock implements ITE getTileEntityClass() { - return ClockworkBearingTileEntity.class; + public Class getBlockEntityClass() { + return ClockworkBearingBlockEntity.class; } @Override public InteractionResult onWrenched(BlockState state, UseOnContext context) { InteractionResult resultType = super.onWrenched(state, context); if (!context.getLevel().isClientSide && resultType.consumesAction()) - withTileEntityDo(context.getLevel(), context.getClickedPos(), ClockworkBearingTileEntity::disassemble); + withBlockEntityDo(context.getLevel(), context.getClickedPos(), ClockworkBearingBlockEntity::disassemble); return resultType; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CLOCKWORK_BEARING.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CLOCKWORK_BEARING.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingBlockEntity.java similarity index 95% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingBlockEntity.java index 424020c75..284385ff3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingBlockEntity.java @@ -4,17 +4,17 @@ import java.util.List; import org.apache.commons.lang3.tuple.Pair; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException; import com.simibubi.create.content.contraptions.components.structureMovement.ControlledContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.IDisplayAssemblyExceptions; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkContraption.HandType; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.INamedIconOptions; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.gui.AllIcons; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIconOptions; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.ServerSpeedProvider; @@ -28,8 +28,8 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class ClockworkBearingTileEntity extends KineticTileEntity - implements IBearingTileEntity, IDisplayAssemblyExceptions { +public class ClockworkBearingBlockEntity extends KineticBlockEntity + implements IBearingBlockEntity, IDisplayAssemblyExceptions { protected ControlledContraptionEntity hourHand; protected ControlledContraptionEntity minuteHand; @@ -45,13 +45,13 @@ public class ClockworkBearingTileEntity extends KineticTileEntity private float prevForcedAngle; - public ClockworkBearingTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public ClockworkBearingBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setLazyTickRate(3); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); operationMode = new ScrollOptionBehaviour<>(ClockHands.class, Lang.translateDirect("contraptions.clockwork.clock_hands"), this, getMovementModeSlot()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/IBearingTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/IBearingBlockEntity.java similarity index 83% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/IBearingTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/IBearingBlockEntity.java index 8d7b04e16..4d370d008 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/IBearingTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/IBearingBlockEntity.java @@ -2,11 +2,11 @@ package com.simibubi.create.content.contraptions.components.structureMovement.be import com.simibubi.create.content.contraptions.components.structureMovement.DirectionalExtenderScrollOptionSlot; import com.simibubi.create.content.contraptions.components.structureMovement.IControlContraption; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import net.minecraft.core.Direction.Axis; -public interface IBearingTileEntity extends IControlContraption { +public interface IBearingBlockEntity extends IControlContraption { float getInterpolatedAngle(float partialTicks); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingBlock.java index 702b54bac..b269f2e25 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingBlock.java @@ -1,7 +1,7 @@ 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.AllBlockEntityTypes; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; @@ -12,7 +12,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -public class MechanicalBearingBlock extends BearingBlock implements ITE { +public class MechanicalBearingBlock extends BearingBlock implements IBE { public MechanicalBearingBlock(Properties properties) { super(properties); @@ -29,12 +29,12 @@ public class MechanicalBearingBlock extends BearingBlock implements ITE { - if (te.running) { - te.disassemble(); + withBlockEntityDo(worldIn, pos, be -> { + if (be.running) { + be.disassemble(); return; } - te.assembleNextTick = true; + be.assembleNextTick = true; }); return InteractionResult.SUCCESS; } @@ -42,13 +42,13 @@ public class MechanicalBearingBlock extends BearingBlock implements ITE getTileEntityClass() { - return MechanicalBearingTileEntity.class; + public Class getBlockEntityClass() { + return MechanicalBearingBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.MECHANICAL_BEARING.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.MECHANICAL_BEARING.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingBlockEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingBlockEntity.java index 716912d1e..7b50883ac 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingBlockEntity.java @@ -3,15 +3,15 @@ package com.simibubi.create.content.contraptions.components.structureMovement.be import java.util.List; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; +import com.simibubi.create.content.contraptions.base.GeneratingKineticBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException; import com.simibubi.create.content.contraptions.components.structureMovement.ControlledContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.IDisplayAssemblyExceptions; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.item.TooltipHelper; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.ServerSpeedProvider; @@ -25,8 +25,8 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class MechanicalBearingTileEntity extends GeneratingKineticTileEntity - implements IBearingTileEntity, IDisplayAssemblyExceptions { +public class MechanicalBearingBlockEntity extends GeneratingKineticBlockEntity + implements IBearingBlockEntity, IDisplayAssemblyExceptions { protected ScrollOptionBehaviour movementMode; protected ControlledContraptionEntity movedContraption; @@ -38,7 +38,7 @@ public class MechanicalBearingTileEntity extends GeneratingKineticTileEntity private float prevAngle; - public MechanicalBearingTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public MechanicalBearingBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setLazyTickRate(3); } @@ -49,7 +49,7 @@ public class MechanicalBearingTileEntity extends GeneratingKineticTileEntity } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); movementMode = new ScrollOptionBehaviour<>(RotationMode.class, Lang.translateDirect("contraptions.movement_mode"), this, getMovementModeSlot()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/WindmillBearingBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/WindmillBearingBlock.java index a28c89f02..10212e425 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/WindmillBearingBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/WindmillBearingBlock.java @@ -1,7 +1,7 @@ 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.AllBlockEntityTypes; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Couple; import net.minecraft.core.BlockPos; @@ -13,7 +13,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -public class WindmillBearingBlock extends BearingBlock implements ITE { +public class WindmillBearingBlock extends BearingBlock implements IBE { public WindmillBearingBlock(Properties properties) { super(properties); @@ -30,12 +30,12 @@ public class WindmillBearingBlock extends BearingBlock implements ITE { - if (te.running) { - te.disassemble(); + withBlockEntityDo(worldIn, pos, be -> { + if (be.running) { + be.disassemble(); return; } - te.assembleNextTick = true; + be.assembleNextTick = true; }); return InteractionResult.SUCCESS; } @@ -43,13 +43,13 @@ public class WindmillBearingBlock extends BearingBlock implements ITE getTileEntityClass() { - return WindmillBearingTileEntity.class; + public Class getBlockEntityClass() { + return WindmillBearingBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.WINDMILL_BEARING.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.WINDMILL_BEARING.get(); } public static Couple getSpeedRange() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/WindmillBearingTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/WindmillBearingBlockEntity.java similarity index 88% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/WindmillBearingTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/WindmillBearingBlockEntity.java index e9c5d7079..b3780c548 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/WindmillBearingTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/WindmillBearingBlockEntity.java @@ -3,11 +3,11 @@ package com.simibubi.create.content.contraptions.components.structureMovement.be import java.util.List; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.INamedIconOptions; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.gui.AllIcons; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIconOptions; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.core.BlockPos; @@ -16,14 +16,14 @@ import net.minecraft.util.Mth; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class WindmillBearingTileEntity extends MechanicalBearingTileEntity { +public class WindmillBearingBlockEntity extends MechanicalBearingBlockEntity { protected ScrollOptionBehaviour movementDirection; protected float lastGeneratedSpeed; protected boolean queuedReassembly; - public WindmillBearingTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public WindmillBearingBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @@ -97,7 +97,7 @@ public class WindmillBearingTileEntity extends MechanicalBearingTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); behaviours.remove(movementMode); movementDirection = new ScrollOptionBehaviour<>(RotationDirection.class, diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/AbstractChassisBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/AbstractChassisBlock.java index bffbbe404..e1c003b1b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/AbstractChassisBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/AbstractChassisBlock.java @@ -1,12 +1,12 @@ package com.simibubi.create.content.contraptions.components.structureMovement.chassis; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllItems; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.components.structureMovement.ITransformableBlock; import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -28,7 +28,7 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; import net.minecraftforge.common.Tags; -public abstract class AbstractChassisBlock extends RotatedPillarBlock implements IWrenchable, ITE, ITransformableBlock { +public abstract class AbstractChassisBlock extends RotatedPillarBlock implements IWrenchable, IBE, ITransformableBlock { public AbstractChassisBlock(Properties properties) { super(properties); @@ -179,13 +179,13 @@ public abstract class AbstractChassisBlock extends RotatedPillarBlock implements } @Override - public Class getTileEntityClass() { - return ChassisTileEntity.class; + public Class getBlockEntityClass() { + return ChassisBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CHASSIS.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CHASSIS.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/ChassisTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/ChassisBlockEntity.java similarity index 87% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/ChassisTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/ChassisBlockEntity.java index 2a552461c..3383f28b8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/ChassisTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/ChassisBlockEntity.java @@ -10,12 +10,12 @@ import java.util.Set; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.components.structureMovement.BlockMovementChecks; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.CenteredSideValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.BulkScrollValueBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueBehaviour; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.BulkScrollValueBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; @@ -30,19 +30,19 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.fml.DistExecutor; -public class ChassisTileEntity extends SmartTileEntity { +public class ChassisBlockEntity extends SmartBlockEntity { ScrollValueBehaviour range; - public ChassisTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public ChassisBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { int max = AllConfigs.SERVER.kinetics.maxChassisRange.get(); range = new BulkScrollValueBehaviour(Lang.translateDirect("generic.range"), this, new CenteredSideValueBoxTransform(), - te -> ((ChassisTileEntity) te).collectChassisGroup()); + be -> ((ChassisBlockEntity) be).collectChassisGroup()); range.requiresWrench(); range.between(1, max); range @@ -74,9 +74,9 @@ public class ChassisTileEntity extends SmartTileEntity { return level.getBlockState(worldPosition).getBlock() instanceof RadialChassisBlock; } - public List collectChassisGroup() { + public List collectChassisGroup() { Queue frontier = new LinkedList<>(); - List collected = new ArrayList<>(); + List collected = new ArrayList<>(); Set visited = new HashSet<>(); frontier.add(worldPosition); while (!frontier.isEmpty()) { @@ -84,9 +84,9 @@ public class ChassisTileEntity extends SmartTileEntity { if (visited.contains(current)) continue; visited.add(current); - BlockEntity tileEntity = level.getBlockEntity(current); - if (tileEntity instanceof ChassisTileEntity) { - ChassisTileEntity chassis = (ChassisTileEntity) tileEntity; + BlockEntity blockEntity = level.getBlockEntity(current); + if (blockEntity instanceof ChassisBlockEntity) { + ChassisBlockEntity chassis = (ChassisBlockEntity) blockEntity; collected.add(chassis); visited.add(current); chassis.addAttachedChasses(frontier, visited); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/ChassisRangeDisplay.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/ChassisRangeDisplay.java index 26a1ca324..93a6fd9ce 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/ChassisRangeDisplay.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/ChassisRangeDisplay.java @@ -29,13 +29,13 @@ public class ChassisRangeDisplay { private static GroupEntry lastHoveredGroup = null; private static class Entry { - ChassisTileEntity te; + ChassisBlockEntity be; int timer; - public Entry(ChassisTileEntity te) { - this.te = te; + public Entry(ChassisBlockEntity be) { + this.be = be; timer = DISPLAY_TIME; - CreateClient.OUTLINER.showCluster(getOutlineKey(), createSelection(te)) + CreateClient.OUTLINER.showCluster(getOutlineKey(), createSelection(be)) .colored(0xFFFFFF) .disableNormals() .lineWidth(1 / 16f) @@ -43,10 +43,10 @@ public class ChassisRangeDisplay { } protected Object getOutlineKey() { - return Pair.of(te.getBlockPos(), 1); + return Pair.of(be.getBlockPos(), 1); } - protected Set createSelection(ChassisTileEntity chassis) { + protected Set createSelection(ChassisBlockEntity chassis) { Set positions = new HashSet<>(); List includedBlockPositions = chassis.getIncludedBlockPositions(null, true); if (includedBlockPositions == null) @@ -59,10 +59,10 @@ public class ChassisRangeDisplay { private static class GroupEntry extends Entry { - List includedTEs; + List includedBEs; - public GroupEntry(ChassisTileEntity te) { - super(te); + public GroupEntry(ChassisBlockEntity be) { + super(be); } @Override @@ -71,13 +71,13 @@ public class ChassisRangeDisplay { } @Override - protected Set createSelection(ChassisTileEntity chassis) { + protected Set createSelection(ChassisBlockEntity chassis) { Set list = new HashSet<>(); - includedTEs = te.collectChassisGroup(); - if (includedTEs == null) + includedBEs = be.collectChassisGroup(); + if (includedBEs == null) return list; - for (ChassisTileEntity chassisTileEntity : includedTEs) - list.addAll(super.createSelection(chassisTileEntity)); + for (ChassisBlockEntity chassisBlockEntity : includedBEs) + list.addAll(super.createSelection(chassisBlockEntity)); return list; } @@ -118,19 +118,19 @@ public class ChassisRangeDisplay { return; BlockHitResult ray = (BlockHitResult) over; BlockPos pos = ray.getBlockPos(); - BlockEntity tileEntity = world.getBlockEntity(pos); - if (tileEntity == null || tileEntity.isRemoved()) + BlockEntity blockEntity = world.getBlockEntity(pos); + if (blockEntity == null || blockEntity.isRemoved()) return; - if (!(tileEntity instanceof ChassisTileEntity)) + if (!(blockEntity instanceof ChassisBlockEntity)) return; boolean ctrl = AllKeys.ctrlDown(); - ChassisTileEntity chassisTileEntity = (ChassisTileEntity) tileEntity; + ChassisBlockEntity chassisBlockEntity = (ChassisBlockEntity) blockEntity; if (ctrl) { GroupEntry existingGroupForPos = getExistingGroupForPos(pos); if (existingGroupForPos != null) { - for (ChassisTileEntity included : existingGroupForPos.includedTEs) + for (ChassisBlockEntity included : existingGroupForPos.includedBEs) entries.remove(included.getBlockPos()); existingGroupForPos.timer = DISPLAY_TIME; return; @@ -138,7 +138,7 @@ public class ChassisRangeDisplay { } if (!entries.containsKey(pos) || ctrl) - display(chassisTileEntity); + display(chassisBlockEntity); else { if (!ctrl) entries.get(pos).timer = DISPLAY_TIME; @@ -146,12 +146,12 @@ public class ChassisRangeDisplay { } private static boolean tickEntry(Entry entry, boolean hasWrench) { - ChassisTileEntity chassisTileEntity = entry.te; - Level teWorld = chassisTileEntity.getLevel(); + ChassisBlockEntity chassisBlockEntity = entry.be; + Level beWorld = chassisBlockEntity.getLevel(); Level world = Minecraft.getInstance().level; - if (chassisTileEntity.isRemoved() || teWorld == null || teWorld != world - || !world.isLoaded(chassisTileEntity.getBlockPos())) { + if (chassisBlockEntity.isRemoved() || beWorld == null || beWorld != world + || !world.isLoaded(chassisBlockEntity.getBlockPos())) { return true; } @@ -166,13 +166,13 @@ public class ChassisRangeDisplay { return false; } - public static void display(ChassisTileEntity chassis) { + public static void display(ChassisBlockEntity chassis) { // Display a group and kill any selections of its contained chassis blocks if (AllKeys.ctrlDown()) { GroupEntry hoveredGroup = new GroupEntry(chassis); - for (ChassisTileEntity included : hoveredGroup.includedTEs) + for (ChassisBlockEntity included : hoveredGroup.includedBEs) CreateClient.OUTLINER.remove(included.getBlockPos()); groupEntries.forEach(entry -> CreateClient.OUTLINER.remove(entry.getOutlineKey())); @@ -196,7 +196,7 @@ public class ChassisRangeDisplay { private static GroupEntry getExistingGroupForPos(BlockPos pos) { for (GroupEntry groupEntry : groupEntries) - for (ChassisTileEntity chassis : groupEntry.includedTEs) + for (ChassisBlockEntity chassis : groupEntry.includedBEs) if (pos.equals(chassis.getBlockPos())) return groupEntry; return null; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerBlock.java index 2d7d0244b..32814f7dd 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerBlock.java @@ -1,8 +1,8 @@ package com.simibubi.create.content.contraptions.components.structureMovement.chassis; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.WrenchableDirectionalBlock; import net.minecraft.core.BlockPos; @@ -26,7 +26,7 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.phys.Vec3; -public class StickerBlock extends WrenchableDirectionalBlock implements ITE { +public class StickerBlock extends WrenchableDirectionalBlock implements IBE { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; public static final BooleanProperty EXTENDED = BlockStateProperties.EXTENDED; @@ -75,13 +75,13 @@ public class StickerBlock extends WrenchableDirectionalBlock implements ITE getTileEntityClass() { - return StickerTileEntity.class; + public Class getBlockEntityClass() { + return StickerBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.STICKER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.STICKER.get(); } // Slime block stuff diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerBlockEntity.java similarity index 89% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerBlockEntity.java index 71724bf40..8b62f7884 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerBlockEntity.java @@ -7,8 +7,8 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueItem; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; @@ -22,19 +22,19 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; -public class StickerTileEntity extends SmartTileEntity { +public class StickerBlockEntity extends SmartBlockEntity { LerpedFloat piston; boolean update; - public StickerTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public StickerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); piston = LerpedFloat.linear(); update = false; } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override public void initialize() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerInstance.java index e94e2b5ce..58f258a60 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerInstance.java @@ -12,7 +12,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.core.Direction; import net.minecraft.util.Mth; -public class StickerInstance extends BlockEntityInstance implements DynamicInstance { +public class StickerInstance extends BlockEntityInstance implements DynamicInstance { float lastOffset = Float.NaN; final Direction facing; @@ -21,12 +21,12 @@ public class StickerInstance extends BlockEntityInstance impl private final ModelData head; - public StickerInstance(MaterialManager modelManager, StickerTileEntity tile) { - super(modelManager, tile); + public StickerInstance(MaterialManager materialManager, StickerBlockEntity blockEntity) { + super(materialManager, blockEntity); head = getTransformMaterial().getModel(AllBlockPartials.STICKER_HEAD, blockState).createInstance(); - fakeWorld = tile.getLevel() != Minecraft.getInstance().level; + fakeWorld = blockEntity.getLevel() != Minecraft.getInstance().level; facing = blockState.getValue(StickerBlock.FACING); offset = blockState.getValue(StickerBlock.EXTENDED) ? 1 : 0; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerRenderer.java index cfb6a1d0e..5f15b1f43 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerRenderer.java @@ -3,9 +3,9 @@ package com.simibubi.create.content.contraptions.components.structureMovement.ch import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -16,26 +16,26 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; -public class StickerRenderer extends SafeTileEntityRenderer { +public class StickerRenderer extends SafeBlockEntityRenderer { public StickerRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(StickerTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(StickerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - BlockState state = te.getBlockState(); + BlockState state = be.getBlockState(); SuperByteBuffer head = CachedBufferer.partial(AllBlockPartials.STICKER_HEAD, state); - float offset = te.piston.getValue(AnimationTickHolder.getPartialTicks(te.getLevel())); + float offset = be.piston.getValue(AnimationTickHolder.getPartialTicks(be.getLevel())); - if (te.getLevel() != Minecraft.getInstance().level && !te.isVirtual()) + if (be.getLevel() != Minecraft.getInstance().level && !be.isVirtual()) offset = state.getValue(StickerBlock.EXTENDED) ? 1 : 0; Direction facing = state.getValue(StickerBlock.FACING); - head.nudge(te.hashCode()) + head.nudge(be.hashCode()) .centre() .rotateY(AngleHelper.horizontalAngle(facing)) .rotateX(AngleHelper.verticalAngle(facing) + 90) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorColumn.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorColumn.java index a13c1c423..8c383dfdf 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorColumn.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorColumn.java @@ -54,7 +54,7 @@ public class ElevatorColumn { public void markDirty() { for (BlockPos pos : getContacts()) { BlockEntity blockEntity = level.getBlockEntity(pos); - if (blockEntity instanceof ElevatorContactTileEntity ecte) + if (blockEntity instanceof ElevatorContactBlockEntity ecte) ecte.setChanged(); } } @@ -62,7 +62,7 @@ public class ElevatorColumn { public void floorReached(LevelAccessor level, String name) { getContacts().stream() .forEach(p -> { - if (level.getBlockEntity(p)instanceof ElevatorContactTileEntity ecte) + if (level.getBlockEntity(p)instanceof ElevatorContactBlockEntity ecte) ecte.updateDisplayedFloor(name); }); } @@ -72,7 +72,7 @@ public class ElevatorColumn { public List>> compileNamesList() { return getContacts().stream() .map(p -> { - if (level.getBlockEntity(p)instanceof ElevatorContactTileEntity ecte) + if (level.getBlockEntity(p)instanceof ElevatorContactBlockEntity ecte) return IntAttached.with(p.getY(), ecte.getNames()); return null; }) @@ -126,7 +126,7 @@ public class ElevatorColumn { Integer y = contacts.get(i); BlockPos pos = contactAt(y); - if (!(level.getBlockEntity(pos)instanceof ElevatorContactTileEntity ecte)) + if (!(level.getBlockEntity(pos)instanceof ElevatorContactBlockEntity ecte)) continue; Integer currentLevel = null; @@ -146,7 +146,7 @@ public class ElevatorColumn { for (int peekI = i + 1; peekI < contacts.size(); peekI++) { BlockPos peekPos = contactAt(contacts.get(peekI)); - if (!(level.getBlockEntity(peekPos)instanceof ElevatorContactTileEntity peekEcte)) + if (!(level.getBlockEntity(peekPos)instanceof ElevatorContactBlockEntity peekEcte)) continue; Integer tryValueOf = tryValueOf(peekEcte.shortName); if (tryValueOf == null) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactBlock.java index 702238fda..931f09a15 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactBlock.java @@ -5,15 +5,15 @@ import java.util.Random; import javax.annotation.Nullable; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.components.structureMovement.elevator.ElevatorColumn.ColumnCoords; import com.simibubi.create.content.logistics.block.diodes.BrassDiodeBlock; import com.simibubi.create.content.logistics.block.redstone.RedstoneContactBlock; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.WrenchableDirectionalBlock; import com.simibubi.create.foundation.gui.ScreenOpener; @@ -44,7 +44,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; public class ElevatorContactBlock extends WrenchableDirectionalBlock - implements ITE, ISpecialBlockItemRequirement { + implements IBE, ISpecialBlockItemRequirement { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; public static final BooleanProperty CALLING = BooleanProperty.create("calling"); @@ -121,11 +121,11 @@ public class ElevatorContactBlock extends WrenchableDirectionalBlock public void tick(BlockState pState, ServerLevel pLevel, BlockPos pPos, Random pRand) { boolean wasPowering = pState.getValue(POWERING); - Optional optionalTE = getTileEntityOptional(pLevel, pPos); - boolean shouldBePowering = optionalTE.map(te -> { - boolean activateBlock = te.activateBlock; - te.activateBlock = false; - te.setChanged(); + Optional optionalBE = getBlockEntityOptional(pLevel, pPos); + boolean shouldBePowering = optionalBE.map(be -> { + boolean activateBlock = be.activateBlock; + be.activateBlock = false; + be.setChanged(); return activateBlock; }) .orElse(false); @@ -182,21 +182,21 @@ public class ElevatorContactBlock extends WrenchableDirectionalBlock } @Override - public Class getTileEntityClass() { - return ElevatorContactTileEntity.class; + public Class getBlockEntityClass() { + return ElevatorContactBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ELEVATOR_CONTACT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ELEVATOR_CONTACT.get(); } @Override public void fillItemCategory(CreativeModeTab pTab, NonNullList pItems) {} @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { - return ItemRequirement.of(AllBlocks.REDSTONE_CONTACT.getDefaultState(), te); + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { + return ItemRequirement.of(AllBlocks.REDSTONE_CONTACT.getDefaultState(), be); } @Override @@ -205,14 +205,14 @@ public class ElevatorContactBlock extends WrenchableDirectionalBlock if (player != null && AllItems.WRENCH.isIn(player.getItemInHand(handIn))) return InteractionResult.PASS; DistExecutor.unsafeRunWhenOn(Dist.CLIENT, - () -> () -> withTileEntityDo(worldIn, pos, te -> this.displayScreen(te, player))); + () -> () -> withBlockEntityDo(worldIn, pos, be -> this.displayScreen(be, player))); return InteractionResult.SUCCESS; } @OnlyIn(value = Dist.CLIENT) - protected void displayScreen(ElevatorContactTileEntity te, Player player) { + protected void displayScreen(ElevatorContactBlockEntity be, Player player) { if (player instanceof LocalPlayer) - ScreenOpener.open(new ElevatorContactScreen(te.getBlockPos(), te.shortName, te.longName)); + ScreenOpener.open(new ElevatorContactScreen(be.getBlockPos(), be.shortName, be.longName)); } public static int getLight(BlockState state) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactBlockEntity.java similarity index 91% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactBlockEntity.java index b2adae05c..93d992fc8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactBlockEntity.java @@ -4,8 +4,8 @@ import java.util.List; import com.simibubi.create.content.contraptions.components.structureMovement.elevator.ElevatorColumn.ColumnCoords; import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.NBTHelper; @@ -14,7 +14,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class ElevatorContactTileEntity extends SmartTileEntity { +public class ElevatorContactBlockEntity extends SmartBlockEntity { public ColumnCoords columnCoords; public boolean activateBlock; @@ -27,7 +27,7 @@ public class ElevatorContactTileEntity extends SmartTileEntity { private int yTargetFromNBT = Integer.MIN_VALUE; private boolean deferNameGenerator; - public ElevatorContactTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public ElevatorContactBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); shortName = ""; longName = ""; @@ -35,7 +35,7 @@ public class ElevatorContactTileEntity extends SmartTileEntity { } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override protected void write(CompoundTag tag, boolean clientPacket) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactEditPacket.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactEditPacket.java index 7fd24f490..8407c5ba3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactEditPacket.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorContactEditPacket.java @@ -1,11 +1,11 @@ package com.simibubi.create.content.contraptions.components.structureMovement.elevator; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; -public class ElevatorContactEditPacket extends TileEntityConfigurationPacket { +public class ElevatorContactEditPacket extends BlockEntityConfigurationPacket { private String shortName; private String longName; @@ -33,8 +33,8 @@ public class ElevatorContactEditPacket extends TileEntityConfigurationPacket { +public class ElevatorPulleyBlock extends HorizontalKineticBlock implements IBE { public ElevatorPulleyBlock(Properties properties) { super(properties); @@ -38,15 +38,15 @@ public class ElevatorPulleyBlock extends HorizontalKineticBlock implements ITE { - te.clicked(); + return onBlockEntityUse(worldIn, pos, be -> { + be.clicked(); return InteractionResult.SUCCESS; }); } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ELEVATOR_PULLEY.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ELEVATOR_PULLEY.get(); } @Override @@ -67,8 +67,8 @@ public class ElevatorPulleyBlock extends HorizontalKineticBlock implements ITE getTileEntityClass() { - return ElevatorPulleyTileEntity.class; + public Class getBlockEntityClass() { + return ElevatorPulleyBlockEntity.class; } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyBlockEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyBlockEntity.java index 1d15767c1..7ca64fbaf 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyBlockEntity.java @@ -7,11 +7,11 @@ import com.simibubi.create.AllSoundEvents; import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException; import com.simibubi.create.content.contraptions.components.structureMovement.ControlledContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.elevator.ElevatorColumn.ColumnCoords; -import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlockEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -20,14 +20,14 @@ import net.minecraft.util.Mth; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class ElevatorPulleyTileEntity extends PulleyTileEntity { +public class ElevatorPulleyBlockEntity extends PulleyBlockEntity { private float prevSpeed; private boolean arrived; private int clientOffsetTarget; private boolean initialOffsetReceived; - public ElevatorPulleyTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public ElevatorPulleyBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); prevSpeed = 0; arrived = true; @@ -127,7 +127,7 @@ public class ElevatorPulleyTileEntity extends PulleyTileEntity { return; ElevatorContactBlock ecb = AllBlocks.ELEVATOR_CONTACT.get(); - ecb.withTileEntityDo(level, contactPos, te -> te.activateBlock = true); + ecb.withBlockEntityDo(level, contactPos, be -> be.activateBlock = true); ecb.scheduleActivation(level, contactPos); } @@ -201,7 +201,7 @@ public class ElevatorPulleyTileEntity extends PulleyTileEntity { } public void clicked() { - if (isPassive() && level.getBlockEntity(mirrorParent)instanceof ElevatorPulleyTileEntity parent) { + if (isPassive() && level.getBlockEntity(mirrorParent)instanceof ElevatorPulleyBlockEntity parent) { parent.clicked(); return; } @@ -221,7 +221,7 @@ public class ElevatorPulleyTileEntity extends PulleyTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { registerAwardables(behaviours, AllAdvancements.CONTRAPTION_ACTORS); } @@ -284,7 +284,7 @@ public class ElevatorPulleyTileEntity extends PulleyTileEntity { continue; pos = pos.offset(anchor); if (level.getBlockEntity(new BlockPos(pos.getX(), worldPosition.getY(), - pos.getZ()))instanceof ElevatorPulleyTileEntity pte) + pos.getZ()))instanceof ElevatorPulleyBlockEntity pte) pte.startMirroringOther(worldPosition); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyInstance.java index 3eb8693c6..6ac654ea8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyInstance.java @@ -3,14 +3,14 @@ package com.simibubi.create.content.contraptions.components.structureMovement.el import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.api.instance.DynamicInstance; import com.jozufozu.flywheel.light.TickingLightListener; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance; // TODO public class ElevatorPulleyInstance extends ShaftInstance implements DynamicInstance, TickingLightListener { - public ElevatorPulleyInstance(MaterialManager dispatcher, KineticTileEntity tile) { - super(dispatcher, tile); + public ElevatorPulleyInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyRenderer.java index b0e18abd2..43fe9e1c9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/elevator/ElevatorPulleyRenderer.java @@ -4,11 +4,11 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllSpriteShifts; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.content.contraptions.components.structureMovement.pulley.AbstractPulleyRenderer; +import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyRenderer; -import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity; import com.simibubi.create.foundation.block.render.SpriteShiftEntry; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; @@ -21,41 +21,41 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -public class ElevatorPulleyRenderer extends KineticTileEntityRenderer { +public class ElevatorPulleyRenderer extends KineticBlockEntityRenderer { public ElevatorPulleyRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { -// if (Backend.canUseInstancing(te.getLevel())) +// if (Backend.canUseInstancing(be.getLevel())) // return; - // from KTE. replace with super call when flw instance is implemented - BlockState state = getRenderedBlockState(te); - RenderType type = getRenderType(te, state); + // from KBE. replace with super call when flw instance is implemented + BlockState state = getRenderedBlockState(be); + RenderType type = getRenderType(be, state); if (type != null) - renderRotatingBuffer(te, getRotatedModel(te, state), ms, buffer.getBuffer(type), light); + renderRotatingBuffer(be, getRotatedModel(be, state), ms, buffer.getBuffer(type), light); // - float offset = PulleyRenderer.getTileOffset(partialTicks, (PulleyTileEntity) te); - boolean running = PulleyRenderer.isPulleyRunning(te); + float offset = PulleyRenderer.getBlockEntityOffset(partialTicks, (PulleyBlockEntity) be); + boolean running = PulleyRenderer.isPulleyRunning(be); SpriteShiftEntry beltShift = AllSpriteShifts.ELEVATOR_BELT; SpriteShiftEntry coilShift = AllSpriteShifts.ELEVATOR_COIL; VertexConsumer vb = buffer.getBuffer(RenderType.solid()); - Level world = te.getLevel(); - BlockState blockState = te.getBlockState(); - BlockPos pos = te.getBlockPos(); + Level world = be.getLevel(); + BlockState blockState = be.getBlockState(); + BlockPos pos = be.getBlockPos(); SuperByteBuffer magnet = CachedBufferer.partial(AllBlockPartials.ELEVATOR_MAGNET, blockState); if (running || offset == 0) AbstractPulleyRenderer.renderAt(world, magnet, offset, pos, ms, vb); - SuperByteBuffer rotatedCoil = getRotatedCoil(te); + SuperByteBuffer rotatedCoil = getRotatedCoil(be); if (offset == 0) { rotatedCoil.light(light) .renderInto(ms, vb); @@ -100,12 +100,12 @@ public class ElevatorPulleyRenderer extends KineticTileEntityRenderer { } @Override - protected BlockState getRenderedBlockState(KineticTileEntity te) { - return shaft(getRotationAxisOf(te)); + protected BlockState getRenderedBlockState(KineticBlockEntity be) { + return shaft(getRotationAxisOf(be)); } - protected SuperByteBuffer getRotatedCoil(KineticTileEntity te) { - BlockState blockState = te.getBlockState(); + protected SuperByteBuffer getRotatedCoil(KineticBlockEntity be) { + BlockState blockState = be.getBlockState(); return CachedBufferer.partialFacing(AllBlockPartials.ELEVATOR_COIL, blockState, blockState.getValue(ElevatorPulleyBlock.HORIZONTAL_FACING)); } @@ -116,7 +116,7 @@ public class ElevatorPulleyRenderer extends KineticTileEntityRenderer { } @Override - public boolean shouldRenderOffScreen(KineticTileEntity p_188185_1_) { + public boolean shouldRenderOffScreen(KineticBlockEntity p_188185_1_) { return true; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlock.java index 71ae146fc..30c450bc3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlock.java @@ -1,11 +1,11 @@ package com.simibubi.create.content.contraptions.components.structureMovement.gantry; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.IRotate; import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -23,7 +23,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -public class GantryCarriageBlock extends DirectionalAxisKineticBlock implements ITE { +public class GantryCarriageBlock extends DirectionalAxisKineticBlock implements IBE { public GantryCarriageBlock(Properties properties) { super(properties); @@ -40,7 +40,7 @@ public class GantryCarriageBlock extends DirectionalAxisKineticBlock implements @Override public void updateIndirectNeighbourShapes(BlockState stateIn, LevelAccessor worldIn, BlockPos pos, int flags, int count) { super.updateIndirectNeighbourShapes(stateIn, worldIn, pos, flags, count); - withTileEntityDo(worldIn, pos, GantryCarriageTileEntity::checkValidGantryShaft); + withBlockEntityDo(worldIn, pos, GantryCarriageBlockEntity::checkValidGantryShaft); } @Override @@ -59,7 +59,7 @@ public class GantryCarriageBlock extends DirectionalAxisKineticBlock implements return InteractionResult.PASS; if (player.getItemInHand(handIn) .isEmpty()) { - withTileEntityDo(worldIn, pos, te -> te.checkValidGantryShaft()); + withBlockEntityDo(worldIn, pos, be -> be.checkValidGantryShaft()); return InteractionResult.SUCCESS; } return InteractionResult.PASS; @@ -130,13 +130,13 @@ public class GantryCarriageBlock extends DirectionalAxisKineticBlock implements } @Override - public Class getTileEntityClass() { - return GantryCarriageTileEntity.class; + public Class getBlockEntityClass() { + return GantryCarriageBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.GANTRY_PINION.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.GANTRY_PINION.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlockEntity.java similarity index 85% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlockEntity.java index 79e7c7c72..b625c6134 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlockEntity.java @@ -4,14 +4,14 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionCollider; import com.simibubi.create.content.contraptions.components.structureMovement.IDisplayAssemblyExceptions; import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock; -import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftTileEntity; +import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlockEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -21,17 +21,17 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class GantryCarriageTileEntity extends KineticTileEntity implements IDisplayAssemblyExceptions { +public class GantryCarriageBlockEntity extends KineticBlockEntity implements IDisplayAssemblyExceptions { boolean assembleNextTick; protected AssemblyException lastException; - public GantryCarriageTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public GantryCarriageBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.CONTRAPTION_ACTORS); } @@ -83,14 +83,14 @@ public class GantryCarriageTileEntity extends KineticTileEntity implements IDisp Direction direction = blockState.getValue(GantryCarriageBlock.FACING); GantryContraption contraption = new GantryContraption(direction); - BlockEntity shaftTe = level.getBlockEntity(worldPosition.relative(direction.getOpposite())); - if (!(shaftTe instanceof GantryShaftTileEntity)) + BlockEntity shaftBE = level.getBlockEntity(worldPosition.relative(direction.getOpposite())); + if (!(shaftBE instanceof GantryShaftBlockEntity)) return; - BlockState shaftState = shaftTe.getBlockState(); + BlockState shaftState = shaftBE.getBlockState(); if (!AllBlocks.GANTRY_SHAFT.has(shaftState)) return; - float pinionMovementSpeed = ((GantryShaftTileEntity) shaftTe).getPinionMovementSpeed(); + float pinionMovementSpeed = ((GantryShaftBlockEntity) shaftBE).getPinionMovementSpeed(); Direction shaftOrientation = shaftState.getValue(GantryShaftBlock.FACING); Direction movementDirection = shaftOrientation; if (pinionMovementSpeed < 0) @@ -136,7 +136,7 @@ public class GantryCarriageTileEntity extends KineticTileEntity implements IDisp } @Override - public float propagateRotationTo(KineticTileEntity target, BlockState stateFrom, BlockState stateTo, BlockPos diff, + public float propagateRotationTo(KineticBlockEntity target, BlockState stateFrom, BlockState stateTo, BlockPos diff, boolean connectedViaAxes, boolean connectedViaCogs) { float defaultModifier = super.propagateRotationTo(target, stateFrom, stateTo, diff, connectedViaAxes, connectedViaCogs); @@ -181,7 +181,7 @@ public class GantryCarriageTileEntity extends KineticTileEntity implements IDisp return false; if (shaftState.getValue(GantryShaftBlock.POWERED)) return false; - BlockEntity te = level.getBlockEntity(worldPosition.relative(facing)); - return te instanceof GantryShaftTileEntity && ((GantryShaftTileEntity) te).canAssembleOn(); + BlockEntity be = level.getBlockEntity(worldPosition.relative(facing)); + return be instanceof GantryShaftBlockEntity && ((GantryShaftBlockEntity) be).canAssembleOn(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageInstance.java index f84270b53..4742c74cb 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageInstance.java @@ -4,8 +4,8 @@ import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.api.instance.DynamicInstance; import com.jozufozu.flywheel.core.materials.model.ModelData; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Iterate; @@ -26,8 +26,8 @@ public class GantryCarriageInstance extends ShaftInstance implements DynamicInst private float lastAngle = Float.NaN; - public GantryCarriageInstance(MaterialManager dispatcher, KineticTileEntity tile) { - super(dispatcher, tile); + public GantryCarriageInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); gantryCogs = getTransformMaterial() .getModel(AllBlockPartials.GANTRY_COGS, blockState) @@ -35,12 +35,12 @@ public class GantryCarriageInstance extends ShaftInstance implements DynamicInst facing = blockState.getValue(GantryCarriageBlock.FACING); alongFirst = blockState.getValue(GantryCarriageBlock.AXIS_ALONG_FIRST_COORDINATE); - rotationAxis = KineticTileEntityRenderer.getRotationAxisOf(tile); + rotationAxis = KineticBlockEntityRenderer.getRotationAxisOf(blockEntity); rotationMult = getRotationMultiplier(getGantryAxis(), facing); - visualPos = facing.getAxisDirection() == Direction.AxisDirection.POSITIVE ? tile.getBlockPos() - : tile.getBlockPos() + visualPos = facing.getAxisDirection() == Direction.AxisDirection.POSITIVE ? blockEntity.getBlockPos() + : blockEntity.getBlockPos() .relative(facing.getOpposite()); animateCogs(getCogAngle()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageRenderer.java index 6e3e6fd44..ab01a4989 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageRenderer.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.contraptions.components.structureMovement.ga import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -20,27 +20,27 @@ import net.minecraft.core.Direction.Axis; import net.minecraft.core.Direction.AxisDirection; import net.minecraft.world.level.block.state.BlockState; -public class GantryCarriageRenderer extends KineticTileEntityRenderer { +public class GantryCarriageRenderer extends KineticBlockEntityRenderer { public GantryCarriageRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - BlockState state = te.getBlockState(); + BlockState state = be.getBlockState(); Direction facing = state.getValue(GantryCarriageBlock.FACING); Boolean alongFirst = state.getValue(GantryCarriageBlock.AXIS_ALONG_FIRST_COORDINATE); - Axis rotationAxis = getRotationAxisOf(te); - BlockPos visualPos = facing.getAxisDirection() == AxisDirection.POSITIVE ? te.getBlockPos() - : te.getBlockPos() + Axis rotationAxis = getRotationAxisOf(be); + BlockPos visualPos = facing.getAxisDirection() == AxisDirection.POSITIVE ? be.getBlockPos() + : be.getBlockPos() .relative(facing.getOpposite()); - float angleForTe = getAngleForTe(te, visualPos, rotationAxis); + float angleForBE = getAngleForTe(be, visualPos, rotationAxis); Axis gantryAxis = Axis.X; for (Axis axis : Iterate.axes) @@ -49,10 +49,10 @@ public class GantryCarriageRenderer extends KineticTileEntityRenderer { if (gantryAxis == Axis.X) if (facing == Direction.UP) - angleForTe *= -1; + angleForBE *= -1; if (gantryAxis == Axis.Y) if (facing == Direction.NORTH || facing == Direction.EAST) - angleForTe *= -1; + angleForBE *= -1; SuperByteBuffer cogs = CachedBufferer.partial(AllBlockPartials.GANTRY_COGS, state); cogs.centre() @@ -60,7 +60,7 @@ public class GantryCarriageRenderer extends KineticTileEntityRenderer { .rotateX(facing == Direction.UP ? 0 : facing == Direction.DOWN ? 180 : 90) .rotateY(alongFirst ^ facing.getAxis() == Axis.X ? 0 : 90) .translate(0, -9 / 16f, 0) - .rotateX(-angleForTe) + .rotateX(-angleForBE) .translate(0, 9 / 16f, 0) .unCentre(); @@ -69,15 +69,15 @@ public class GantryCarriageRenderer extends KineticTileEntityRenderer { } - public static float getAngleForTe(KineticTileEntity te, final BlockPos pos, Axis axis) { - float time = AnimationTickHolder.getRenderTime(te.getLevel()); - float offset = getRotationOffsetForPosition(te, pos, axis); - return (time * te.getSpeed() * 3f / 20 + offset) % 360; + public static float getAngleForTe(KineticBlockEntity be, final BlockPos pos, Axis axis) { + float time = AnimationTickHolder.getRenderTime(be.getLevel()); + float offset = getRotationOffsetForPosition(be, pos, axis); + return (time * be.getSpeed() * 3f / 20 + offset) % 360; } @Override - protected BlockState getRenderedBlockState(KineticTileEntity te) { - return shaft(getRotationAxisOf(te)); + protected BlockState getRenderedBlockState(KineticBlockEntity be) { + return shaft(getRotationAxisOf(be)); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryContraptionEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryContraptionEntity.java index d20f50ef2..9f46f0291 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryContraptionEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryContraptionEntity.java @@ -8,7 +8,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Con import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionCollider; import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock; -import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftTileEntity; +import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlockEntity; import com.simibubi.create.foundation.networking.AllPackets; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.ServerSpeedProvider; @@ -81,8 +81,8 @@ public class GantryContraptionEntity extends AbstractContraptionEntity { Vec3 currentPosition = getAnchorVec().add(.5, .5, .5); BlockPos gantryShaftPos = new BlockPos(currentPosition).relative(facing.getOpposite()); - BlockEntity te = level.getBlockEntity(gantryShaftPos); - if (!(te instanceof GantryShaftTileEntity) || !AllBlocks.GANTRY_SHAFT.has(te.getBlockState())) { + BlockEntity be = level.getBlockEntity(gantryShaftPos); + if (!(be instanceof GantryShaftBlockEntity) || !AllBlocks.GANTRY_SHAFT.has(be.getBlockState())) { if (!level.isClientSide) { setContraptionMotion(Vec3.ZERO); disassemble(); @@ -90,11 +90,11 @@ public class GantryContraptionEntity extends AbstractContraptionEntity { return; } - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); Direction direction = blockState.getValue(GantryShaftBlock.FACING); - GantryShaftTileEntity gantryShaftTileEntity = (GantryShaftTileEntity) te; + GantryShaftBlockEntity gantryShaftBlockEntity = (GantryShaftBlockEntity) be; - float pinionMovementSpeed = gantryShaftTileEntity.getPinionMovementSpeed(); + float pinionMovementSpeed = gantryShaftBlockEntity.getPinionMovementSpeed(); movementVec = Vec3.atLowerCornerOf(direction.getNormal()).scale(pinionMovementSpeed); if (blockState.getValue(GantryShaftBlock.POWERED) || pinionMovementSpeed == 0) { @@ -112,7 +112,7 @@ public class GantryContraptionEntity extends AbstractContraptionEntity { if ((Mth.floor(currentCoord) + .5f < nextCoord != (pinionMovementSpeed * direction.getAxisDirection() .getStep() < 0))) - if (!gantryShaftTileEntity.canAssembleOn()) { + if (!gantryShaftBlockEntity.canAssembleOn()) { setContraptionMotion(Vec3.ZERO); if (!level.isClientSide) disassemble(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlock.java index 4efb61f65..7139316e9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlock.java @@ -6,15 +6,15 @@ import java.util.List; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.components.tracks.ControllerRailBlock; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -60,7 +60,7 @@ import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; public class CartAssemblerBlock extends BaseRailBlock - implements ITE, IWrenchable, ISpecialBlockItemRequirement { + implements IBE, IWrenchable, ISpecialBlockItemRequirement { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; public static final BooleanProperty BACKWARDS = BooleanProperty.create("backwards"); @@ -120,7 +120,7 @@ public class CartAssemblerBlock extends BaseRailBlock if (world.isClientSide) return; - withTileEntityDo(world, pos, te -> te.assembleNextTick(cart)); + withBlockEntityDo(world, pos, be -> be.assembleNextTick(cart)); } public enum CartAssemblerAction { @@ -239,13 +239,13 @@ public class CartAssemblerBlock extends BaseRailBlock } @Override - public Class getTileEntityClass() { - return CartAssemblerTileEntity.class; + public Class getBlockEntityClass() { + return CartAssemblerBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CART_ASSEMBLER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CART_ASSEMBLER.get(); } @Override @@ -254,7 +254,7 @@ public class CartAssemblerBlock extends BaseRailBlock } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { ArrayList requiredItems = new ArrayList<>(); requiredItems.add(new ItemStack(getRailItem(state))); requiredItems.add(new ItemStack(asItem())); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlockEntity.java similarity index 93% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlockEntity.java index 0ae9a855a..53378b5e3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlockEntity.java @@ -12,13 +12,13 @@ import com.simibubi.create.content.contraptions.components.structureMovement.tra import com.simibubi.create.content.contraptions.components.structureMovement.train.capability.MinecartController; import com.simibubi.create.content.contraptions.components.tracks.ControllerRailBlock; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.CenteredSideValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.INamedIconOptions; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.gui.AllIcons; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIconOptions; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; @@ -42,7 +42,7 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; @EventBusSubscriber -public class CartAssemblerTileEntity extends SmartTileEntity implements IDisplayAssemblyExceptions { +public class CartAssemblerBlockEntity extends SmartBlockEntity implements IDisplayAssemblyExceptions { private static final int assemblyCooldown = 8; protected ScrollOptionBehaviour movementMode; @@ -50,7 +50,7 @@ public class CartAssemblerTileEntity extends SmartTileEntity implements IDisplay protected AssemblyException lastException; protected AbstractMinecart cartToAssemble; - public CartAssemblerTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public CartAssemblerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); ticksSinceMinecartUpdate = assemblyCooldown; } @@ -232,7 +232,7 @@ public class CartAssemblerTileEntity extends SmartTileEntity implements IDisplay } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { movementMode = new ScrollOptionBehaviour<>(CartMovementMode.class, Lang.translateDirect("contraptions.cart_movement_mode"), this, getMovementModeSlot()); movementMode.requiresWrench(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MountedContraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MountedContraption.java index 90f30b4ec..5f2be6036 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MountedContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MountedContraption.java @@ -11,7 +11,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Ass import com.simibubi.create.content.contraptions.components.structureMovement.Contraption; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionType; import com.simibubi.create.content.contraptions.components.structureMovement.NonStationaryLighter; -import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity.CartMovementMode; +import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlockEntity.CartMovementMode; import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.NBTHelper; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/LinearActuatorTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/LinearActuatorBlockEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/LinearActuatorTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/LinearActuatorBlockEntity.java index 3ba555998..a34d14de0 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/LinearActuatorTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/LinearActuatorBlockEntity.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pi import java.util.List; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionCollider; @@ -10,9 +10,9 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Con import com.simibubi.create.content.contraptions.components.structureMovement.IControlContraption; import com.simibubi.create.content.contraptions.components.structureMovement.IDisplayAssemblyExceptions; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.ServerSpeedProvider; @@ -23,7 +23,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public abstract class LinearActuatorTileEntity extends KineticTileEntity +public abstract class LinearActuatorBlockEntity extends KineticBlockEntity implements IControlContraption, IDisplayAssemblyExceptions { public float offset; @@ -39,7 +39,7 @@ public abstract class LinearActuatorTileEntity extends KineticTileEntity // Custom position sync protected float clientOffsetDiff; - public LinearActuatorTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public LinearActuatorBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); setLazyTickRate(3); forceMove = true; @@ -47,7 +47,7 @@ public abstract class LinearActuatorTileEntity extends KineticTileEntity } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); movementMode = new ScrollOptionBehaviour<>(MovementMode.class, Lang.translateDirect("contraptions.movement_mode"), this, getMovementModeSlot()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonBlock.java index 856c5bbea..b85a021b2 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonBlock.java @@ -2,12 +2,12 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pi import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.utility.Lang; @@ -35,7 +35,7 @@ import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.common.Tags; -public class MechanicalPistonBlock extends DirectionalAxisKineticBlock implements ITE { +public class MechanicalPistonBlock extends DirectionalAxisKineticBlock implements IBE { public static final EnumProperty STATE = EnumProperty.create("state", PistonState.class); protected boolean isSticky; @@ -72,7 +72,7 @@ public class MechanicalPistonBlock extends DirectionalAxisKineticBlock implement .is(Tags.Items.SLIMEBALLS)) { if (player.getItemInHand(handIn) .isEmpty()) { - withTileEntityDo(worldIn, pos, te -> te.assembleNextTick = true); + withBlockEntityDo(worldIn, pos, be -> be.assembleNextTick = true); return InteractionResult.SUCCESS; } return InteractionResult.PASS; @@ -119,11 +119,11 @@ public class MechanicalPistonBlock extends DirectionalAxisKineticBlock implement if (pole.getValue(PistonExtensionPoleBlock.FACING) .getAxis() != direction.getAxis()) return; - withTileEntityDo(worldIn, pos, te -> { - if (te.lastException == null) + withBlockEntityDo(worldIn, pos, be -> { + if (be.lastException == null) return; - te.lastException = null; - te.sendData(); + be.lastException = null; + be.sendData(); }); } @@ -205,13 +205,13 @@ public class MechanicalPistonBlock extends DirectionalAxisKineticBlock implement } @Override - public Class getTileEntityClass() { - return MechanicalPistonTileEntity.class; + public Class getBlockEntityClass() { + return MechanicalPistonBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.MECHANICAL_PISTON.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.MECHANICAL_PISTON.get(); } public static boolean isPiston(BlockState state) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonBlockEntity.java similarity index 96% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonBlockEntity.java index 0492ee77c..7f40d4d88 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonBlockEntity.java @@ -9,7 +9,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Con import com.simibubi.create.content.contraptions.components.structureMovement.DirectionalExtenderScrollOptionSlot; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock.PistonState; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.ServerSpeedProvider; import net.minecraft.core.BlockPos; @@ -23,12 +23,12 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.phys.Vec3; -public class MechanicalPistonTileEntity extends LinearActuatorTileEntity { +public class MechanicalPistonBlockEntity extends LinearActuatorBlockEntity { protected boolean hadCollisionWithOtherPiston; protected int extensionLength; - public MechanicalPistonTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public MechanicalPistonBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonRenderer.java index 65c327ccb..1a3e537c2 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/MechanicalPistonRenderer.java @@ -1,20 +1,20 @@ package com.simibubi.create.content.contraptions.components.structureMovement.piston; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.world.level.block.state.BlockState; -public class MechanicalPistonRenderer extends KineticTileEntityRenderer { +public class MechanicalPistonRenderer extends KineticBlockEntityRenderer { public MechanicalPistonRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected BlockState getRenderedBlockState(KineticTileEntity te) { - return shaft(getRotationAxisOf(te)); + protected BlockState getRenderedBlockState(KineticBlockEntity be) { + return shaft(getRotationAxisOf(be)); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonContraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonContraption.java index 7413928c2..e26461590 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonContraption.java @@ -204,9 +204,9 @@ public class PistonContraption extends TranslatingContraption { protected boolean customBlockPlacement(LevelAccessor world, BlockPos pos, BlockState state) { BlockPos pistonPos = anchor.relative(orientation, -1); BlockState pistonState = world.getBlockState(pistonPos); - BlockEntity te = world.getBlockEntity(pistonPos); + BlockEntity be = world.getBlockEntity(pistonPos); if (pos.equals(pistonPos)) { - if (te == null || te.isRemoved()) + if (be == null || be.isRemoved()) return true; if (!isExtensionPole(state) && isPiston(pistonState)) world.setBlock(pistonPos, pistonState.setValue(MechanicalPistonBlock.STATE, PistonState.RETRACTED), diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonExtensionPoleBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonExtensionPoleBlock.java index e0f63749a..df70144c4 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonExtensionPoleBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonExtensionPoleBlock.java @@ -98,11 +98,11 @@ public class PistonExtensionPoleBlock extends WrenchableDirectionalBlock impleme worldIn.setBlockAndUpdate(basePos, worldIn.getBlockState(basePos) .setValue(MechanicalPistonBlock.STATE, PistonState.RETRACTED)); - BlockEntity te = worldIn.getBlockEntity(basePos); - if (te instanceof MechanicalPistonTileEntity) { - MechanicalPistonTileEntity baseTE = (MechanicalPistonTileEntity) te; - baseTE.offset = 0; - baseTE.onLengthBroken(); + BlockEntity be = worldIn.getBlockEntity(basePos); + if (be instanceof MechanicalPistonBlockEntity) { + MechanicalPistonBlockEntity baseBE = (MechanicalPistonBlockEntity) be; + baseBE.offset = 0; + baseBE.onLengthBroken(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java index 75ff9156a..2cb4b329c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java @@ -13,7 +13,7 @@ import com.jozufozu.flywheel.light.TickingLightListener; import com.jozufozu.flywheel.util.box.GridAlignedBB; import com.jozufozu.flywheel.util.box.ImmutableBox; import com.mojang.math.Vector3f; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance; import net.minecraft.core.Direction; @@ -34,8 +34,8 @@ public abstract class AbstractPulleyInstance extends ShaftInstance implements Dy private final GridAlignedBB volume = new GridAlignedBB(); private final LightVolume light; - public AbstractPulleyInstance(MaterialManager dispatcher, KineticTileEntity tile) { - super(dispatcher, tile); + public AbstractPulleyInstance(MaterialManager dispatcher, KineticBlockEntity blockEntity) { + super(dispatcher, blockEntity); rotatingAbout = Direction.get(Direction.AxisDirection.POSITIVE, axis); rotationAxis = rotatingAbout.step(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyRenderer.java index b40e862a0..77580525e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyRenderer.java @@ -5,8 +5,8 @@ import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -23,7 +23,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.state.BlockState; -public abstract class AbstractPulleyRenderer extends KineticTileEntityRenderer { +public abstract class AbstractPulleyRenderer extends KineticBlockEntityRenderer { private PartialModel halfRope; private PartialModel halfMagnet; @@ -36,34 +36,34 @@ public abstract class AbstractPulleyRenderer extends KineticTileEntityRenderer { } @Override - public boolean shouldRenderOffScreen(KineticTileEntity p_188185_1_) { + public boolean shouldRenderOffScreen(KineticBlockEntity p_188185_1_) { return true; } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) + if (Backend.canUseInstancing(be.getLevel())) return; - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); - float offset = getOffset(te, partialTicks); - boolean running = isRunning(te); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + float offset = getOffset(be, partialTicks); + boolean running = isRunning(be); - Axis rotationAxis = ((IRotate) te.getBlockState() - .getBlock()).getRotationAxis(te.getBlockState()); - kineticRotationTransform(getRotatedCoil(te), te, rotationAxis, AngleHelper.rad(offset * 180), light) + Axis rotationAxis = ((IRotate) be.getBlockState() + .getBlock()).getRotationAxis(be.getBlockState()); + kineticRotationTransform(getRotatedCoil(be), be, rotationAxis, AngleHelper.rad(offset * 180), light) .renderInto(ms, buffer.getBuffer(RenderType.solid())); - Level world = te.getLevel(); - BlockState blockState = te.getBlockState(); - BlockPos pos = te.getBlockPos(); + Level world = be.getLevel(); + BlockState blockState = be.getBlockState(); + BlockPos pos = be.getBlockPos(); SuperByteBuffer halfMagnet = CachedBufferer.partial(this.halfMagnet, blockState); SuperByteBuffer halfRope = CachedBufferer.partial(this.halfRope, blockState); - SuperByteBuffer magnet = renderMagnet(te); - SuperByteBuffer rope = renderRope(te); + SuperByteBuffer magnet = renderMagnet(be); + SuperByteBuffer rope = renderRope(be); VertexConsumer vb = buffer.getBuffer(RenderType.solid()); if (running || offset == 0) @@ -89,27 +89,27 @@ public abstract class AbstractPulleyRenderer extends KineticTileEntityRenderer { .renderInto(ms, buffer); } - protected abstract Axis getShaftAxis(KineticTileEntity te); + protected abstract Axis getShaftAxis(KineticBlockEntity be); protected abstract PartialModel getCoil(); - protected abstract SuperByteBuffer renderRope(KineticTileEntity te); + protected abstract SuperByteBuffer renderRope(KineticBlockEntity be); - protected abstract SuperByteBuffer renderMagnet(KineticTileEntity te); + protected abstract SuperByteBuffer renderMagnet(KineticBlockEntity be); - protected abstract float getOffset(KineticTileEntity te, float partialTicks); + protected abstract float getOffset(KineticBlockEntity be, float partialTicks); - protected abstract boolean isRunning(KineticTileEntity te); + protected abstract boolean isRunning(KineticBlockEntity be); @Override - protected BlockState getRenderedBlockState(KineticTileEntity te) { - return shaft(getShaftAxis(te)); + protected BlockState getRenderedBlockState(KineticBlockEntity be) { + return shaft(getShaftAxis(be)); } - protected SuperByteBuffer getRotatedCoil(KineticTileEntity te) { - BlockState blockState = te.getBlockState(); + protected SuperByteBuffer getRotatedCoil(KineticBlockEntity be) { + BlockState blockState = be.getBlockState(); return CachedBufferer.partialFacing(getCoil(), blockState, - Direction.get(AxisDirection.POSITIVE, getShaftAxis(te))); + Direction.get(AxisDirection.POSITIVE, getShaftAxis(be))); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/HosePulleyInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/HosePulleyInstance.java index 62d7c0e65..00423907b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/HosePulleyInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/HosePulleyInstance.java @@ -5,13 +5,13 @@ import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.core.Materials; import com.jozufozu.flywheel.core.materials.oriented.OrientedData; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.fluids.actors.HosePulleyTileEntity; +import com.simibubi.create.content.contraptions.fluids.actors.HosePulleyBlockEntity; import com.simibubi.create.foundation.utility.AnimationTickHolder; public class HosePulleyInstance extends AbstractPulleyInstance { - public HosePulleyInstance(MaterialManager dispatcher, HosePulleyTileEntity tile) { - super(dispatcher, tile); + public HosePulleyInstance(MaterialManager dispatcher, HosePulleyBlockEntity blockEntity) { + super(dispatcher, blockEntity); } protected Instancer getRopeModel() { @@ -39,7 +39,7 @@ public class HosePulleyInstance extends AbstractPulleyInstance { } protected float getOffset() { - return ((HosePulleyTileEntity) blockEntity).getInterpolatedOffset(AnimationTickHolder.getPartialTicks()); + return ((HosePulleyBlockEntity) blockEntity).getInterpolatedOffset(AnimationTickHolder.getPartialTicks()); } protected boolean isRunning() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyBlock.java index 85e1bd250..6c0fe0df2 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyBlock.java @@ -1,10 +1,10 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pulley; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -32,16 +32,16 @@ import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class PulleyBlock extends HorizontalAxisKineticBlock implements ITE { +public class PulleyBlock extends HorizontalAxisKineticBlock implements IBE { public PulleyBlock(Properties properties) { super(properties); } private static void onRopeBroken(Level world, BlockPos pulleyPos) { - BlockEntity te = world.getBlockEntity(pulleyPos); - if (te instanceof PulleyTileEntity) { - PulleyTileEntity pulley = (PulleyTileEntity) te; + BlockEntity be = world.getBlockEntity(pulleyPos); + if (be instanceof PulleyBlockEntity) { + PulleyBlockEntity pulley = (PulleyBlockEntity) be; pulley.initialOffset = 0; pulley.onLengthBroken(); } @@ -67,7 +67,7 @@ public class PulleyBlock extends HorizontalAxisKineticBlock implements ITE te.assembleNextTick = true); + withBlockEntityDo(worldIn, pos, be -> be.assembleNextTick = true); return InteractionResult.SUCCESS; } return InteractionResult.PASS; @@ -79,13 +79,13 @@ public class PulleyBlock extends HorizontalAxisKineticBlock implements ITE getTileEntityClass() { - return PulleyTileEntity.class; + public Class getBlockEntityClass() { + return PulleyBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ROPE_PULLEY.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ROPE_PULLEY.get(); } private static class RopeBlockBase extends Block implements SimpleWaterloggedBlock { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyBlockEntity.java similarity index 93% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyBlockEntity.java index 91209ba8c..93ab94e13 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyBlockEntity.java @@ -12,13 +12,13 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Ass import com.simibubi.create.content.contraptions.components.structureMovement.BlockMovementChecks; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionCollider; import com.simibubi.create.content.contraptions.components.structureMovement.ControlledContraptionEntity; -import com.simibubi.create.content.contraptions.components.structureMovement.piston.LinearActuatorTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.piston.LinearActuatorBlockEntity; import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchObservable; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.CenteredSideValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.core.BlockPos; @@ -35,7 +35,7 @@ import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -public class PulleyTileEntity extends LinearActuatorTileEntity implements StockpileSwitchObservable { +public class PulleyBlockEntity extends LinearActuatorBlockEntity implements StockpileSwitchObservable { protected int initialOffset; private float prevAnimatedOffset; @@ -44,7 +44,7 @@ public class PulleyTileEntity extends LinearActuatorTileEntity implements Stockp protected List mirrorChildren; public WeakReference sharedMirrorContraption; - public PulleyTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public PulleyBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @@ -60,7 +60,7 @@ public class PulleyTileEntity extends LinearActuatorTileEntity implements Stockp } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.PULLEY_MAXED); } @@ -75,7 +75,7 @@ public class PulleyTileEntity extends LinearActuatorTileEntity implements Stockp || !sharedMirrorContraption.get() .isAlive()) { sharedMirrorContraption = null; - if (level.getBlockEntity(mirrorParent)instanceof PulleyTileEntity pte && pte.movedContraption != null) + if (level.getBlockEntity(mirrorParent)instanceof PulleyBlockEntity pte && pte.movedContraption != null) sharedMirrorContraption = new WeakReference<>(pte.movedContraption); } @@ -158,7 +158,7 @@ public class PulleyTileEntity extends LinearActuatorTileEntity implements Stockp continue; pos = pos.offset(anchor); if (level.getBlockEntity( - new BlockPos(pos.getX(), worldPosition.getY(), pos.getZ()))instanceof PulleyTileEntity pte) + new BlockPos(pos.getX(), worldPosition.getY(), pos.getZ()))instanceof PulleyBlockEntity pte) pte.startMirroringOther(worldPosition); } } @@ -307,7 +307,7 @@ public class PulleyTileEntity extends LinearActuatorTileEntity implements Stockp public void startMirroringOther(BlockPos parent) { if (parent.equals(worldPosition)) return; - if (!(level.getBlockEntity(parent)instanceof PulleyTileEntity pte)) + if (!(level.getBlockEntity(parent)instanceof PulleyBlockEntity pte)) return; if (pte.getType() != getType()) return; @@ -328,7 +328,7 @@ public class PulleyTileEntity extends LinearActuatorTileEntity implements Stockp if (mirrorChildren == null) return; for (BlockPos blockPos : mirrorChildren) { - if (!(level.getBlockEntity(blockPos)instanceof PulleyTileEntity pte)) + if (!(level.getBlockEntity(blockPos)instanceof PulleyBlockEntity pte)) continue; pte.offset = offset; pte.disassemble(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyRenderer.java index 547fa9731..fa0d39be7 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/PulleyRenderer.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pu import com.jozufozu.flywheel.core.PartialModel; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; @@ -19,8 +19,8 @@ public class PulleyRenderer extends AbstractPulleyRenderer { } @Override - protected Axis getShaftAxis(KineticTileEntity te) { - return te.getBlockState() + protected Axis getShaftAxis(KineticBlockEntity be) { + return be.getBlockState() .getValue(PulleyBlock.HORIZONTAL_AXIS); } @@ -30,35 +30,35 @@ public class PulleyRenderer extends AbstractPulleyRenderer { } @Override - protected SuperByteBuffer renderRope(KineticTileEntity te) { + protected SuperByteBuffer renderRope(KineticBlockEntity be) { return CachedBufferer.block(AllBlocks.ROPE.getDefaultState()); } @Override - protected SuperByteBuffer renderMagnet(KineticTileEntity te) { + protected SuperByteBuffer renderMagnet(KineticBlockEntity be) { return CachedBufferer.block(AllBlocks.PULLEY_MAGNET.getDefaultState()); } @Override - protected float getOffset(KineticTileEntity te, float partialTicks) { - PulleyTileEntity pulley = (PulleyTileEntity) te; - return getTileOffset(partialTicks, pulley); + protected float getOffset(KineticBlockEntity be, float partialTicks) { + PulleyBlockEntity pulley = (PulleyBlockEntity) be; + return getBlockEntityOffset(partialTicks, pulley); } @Override - protected boolean isRunning(KineticTileEntity te) { - return isPulleyRunning(te); + protected boolean isRunning(KineticBlockEntity be) { + return isPulleyRunning(be); } - public static boolean isPulleyRunning(KineticTileEntity te) { - PulleyTileEntity pte = (PulleyTileEntity) te; - return pte.running || pte.mirrorParent != null || te.isVirtual(); + public static boolean isPulleyRunning(KineticBlockEntity be) { + PulleyBlockEntity pte = (PulleyBlockEntity) be; + return pte.running || pte.mirrorParent != null || be.isVirtual(); } - public static float getTileOffset(float partialTicks, PulleyTileEntity tile) { - float offset = tile.getInterpolatedOffset(partialTicks); + public static float getBlockEntityOffset(float partialTicks, PulleyBlockEntity blockEntity) { + float offset = blockEntity.getInterpolatedOffset(partialTicks); - AbstractContraptionEntity attachedContraption = tile.getAttachedContraption(); + AbstractContraptionEntity attachedContraption = blockEntity.getAttachedContraption(); if (attachedContraption != null) { PulleyContraption c = (PulleyContraption) attachedContraption.getContraption(); double entityPos = Mth.lerp(partialTicks, attachedContraption.yOld, attachedContraption.getY()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/RopePulleyInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/RopePulleyInstance.java index cdb180393..31fc83883 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/RopePulleyInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/RopePulleyInstance.java @@ -9,8 +9,8 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.utility.AnimationTickHolder; public class RopePulleyInstance extends AbstractPulleyInstance { - public RopePulleyInstance(MaterialManager dispatcher, PulleyTileEntity tile) { - super(dispatcher, tile); + public RopePulleyInstance(MaterialManager materialManager, PulleyBlockEntity blockEntity) { + super(materialManager, blockEntity); } protected Instancer getRopeModel() { @@ -35,7 +35,7 @@ public class RopePulleyInstance extends AbstractPulleyInstance { protected float getOffset() { float partialTicks = AnimationTickHolder.getPartialTicks(); - return PulleyRenderer.getTileOffset(partialTicks, (PulleyTileEntity) blockEntity); + return PulleyRenderer.getBlockEntityOffset(partialTicks, (PulleyBlockEntity) blockEntity); } protected boolean isRunning() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java index c6c5e30cf..0c99d2c2c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java @@ -23,8 +23,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Con import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionWorld; import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour; import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; +import com.simibubi.create.foundation.render.BlockEntityRenderHelper; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.render.TileEntityRenderHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.LevelRenderer; @@ -106,7 +106,7 @@ public class ContraptionRenderDispatcher { VirtualRenderWorld renderWorld = renderInfo.renderWorld; - renderTileEntities(world, renderWorld, contraption, matrices, buffers); + renderBlockEntities(world, renderWorld, contraption, matrices, buffers); if (buffers instanceof MultiBufferSource.BufferSource) ((MultiBufferSource.BufferSource) buffers).endBatch(); @@ -127,7 +127,7 @@ public class ContraptionRenderDispatcher { } }; - renderWorld.setBlockEntities(c.presentTileEntities.values()); + renderWorld.setBlockEntities(c.presentBlockEntities.values()); for (StructureTemplate.StructureBlockInfo info : c.getBlocks() .values()) // Skip individual lighting updates to prevent lag with large contraptions @@ -137,9 +137,9 @@ public class ContraptionRenderDispatcher { return renderWorld; } - public static void renderTileEntities(Level world, VirtualRenderWorld renderWorld, Contraption c, + public static void renderBlockEntities(Level world, VirtualRenderWorld renderWorld, Contraption c, ContraptionMatrices matrices, MultiBufferSource buffer) { - TileEntityRenderHelper.renderTileEntities(world, renderWorld, c.getSpecialRenderedTEs(), + BlockEntityRenderHelper.renderBlockEntities(world, renderWorld, c.getSpecialRenderedTEs(), matrices.getModelViewProjection(), matrices.getLight(), buffer); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/FlwContraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/FlwContraption.java index 5f467689b..1fb76906c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/FlwContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/FlwContraption.java @@ -54,7 +54,7 @@ public class FlwContraption extends ContraptionRenderInfo { var restoreState = GlStateTracker.getRestoreState(); buildLayers(); if (ContraptionRenderDispatcher.canInstance()) { - buildInstancedTiles(); + buildInstancedBlockEntities(); buildActors(); } restoreState.restore(); @@ -95,7 +95,7 @@ public class FlwContraption extends ContraptionRenderInfo { if (!isVisible()) return; - instanceWorld.tileInstanceManager.beginFrame(SerialTaskEngine.INSTANCE, event.getCamera()); + instanceWorld.blockEntityInstanceManager.beginFrame(SerialTaskEngine.INSTANCE, event.getCamera()); Vec3 cameraPos = event.getCameraPos(); @@ -150,21 +150,21 @@ public class FlwContraption extends ContraptionRenderInfo { } } - private void buildInstancedTiles() { - for (BlockEntity te : contraption.maybeInstancedTileEntities) { - if (!InstancedRenderRegistry.canInstance(te.getType())) { + private void buildInstancedBlockEntities() { + for (BlockEntity be : contraption.maybeInstancedBlockEntities) { + if (!InstancedRenderRegistry.canInstance(be.getType())) { continue; } - Level world = te.getLevel(); - te.setLevel(renderWorld); - instanceWorld.tileInstanceManager.add(te); - te.setLevel(world); + Level world = be.getLevel(); + be.setLevel(renderWorld); + instanceWorld.blockEntityInstanceManager.add(be); + be.setLevel(world); } } private void buildActors() { - contraption.getActors().forEach(instanceWorld.tileInstanceManager::createActor); + contraption.getActors().forEach(instanceWorld.blockEntityInstanceManager::createActor); } public static void setupModelViewPartial(Matrix4f matrix, Matrix4f modelMatrix, AbstractContraptionEntity entity, double camX, double camY, double camZ, float pt) { @@ -176,13 +176,13 @@ public class FlwContraption extends ContraptionRenderInfo { } public void tick() { - instanceWorld.tileInstanceManager.tick(); + instanceWorld.blockEntityInstanceManager.tick(); } public static class ContraptionInstanceWorld { private final Engine engine; - private final ContraptionInstanceManager tileInstanceManager; + private final ContraptionInstanceManager blockEntityInstanceManager; public ContraptionInstanceWorld(FlwContraption parent) { switch (Backend.getBackendType()) { @@ -191,14 +191,14 @@ public class FlwContraption extends ContraptionRenderInfo { .setGroupFactory(ContraptionGroup.forContraption(parent)) .setIgnoreOriginCoordinate(true) .build(); - tileInstanceManager = new ContraptionInstanceManager(engine, parent.renderWorld, parent.contraption); - engine.addListener(tileInstanceManager); + blockEntityInstanceManager = new ContraptionInstanceManager(engine, parent.renderWorld, parent.contraption); + engine.addListener(blockEntityInstanceManager); this.engine = engine; } case BATCHING -> { engine = new BatchingEngine(); - tileInstanceManager = new ContraptionInstanceManager(engine, parent.renderWorld, parent.contraption); + blockEntityInstanceManager = new ContraptionInstanceManager(engine, parent.renderWorld, parent.contraption); } default -> throw new IllegalArgumentException("Unknown engine type"); } @@ -206,7 +206,7 @@ public class FlwContraption extends ContraptionRenderInfo { public void delete() { engine.delete(); - tileInstanceManager.invalidate(); + blockEntityInstanceManager.invalidate(); } } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/TrainCargoManager.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/TrainCargoManager.java index 5d8561369..f8b45e270 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/TrainCargoManager.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/TrainCargoManager.java @@ -51,8 +51,8 @@ public class TrainCargoManager extends MountedStorageManager { } @Override - public void read(CompoundTag nbt, Map presentTileEntities, boolean clientPacket) { - super.read(nbt, presentTileEntities, clientPacket); + public void read(CompoundTag nbt, Map presentBlockEntities, boolean clientPacket) { + super.read(nbt, presentBlockEntities, clientPacket); ticksSinceLastExchange = nbt.getInt("TicksSinceLastExchange"); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableBlock.java index f4908cb45..a6d7a2122 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableBlock.java @@ -1,10 +1,10 @@ package com.simibubi.create.content.contraptions.components.turntable; +import com.simibubi.create.AllBlockEntityTypes; 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.KineticTileEntity; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; @@ -25,7 +25,7 @@ import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class TurntableBlock extends KineticBlock implements ITE { +public class TurntableBlock extends KineticBlock implements IBE { public TurntableBlock(Properties properties) { super(properties); @@ -50,8 +50,8 @@ public class TurntableBlock extends KineticBlock implements ITE { - float speed = ((KineticTileEntity) te).getSpeed() * 3 / 10; + withBlockEntityDo(worldIn, pos, be -> { + float speed = ((KineticBlockEntity) be).getSpeed() * 3 / 10; if (speed == 0) return; @@ -99,13 +99,13 @@ public class TurntableBlock extends KineticBlock implements ITE getTileEntityClass() { - return TurntableTileEntity.class; + public Class getBlockEntityClass() { + return TurntableBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.TURNTABLE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.TURNTABLE.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableBlockEntity.java similarity index 54% rename from src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableBlockEntity.java index eae84a2da..d644df70c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableBlockEntity.java @@ -1,14 +1,14 @@ package com.simibubi.create.content.contraptions.components.turntable; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class TurntableTileEntity extends KineticTileEntity { +public class TurntableBlockEntity extends KineticBlockEntity { - public TurntableTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public TurntableBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableHandler.java b/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableHandler.java index 2a8a7f1f9..83880e3e4 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/turntable/TurntableHandler.java @@ -23,11 +23,11 @@ public class TurntableHandler { if (mc.isPaused()) return; - BlockEntity tileEntity = mc.level.getBlockEntity(pos); - if (!(tileEntity instanceof TurntableTileEntity)) + BlockEntity blockEntity = mc.level.getBlockEntity(pos); + if (!(blockEntity instanceof TurntableBlockEntity)) return; - TurntableTileEntity turnTable = (TurntableTileEntity) tileEntity; + TurntableBlockEntity turnTable = (TurntableBlockEntity) blockEntity; float speed = turnTable.getSpeed() * 3/10; if (speed == 0) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlock.java index 058dab2d9..b5a91095d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlock.java @@ -2,11 +2,11 @@ package com.simibubi.create.content.contraptions.components.waterwheel; import javax.annotation.ParametersAreNonnullByDefault; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.utility.Couple; @@ -33,7 +33,7 @@ import net.minecraft.world.phys.Vec3; @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault -public class WaterWheelBlock extends DirectionalKineticBlock implements ITE { +public class WaterWheelBlock extends DirectionalKineticBlock implements IBE { public WaterWheelBlock(Properties properties) { super(properties); @@ -107,7 +107,7 @@ public class WaterWheelBlock extends DirectionalKineticBlock implements ITE { + withBlockEntityDo(world, pos, be -> { double flowStrength = 0; if (wf.getAxis() == Axis.Z) { @@ -131,17 +131,17 @@ public class WaterWheelBlock extends DirectionalKineticBlock implements ITE 0 ^ !clockwise ? -flow.z * clockwiseMultiplier : -flow.z; } - if (te.getSpeed() == 0 && flowStrength != 0 && !world.isClientSide()) - te.award( + if (be.getSpeed() == 0 && flowStrength != 0 && !world.isClientSide()) + be.award( FluidHelper.isLava(fluid.getType()) ? AllAdvancements.LAVA_WHEEL : AllAdvancements.WATER_WHEEL); Integer flowModifier = AllConfigs.SERVER.kinetics.waterWheelFlowSpeed.get(); - te.setFlow(side, (float) (flowStrength * flowModifier / 2f)); + be.setFlow(side, (float) (flowStrength * flowModifier / 2f)); }); } private void updateWheelSpeed(LevelAccessor world, BlockPos pos) { - withTileEntityDo(world, pos, WaterWheelTileEntity::updateGeneratedRotation); + withBlockEntityDo(world, pos, WaterWheelBlockEntity::updateGeneratedRotation); } @Override @@ -207,13 +207,13 @@ public class WaterWheelBlock extends DirectionalKineticBlock implements ITE getTileEntityClass() { - return WaterWheelTileEntity.class; + public Class getBlockEntityClass() { + return WaterWheelBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.WATER_WHEEL.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.WATER_WHEEL.get(); } public static Couple getSpeedRange() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlockEntity.java similarity index 87% rename from src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlockEntity.java index 07aa48bec..be0060c27 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlockEntity.java @@ -5,10 +5,10 @@ import java.util.List; import java.util.Map; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; +import com.simibubi.create.content.contraptions.base.GeneratingKineticBlockEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -18,11 +18,11 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -public class WaterWheelTileEntity extends GeneratingKineticTileEntity { +public class WaterWheelBlockEntity extends GeneratingKineticBlockEntity { private Map flows; - public WaterWheelTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public WaterWheelBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); flows = new HashMap<>(); for (Direction d : Iterate.directions) @@ -31,7 +31,7 @@ public class WaterWheelTileEntity extends GeneratingKineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.LAVA_WHEEL, AllAdvancements.WATER_WHEEL); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FlowSource.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FlowSource.java index 8a2455275..64d1586de 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FlowSource.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FlowSource.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.fluids; import java.lang.ref.WeakReference; import java.util.function.Predicate; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.BlockFace; import net.minecraft.world.level.Level; @@ -70,9 +70,9 @@ public abstract class FlowSource { public void manageSource(Level world) { if (fluidHandler.isPresent() && world.getGameTime() % 20 != 0) return; - BlockEntity tileEntity = world.getBlockEntity(location.getConnectedPos()); - if (tileEntity != null) - fluidHandler = tileEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, + BlockEntity blockEntity = world.getBlockEntity(location.getConnectedPos()); + if (blockEntity != null) + fluidHandler = blockEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, location.getOppositeFace()); } @@ -96,11 +96,11 @@ public abstract class FlowSource { @Override public void manageSource(Level world) { - if (cached != null && cached.get() != null && !cached.get().tileEntity.isRemoved()) + if (cached != null && cached.get() != null && !cached.get().blockEntity.isRemoved()) return; cached = null; FluidTransportBehaviour fluidTransportBehaviour = - TileEntityBehaviour.get(world, location.getConnectedPos(), FluidTransportBehaviour.TYPE); + BlockEntityBehaviour.get(world, location.getConnectedPos(), FluidTransportBehaviour.TYPE); if (fluidTransportBehaviour != null) cached = new WeakReference<>(fluidTransportBehaviour); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidNetwork.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidNetwork.java index eeaf6000d..58f2365b8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidNetwork.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidNetwork.java @@ -13,10 +13,10 @@ import java.util.function.Supplier; import javax.annotation.Nullable; -import com.simibubi.create.content.contraptions.components.actors.PortableFluidInterfaceTileEntity.InterfaceFluidHandler; +import com.simibubi.create.content.contraptions.components.actors.PortableFluidInterfaceBlockEntity.InterfaceFluidHandler; import com.simibubi.create.content.contraptions.fluids.PipeConnection.Flow; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.fluid.FluidHelper; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.BlockFace; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Pair; @@ -314,10 +314,10 @@ public class FluidNetwork { private FluidTransportBehaviour getFluidTransfer(BlockPos pos) { WeakReference weakReference = cache.get(pos); FluidTransportBehaviour behaviour = weakReference != null ? weakReference.get() : null; - if (behaviour != null && behaviour.tileEntity.isRemoved()) + if (behaviour != null && behaviour.blockEntity.isRemoved()) behaviour = null; if (behaviour == null) { - behaviour = TileEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE); + behaviour = BlockEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE); if (behaviour != null) cache.put(pos, new WeakReference<>(behaviour)); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPropagator.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPropagator.java index 0ac0e4274..97306aacd 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPropagator.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPropagator.java @@ -15,8 +15,8 @@ import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; import com.simibubi.create.content.contraptions.fluids.pipes.VanillaFluidTargets; import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.advancement.CreateAdvancement; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Pair; @@ -47,7 +47,7 @@ public class FluidPropagator { public static void propagateChangedPipe(LevelAccessor world, BlockPos pipePos, BlockState pipeState) { List> frontier = new ArrayList<>(); Set visited = new HashSet<>(); - Set> discoveredPumps = new HashSet<>(); + Set> discoveredPumps = new HashSet<>(); frontier.add(Pair.of(0, pipePos)); @@ -69,13 +69,13 @@ public class FluidPropagator { if (world instanceof Level l && !l.isLoaded(target)) continue; - BlockEntity tileEntity = world.getBlockEntity(target); + BlockEntity blockEntity = world.getBlockEntity(target); BlockState targetState = world.getBlockState(target); - if (tileEntity instanceof PumpTileEntity) { + if (blockEntity instanceof PumpBlockEntity) { if (!AllBlocks.MECHANICAL_PUMP.has(targetState) || targetState.getValue(PumpBlock.FACING) .getAxis() != direction.getAxis()) continue; - discoveredPumps.add(Pair.of((PumpTileEntity) tileEntity, direction.getOpposite())); + discoveredPumps.add(Pair.of((PumpBlockEntity) blockEntity, direction.getOpposite())); continue; } if (visited.contains(target)) @@ -160,7 +160,7 @@ public class FluidPropagator { } public static FluidTransportBehaviour getPipe(BlockGetter reader, BlockPos pos) { - return TileEntityBehaviour.get(reader, pos, FluidTransportBehaviour.TYPE); + return BlockEntityBehaviour.get(reader, pos, FluidTransportBehaviour.TYPE); } public static boolean isOpenEnd(BlockGetter reader, BlockPos pos, Direction side) { @@ -199,11 +199,11 @@ public class FluidPropagator { } public static boolean hasFluidCapability(BlockGetter world, BlockPos pos, Direction side) { - BlockEntity tileEntity = world.getBlockEntity(pos); - if (tileEntity == null) + BlockEntity blockEntity = world.getBlockEntity(pos); + if (blockEntity == null) return false; LazyOptional capability = - tileEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side); + blockEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side); return capability.isPresent(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java index 87a6eef0f..273476afb 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java @@ -10,9 +10,9 @@ import javax.annotation.Nullable; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.fluids.pipes.EncasedPipeBlock; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.WorldAttached; @@ -25,7 +25,7 @@ import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.fluids.FluidStack; -public abstract class FluidTransportBehaviour extends TileEntityBehaviour { +public abstract class FluidTransportBehaviour extends BlockEntityBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); @@ -38,8 +38,8 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour { public Map interfaces; public UpdatePhase phase; - public FluidTransportBehaviour(SmartTileEntity te) { - super(te); + public FluidTransportBehaviour(SmartBlockEntity be) { + super(be); phase = UpdatePhase.WAIT_FOR_PUMPS; } @@ -60,7 +60,7 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour { super.tick(); Level world = getWorld(); BlockPos pos = getPos(); - boolean onServer = !world.isClientSide || tileEntity.isVirtual(); + boolean onServer = !world.isClientSide || blockEntity.isVirtual(); if (interfaces == null) return; @@ -88,7 +88,7 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour { connection.manageSource(world, pos); } if (sendUpdate) - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); } if (phase == UpdatePhase.FLIP_FLOWS) { @@ -127,12 +127,12 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour { for (PipeConnection connection : connections) { FluidStack internalFluid = singleSource != connection ? availableFlow : FluidStack.EMPTY; Predicate extractionPredicate = - extracted -> canPullFluidFrom(extracted, tileEntity.getBlockState(), connection.side); + extracted -> canPullFluidFrom(extracted, blockEntity.getBlockState(), connection.side); sendUpdate |= connection.manageFlows(world, pos, internalFluid, extractionPredicate); } if (sendUpdate) - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); } for (PipeConnection connection : connections) @@ -155,7 +155,7 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour { } interfaces.values() - .forEach(connection -> connection.deserializeNBT(nbt, tileEntity.getBlockPos(), clientPacket)); + .forEach(connection -> connection.deserializeNBT(nbt, blockEntity.getBlockPos(), clientPacket)); } @Override @@ -206,13 +206,13 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour { return; interfaces.get(side) .addPressure(inbound, pressure); - tileEntity.sendData(); + blockEntity.sendData(); } public void wipePressure() { if (interfaces != null) for (Direction d : Iterate.directions) { - if (!canHaveFlowToward(tileEntity.getBlockState(), d)) + if (!canHaveFlowToward(blockEntity.getBlockState(), d)) interfaces.remove(d); else interfaces.computeIfAbsent(d, PipeConnection::new); @@ -221,7 +221,7 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour { createConnectionData(); interfaces.values() .forEach(PipeConnection::wipePressure); - tileEntity.sendData(); + blockEntity.sendData(); } private void createConnectionData() { @@ -229,7 +229,7 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour { return; interfaces = new IdentityHashMap<>(); for (Direction d : Iterate.directions) - if (canHaveFlowToward(tileEntity.getBlockState(), d)) + if (canHaveFlowToward(blockEntity.getBlockState(), d)) interfaces.put(d, new PipeConnection(d)); } @@ -294,14 +294,14 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour { new WorldAttached<>($ -> new HashMap<>()); public static void cacheFlows(LevelAccessor world, BlockPos pos) { - FluidTransportBehaviour pipe = TileEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE); + FluidTransportBehaviour pipe = BlockEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE); if (pipe != null) interfaceTransfer.get(world) .put(pos, pipe.interfaces); } public static void loadFlows(LevelAccessor world, BlockPos pos) { - FluidTransportBehaviour newPipe = TileEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE); + FluidTransportBehaviour newPipe = BlockEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE); if (newPipe != null) newPipe.interfaces = interfaceTransfer.get(world) .remove(pos); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java index bc4059b73..c9a5ebdf9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java @@ -120,9 +120,9 @@ public class OpenEndedPipe extends FlowSource { return compound; } - public static OpenEndedPipe fromNBT(CompoundTag compound, BlockPos tilePos) { + public static OpenEndedPipe fromNBT(CompoundTag compound, BlockPos blockEntityPos) { BlockFace fromNBT = BlockFace.fromNBT(compound.getCompound("Location")); - OpenEndedPipe oep = new OpenEndedPipe(new BlockFace(tilePos, fromNBT.getFace())); + OpenEndedPipe oep = new OpenEndedPipe(new BlockFace(blockEntityPos, fromNBT.getFace())); oep.fluidHandler.readFromNBT(compound); oep.wasPulling = compound.getBoolean("Pulling"); return oep; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java index 5e143089a..0e2eec35f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java @@ -9,9 +9,9 @@ import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour.AttachmentTypes; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour.AttachmentTypes.ComponentPartials; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; -import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedBlockEntityBehaviour; import com.simibubi.create.foundation.block.connected.BakedModelWrapperWithData; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.client.Minecraft; @@ -35,10 +35,10 @@ public class PipeAttachmentModel extends BakedModelWrapperWithData { @Override protected Builder gatherModelData(Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state, - IModelData tileData) { + IModelData blockEntityData) { PipeModelData data = new PipeModelData(); - FluidTransportBehaviour transport = TileEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE); - BracketedTileEntityBehaviour bracket = TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE); + FluidTransportBehaviour transport = BlockEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE); + BracketedBlockEntityBehaviour bracket = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); if (transport != null) for (Direction d : Iterate.directions) diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java index b51f5b698..d1961bf7b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java @@ -4,7 +4,7 @@ import java.util.Optional; import java.util.Random; import java.util.function.Predicate; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.BlockFace; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.Iterate; @@ -179,7 +179,7 @@ public class PipeConnection { } FluidTransportBehaviour behaviour = - TileEntityBehaviour.get(world, relative, FluidTransportBehaviour.TYPE); + BlockEntityBehaviour.get(world, relative, FluidTransportBehaviour.TYPE); source = Optional.of(behaviour == null ? new FlowSource.Blocked(location) : new FlowSource.OtherPipe(location)); return true; } @@ -237,7 +237,7 @@ public class PipeConnection { return source.orElse(null) instanceof OpenEndedPipe; } - public void deserializeNBT(CompoundTag tag, BlockPos tilePos, boolean clientPacket) { + public void deserializeNBT(CompoundTag tag, BlockPos blockEntityPos, boolean clientPacket) { CompoundTag connectionData = tag.getCompound(side.getName()); if (connectionData.contains("Pressure")) { @@ -248,7 +248,7 @@ public class PipeConnection { source = Optional.empty(); if (connectionData.contains("OpenEnd")) - source = Optional.of(OpenEndedPipe.fromNBT(connectionData.getCompound("OpenEnd"), tilePos)); + source = Optional.of(OpenEndedPipe.fromNBT(connectionData.getCompound("OpenEnd"), blockEntityPos)); if (connectionData.contains("Flow")) { CompoundTag flowData = connectionData.getCompound("Flow"); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpBlock.java index f437a3893..681d2cc17 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpBlock.java @@ -2,12 +2,12 @@ package com.simibubi.create.content.contraptions.fluids; import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; import com.simibubi.create.foundation.utility.Iterate; @@ -37,7 +37,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.ticks.TickPriority; public class PumpBlock extends DirectionalKineticBlock - implements SimpleWaterloggedBlock, ICogWheel, ITE { + implements SimpleWaterloggedBlock, ICogWheel, IBE { public PumpBlock(Properties p_i48415_1_) { super(p_i48415_1_); @@ -137,10 +137,10 @@ public class PumpBlock extends DirectionalKineticBlock if (isPump(state) && isPump(oldState) && state.getValue(FACING) == oldState.getValue(FACING) .getOpposite()) { - BlockEntity tileEntity = world.getBlockEntity(pos); - if (!(tileEntity instanceof PumpTileEntity)) + BlockEntity blockEntity = world.getBlockEntity(pos); + if (!(blockEntity instanceof PumpBlockEntity)) return; - PumpTileEntity pump = (PumpTileEntity) tileEntity; + PumpBlockEntity pump = (PumpBlockEntity) blockEntity; pump.pressureUpdate = true; } } @@ -169,13 +169,13 @@ public class PumpBlock extends DirectionalKineticBlock } @Override - public Class getTileEntityClass() { - return PumpTileEntity.class; + public Class getBlockEntityClass() { + return PumpBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.MECHANICAL_PUMP.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.MECHANICAL_PUMP.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpBlockEntity.java similarity index 92% rename from src/main/java/com/simibubi/create/content/contraptions/fluids/PumpTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/fluids/PumpBlockEntity.java index 94c155f01..c1dfb23da 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpBlockEntity.java @@ -13,10 +13,10 @@ import javax.annotation.Nullable; import org.apache.commons.lang3.mutable.MutableBoolean; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.BlockFace; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.Iterate; @@ -36,14 +36,14 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.fluids.capability.IFluidHandler; -public class PumpTileEntity extends KineticTileEntity { +public class PumpBlockEntity extends KineticBlockEntity { LerpedFloat arrowDirection; Couple sidesToUpdate; boolean pressureUpdate; boolean reversed; - public PumpTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public PumpBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); arrowDirection = LerpedFloat.linear() .startWithValue(1); @@ -51,7 +51,7 @@ public class PumpTileEntity extends KineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); behaviours.add(new PumpFluidTransferBehaviour(this)); registerAwardables(behaviours, FluidPropagator.getSharedTriggers()); @@ -282,14 +282,14 @@ public class PumpTileEntity extends KineticTileEntity { private boolean hasReachedValidEndpoint(LevelAccessor world, BlockFace blockFace, boolean pull) { BlockPos connectedPos = blockFace.getConnectedPos(); BlockState connectedState = world.getBlockState(connectedPos); - BlockEntity tileEntity = world.getBlockEntity(connectedPos); + BlockEntity blockEntity = world.getBlockEntity(connectedPos); Direction face = blockFace.getFace(); // facing a pump if (PumpBlock.isPump(connectedState) && connectedState.getValue(PumpBlock.FACING) - .getAxis() == face.getAxis() && tileEntity instanceof PumpTileEntity) { - PumpTileEntity pumpTE = (PumpTileEntity) tileEntity; - return pumpTE.isPullingOnSide(pumpTE.isFront(blockFace.getOppositeFace())) != pull; + .getAxis() == face.getAxis() && blockEntity instanceof PumpBlockEntity) { + PumpBlockEntity pumpBE = (PumpBlockEntity) blockEntity; + return pumpBE.isPullingOnSide(pumpBE.isFront(blockFace.getOppositeFace())) != pull; } // other pipe, no endpoint @@ -298,9 +298,9 @@ public class PumpTileEntity extends KineticTileEntity { return false; // fluid handler endpoint - if (tileEntity != null) { + if (blockEntity != null) { LazyOptional capability = - tileEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, face.getOpposite()); + blockEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, face.getOpposite()); if (capability.isPresent()) return true; } @@ -364,8 +364,8 @@ public class PumpTileEntity extends KineticTileEntity { class PumpFluidTransferBehaviour extends FluidTransportBehaviour { - public PumpFluidTransferBehaviour(SmartTileEntity te) { - super(te); + public PumpFluidTransferBehaviour(SmartBlockEntity be) { + super(be); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpCogInstance.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpCogInstance.java index 6d85b1fc0..40bdc256a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpCogInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpCogInstance.java @@ -18,12 +18,12 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; public class PumpCogInstance extends SingleRotatingInstance implements DynamicInstance { - private final PumpTileEntity blockEntity = (PumpTileEntity) super.blockEntity; + private final PumpBlockEntity blockEntity = (PumpBlockEntity) super.blockEntity; private final ModelData[] arrows = new ModelData[2]; private final Direction direction = blockState.getValue(PumpBlock.FACING); - public PumpCogInstance(MaterialManager modelManager, PumpTileEntity tile) { - super(modelManager, tile); + public PumpCogInstance(MaterialManager materialManager, PumpBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpRenderer.java index 23e41b42a..6aca7f77e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpRenderer.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.contraptions.fluids; import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -17,21 +17,21 @@ import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class PumpRenderer extends KineticTileEntityRenderer { +public class PumpRenderer extends KineticBlockEntityRenderer { public PumpRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); - if (Backend.canUseInstancing(te.getLevel())) return; - if (!(te instanceof PumpTileEntity pump)) + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + if (Backend.canUseInstancing(be.getLevel())) return; + if (!(be instanceof PumpBlockEntity pump)) return; Vec3 rotationOffset = new Vec3(.5, 14 / 16f, .5); - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); float angle = Mth.lerp(pump.arrowDirection.getValue(partialTicks), 0, 90) - 90; SuperByteBuffer arrow = CachedBufferer.partial(AllBlockPartials.MECHANICAL_PUMP_ARROW, blockState); for (float yRot : new float[] { 0, 90 }) { @@ -50,7 +50,7 @@ public class PumpRenderer extends KineticTileEntityRenderer { } @Override - protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be, BlockState state) { return CachedBufferer.partialFacing(AllBlockPartials.MECHANICAL_PUMP_COG, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java index 25d568bf1..e69476af3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java @@ -9,9 +9,9 @@ import java.util.Set; import javax.annotation.Nullable; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.fluid.FluidHelper; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.utility.BBHelper; import com.simibubi.create.foundation.utility.Iterate; @@ -47,8 +47,8 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { Set validationVisited; Set newValidationSet; - public FluidDrainingBehaviour(SmartTileEntity te) { - super(te); + public FluidDrainingBehaviour(SmartBlockEntity be) { + super(be); validationVisited = new HashSet<>(); validationFrontier = new ArrayList<>(); validationSet = new HashSet<>(); @@ -102,7 +102,7 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { fluid = flowingFluid.getFluid(); else { affectedArea = BBHelper.encapsulate(affectedArea, BoundingBox.fromCorners(currentPos, currentPos)); - if (!tileEntity.isVirtual()) + if (!blockEntity.isVirtual()) world.setBlock(currentPos, emptied, 2 | 16); queue.dequeue(); if (queue.isEmpty()) { @@ -135,15 +135,15 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { return true; playEffect(world, currentPos, fluid, true); - tileEntity.award(AllAdvancements.HOSE_PULLEY); + blockEntity.award(AllAdvancements.HOSE_PULLEY); if (infinite) { if (FluidHelper.isLava(fluid)) - tileEntity.award(AllAdvancements.HOSE_PULLEY_LAVA); + blockEntity.award(AllAdvancements.HOSE_PULLEY_LAVA); return true; } - if (!tileEntity.isVirtual()) + if (!blockEntity.isVirtual()) world.setBlock(currentPos, emptied, 2 | 16); affectedArea = BBHelper.encapsulate(affectedArea, currentPos); @@ -176,12 +176,12 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { infinite = false; setValidationTimer(); frontier.add(new BlockPosEntry(root, 0)); - tileEntity.sendData(); + blockEntity.sendData(); } protected boolean checkValid(Level world, BlockPos root) { BlockPos currentPos = root; - for (int timeout = 1000; timeout > 0 && !root.equals(tileEntity.getBlockPos()); timeout--) { + for (int timeout = 1000; timeout > 0 && !root.equals(blockEntity.getBlockPos()); timeout--) { FluidBlockType canPullFluidsFrom = canPullFluidsFrom(world.getBlockState(currentPos), currentPos); if (canPullFluidsFrom == FluidBlockType.FLOWING) { for (Direction d : Iterate.directions) { @@ -268,7 +268,7 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { validationSet.add(e); }, false); } catch (ChunkNotLoadedException e) { - tileEntity.sendData(); + blockEntity.sendData(); frontier.clear(); visited.clear(); } @@ -291,14 +291,14 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { visited.clear(); queue.clear(); queue.enqueue(new BlockPosEntry(firstValid, 0)); - tileEntity.sendData(); + blockEntity.sendData(); return; } if (!frontier.isEmpty()) return; - tileEntity.sendData(); + blockEntity.sendData(); visited.clear(); } @@ -344,7 +344,7 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { newValidationSet.clear(); validationFrontier.clear(); validationVisited.clear(); - tileEntity.sendData(); + blockEntity.sendData(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidFillingBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidFillingBehaviour.java index 3bb5fb369..e0b9739c5 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidFillingBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidFillingBehaviour.java @@ -7,10 +7,10 @@ import java.util.Objects; import java.util.Set; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.fluid.FluidHelper; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.utility.BBHelper; import com.simibubi.create.foundation.utility.Iterate; @@ -49,8 +49,8 @@ public class FluidFillingBehaviour extends FluidManipulationBehaviour { List infinityCheckFrontier; Set infinityCheckVisited; - public FluidFillingBehaviour(SmartTileEntity te) { - super(te); + public FluidFillingBehaviour(SmartBlockEntity be) { + super(be); queue = new ObjectHeapPriorityQueue<>((p, p2) -> -comparePositions(p, p2)); revalidateIn = 1; infinityCheckFrontier = new ArrayList<>(); @@ -87,7 +87,7 @@ public class FluidFillingBehaviour extends FluidManipulationBehaviour { if (!infinite) { reset(); infinite = true; - tileEntity.sendData(); + blockEntity.sendData(); } infinityCheckFrontier.clear(); setLongValidationTimer(); @@ -155,7 +155,7 @@ public class FluidFillingBehaviour extends FluidManipulationBehaviour { world.playSound(null, i, j, k, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F); } else if (!canPlaceSources) - tileEntity.award(AllAdvancements.HOSE_PULLEY); + blockEntity.award(AllAdvancements.HOSE_PULLEY); return true; } @@ -191,13 +191,13 @@ public class FluidFillingBehaviour extends FluidManipulationBehaviour { BlockState blockState = world.getBlockState(currentPos); if (blockState.hasProperty(BlockStateProperties.WATERLOGGED) && fluid.isSame(Fluids.WATER)) { - if (!tileEntity.isVirtual()) + if (!blockEntity.isVirtual()) world.setBlock(currentPos, updatePostWaterlogging(blockState.setValue(BlockStateProperties.WATERLOGGED, true)), 2 | 16); } else { replaceBlock(world, currentPos, blockState); - if (!tileEntity.isVirtual()) + if (!blockEntity.isVirtual()) world.setBlock(currentPos, FluidHelper.convertToStill(fluid) .defaultFluidState() .createLegacyBlock(), 2 | 16); @@ -236,7 +236,7 @@ public class FluidFillingBehaviour extends FluidManipulationBehaviour { } if (!simulate && success) - tileEntity.award(AllAdvancements.HOSE_PULLEY); + blockEntity.award(AllAdvancements.HOSE_PULLEY); return success; } @@ -246,7 +246,7 @@ public class FluidFillingBehaviour extends FluidManipulationBehaviour { queue.enqueue(new BlockPosEntry(root, 0)); infinite = false; setValidationTimer(); - tileEntity.sendData(); + blockEntity.sendData(); } enum SpaceType { @@ -276,8 +276,8 @@ public class FluidFillingBehaviour extends FluidManipulationBehaviour { } protected void replaceBlock(Level world, BlockPos pos, BlockState state) { - BlockEntity tileentity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null; - Block.dropResources(state, world, pos, tileentity); + BlockEntity blockEntity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null; + Block.dropResources(state, world, pos, blockEntity); } // From FlowingFluidBlock#isBlocked diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidManipulationBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidManipulationBehaviour.java index 1d2df5e65..70a6f4356 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidManipulationBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidManipulationBehaviour.java @@ -8,11 +8,11 @@ import java.util.function.BiConsumer; import java.util.function.Predicate; import com.simibubi.create.AllTags.AllFluidTags; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -34,7 +34,7 @@ import net.minecraft.world.level.material.FluidState; import net.minecraft.world.phys.Vec3; import net.minecraftforge.fluids.FluidStack; -public abstract class FluidManipulationBehaviour extends TileEntityBehaviour { +public abstract class FluidManipulationBehaviour extends BlockEntityBehaviour { public static record BlockPosEntry(BlockPos pos, int distance) { }; @@ -56,8 +56,8 @@ public abstract class FluidManipulationBehaviour extends TileEntityBehaviour { int revalidateIn; - public FluidManipulationBehaviour(SmartTileEntity te) { - super(te); + public FluidManipulationBehaviour(SmartBlockEntity be) { + super(be); setValidationTimer(); infinite = false; visited = new HashSet<>(); @@ -199,7 +199,7 @@ public abstract class FluidManipulationBehaviour extends TileEntityBehaviour { } protected void playEffect(Level world, BlockPos pos, Fluid fluid, boolean fillSound) { - BlockPos splooshPos = pos == null ? tileEntity.getBlockPos() : pos; + BlockPos splooshPos = pos == null ? blockEntity.getBlockPos() : pos; SoundEvent soundevent = fillSound ? fluid.getAttributes() .getFillSound() diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlock.java index 037835590..629e55d89 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlock.java @@ -1,9 +1,9 @@ package com.simibubi.create.content.contraptions.fluids.actors; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -14,7 +14,7 @@ import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class HosePulleyBlock extends HorizontalKineticBlock implements ITE { +public class HosePulleyBlock extends HorizontalKineticBlock implements IBE { public HosePulleyBlock(Properties properties) { super(properties); @@ -71,13 +71,13 @@ public class HosePulleyBlock extends HorizontalKineticBlock implements ITE getTileEntityClass() { - return HosePulleyTileEntity.class; + public Class getBlockEntityClass() { + return HosePulleyBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.HOSE_PULLEY.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.HOSE_PULLEY.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlockEntity.java similarity index 93% rename from src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlockEntity.java index 30e6c2282..d6380a9ea 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlockEntity.java @@ -2,11 +2,11 @@ package com.simibubi.create.content.contraptions.fluids.actors; import java.util.List; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.item.TooltipHelper; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.ServerSpeedProvider; import com.simibubi.create.foundation.utility.animation.LerpedFloat; @@ -22,7 +22,7 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; -public class HosePulleyTileEntity extends KineticTileEntity { +public class HosePulleyBlockEntity extends KineticBlockEntity { LerpedFloat offset; boolean isMoving; @@ -34,7 +34,7 @@ public class HosePulleyTileEntity extends KineticTileEntity { private HosePulleyFluidHandler handler; private boolean infinite; - public HosePulleyTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public HosePulleyBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); offset = LerpedFloat.linear() .startWithValue(0); @@ -60,7 +60,7 @@ public class HosePulleyTileEntity extends KineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { drainer = new FluidDrainingBehaviour(this); filler = new FluidFillingBehaviour(this); behaviours.add(drainer); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyRenderer.java index 5f14a97d9..b76374920 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyRenderer.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.fluids.actors; import com.jozufozu.flywheel.core.PartialModel; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.pulley.AbstractPulleyRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; @@ -17,8 +17,8 @@ public class HosePulleyRenderer extends AbstractPulleyRenderer { } @Override - protected Axis getShaftAxis(KineticTileEntity te) { - return te.getBlockState() + protected Axis getShaftAxis(KineticBlockEntity be) { + return be.getBlockState() .getValue(HosePulleyBlock.HORIZONTAL_FACING) .getClockWise() .getAxis(); @@ -30,22 +30,22 @@ public class HosePulleyRenderer extends AbstractPulleyRenderer { } @Override - protected SuperByteBuffer renderRope(KineticTileEntity te) { - return CachedBufferer.partial(AllBlockPartials.HOSE, te.getBlockState()); + protected SuperByteBuffer renderRope(KineticBlockEntity be) { + return CachedBufferer.partial(AllBlockPartials.HOSE, be.getBlockState()); } @Override - protected SuperByteBuffer renderMagnet(KineticTileEntity te) { - return CachedBufferer.partial(AllBlockPartials.HOSE_MAGNET, te.getBlockState()); + protected SuperByteBuffer renderMagnet(KineticBlockEntity be) { + return CachedBufferer.partial(AllBlockPartials.HOSE_MAGNET, be.getBlockState()); } @Override - protected float getOffset(KineticTileEntity te, float partialTicks) { - return ((HosePulleyTileEntity) te).getInterpolatedOffset(partialTicks); + protected float getOffset(KineticBlockEntity be, float partialTicks) { + return ((HosePulleyBlockEntity) be).getInterpolatedOffset(partialTicks); } @Override - protected boolean isRunning(KineticTileEntity te) { + protected boolean isRunning(KineticBlockEntity be) { return true; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainBlock.java index e7a76079a..11b5a90a8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainBlock.java @@ -1,13 +1,13 @@ package com.simibubi.create.content.contraptions.fluids.actors; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.processing.EmptyingByBasin; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.ComparatorUtil; import com.simibubi.create.foundation.fluid.FluidHelper; -import com.simibubi.create.foundation.tileEntity.ComparatorUtil; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -29,7 +29,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -public class ItemDrainBlock extends Block implements IWrenchable, ITE { +public class ItemDrainBlock extends Block implements IWrenchable, IBE { public ItemDrainBlock(Properties p_i48440_1_) { super(p_i48440_1_); @@ -45,28 +45,28 @@ public class ItemDrainBlock extends Block implements IWrenchable, ITE { + return onBlockEntityUse(worldIn, pos, be -> { if (!heldItem.isEmpty()) { - te.internalTank.allowInsertion(); - InteractionResult tryExchange = tryExchange(worldIn, player, handIn, heldItem, te); - te.internalTank.forbidInsertion(); + be.internalTank.allowInsertion(); + InteractionResult tryExchange = tryExchange(worldIn, player, handIn, heldItem, be); + be.internalTank.forbidInsertion(); if (tryExchange.consumesAction()) return tryExchange; } - ItemStack heldItemStack = te.getHeldItemStack(); + ItemStack heldItemStack = be.getHeldItemStack(); if (!worldIn.isClientSide && !heldItemStack.isEmpty()) { player.getInventory().placeItemBackInInventory(heldItemStack); - te.heldItem = null; - te.notifyUpdate(); + be.heldItem = null; + be.notifyUpdate(); } return InteractionResult.SUCCESS; }); } protected InteractionResult tryExchange(Level worldIn, Player player, InteractionHand handIn, ItemStack heldItem, - ItemDrainTileEntity te) { - if (FluidHelper.tryEmptyItemIntoTE(worldIn, player, handIn, heldItem, te)) + ItemDrainBlockEntity be) { + if (FluidHelper.tryEmptyItemIntoTE(worldIn, player, handIn, heldItem, be)) return InteractionResult.SUCCESS; if (EmptyingByBasin.canItemBeEmptied(worldIn, heldItem)) return InteractionResult.SUCCESS; @@ -83,8 +83,8 @@ public class ItemDrainBlock extends Block implements IWrenchable, ITE { - ItemStack heldItemStack = te.getHeldItemStack(); + withBlockEntityDo(worldIn, pos, be -> { + ItemStack heldItemStack = be.getHeldItemStack(); if (!heldItemStack.isEmpty()) Containers.dropItemStack(worldIn, pos.getX(), pos.getY(), pos.getZ(), heldItemStack); }); @@ -92,8 +92,8 @@ public class ItemDrainBlock extends Block implements IWrenchable, ITE getTileEntityClass() { - return ItemDrainTileEntity.class; + public Class getBlockEntityClass() { + return ItemDrainBlockEntity.class; } @Override @@ -103,8 +103,8 @@ public class ItemDrainBlock extends Block implements IWrenchable, ITE getTileEntityType() { - return AllTileEntities.ITEM_DRAIN.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ITEM_DRAIN.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainBlockEntity.java similarity index 92% rename from src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainBlockEntity.java index 2e9414ebf..3919f4b9c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainBlockEntity.java @@ -8,10 +8,10 @@ import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; import com.simibubi.create.content.contraptions.processing.EmptyingByBasin; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Pair; @@ -33,7 +33,7 @@ import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; import net.minecraftforge.items.ItemHandlerHelper; -public class ItemDrainTileEntity extends SmartTileEntity implements IHaveGoggleInformation { +public class ItemDrainBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { public static final int FILLING_TIME = 20; @@ -42,7 +42,7 @@ public class ItemDrainTileEntity extends SmartTileEntity implements IHaveGoggleI protected int processingTicks; Map> itemHandlers; - public ItemDrainTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public ItemDrainBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); itemHandlers = new IdentityHashMap<>(); for (Direction d : Iterate.horizontalDirections) { @@ -52,7 +52,7 @@ public class ItemDrainTileEntity extends SmartTileEntity implements IHaveGoggleI } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(new DirectBeltInputBehaviour(this).allowingBeltFunnels() .setInsertionHandler(this::tryInsertingFromSide)); behaviours.add(internalTank = SmartFluidTankBehaviour.single(this, 1500) @@ -148,7 +148,7 @@ public class ItemDrainTileEntity extends SmartTileEntity implements IHaveGoggleI BlockPos nextPosition = worldPosition.relative(side); DirectBeltInputBehaviour directBeltInputBehaviour = - TileEntityBehaviour.get(level, nextPosition, DirectBeltInputBehaviour.TYPE); + BlockEntityBehaviour.get(level, nextPosition, DirectBeltInputBehaviour.TYPE); if (directBeltInputBehaviour == null) { if (!BlockHelper.hasBlockSolidSide(level.getBlockState(nextPosition), level, nextPosition, side.getOpposite())) { @@ -179,7 +179,7 @@ public class ItemDrainTileEntity extends SmartTileEntity implements IHaveGoggleI ItemStack returned = directBeltInputBehaviour.handleInsertion(heldItem.copy(), side, false); if (returned.isEmpty()) { - if (level.getBlockEntity(nextPosition) instanceof ItemDrainTileEntity) + if (level.getBlockEntity(nextPosition) instanceof ItemDrainBlockEntity) award(AllAdvancements.CHAINED_DRAIN); heldItem = null; notifyUpdate(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainItemHandler.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainItemHandler.java index d04a6316a..42a2017d8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainItemHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainItemHandler.java @@ -10,11 +10,11 @@ import net.minecraftforge.items.ItemHandlerHelper; public class ItemDrainItemHandler implements IItemHandler { - private ItemDrainTileEntity te; + private ItemDrainBlockEntity blockEntity; private Direction side; - public ItemDrainItemHandler(ItemDrainTileEntity te, Direction side) { - this.te = te; + public ItemDrainItemHandler(ItemDrainBlockEntity be, Direction side) { + this.blockEntity = be; this.side = side; } @@ -25,17 +25,17 @@ public class ItemDrainItemHandler implements IItemHandler { @Override public ItemStack getStackInSlot(int slot) { - return te.getHeldItemStack(); + return blockEntity.getHeldItemStack(); } @Override public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { - if (!te.getHeldItemStack() + if (!blockEntity.getHeldItemStack() .isEmpty()) return stack; ItemStack returned = ItemStack.EMPTY; - if (stack.getCount() > 1 && EmptyingByBasin.canItemBeEmptied(te.getLevel(), stack)) { + if (stack.getCount() > 1 && EmptyingByBasin.canItemBeEmptied(blockEntity.getLevel(), stack)) { returned = ItemHandlerHelper.copyStackWithSize(stack, stack.getCount() - 1); stack = ItemHandlerHelper.copyStackWithSize(stack, 1); } @@ -43,8 +43,8 @@ public class ItemDrainItemHandler implements IItemHandler { if (!simulate) { TransportedItemStack heldItem = new TransportedItemStack(stack); heldItem.prevBeltPosition = 0; - te.setHeldItem(heldItem, side.getOpposite()); - te.notifyUpdate(); + blockEntity.setHeldItem(heldItem, side.getOpposite()); + blockEntity.notifyUpdate(); } return returned; @@ -52,17 +52,17 @@ public class ItemDrainItemHandler implements IItemHandler { @Override public ItemStack extractItem(int slot, int amount, boolean simulate) { - TransportedItemStack held = te.heldItem; + TransportedItemStack held = blockEntity.heldItem; if (held == null) return ItemStack.EMPTY; ItemStack stack = held.stack.copy(); ItemStack extracted = stack.split(amount); if (!simulate) { - te.heldItem.stack = stack; + blockEntity.heldItem.stack = stack; if (stack.isEmpty()) - te.heldItem = null; - te.notifyUpdate(); + blockEntity.heldItem = null; + blockEntity.notifyUpdate(); } return extracted; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainRenderer.java index 0b6c9e33f..eb6340f9a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainRenderer.java @@ -8,10 +8,10 @@ import com.mojang.math.Vector3f; import com.simibubi.create.content.contraptions.processing.EmptyingByBasin; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; +import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import com.simibubi.create.foundation.fluid.FluidRenderer; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; -import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.client.Minecraft; @@ -28,28 +28,28 @@ import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import net.minecraftforge.fluids.FluidStack; -public class ItemDrainRenderer extends SmartTileEntityRenderer { +public class ItemDrainRenderer extends SmartBlockEntityRenderer { public ItemDrainRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(ItemDrainTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(ItemDrainBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); - renderFluid(te, partialTicks, ms, buffer, light); - renderItem(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + renderFluid(be, partialTicks, ms, buffer, light); + renderItem(be, partialTicks, ms, buffer, light, overlay); } - protected void renderItem(ItemDrainTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderItem(ItemDrainBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - TransportedItemStack transported = te.heldItem; + TransportedItemStack transported = be.heldItem; if (transported == null) return; TransformStack msr = TransformStack.cast(ms); - Vec3 itemPosition = VecHelper.getCenterOf(te.getBlockPos()); + Vec3 itemPosition = VecHelper.getCenterOf(be.getBlockPos()); Direction insertedFrom = transported.insertedFrom; if (!insertedFrom.getAxis() @@ -131,9 +131,9 @@ public class ItemDrainRenderer extends SmartTileEntityRenderer { +public class SpoutBlock extends Block implements IWrenchable, IBE { public SpoutBlock(Properties p_i48440_1_) { super(p_i48440_1_); @@ -53,13 +53,13 @@ public class SpoutBlock extends Block implements IWrenchable, ITE getTileEntityClass() { - return SpoutTileEntity.class; + public Class getBlockEntityClass() { + return SpoutBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.SPOUT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.SPOUT.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutBlockEntity.java similarity index 87% rename from src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutBlockEntity.java index 56525f5f5..d2a85ff60 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutBlockEntity.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.fluids.actors; -import static com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult.HOLD; -import static com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult.PASS; +import static com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult.HOLD; +import static com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult.PASS; import java.util.ArrayList; import java.util.List; @@ -13,14 +13,14 @@ import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; import com.simibubi.create.foundation.fluid.FluidHelper; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -39,7 +39,7 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -public class SpoutTileEntity extends SmartTileEntity implements IHaveGoggleInformation { +public class SpoutBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { public static final int FILLING_TIME = 20; protected BeltProcessingBehaviour beltProcessing; @@ -52,7 +52,7 @@ public class SpoutTileEntity extends SmartTileEntity implements IHaveGoggleInfor private boolean createdSweetRoll, createdHoneyApple, createdChocolateBerries; - public SpoutTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SpoutBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); processingTicks = -1; } @@ -63,7 +63,7 @@ public class SpoutTileEntity extends SmartTileEntity implements IHaveGoggleInfor } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { tank = SmartFluidTankBehaviour.single(this, 1000); behaviours.add(tank); @@ -76,7 +76,7 @@ public class SpoutTileEntity extends SmartTileEntity implements IHaveGoggleInfor protected ProcessingResult onItemReceived(TransportedItemStack transported, TransportedItemStackHandlerBehaviour handler) { - if (handler.tileEntity.isVirtual()) + if (handler.blockEntity.isVirtual()) return PASS; if (!FillingBySpout.canItemBeFilled(level, transported.stack)) return PASS; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutRenderer.java index cc6443589..04c82b0c5 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutRenderer.java @@ -3,11 +3,11 @@ package com.simibubi.create.content.contraptions.fluids.actors; import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.fluid.FluidRenderer; import com.simibubi.create.foundation.render.CachedBufferer; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; @@ -16,7 +16,7 @@ import net.minecraft.util.Mth; import net.minecraft.world.phys.AABB; import net.minecraftforge.fluids.FluidStack; -public class SpoutRenderer extends SafeTileEntityRenderer { +public class SpoutRenderer extends SafeBlockEntityRenderer { public SpoutRenderer(BlockEntityRendererProvider.Context context) { } @@ -25,10 +25,10 @@ public class SpoutRenderer extends SafeTileEntityRenderer { { AllBlockPartials.SPOUT_TOP, AllBlockPartials.SPOUT_MIDDLE, AllBlockPartials.SPOUT_BOTTOM }; @Override - protected void renderSafe(SpoutTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(SpoutBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - SmartFluidTankBehaviour tank = te.tank; + SmartFluidTankBehaviour tank = be.tank; if (tank == null) return; @@ -49,7 +49,7 @@ public class SpoutRenderer extends SafeTileEntityRenderer { ms.popPose(); } - int processingTicks = te.processingTicks; + int processingTicks = be.processingTicks; float processingPT = processingTicks - partialTicks; float processingProgress = 1 - (processingPT - 5) / 10; processingProgress = Mth.clamp(processingProgress, 0, 1); @@ -72,7 +72,7 @@ public class SpoutRenderer extends SafeTileEntityRenderer { ms.pushPose(); for (PartialModel bit : BITS) { - CachedBufferer.partial(bit, te.getBlockState()) + CachedBufferer.partial(bit, be.getBlockState()) .light(light) .renderInto(ms, buffer.getBuffer(RenderType.solid())); ms.translate(0, -3 * squeeze / 32f, 0); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/particle/BasinFluidParticle.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/particle/BasinFluidParticle.java index decde4418..bc4dcef52 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/particle/BasinFluidParticle.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/particle/BasinFluidParticle.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.fluids.particle; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Quaternion; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.processing.BasinTileEntity; +import com.simibubi.create.content.contraptions.processing.BasinBlockEntity; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.client.Camera; @@ -61,9 +61,9 @@ public class BasinFluidParticle extends FluidStackParticle { return; } - BlockEntity tileEntity = level.getBlockEntity(basinPos); - if (tileEntity instanceof BasinTileEntity) { - float totalUnits = ((BasinTileEntity) tileEntity).getTotalFluidUnits(0); + BlockEntity blockEntity = level.getBlockEntity(basinPos); + if (blockEntity instanceof BasinBlockEntity) { + float totalUnits = ((BasinBlockEntity) blockEntity).getTotalFluidUnits(0); if (totalUnits < 1) totalUnits = 0; float fluidLevel = Mth.clamp(totalUnits / 2000, 0, 1); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/AxisPipeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/AxisPipeBlock.java index 1bcb6bbb1..3a0cbfef6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/AxisPipeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/AxisPipeBlock.java @@ -8,10 +8,10 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; -import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedBlockEntityBehaviour; import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -134,7 +134,7 @@ public class AxisPipeBlock extends RotatedPillarBlock implements IWrenchableWith @Override public Optional removeBracket(BlockGetter world, BlockPos pos, boolean inOnReplacedContext) { - BracketedTileEntityBehaviour behaviour = TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE); + BracketedBlockEntityBehaviour behaviour = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); if (behaviour == null) return Optional.empty(); BlockState bracket = behaviour.removeBracket(inOnReplacedContext); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlockItem.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlockItem.java index 71cfe2755..61caa8059 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlockItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlockItem.java @@ -2,8 +2,8 @@ package com.simibubi.create.content.contraptions.fluids.pipes; import java.util.Optional; -import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedBlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -31,7 +31,7 @@ public class BracketBlockItem extends BlockItem { BracketBlock bracketBlock = getBracketBlock(); Player player = context.getPlayer(); - BracketedTileEntityBehaviour behaviour = TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE); + BracketedBlockEntityBehaviour behaviour = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); if (behaviour == null) return InteractionResult.FAIL; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/EncasedPipeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/EncasedPipeBlock.java index e5ed9a422..d7b06ee21 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/EncasedPipeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/EncasedPipeBlock.java @@ -10,15 +10,15 @@ import static net.minecraft.world.level.block.state.properties.BlockStatePropert import java.util.Map; import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -42,7 +42,7 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.phys.HitResult; import net.minecraft.world.ticks.TickPriority; -public class EncasedPipeBlock extends Block implements IWrenchable, ISpecialBlockItemRequirement, ITE { +public class EncasedPipeBlock extends Block implements IWrenchable, ISpecialBlockItemRequirement, IBE { public static final Map FACING_TO_PROPERTY_MAP = PipeBlock.PROPERTY_BY_DIRECTION; @@ -140,18 +140,18 @@ public class EncasedPipeBlock extends Block implements IWrenchable, ISpecialBloc } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { - return ItemRequirement.of(AllBlocks.FLUID_PIPE.getDefaultState(), te); + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { + return ItemRequirement.of(AllBlocks.FLUID_PIPE.getDefaultState(), be); } @Override - public Class getTileEntityClass() { - return FluidPipeTileEntity.class; + public Class getBlockEntityClass() { + return FluidPipeBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ENCASED_FLUID_PIPE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ENCASED_FLUID_PIPE.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java index b9d8d4be0..60c28fc15 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java @@ -6,16 +6,16 @@ import java.util.Random; import javax.annotation.Nullable; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; -import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedBlockEntityBehaviour; import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.block.ITE; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -50,7 +50,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.ticks.TickPriority; public class FluidPipeBlock extends PipeBlock - implements SimpleWaterloggedBlock, IWrenchableWithBracket, ITE { + implements SimpleWaterloggedBlock, IWrenchableWithBracket, IBE { private static final VoxelShape OCCLUSION_BOX = Block.box(4, 4, 4, 12, 12, 12); @@ -90,7 +90,7 @@ public class FluidPipeBlock extends PipeBlock if (clickedFace.getAxis() == axis) return InteractionResult.PASS; if (!world.isClientSide) { - withTileEntityDo(world, pos, fpte -> fpte.getBehaviour(FluidTransportBehaviour.TYPE).interfaces.values() + withBlockEntityDo(world, pos, fpte -> fpte.getBehaviour(FluidTransportBehaviour.TYPE).interfaces.values() .stream() .filter(pc -> pc != null && pc.hasFlow()) .findAny() @@ -185,9 +185,9 @@ public class FluidPipeBlock extends PipeBlock return true; if (VanillaFluidTargets.shouldPipesConnectTo(neighbour)) return true; - FluidTransportBehaviour transport = TileEntityBehaviour.get(world, neighbourPos, FluidTransportBehaviour.TYPE); - BracketedTileEntityBehaviour bracket = - TileEntityBehaviour.get(world, neighbourPos, BracketedTileEntityBehaviour.TYPE); + FluidTransportBehaviour transport = BlockEntityBehaviour.get(world, neighbourPos, FluidTransportBehaviour.TYPE); + BracketedBlockEntityBehaviour bracket = + BlockEntityBehaviour.get(world, neighbourPos, BracketedBlockEntityBehaviour.TYPE); if (isPipe(neighbour)) return bracket == null || !bracket.isBracketPresent() || FluidPropagator.getStraightPipeAxis(neighbour) == direction.getAxis(); @@ -259,7 +259,7 @@ public class FluidPipeBlock extends PipeBlock public BlockState updateBlockState(BlockState state, Direction preferredDirection, @Nullable Direction ignore, BlockAndTintGetter world, BlockPos pos) { - BracketedTileEntityBehaviour bracket = TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE); + BracketedBlockEntityBehaviour bracket = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); if (bracket != null && bracket.isBracketPresent()) return state; @@ -307,8 +307,8 @@ public class FluidPipeBlock extends PipeBlock @Override public Optional removeBracket(BlockGetter world, BlockPos pos, boolean inOnReplacedContext) { - BracketedTileEntityBehaviour behaviour = - BracketedTileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE); + BracketedBlockEntityBehaviour behaviour = + BracketedBlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); if (behaviour == null) return Optional.empty(); BlockState bracket = behaviour.removeBracket(inOnReplacedContext); @@ -323,13 +323,13 @@ public class FluidPipeBlock extends PipeBlock } @Override - public Class getTileEntityClass() { - return FluidPipeTileEntity.class; + public Class getBlockEntityClass() { + return FluidPipeBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.FLUID_PIPE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.FLUID_PIPE.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlockEntity.java similarity index 77% rename from src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlockEntity.java index d3a238a7a..329ae5353 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlockEntity.java @@ -7,9 +7,9 @@ import com.simibubi.create.content.contraptions.components.structureMovement.ITr import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; -import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedBlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -17,22 +17,22 @@ import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class FluidPipeTileEntity extends SmartTileEntity implements ITransformableTE { +public class FluidPipeBlockEntity extends SmartBlockEntity implements ITransformableTE { - public FluidPipeTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public FluidPipeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(new StandardPipeFluidTransportBehaviour(this)); - behaviours.add(new BracketedTileEntityBehaviour(this, this::canHaveBracket)); + behaviours.add(new BracketedBlockEntityBehaviour(this, this::canHaveBracket)); registerAwardables(behaviours, FluidPropagator.getSharedTriggers()); } @Override public void transform(StructureTransform transform) { - BracketedTileEntityBehaviour bracketBehaviour = getBehaviour(BracketedTileEntityBehaviour.TYPE); + BracketedBlockEntityBehaviour bracketBehaviour = getBehaviour(BracketedBlockEntityBehaviour.TYPE); if (bracketBehaviour != null) { bracketBehaviour.transformBracket(transform); } @@ -44,8 +44,8 @@ public class FluidPipeTileEntity extends SmartTileEntity implements ITransformab class StandardPipeFluidTransportBehaviour extends FluidTransportBehaviour { - public StandardPipeFluidTransportBehaviour(SmartTileEntity te) { - super(te); + public StandardPipeFluidTransportBehaviour(SmartBlockEntity be) { + super(be); } @Override @@ -65,7 +65,7 @@ public class FluidPipeTileEntity extends SmartTileEntity implements ITransformab if (attachment == AttachmentTypes.RIM && !FluidPipeBlock.isPipe(otherState) && !AllBlocks.MECHANICAL_PUMP.has(otherState) && !AllBlocks.ENCASED_FLUID_PIPE.has(otherState)) { FluidTransportBehaviour pipeBehaviour = - TileEntityBehaviour.get(world, offsetPos, FluidTransportBehaviour.TYPE); + BlockEntityBehaviour.get(world, offsetPos, FluidTransportBehaviour.TYPE); if (pipeBehaviour != null) if (pipeBehaviour.canHaveFlowToward(otherState, direction.getOpposite())) return AttachmentTypes.CONNECTION; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveBlock.java index d1ca9c1b8..e0524c453 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveBlock.java @@ -4,11 +4,11 @@ import java.util.Random; import javax.annotation.Nonnull; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; import com.simibubi.create.foundation.utility.Iterate; @@ -34,7 +34,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.ticks.TickPriority; public class FluidValveBlock extends DirectionalAxisKineticBlock - implements IAxisPipe, ITE, ProperWaterloggedBlock { + implements IAxisPipe, IBE, ProperWaterloggedBlock { public static final BooleanProperty ENABLED = BooleanProperty.create("enabled"); @@ -137,13 +137,13 @@ public class FluidValveBlock extends DirectionalAxisKineticBlock } @Override - public Class getTileEntityClass() { - return FluidValveTileEntity.class; + public Class getBlockEntityClass() { + return FluidValveBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.FLUID_VALVE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.FLUID_VALVE.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveBlockEntity.java similarity index 83% rename from src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveBlockEntity.java index 93d76fb9f..c3bd8a970 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveBlockEntity.java @@ -2,11 +2,11 @@ package com.simibubi.create.content.contraptions.fluids.pipes; import java.util.List; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; -import com.simibubi.create.content.contraptions.fluids.pipes.StraightPipeTileEntity.StraightPipeFluidTransportBehaviour; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.content.contraptions.fluids.pipes.StraightPipeBlockEntity.StraightPipeFluidTransportBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; @@ -18,11 +18,11 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.fluids.FluidStack; -public class FluidValveTileEntity extends KineticTileEntity { +public class FluidValveBlockEntity extends KineticBlockEntity { LerpedFloat pointer; - public FluidValveTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public FluidValveBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); pointer = LerpedFloat.linear() .startWithValue(0) @@ -77,15 +77,15 @@ public class FluidValveTileEntity extends KineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(new ValvePipeBehaviour(this)); registerAwardables(behaviours, FluidPropagator.getSharedTriggers()); } class ValvePipeBehaviour extends StraightPipeFluidTransportBehaviour { - public ValvePipeBehaviour(SmartTileEntity te) { - super(te); + public ValvePipeBehaviour(SmartBlockEntity be) { + super(be); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveInstance.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveInstance.java index d8d688604..0521ce9b1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveInstance.java @@ -5,8 +5,8 @@ import com.jozufozu.flywheel.api.instance.DynamicInstance; import com.jozufozu.flywheel.core.Materials; import com.jozufozu.flywheel.core.materials.model.ModelData; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -16,16 +16,16 @@ import net.minecraft.util.Mth; public class FluidValveInstance extends ShaftInstance implements DynamicInstance { - private final FluidValveTileEntity tile; + private final FluidValveBlockEntity blockEntity; protected ModelData pointer; protected final double xRot; protected final double yRot; protected final int pointerRotationOffset; - public FluidValveInstance(MaterialManager dispatcher, KineticTileEntity tile) { - super(dispatcher, tile); - this.tile = (FluidValveTileEntity) tile; + public FluidValveInstance(MaterialManager dispatcher, KineticBlockEntity blockEntity) { + super(dispatcher, blockEntity); + this.blockEntity = (FluidValveBlockEntity) blockEntity; Direction facing = blockState.getValue(FluidValveBlock.FACING); @@ -33,7 +33,7 @@ public class FluidValveInstance extends ShaftInstance implements DynamicInstance xRot = facing == Direction.UP ? 0 : facing == Direction.DOWN ? 180 : 90; Direction.Axis pipeAxis = FluidValveBlock.getPipeAxis(blockState); - Direction.Axis shaftAxis = KineticTileEntityRenderer.getRotationAxisOf(tile); + Direction.Axis shaftAxis = KineticBlockEntityRenderer.getRotationAxisOf(blockEntity); boolean twist = pipeAxis.isHorizontal() && shaftAxis == Direction.Axis.X || pipeAxis.isVertical(); pointerRotationOffset = twist ? 90 : 0; @@ -47,13 +47,13 @@ public class FluidValveInstance extends ShaftInstance implements DynamicInstance @Override public void beginFrame() { - if (tile.pointer.settled()) return; + if (blockEntity.pointer.settled()) return; transformPointer(); } private void transformPointer() { - float pointerRotation = Mth.lerp(tile.pointer.getValue(AnimationTickHolder.getPartialTicks()), 0, -90); + float pointerRotation = Mth.lerp(blockEntity.pointer.getValue(AnimationTickHolder.getPartialTicks()), 0, -90); pointer.loadIdentity() .translate(getInstancePosition()) diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveRenderer.java index 2b6404cfe..fc216226b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveRenderer.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.contraptions.fluids.pipes; import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -17,29 +17,29 @@ import net.minecraft.core.Direction.Axis; import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; -public class FluidValveRenderer extends KineticTileEntityRenderer { +public class FluidValveRenderer extends KineticBlockEntityRenderer { public FluidValveRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); - BlockState blockState = te.getBlockState(); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + BlockState blockState = be.getBlockState(); SuperByteBuffer pointer = CachedBufferer.partial(AllBlockPartials.FLUID_VALVE_POINTER, blockState); Direction facing = blockState.getValue(FluidValveBlock.FACING); - if (!(te instanceof FluidValveTileEntity valve)) + if (!(be instanceof FluidValveBlockEntity valve)) return; float pointerRotation = Mth.lerp(valve.pointer.getValue(partialTicks), 0, -90); Axis pipeAxis = FluidValveBlock.getPipeAxis(blockState); - Axis shaftAxis = KineticTileEntityRenderer.getRotationAxisOf(te); + Axis shaftAxis = KineticBlockEntityRenderer.getRotationAxisOf(be); int pointerRotationOffset = 0; if (pipeAxis.isHorizontal() && shaftAxis == Axis.X || pipeAxis.isVertical()) @@ -55,8 +55,8 @@ public class FluidValveRenderer extends KineticTileEntityRenderer { } @Override - protected BlockState getRenderedBlockState(KineticTileEntity te) { - return KineticTileEntityRenderer.shaft(KineticTileEntityRenderer.getRotationAxisOf(te)); + protected BlockState getRenderedBlockState(KineticBlockEntity be) { + return KineticBlockEntityRenderer.shaft(KineticBlockEntityRenderer.getRotationAxisOf(be)); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/GlassFluidPipeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/GlassFluidPipeBlock.java index 8b697039a..acf5586a2 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/GlassFluidPipeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/GlassFluidPipeBlock.java @@ -2,12 +2,12 @@ package com.simibubi.create.content.contraptions.fluids.pipes; import javax.annotation.ParametersAreNonnullByDefault; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; @@ -30,7 +30,7 @@ import net.minecraft.world.level.pathfinder.PathComputationType; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public class GlassFluidPipeBlock extends AxisPipeBlock implements ITE, SimpleWaterloggedBlock, ISpecialBlockItemRequirement { +public class GlassFluidPipeBlock extends AxisPipeBlock implements IBE, SimpleWaterloggedBlock, ISpecialBlockItemRequirement { public static final BooleanProperty ALT = BooleanProperty.create("alt"); @@ -74,8 +74,8 @@ public class GlassFluidPipeBlock extends AxisPipeBlock implements ITE getTileEntityClass() { - return StraightPipeTileEntity.class; + public Class getBlockEntityClass() { + return StraightPipeBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.GLASS_FLUID_PIPE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.GLASS_FLUID_PIPE.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/SmartFluidPipeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/SmartFluidPipeBlock.java index 687183242..99a64bda6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/SmartFluidPipeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/SmartFluidPipeBlock.java @@ -2,12 +2,12 @@ package com.simibubi.create.content.contraptions.fluids.pipes; import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.VoxelShaper; @@ -37,7 +37,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.ticks.TickPriority; public class SmartFluidPipeBlock extends FaceAttachedHorizontalDirectionalBlock - implements ITE, IAxisPipe, IWrenchable, ProperWaterloggedBlock { + implements IBE, IAxisPipe, IWrenchable, ProperWaterloggedBlock { public SmartFluidPipeBlock(Properties p_i48339_1_) { super(p_i48339_1_); @@ -175,13 +175,13 @@ public class SmartFluidPipeBlock extends FaceAttachedHorizontalDirectionalBlock } @Override - public Class getTileEntityClass() { - return SmartFluidPipeTileEntity.class; + public Class getBlockEntityClass() { + return SmartFluidPipeBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.SMART_FLUID_PIPE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.SMART_FLUID_PIPE.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/SmartFluidPipeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/SmartFluidPipeBlockEntity.java similarity index 81% rename from src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/SmartFluidPipeTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/SmartFluidPipeBlockEntity.java index b00346367..c1676c5ab 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/SmartFluidPipeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/SmartFluidPipeBlockEntity.java @@ -5,11 +5,11 @@ import java.util.List; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; -import com.simibubi.create.content.contraptions.fluids.pipes.StraightPipeTileEntity.StraightPipeFluidTransportBehaviour; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.content.contraptions.fluids.pipes.StraightPipeBlockEntity.StraightPipeFluidTransportBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -23,16 +23,16 @@ import net.minecraft.world.level.block.state.properties.AttachFace; import net.minecraft.world.phys.Vec3; import net.minecraftforge.fluids.FluidStack; -public class SmartFluidPipeTileEntity extends SmartTileEntity { +public class SmartFluidPipeBlockEntity extends SmartBlockEntity { private FilteringBehaviour filter; - public SmartFluidPipeTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SmartFluidPipeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(new SmartPipeBehaviour(this)); behaviours.add(filter = new FilteringBehaviour(this, new SmartPipeFilterSlot()).forFluids() .withCallback(this::onFilterChanged)); @@ -47,8 +47,8 @@ public class SmartFluidPipeTileEntity extends SmartTileEntity { class SmartPipeBehaviour extends StraightPipeFluidTransportBehaviour { - public SmartPipeBehaviour(SmartTileEntity te) { - super(te); + public SmartPipeBehaviour(SmartBlockEntity be) { + super(be); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeBlockEntity.java similarity index 78% rename from src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeBlockEntity.java index ec4101a09..03d5fb749 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeBlockEntity.java @@ -4,9 +4,9 @@ import java.util.List; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; -import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedBlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -15,23 +15,23 @@ import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class StraightPipeTileEntity extends SmartTileEntity { +public class StraightPipeBlockEntity extends SmartBlockEntity { - public StraightPipeTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public StraightPipeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(new StraightPipeFluidTransportBehaviour(this)); - behaviours.add(new BracketedTileEntityBehaviour(this)); + behaviours.add(new BracketedBlockEntityBehaviour(this)); registerAwardables(behaviours, FluidPropagator.getSharedTriggers()); } static class StraightPipeFluidTransportBehaviour extends FluidTransportBehaviour { - public StraightPipeFluidTransportBehaviour(SmartTileEntity te) { - super(te); + public StraightPipeFluidTransportBehaviour(SmartBlockEntity be) { + super(be); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/TransparentStraightPipeRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/TransparentStraightPipeRenderer.java index 76ed62dc4..7e28b732a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/TransparentStraightPipeRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/TransparentStraightPipeRenderer.java @@ -3,9 +3,9 @@ package com.simibubi.create.content.contraptions.fluids.pipes; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; import com.simibubi.create.content.contraptions.fluids.PipeConnection.Flow; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.fluid.FluidRenderer; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.animation.LerpedFloat; @@ -14,15 +14,15 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.core.Direction; import net.minecraftforge.fluids.FluidStack; -public class TransparentStraightPipeRenderer extends SafeTileEntityRenderer { +public class TransparentStraightPipeRenderer extends SafeBlockEntityRenderer { public TransparentStraightPipeRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(StraightPipeTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(StraightPipeBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - FluidTransportBehaviour pipe = te.getBehaviour(FluidTransportBehaviour.TYPE); + FluidTransportBehaviour pipe = be.getBehaviour(FluidTransportBehaviour.TYPE); if (pipe == null) return; @@ -46,7 +46,7 @@ public class TransparentStraightPipeRenderer extends SafeTileEntityRenderer type, BlockPos pos, BlockState state) { + public CreativeFluidTankBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankBlock.java index 901263a43..a497b2fa6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankBlock.java @@ -1,16 +1,16 @@ package com.simibubi.create.content.contraptions.fluids.tank; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.api.connectivity.ConnectivityHandler; import com.simibubi.create.content.contraptions.fluids.actors.GenericItemFilling; -import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity.CreativeSmartFluidTank; +import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankBlockEntity.CreativeSmartFluidTank; import com.simibubi.create.content.contraptions.processing.EmptyingByBasin; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.ComparatorUtil; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.fluid.FluidHelper.FluidExchange; -import com.simibubi.create.foundation.tileEntity.ComparatorUtil; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.core.BlockPos; @@ -57,7 +57,7 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.fluids.capability.IFluidHandler; -public class FluidTankBlock extends Block implements IWrenchable, ITE { +public class FluidTankBlock extends Block implements IWrenchable, IBE { public static final BooleanProperty TOP = BooleanProperty.create("top"); public static final BooleanProperty BOTTOM = BooleanProperty.create("bottom"); @@ -97,7 +97,7 @@ public class FluidTankBlock extends Block implements IWrenchable, ITE tankCapability = te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); + LazyOptional tankCapability = be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); if (!tankCapability.isPresent()) return InteractionResult.PASS; IFluidHandler fluidTank = tankCapability.orElse(null); FluidStack prevFluidInTank = fluidTank.getFluidInTank(0) .copy(); - if (FluidHelper.tryEmptyItemIntoTE(world, player, hand, heldItem, te)) + if (FluidHelper.tryEmptyItemIntoTE(world, player, hand, heldItem, be)) exchange = FluidExchange.ITEM_TO_TANK; - else if (FluidHelper.tryFillItemFromTE(world, player, hand, heldItem, te)) + else if (FluidHelper.tryFillItemFromTE(world, player, hand, heldItem, be)) exchange = FluidExchange.TANK_TO_ITEM; if (exchange == null) { @@ -220,7 +220,7 @@ public class FluidTankBlock extends Block implements IWrenchable, ITE getTileEntityClass() { - return FluidTankTileEntity.class; + public Class getBlockEntityClass() { + return FluidTankBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return creative ? AllTileEntities.CREATIVE_FLUID_TANK.get() : AllTileEntities.FLUID_TANK.get(); + public BlockEntityType getBlockEntityType() { + return creative ? AllBlockEntityTypes.CREATIVE_FLUID_TANK.get() : AllBlockEntityTypes.FLUID_TANK.get(); } @Override @@ -355,8 +355,8 @@ public class FluidTankBlock extends Block implements IWrenchable, ITE ComparatorUtil.fractionToRedstoneLevel(te.getFillState())) + return getBlockEntityOptional(worldIn, pos).map(FluidTankBlockEntity::getControllerBE) + .map(be -> ComparatorUtil.fractionToRedstoneLevel(be.getFillState())) .orElse(0); } @@ -364,13 +364,13 @@ public class FluidTankBlock extends Block implements IWrenchable, ITE type, BlockPos pos, BlockState state) { + public FluidTankBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); tankInventory = createInventory(); fluidCapability = LazyOptional.of(() -> tankInventory); @@ -153,7 +153,7 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI for (int xOffset = 0; xOffset < width; xOffset++) { for (int zOffset = 0; zOffset < width; zOffset++) { BlockPos pos = this.worldPosition.offset(xOffset, yOffset, zOffset); - FluidTankTileEntity tankAt = ConnectivityHandler.partAt(getType(), level, pos); + FluidTankBlockEntity tankAt = ConnectivityHandler.partAt(getType(), level, pos); if (tankAt == null) continue; level.updateNeighbourForOutputSignal(pos, tankAt.getBlockState() @@ -189,12 +189,12 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI @SuppressWarnings("unchecked") @Override - public FluidTankTileEntity getControllerTE() { + public FluidTankBlockEntity getControllerBE() { if (isController()) return this; - BlockEntity tileEntity = level.getBlockEntity(controller); - if (tileEntity instanceof FluidTankTileEntity) - return (FluidTankTileEntity) tileEntity; + BlockEntity blockEntity = level.getBlockEntity(controller); + if (blockEntity instanceof FluidTankBlockEntity) + return (FluidTankBlockEntity) blockEntity; return null; } @@ -232,21 +232,21 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI } public void toggleWindows() { - FluidTankTileEntity te = getControllerTE(); - if (te == null) + FluidTankBlockEntity be = getControllerBE(); + if (be == null) return; - if (te.boiler.isActive()) + if (be.boiler.isActive()) return; - te.setWindows(!te.window); + be.setWindows(!be.window); } public void updateBoilerTemperature() { - FluidTankTileEntity te = getControllerTE(); - if (te == null) + FluidTankBlockEntity be = getControllerBE(); + if (be == null) return; - if (!te.boiler.isActive()) + if (!be.boiler.isActive()) return; - te.boiler.needsHeatLevelUpdate = true; + be.boiler.needsHeatLevelUpdate = true; } public void sendDataImmediately() { @@ -315,7 +315,7 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI for (int xOffset = 0; xOffset < width; xOffset++) for (int zOffset = 0; zOffset < width; zOffset++) if (level.getBlockEntity( - worldPosition.offset(xOffset, yOffset, zOffset))instanceof FluidTankTileEntity fte) + worldPosition.offset(xOffset, yOffset, zOffset))instanceof FluidTankBlockEntity fte) fte.refreshCapability(); } @@ -345,7 +345,7 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI private IFluidHandler handlerForCapability() { return isController() ? boiler.isActive() ? boiler.createHandler() : tankInventory - : getControllerTE() != null ? getControllerTE().handlerForCapability() : new FluidTank(0); + : getControllerBE() != null ? getControllerBE().handlerForCapability() : new FluidTank(0); } @Override @@ -362,22 +362,22 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI } @Nullable - public FluidTankTileEntity getOtherFluidTankTileEntity(Direction direction) { - BlockEntity otherTE = level.getBlockEntity(worldPosition.relative(direction)); - if (otherTE instanceof FluidTankTileEntity) - return (FluidTankTileEntity) otherTE; + public FluidTankBlockEntity getOtherFluidTankBlockEntity(Direction direction) { + BlockEntity otherBE = level.getBlockEntity(worldPosition.relative(direction)); + if (otherBE instanceof FluidTankBlockEntity) + return (FluidTankBlockEntity) otherBE; return null; } @Override public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { - FluidTankTileEntity controllerTE = getControllerTE(); - if (controllerTE == null) + FluidTankBlockEntity controllerBE = getControllerBE(); + if (controllerBE == null) return false; - if (controllerTE.boiler.addToGoggleTooltip(tooltip, isPlayerSneaking, controllerTE.getTotalTankSize())) + if (controllerBE.boiler.addToGoggleTooltip(tooltip, isPlayerSneaking, controllerBE.getTotalTankSize())) return true; return containedFluidTooltip(tooltip, isPlayerSneaking, - controllerTE.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY)); + controllerBE.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY)); } @Override @@ -490,7 +490,7 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { registerAwardables(behaviours, AllAdvancements.STEAM_ENGINE_MAXED, AllAdvancements.PIPE_ORGAN); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankItem.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankItem.java index 22fb7387e..b2924e4b0 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankItem.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.fluids.tank; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.api.connectivity.ConnectivityHandler; import net.minecraft.core.BlockPos; @@ -49,7 +49,7 @@ public class FluidTankItem extends BlockItem { if (nbt.contains("TankContent")) { FluidStack fluid = FluidStack.loadFluidStackFromNBT(nbt.getCompound("TankContent")); if (!fluid.isEmpty()) { - fluid.setAmount(Math.min(FluidTankTileEntity.getCapacityMultiplier(), fluid.getAmount())); + fluid.setAmount(Math.min(FluidTankBlockEntity.getCapacityMultiplier(), fluid.getAmount())); nbt.put("TankContent", fluid.writeToNBT(new CompoundTag())); } } @@ -76,24 +76,24 @@ public class FluidTankItem extends BlockItem { if (!FluidTankBlock.isTank(placedOnState)) return; boolean creative = getBlock().equals(AllBlocks.CREATIVE_FLUID_TANK.get()); - FluidTankTileEntity tankAt = ConnectivityHandler.partAt( - creative ? AllTileEntities.CREATIVE_FLUID_TANK.get() : AllTileEntities.FLUID_TANK.get(), world, placedOnPos + FluidTankBlockEntity tankAt = ConnectivityHandler.partAt( + creative ? AllBlockEntityTypes.CREATIVE_FLUID_TANK.get() : AllBlockEntityTypes.FLUID_TANK.get(), world, placedOnPos ); if (tankAt == null) return; - FluidTankTileEntity controllerTE = tankAt.getControllerTE(); - if (controllerTE == null) + FluidTankBlockEntity controllerBE = tankAt.getControllerBE(); + if (controllerBE == null) return; - int width = controllerTE.width; + int width = controllerBE.width; if (width == 1) return; int tanksToPlace = 0; - BlockPos startPos = face == Direction.DOWN ? controllerTE.getBlockPos() + BlockPos startPos = face == Direction.DOWN ? controllerBE.getBlockPos() .below() - : controllerTE.getBlockPos() - .above(controllerTE.height); + : controllerBE.getBlockPos() + .above(controllerBE.height); if (startPos.getY() != pos.getY()) return; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankModel.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankModel.java index c6b25049c..a8d2ac913 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankModel.java @@ -43,11 +43,11 @@ public class FluidTankModel extends CTModel { @Override protected Builder gatherModelData(Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state, - IModelData tileData) { + IModelData blockEntityData) { CullData cullData = new CullData(); for (Direction d : Iterate.horizontalDirections) cullData.setCulled(d, ConnectivityHandler.isConnected(world, pos, pos.relative(d))); - return super.gatherModelData(builder, world, pos, state, tileData).withInitial(CULL_PROPERTY, cullData); + return super.gatherModelData(builder, world, pos, state, blockEntityData).withInitial(CULL_PROPERTY, cullData); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankRenderer.java index e4f2ae7e7..f4413d561 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankRenderer.java @@ -4,9 +4,9 @@ import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.fluid.FluidRenderer; import com.simibubi.create.foundation.render.CachedBufferer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.animation.LerpedFloat; @@ -19,36 +19,36 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.templates.FluidTank; -public class FluidTankRenderer extends SafeTileEntityRenderer { +public class FluidTankRenderer extends SafeBlockEntityRenderer { public FluidTankRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(FluidTankTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(FluidTankBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (!te.isController()) + if (!be.isController()) return; - if (!te.window) { - if (te.boiler.isActive()) - renderAsBoiler(te, partialTicks, ms, buffer, light, overlay); + if (!be.window) { + if (be.boiler.isActive()) + renderAsBoiler(be, partialTicks, ms, buffer, light, overlay); return; } - LerpedFloat fluidLevel = te.getFluidLevel(); + LerpedFloat fluidLevel = be.getFluidLevel(); if (fluidLevel == null) return; float capHeight = 1 / 4f; float tankHullWidth = 1 / 16f + 1 / 128f; float minPuddleHeight = 1 / 16f; - float totalHeight = te.height - 2 * capHeight - minPuddleHeight; + float totalHeight = be.height - 2 * capHeight - minPuddleHeight; float level = fluidLevel.getValue(partialTicks); if (level < 1 / (512f * totalHeight)) return; float clampedLevel = Mth.clamp(level * totalHeight, 0, totalHeight); - FluidTank tank = te.tankInventory; + FluidTank tank = be.tankInventory; FluidStack fluidStack = tank.getFluid(); if (fluidStack.isEmpty()) @@ -59,7 +59,7 @@ public class FluidTankRenderer extends SafeTileEntityRenderer tooltip = new ArrayList<>(); if (hasGoggleInformation && wearingGoggles) { - IHaveGoggleInformation gte = (IHaveGoggleInformation) te; + IHaveGoggleInformation gte = (IHaveGoggleInformation) be; goggleAddedInformation = gte.addToGoggleTooltip(tooltip, mc.player.isShiftKeyDown()); } if (hasHoveringInformation) { if (!tooltip.isEmpty()) tooltip.add(Components.immutableEmpty()); - IHaveHoveringInformation hte = (IHaveHoveringInformation) te; + IHaveHoveringInformation hte = (IHaveHoveringInformation) be; hoverAddedInformation = hte.addToTooltip(tooltip, mc.player.isShiftKeyDown()); if (goggleAddedInformation && !hoverAddedInformation) tooltip.remove(tooltip.size() - 1); } - if (te instanceof IDisplayAssemblyExceptions) { - boolean exceptionAdded = ((IDisplayAssemblyExceptions) te).addExceptionToTooltip(tooltip); + if (be instanceof IDisplayAssemblyExceptions) { + boolean exceptionAdded = ((IDisplayAssemblyExceptions) be).addExceptionToTooltip(tooltip); if (exceptionAdded) { hasHoveringInformation = true; hoverAddedInformation = true; diff --git a/src/main/java/com/simibubi/create/content/contraptions/goggles/IHaveGoggleInformation.java b/src/main/java/com/simibubi/create/content/contraptions/goggles/IHaveGoggleInformation.java index 308db240c..ba46a7180 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/goggles/IHaveGoggleInformation.java +++ b/src/main/java/com/simibubi/create/content/contraptions/goggles/IHaveGoggleInformation.java @@ -14,7 +14,7 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; /* -* Implement this Interface in the TileEntity class that wants to add info to the screen +* Implement this Interface in the BlockEntity class that wants to add info to the screen * */ public interface IHaveGoggleInformation { @@ -30,7 +30,7 @@ public interface IHaveGoggleInformation { Component componentSpacing = Components.literal(spacing); /** - * this method will be called when looking at a TileEntity that implemented this + * this method will be called when looking at a BlockEntity that implemented this * interface * * @return {@code true} if the tooltip creation was successful and should be diff --git a/src/main/java/com/simibubi/create/content/contraptions/goggles/IHaveHoveringInformation.java b/src/main/java/com/simibubi/create/content/contraptions/goggles/IHaveHoveringInformation.java index 061ab7e6b..49d887ad8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/goggles/IHaveHoveringInformation.java +++ b/src/main/java/com/simibubi/create/content/contraptions/goggles/IHaveHoveringInformation.java @@ -5,7 +5,7 @@ import java.util.List; import net.minecraft.network.chat.Component; /* -* Implement this Interface in the TileEntity class that wants to add info to the screen +* Implement this Interface in the BlockEntity class that wants to add info to the screen * */ public interface IHaveHoveringInformation { diff --git a/src/main/java/com/simibubi/create/content/contraptions/particle/AirFlowParticle.java b/src/main/java/com/simibubi/create/content/contraptions/particle/AirFlowParticle.java index e529c4126..0f3ba8630 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/particle/AirFlowParticle.java +++ b/src/main/java/com/simibubi/create/content/contraptions/particle/AirFlowParticle.java @@ -178,10 +178,10 @@ public class AirFlowParticle extends SimpleAnimatedParticle { public Particle createParticle(AirFlowParticleData data, ClientLevel worldIn, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) { - BlockEntity te = worldIn.getBlockEntity(new BlockPos(data.posX, data.posY, data.posZ)); - if (!(te instanceof IAirCurrentSource)) - te = null; - return new AirFlowParticle(worldIn, (IAirCurrentSource) te, x, y, z, this.spriteSet); + BlockEntity be = worldIn.getBlockEntity(new BlockPos(data.posX, data.posY, data.posZ)); + if (!(be instanceof IAirCurrentSource)) + be = null; + return new AirFlowParticle(worldIn, (IAirCurrentSource) be, x, y, z, this.spriteSet); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlock.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlock.java index cbae94b8f..3fca44289 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlock.java @@ -1,18 +1,18 @@ package com.simibubi.create.content.contraptions.processing; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.fluids.actors.GenericItemFilling; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.item.ItemHelper; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -48,7 +48,7 @@ import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.ItemStackHandler; -public class BasinBlock extends Block implements ITE, IWrenchable { +public class BasinBlock extends Block implements IBE, IWrenchable { public static final DirectionProperty FACING = BlockStateProperties.FACING_HOPPER; @@ -64,8 +64,8 @@ public class BasinBlock extends Block implements ITE, IWrenchab @Override public boolean canSurvive(BlockState state, LevelReader world, BlockPos pos) { - BlockEntity tileEntity = world.getBlockEntity(pos.above()); - if (tileEntity instanceof BasinOperatingTileEntity) + BlockEntity blockEntity = world.getBlockEntity(pos.above()); + if (blockEntity instanceof BasinOperatingBlockEntity) return false; return true; } @@ -73,7 +73,7 @@ public class BasinBlock extends Block implements ITE, IWrenchab @Override public InteractionResult onWrenched(BlockState state, UseOnContext context) { if (!context.getLevel().isClientSide) - withTileEntityDo(context.getLevel(), context.getClickedPos(), + withBlockEntityDo(context.getLevel(), context.getClickedPos(), bte -> bte.onWrenched(context.getClickedFace())); return InteractionResult.SUCCESS; } @@ -83,11 +83,11 @@ public class BasinBlock extends Block implements ITE, IWrenchab BlockHitResult hit) { ItemStack heldItem = player.getItemInHand(handIn); - return onTileEntityUse(worldIn, pos, te -> { + return onBlockEntityUse(worldIn, pos, be -> { if (!heldItem.isEmpty()) { - if (FluidHelper.tryEmptyItemIntoTE(worldIn, player, handIn, heldItem, te)) + if (FluidHelper.tryEmptyItemIntoTE(worldIn, player, handIn, heldItem, be)) return InteractionResult.SUCCESS; - if (FluidHelper.tryFillItemFromTE(worldIn, player, handIn, heldItem, te)) + if (FluidHelper.tryFillItemFromTE(worldIn, player, handIn, heldItem, be)) return InteractionResult.SUCCESS; if (EmptyingByBasin.canItemBeEmptied(worldIn, heldItem) @@ -95,7 +95,7 @@ public class BasinBlock extends Block implements ITE, IWrenchab return InteractionResult.SUCCESS; if (heldItem.getItem() .equals(Items.SPONGE) - && !te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + && !be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) .map(iFluidHandler -> iFluidHandler.drain(Integer.MAX_VALUE, IFluidHandler.FluidAction.EXECUTE)) .orElse(FluidStack.EMPTY) .isEmpty()) { @@ -104,7 +104,7 @@ public class BasinBlock extends Block implements ITE, IWrenchab return InteractionResult.PASS; } - IItemHandlerModifiable inv = te.itemCapability.orElse(new ItemStackHandler(1)); + IItemHandlerModifiable inv = be.itemCapability.orElse(new ItemStackHandler(1)); boolean success = false; for (int slot = 0; slot < inv.getSlots(); slot++) { ItemStack stackInSlot = inv.getStackInSlot(slot); @@ -118,7 +118,7 @@ public class BasinBlock extends Block implements ITE, IWrenchab if (success) worldIn.playSound(null, pos, SoundEvents.ITEM_PICKUP, SoundSource.PLAYERS, .2f, 1f + Create.RANDOM.nextFloat()); - te.onEmptied(); + be.onEmptied(); return InteractionResult.SUCCESS; }); } @@ -133,13 +133,13 @@ public class BasinBlock extends Block implements ITE, IWrenchab if (!entityIn.isAlive()) return; ItemEntity itemEntity = (ItemEntity) entityIn; - withTileEntityDo(worldIn, entityIn.blockPosition(), te -> { + withBlockEntityDo(worldIn, entityIn.blockPosition(), be -> { // Tossed items bypass the quarter-stack limit - te.inputInventory.withMaxStackSize(64); - ItemStack insertItem = ItemHandlerHelper.insertItem(te.inputInventory, itemEntity.getItem() + be.inputInventory.withMaxStackSize(64); + ItemStack insertItem = ItemHandlerHelper.insertItem(be.inputInventory, itemEntity.getItem() .copy(), false); - te.inputInventory.withMaxStackSize(16); + be.inputInventory.withMaxStackSize(16); if (insertItem.isEmpty()) { itemEntity.discard(); @@ -169,7 +169,7 @@ public class BasinBlock extends Block implements ITE, IWrenchab @Override public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { - ITE.onRemove(state, worldIn, pos, newState); + IBE.onRemove(state, worldIn, pos, newState); } @Override @@ -179,19 +179,19 @@ public class BasinBlock extends Block implements ITE, IWrenchab @Override public int getAnalogOutputSignal(BlockState blockState, Level worldIn, BlockPos pos) { - return getTileEntityOptional(worldIn, pos).map(BasinTileEntity::getInputInventory) + return getBlockEntityOptional(worldIn, pos).map(BasinBlockEntity::getInputInventory) .map(ItemHelper::calcRedstoneFromInventory) .orElse(0); } @Override - public Class getTileEntityClass() { - return BasinTileEntity.class; + public Class getBlockEntityClass() { + return BasinBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.BASIN.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.BASIN.get(); } public static boolean canOutputTo(BlockGetter world, BlockPos basinPos, Direction direction) { @@ -206,15 +206,15 @@ public class BasinBlock extends Block implements ITE, IWrenchab .isEmpty()) { return false; } else { - BlockEntity tileEntity = world.getBlockEntity(output); - if (tileEntity instanceof BeltTileEntity) { - BeltTileEntity belt = (BeltTileEntity) tileEntity; + BlockEntity blockEntity = world.getBlockEntity(output); + if (blockEntity instanceof BeltBlockEntity) { + BeltBlockEntity belt = (BeltBlockEntity) blockEntity; return belt.getSpeed() == 0 || belt.getMovementFacing() != direction.getOpposite(); } } DirectBeltInputBehaviour directBeltInputBehaviour = - TileEntityBehaviour.get(world, output, DirectBeltInputBehaviour.TYPE); + BlockEntityBehaviour.get(world, output, DirectBeltInputBehaviour.TYPE); if (directBeltInputBehaviour != null) return directBeltInputBehaviour.canInsertFromSide(direction); return false; diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlockEntity.java similarity index 90% rename from src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlockEntity.java index e51ed4df6..3416be867 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlockEntity.java @@ -12,23 +12,23 @@ import javax.annotation.Nonnull; import com.google.common.collect.ImmutableList; import com.simibubi.create.AllParticleTypes; import com.simibubi.create.AllTags; -import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerTileEntity; +import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerBlockEntity; import com.simibubi.create.content.contraptions.fluids.FluidFX; import com.simibubi.create.content.contraptions.fluids.particle.FluidParticleData; import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.SmartInventory; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.IntAttached; @@ -66,7 +66,7 @@ import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.wrapper.CombinedInvWrapper; -public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInformation { +public class BasinBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { private boolean areFluidsMoving; LerpedFloat ingredientRotationSpeed; @@ -95,7 +95,7 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor List> visualizedOutputItems; List> visualizedOutputFluids; - public BasinTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public BasinBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); inputInventory = new BasinInventory(9, this); inputInventory.whenContentsChanged($ -> contentsChanged = true); @@ -121,7 +121,7 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(new DirectBeltInputBehaviour(this)); filtering = new FilteringBehaviour(this, new BasinValueBox()).moveText(new Vec3(2, -8, 0)) .withCallback(newFilter -> contentsChanged = true) @@ -210,7 +210,7 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor } public void onEmptied() { - getOperator().ifPresent(te -> te.basinRemoved = true); + getOperator().ifPresent(be -> be.basinRemoved = true); } @Override @@ -250,13 +250,13 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor return; } - BlockEntity tileEntity = level.getBlockEntity(worldPosition.above(2)); - if (!(tileEntity instanceof MechanicalMixerTileEntity)) { + BlockEntity blockEntity = level.getBlockEntity(worldPosition.above(2)); + if (!(blockEntity instanceof MechanicalMixerBlockEntity)) { setAreFluidsMoving(false); return; } - MechanicalMixerTileEntity mixer = (MechanicalMixerTileEntity) tileEntity; + MechanicalMixerBlockEntity mixer = (MechanicalMixerBlockEntity) blockEntity; setAreFluidsMoving(mixer.running && mixer.runningTicks <= 20); } @@ -344,7 +344,7 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor return; contentsChanged = false; - getOperator().ifPresent(te -> te.basinChecker.scheduleUpdate()); + getOperator().ifPresent(be -> be.basinChecker.scheduleUpdate()); for (Direction offset : Iterate.horizontalDirections) { BlockPos toUpdate = worldPosition.above() @@ -352,9 +352,9 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor BlockState stateToUpdate = level.getBlockState(toUpdate); if (stateToUpdate.getBlock() instanceof BasinBlock && stateToUpdate.getValue(BasinBlock.FACING) == offset.getOpposite()) { - BlockEntity te = level.getBlockEntity(toUpdate); - if (te instanceof BasinTileEntity) - ((BasinTileEntity) te).contentsChanged = true; + BlockEntity be = level.getBlockEntity(toUpdate); + if (be instanceof BasinBlockEntity) + ((BasinBlockEntity) be).contentsChanged = true; } } } @@ -364,22 +364,22 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor if (!(blockState.getBlock() instanceof BasinBlock)) return; Direction direction = blockState.getValue(BasinBlock.FACING); - BlockEntity te = level.getBlockEntity(worldPosition.below() + BlockEntity be = level.getBlockEntity(worldPosition.below() .relative(direction)); FilteringBehaviour filter = null; InvManipulationBehaviour inserter = null; - if (te != null) { - filter = TileEntityBehaviour.get(level, te.getBlockPos(), FilteringBehaviour.TYPE); - inserter = TileEntityBehaviour.get(level, te.getBlockPos(), InvManipulationBehaviour.TYPE); + if (be != null) { + filter = BlockEntityBehaviour.get(level, be.getBlockPos(), FilteringBehaviour.TYPE); + inserter = BlockEntityBehaviour.get(level, be.getBlockPos(), InvManipulationBehaviour.TYPE); } - IItemHandler targetInv = te == null ? null - : te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, direction.getOpposite()) + IItemHandler targetInv = be == null ? null + : be.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, direction.getOpposite()) .orElse(inserter == null ? null : inserter.getInventory()); - IFluidHandler targetTank = te == null ? null - : te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, direction.getOpposite()) + IFluidHandler targetTank = be == null ? null + : be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, direction.getOpposite()) .orElse(null); boolean update = false; @@ -468,12 +468,12 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor return totalUnits; } - private Optional getOperator() { + private Optional getOperator() { if (level == null) return Optional.empty(); - BlockEntity te = level.getBlockEntity(worldPosition.above(2)); - if (te instanceof BasinOperatingTileEntity) - return Optional.of((BasinOperatingTileEntity) te); + BlockEntity be = level.getBlockEntity(worldPosition.above(2)); + if (be instanceof BasinOperatingBlockEntity) + return Optional.of((BasinOperatingBlockEntity) be); return Optional.empty(); } @@ -514,16 +514,16 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor Direction direction = blockState.getValue(BasinBlock.FACING); if (direction != Direction.DOWN) { - BlockEntity te = level.getBlockEntity(worldPosition.below() + BlockEntity be = level.getBlockEntity(worldPosition.below() .relative(direction)); InvManipulationBehaviour inserter = - te == null ? null : TileEntityBehaviour.get(level, te.getBlockPos(), InvManipulationBehaviour.TYPE); - IItemHandler targetInv = te == null ? null - : te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, direction.getOpposite()) + be == null ? null : BlockEntityBehaviour.get(level, be.getBlockPos(), InvManipulationBehaviour.TYPE); + IItemHandler targetInv = be == null ? null + : be.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, direction.getOpposite()) .orElse(inserter == null ? null : inserter.getInventory()); - IFluidHandler targetTank = te == null ? null - : te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, direction.getOpposite()) + IFluidHandler targetTank = be == null ? null + : be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, direction.getOpposite()) .orElse(null); boolean externalTankNotPresent = targetTank == null; diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinInventory.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinInventory.java index c0e3bed77..1ec54920c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinInventory.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinInventory.java @@ -7,11 +7,11 @@ import net.minecraftforge.items.ItemHandlerHelper; public class BasinInventory extends SmartInventory { - private BasinTileEntity te; + private BasinBlockEntity blockEntity; - public BasinInventory(int slots, BasinTileEntity te) { - super(slots, te, 16, true); - this.te = te; + public BasinInventory(int slots, BasinBlockEntity be) { + super(slots, be, 16, true); + this.blockEntity = be; } @Override @@ -27,7 +27,7 @@ public class BasinInventory extends SmartInventory { public ItemStack extractItem(int slot, int amount, boolean simulate) { ItemStack extractItem = super.extractItem(slot, amount, simulate); if (!simulate && !extractItem.isEmpty()) - te.notifyChangeOfContents(); + blockEntity.notifyChangeOfContents(); return extractItem; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinMovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinMovementBehaviour.java index 3d590017a..c7ad7b77c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinMovementBehaviour.java @@ -18,12 +18,12 @@ public class BasinMovementBehaviour implements MovementBehaviour { Map map = new HashMap<>(); map.put("InputItems", new ItemStackHandler(9)); map.put("OutputItems", new ItemStackHandler(8)); - map.forEach((s, h) -> h.deserializeNBT(context.tileData.getCompound(s))); + map.forEach((s, h) -> h.deserializeNBT(context.blockEntityData.getCompound(s))); return map; } @Override - public boolean renderAsNormalTileEntity() { + public boolean renderAsNormalBlockEntity() { return true; } @@ -50,11 +50,11 @@ public class BasinMovementBehaviour implements MovementBehaviour { context.world.addFreshEntity(itemEntity); itemStackHandler.setStackInSlot(i, ItemStack.EMPTY); } - context.tileData.put(key, itemStackHandler.serializeNBT()); + context.blockEntityData.put(key, itemStackHandler.serializeNBT()); }); - BlockEntity tileEntity = context.contraption.presentTileEntities.get(context.localPos); - if (tileEntity instanceof BasinTileEntity) - ((BasinTileEntity) tileEntity).readOnlyItems(context.tileData); + BlockEntity blockEntity = context.contraption.presentBlockEntities.get(context.localPos); + if (blockEntity instanceof BasinBlockEntity) + ((BasinBlockEntity) blockEntity).readOnlyItems(context.blockEntityData); context.temporaryData = false; // did already dump, so can't any more } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinOperatingTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinOperatingBlockEntity.java similarity index 76% rename from src/main/java/com/simibubi/create/content/contraptions/processing/BasinOperatingTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/processing/BasinOperatingBlockEntity.java index 925853aa2..d357d0a10 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinOperatingTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinOperatingBlockEntity.java @@ -5,10 +5,10 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.advancement.CreateAdvancement; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.simple.DeferralBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.simple.DeferralBehaviour; import com.simibubi.create.foundation.utility.recipe.RecipeFinder; import net.minecraft.core.BlockPos; @@ -18,18 +18,18 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public abstract class BasinOperatingTileEntity extends KineticTileEntity { +public abstract class BasinOperatingBlockEntity extends KineticBlockEntity { public DeferralBehaviour basinChecker; public boolean basinRemoved; protected Recipe currentRecipe; - public BasinOperatingTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public BasinOperatingBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); basinChecker = new DeferralBehaviour(this, this::updateBasin); behaviours.add(basinChecker); @@ -65,8 +65,8 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity { return true; if (level == null || level.isClientSide) return true; - Optional basin = getBasin(); - if (!basin.filter(BasinTileEntity::canContinueProcessing) + Optional basin = getBasin(); + if (!basin.filter(BasinBlockEntity::canContinueProcessing) .isPresent()) return true; @@ -90,7 +90,7 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity { protected boolean matchBasinRecipe(Recipe recipe) { if (recipe == null) return false; - Optional basin = getBasin(); + Optional basin = getBasin(); if (!basin.isPresent()) return false; return BasinRecipe.match(basin.get(), recipe); @@ -100,10 +100,10 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity { if (currentRecipe == null) return; - Optional optionalBasin = getBasin(); + Optional optionalBasin = getBasin(); if (!optionalBasin.isPresent()) return; - BasinTileEntity basin = optionalBasin.get(); + BasinBlockEntity basin = optionalBasin.get(); boolean wasEmpty = basin.canContinueProcessing(); if (!BasinRecipe.apply(basin, currentRecipe)) return; @@ -120,7 +120,7 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity { } protected List> getMatchingRecipes() { - if (getBasin().map(BasinTileEntity::isEmpty) + if (getBasin().map(BasinBlockEntity::isEmpty) .orElse(true)) return new ArrayList<>(); @@ -136,13 +136,13 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity { protected abstract void onBasinRemoved(); - protected Optional getBasin() { + protected Optional getBasin() { if (level == null) return Optional.empty(); - BlockEntity basinTE = level.getBlockEntity(worldPosition.below(2)); - if (!(basinTE instanceof BasinTileEntity)) + BlockEntity basinBE = level.getBlockEntity(worldPosition.below(2)); + if (!(basinBE instanceof BasinBlockEntity)) return Optional.empty(); - return Optional.of((BasinTileEntity) basinTE); + return Optional.of((BasinBlockEntity) basinBE); } protected Optional getProcessedRecipeTrigger() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinRecipe.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinRecipe.java index 514c0698b..a02ad115a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinRecipe.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinRecipe.java @@ -10,11 +10,11 @@ import javax.annotation.Nonnull; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuilder.ProcessingRecipeParams; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; import com.simibubi.create.foundation.fluid.FluidIngredient; import com.simibubi.create.foundation.item.SmartInventory; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.recipe.DummyCraftingContainer; import com.simibubi.create.foundation.utility.recipe.IRecipeTypeInfo; @@ -32,7 +32,7 @@ import net.minecraftforge.items.IItemHandler; public class BasinRecipe extends ProcessingRecipe { - public static boolean match(BasinTileEntity basin, Recipe recipe) { + public static boolean match(BasinBlockEntity basin, Recipe recipe) { FilteringBehaviour filter = basin.getFilter(); if (filter == null) return false; @@ -54,11 +54,11 @@ public class BasinRecipe extends ProcessingRecipe { return apply(basin, recipe, true); } - public static boolean apply(BasinTileEntity basin, Recipe recipe) { + public static boolean apply(BasinBlockEntity basin, Recipe recipe) { return apply(basin, recipe, false); } - private static boolean apply(BasinTileEntity basin, Recipe recipe, boolean test) { + private static boolean apply(BasinBlockEntity basin, Recipe recipe, boolean test) { boolean isBasinRecipe = recipe instanceof BasinRecipe; IItemHandler availableItems = basin.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) .orElse(null); @@ -68,7 +68,7 @@ public class BasinRecipe extends ProcessingRecipe { if (availableItems == null || availableFluids == null) return false; - HeatLevel heat = BasinTileEntity.getHeatLevelOf(basin.getLevel() + HeatLevel heat = BasinBlockEntity.getHeatLevelOf(basin.getLevel() .getBlockState(basin.getBlockPos() .below(1))); if (isBasinRecipe && !((BasinRecipe) recipe).getRequiredHeat() diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinRenderer.java index 92c192333..520e2052b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinRenderer.java @@ -4,10 +4,10 @@ import java.util.Random; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; +import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import com.simibubi.create.foundation.fluid.FluidRenderer; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; -import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.IntAttached; @@ -28,14 +28,14 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.ItemStackHandler; -public class BasinRenderer extends SmartTileEntityRenderer { +public class BasinRenderer extends SmartBlockEntityRenderer { public BasinRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(BasinTileEntity basin, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(BasinBlockEntity basin, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { super.renderSafe(basin, partialTicks, ms, buffer, light, overlay); @@ -116,7 +116,7 @@ public class BasinRenderer extends SmartTileEntityRenderer { .getBlock() instanceof BasinBlock; for (IntAttached intAttached : basin.visualizedOutputItems) { - float progress = 1 - (intAttached.getFirst() - partialTicks) / BasinTileEntity.OUTPUT_ANIMATION_TIME; + float progress = 1 - (intAttached.getFirst() - partialTicks) / BasinBlockEntity.OUTPUT_ANIMATION_TIME; if (!outToBasin && progress > .35f) continue; @@ -139,7 +139,7 @@ public class BasinRenderer extends SmartTileEntityRenderer { .renderStatic(stack, TransformType.GROUND, light, overlay, ms, buffer, 0); } - protected float renderFluids(BasinTileEntity basin, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected float renderFluids(BasinBlockEntity basin, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { SmartFluidTankBehaviour inputFluids = basin.getBehaviour(SmartFluidTankBehaviour.INPUT); SmartFluidTankBehaviour outputFluids = basin.getBehaviour(SmartFluidTankBehaviour.OUTPUT); diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/InWorldProcessing.java b/src/main/java/com/simibubi/create/content/contraptions/processing/InWorldProcessing.java index ce57a9fc1..fb51b43c1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/InWorldProcessing.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/InWorldProcessing.java @@ -16,9 +16,9 @@ import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock; import com.simibubi.create.content.contraptions.processing.burner.LitBlazeBurnerBlock; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.item.ItemHelper; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.Color; import com.simibubi.create.foundation.utility.VecHelper; diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java index 0c5495be4..11e638d95 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java @@ -5,13 +5,13 @@ import java.util.Random; import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.content.contraptions.processing.BasinTileEntity; +import com.simibubi.create.content.contraptions.processing.BasinBlockEntity; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.MethodsReturnNonnullByDefault; @@ -57,7 +57,7 @@ import net.minecraftforge.common.util.FakePlayer; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public class BlazeBurnerBlock extends HorizontalDirectionalBlock implements ITE, IWrenchable { +public class BlazeBurnerBlock extends HorizontalDirectionalBlock implements IBE, IWrenchable { public static final EnumProperty HEAT_LEVEL = EnumProperty.create("blaze", HeatLevel.class); @@ -76,10 +76,10 @@ public class BlazeBurnerBlock extends HorizontalDirectionalBlock implements ITE< public void onPlace(BlockState state, Level world, BlockPos pos, BlockState p_220082_4_, boolean p_220082_5_) { if (world.isClientSide) return; - BlockEntity tileEntity = world.getBlockEntity(pos.above()); - if (!(tileEntity instanceof BasinTileEntity)) + BlockEntity blockEntity = world.getBlockEntity(pos.above()); + if (!(blockEntity instanceof BasinBlockEntity)) return; - BasinTileEntity basin = (BasinTileEntity) tileEntity; + BasinBlockEntity basin = (BasinBlockEntity) blockEntity; basin.notifyChangeOfContents(); } @@ -90,13 +90,13 @@ public class BlazeBurnerBlock extends HorizontalDirectionalBlock implements ITE< } @Override - public Class getTileEntityClass() { - return BlazeBurnerTileEntity.class; + public Class getBlockEntityClass() { + return BlazeBurnerBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.HEATER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.HEATER.get(); } @Nullable @@ -104,7 +104,7 @@ public class BlazeBurnerBlock extends HorizontalDirectionalBlock implements ITE< public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { if (state.getValue(HEAT_LEVEL) == HeatLevel.NONE) return null; - return ITE.super.newBlockEntity(pos, state); + return IBE.super.newBlockEntity(pos, state); } @Override @@ -114,7 +114,7 @@ public class BlazeBurnerBlock extends HorizontalDirectionalBlock implements ITE< HeatLevel heat = state.getValue(HEAT_LEVEL); if (AllItems.GOGGLES.isIn(heldItem) && heat != HeatLevel.NONE) - return onTileEntityUse(world, pos, bbte -> { + return onBlockEntityUse(world, pos, bbte -> { if (bbte.goggles) return InteractionResult.PASS; bbte.goggles = true; @@ -123,7 +123,7 @@ public class BlazeBurnerBlock extends HorizontalDirectionalBlock implements ITE< }); if (heldItem.isEmpty() && heat != HeatLevel.NONE) - return onTileEntityUse(world, pos, bbte -> { + return onBlockEntityUse(world, pos, bbte -> { if (!bbte.goggles) return InteractionResult.PASS; bbte.goggles = false; @@ -167,17 +167,17 @@ public class BlazeBurnerBlock extends HorizontalDirectionalBlock implements ITE< if (!state.hasBlockEntity()) return InteractionResultHolder.fail(ItemStack.EMPTY); - BlockEntity te = world.getBlockEntity(pos); - if (!(te instanceof BlazeBurnerTileEntity)) + BlockEntity be = world.getBlockEntity(pos); + if (!(be instanceof BlazeBurnerBlockEntity)) return InteractionResultHolder.fail(ItemStack.EMPTY); - BlazeBurnerTileEntity burnerTE = (BlazeBurnerTileEntity) te; + BlazeBurnerBlockEntity burnerBE = (BlazeBurnerBlockEntity) be; - if (burnerTE.isCreativeFuel(stack)) { + if (burnerBE.isCreativeFuel(stack)) { if (!simulate) - burnerTE.applyCreativeFuel(); + burnerBE.applyCreativeFuel(); return InteractionResultHolder.success(ItemStack.EMPTY); } - if (!burnerTE.tryUpdateFuel(stack, forceOverflow, simulate)) + if (!burnerBE.tryUpdateFuel(stack, forceOverflow, simulate)) return InteractionResultHolder.fail(ItemStack.EMPTY); if (!doNotConsume) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockEntity.java similarity index 96% rename from src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockEntity.java index 17db01a2d..d029c7db0 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockEntity.java @@ -8,8 +8,8 @@ import com.simibubi.create.AllItems; import com.simibubi.create.AllTags.AllItemTags; import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlock; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.animation.LerpedFloat; @@ -32,7 +32,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.ForgeHooks; -public class BlazeBurnerTileEntity extends SmartTileEntity { +public class BlazeBurnerBlockEntity extends SmartBlockEntity { public static final int MAX_HEAT_CAPACITY = 10000; public static final int INSERTION_THRESHOLD = 500; @@ -45,7 +45,7 @@ public class BlazeBurnerTileEntity extends SmartTileEntity { protected boolean goggles; protected boolean hat; - public BlazeBurnerTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public BlazeBurnerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); activeFuel = FuelType.NONE; remainingBurnTime = 0; @@ -136,7 +136,7 @@ public class BlazeBurnerTileEntity extends SmartTileEntity { } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override public void write(CompoundTag compound, boolean clientPacket) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockItem.java b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockItem.java index 277ff6a8d..53a9371b8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockItem.java @@ -82,13 +82,13 @@ public class BlazeBurnerBlockItem extends BlockItem { Level world = context.getLevel(); BlockPos pos = context.getClickedPos(); - BlockEntity te = world.getBlockEntity(pos); + BlockEntity be = world.getBlockEntity(pos); Player player = context.getPlayer(); - if (!(te instanceof SpawnerBlockEntity)) + if (!(be instanceof SpawnerBlockEntity)) return super.useOn(context); - BaseSpawner spawner = ((SpawnerBlockEntity) te).getSpawner(); + BaseSpawner spawner = ((SpawnerBlockEntity) be).getSpawner(); List possibleSpawns = spawner.spawnPotentials.unwrap() .stream() diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerHandler.java b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerHandler.java index cae8d2cc5..a3e3b40a5 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerHandler.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.processing.burner; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerTileEntity.FuelType; +import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlockEntity.FuelType; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -44,9 +44,9 @@ public class BlazeBurnerHandler { .getType() != HitResult.Type.BLOCK) return; - BlockEntity tile = projectile.level.getBlockEntity(new BlockPos(event.getRayTraceResult() + BlockEntity blockEntity = projectile.level.getBlockEntity(new BlockPos(event.getRayTraceResult() .getLocation())); - if (!(tile instanceof BlazeBurnerTileEntity)) { + if (!(blockEntity instanceof BlazeBurnerBlockEntity)) { return; } @@ -58,12 +58,12 @@ public class BlazeBurnerHandler { if (world.isClientSide) return; - BlazeBurnerTileEntity heater = (BlazeBurnerTileEntity) tile; + BlazeBurnerBlockEntity heater = (BlazeBurnerBlockEntity) blockEntity; if (!heater.isCreative()) { if (heater.activeFuel != FuelType.SPECIAL) { heater.activeFuel = FuelType.NORMAL; heater.remainingBurnTime = - Mth.clamp(heater.remainingBurnTime + 80, 0, BlazeBurnerTileEntity.MAX_HEAT_CAPACITY); + Mth.clamp(heater.remainingBurnTime + 80, 0, BlazeBurnerBlockEntity.MAX_HEAT_CAPACITY); heater.updateBlockState(); heater.notifyUpdate(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerMovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerMovementBehaviour.java index f5f6face5..41785d0a3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerMovementBehaviour.java @@ -32,7 +32,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; public class BlazeBurnerMovementBehaviour implements MovementBehaviour { @Override - public boolean renderAsNormalTileEntity() { + public boolean renderAsNormalBlockEntity() { return false; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerRenderer.java index 8ee5ef9bb..844b0a920 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerRenderer.java @@ -12,9 +12,9 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Mov import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel; import com.simibubi.create.foundation.block.render.SpriteShiftEntry; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.animation.LerpedFloat; @@ -28,25 +28,25 @@ import net.minecraft.util.Mth; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -public class BlazeBurnerRenderer extends SafeTileEntityRenderer { +public class BlazeBurnerRenderer extends SafeBlockEntityRenderer { public BlazeBurnerRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(BlazeBurnerTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, + protected void renderSafe(BlazeBurnerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { - HeatLevel heatLevel = te.getHeatLevelFromBlock(); + HeatLevel heatLevel = be.getHeatLevelFromBlock(); if (heatLevel == HeatLevel.NONE) return; - Level level = te.getLevel(); - BlockState blockState = te.getBlockState(); - float animation = te.headAnimation.getValue(partialTicks) * .175f; - float horizontalAngle = AngleHelper.rad(te.headAngle.getValue(partialTicks)); + Level level = be.getLevel(); + BlockState blockState = be.getBlockState(); + float animation = be.headAnimation.getValue(partialTicks) * .175f; + float horizontalAngle = AngleHelper.rad(be.headAngle.getValue(partialTicks)); boolean canDrawFlame = heatLevel.isAtLeast(HeatLevel.FADING); - boolean drawGoggles = te.goggles; - boolean drawHat = te.hat; - int hashCode = te.hashCode(); + boolean drawGoggles = be.goggles; + boolean drawHat = be.hat; + int hashCode = be.hashCode(); renderShared(ms, null, bufferSource, level, blockState, heatLevel, animation, horizontalAngle, @@ -66,8 +66,8 @@ public class BlazeBurnerRenderer extends SafeTileEntityRenderer { +public class GantryShaftBlock extends DirectionalKineticBlock implements IBE { public static final Property PART = EnumProperty.create("part", Part.class); public static final BooleanProperty POWERED = BlockStateProperties.POWERED; @@ -180,9 +180,9 @@ public class GantryShaftBlock extends DirectionalKineticBlock implements ITE getTileEntityClass() { - return GantryShaftTileEntity.class; + public Class getBlockEntityClass() { + return GantryShaftBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.GANTRY_SHAFT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.GANTRY_SHAFT.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftBlockEntity.java similarity index 79% rename from src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftBlockEntity.java index 62a0f4200..f2e61ba57 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftBlockEntity.java @@ -1,9 +1,9 @@ package com.simibubi.create.content.contraptions.relays.advanced; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageBlock; -import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageBlockEntity; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -13,9 +13,9 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class GantryShaftTileEntity extends KineticTileEntity { +public class GantryShaftBlockEntity extends KineticBlockEntity { - public GantryShaftTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public GantryShaftBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); } @@ -32,9 +32,9 @@ public class GantryShaftTileEntity extends KineticTileEntity { continue; if (pinionState.getValue(GantryCarriageBlock.FACING) != d) continue; - BlockEntity tileEntity = level.getBlockEntity(offset); - if (tileEntity instanceof GantryCarriageTileEntity) - ((GantryCarriageTileEntity) tileEntity).queueAssembly(); + BlockEntity blockEntity = level.getBlockEntity(offset); + if (blockEntity instanceof GantryCarriageBlockEntity) + ((GantryCarriageBlockEntity) blockEntity).queueAssembly(); } } @@ -45,7 +45,7 @@ public class GantryShaftTileEntity extends KineticTileEntity { } @Override - public float propagateRotationTo(KineticTileEntity target, BlockState stateFrom, BlockState stateTo, BlockPos diff, + public float propagateRotationTo(KineticBlockEntity target, BlockState stateFrom, BlockState stateTo, BlockPos diff, boolean connectedViaAxes, boolean connectedViaCogs) { float defaultModifier = super.propagateRotationTo(target, stateFrom, stateTo, diff, connectedViaAxes, connectedViaCogs); @@ -60,12 +60,12 @@ public class GantryShaftTileEntity extends KineticTileEntity { Direction direction = Direction.getNearest(diff.getX(), diff.getY(), diff.getZ()); if (stateTo.getValue(GantryCarriageBlock.FACING) != direction) return defaultModifier; - return GantryCarriageTileEntity.getGantryPinionModifier(stateFrom.getValue(GantryShaftBlock.FACING), + return GantryCarriageBlockEntity.getGantryPinionModifier(stateFrom.getValue(GantryShaftBlock.FACING), stateTo.getValue(GantryCarriageBlock.FACING)); } @Override - public boolean isCustomConnection(KineticTileEntity other, BlockState state, BlockState otherState) { + public boolean isCustomConnection(KineticBlockEntity other, BlockState state, BlockState otherState) { if (!AllBlocks.GANTRY_CARRIAGE.has(otherState)) return false; final BlockPos diff = other.getBlockPos() diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlock.java index 681b117d9..9e13cb44a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlock.java @@ -4,13 +4,13 @@ import java.util.function.Predicate; import javax.annotation.ParametersAreNonnullByDefault; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; 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.ICogWheel; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.placement.IPlacementHelper; import com.simibubi.create.foundation.utility.placement.PlacementHelpers; import com.simibubi.create.foundation.utility.placement.PlacementOffset; @@ -35,7 +35,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault -public class SpeedControllerBlock extends HorizontalAxisKineticBlock implements ITE { +public class SpeedControllerBlock extends HorizontalAxisKineticBlock implements IBE { private static final int placementHelperId = PlacementHelpers.register(new PlacementHelper()); @@ -58,7 +58,7 @@ public class SpeedControllerBlock extends HorizontalAxisKineticBlock implements public void neighborChanged(BlockState state, Level world, BlockPos pos, Block p_220069_4_, BlockPos neighbourPos, boolean p_220069_6_) { if (neighbourPos.equals(pos.above())) - withTileEntityDo(world, pos, SpeedControllerTileEntity::updateBracket); + withBlockEntityDo(world, pos, SpeedControllerBlockEntity::updateBracket); } @Override @@ -108,12 +108,12 @@ public class SpeedControllerBlock extends HorizontalAxisKineticBlock implements } @Override - public Class getTileEntityClass() { - return SpeedControllerTileEntity.class; + public Class getBlockEntityClass() { + return SpeedControllerBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ROTATION_SPEED_CONTROLLER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ROTATION_SPEED_CONTROLLER.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlockEntity.java similarity index 80% rename from src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlockEntity.java index 9238ed52e..51ec4affa 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlockEntity.java @@ -3,15 +3,15 @@ package com.simibubi.create.content.contraptions.relays.advanced; import java.util.List; import com.simibubi.create.content.contraptions.RotationPropagator; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.components.motor.CreativeMotorTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.components.motor.CreativeMotorBlockEntity; import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock; import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueBehaviour; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.VecHelper; @@ -21,14 +21,14 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class SpeedControllerTileEntity extends KineticTileEntity { +public class SpeedControllerBlockEntity extends KineticBlockEntity { public static final int DEFAULT_SPEED = 16; protected ScrollValueBehaviour targetSpeed; boolean hasBracket; - public SpeedControllerTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SpeedControllerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); hasBracket = false; } @@ -40,7 +40,7 @@ public class SpeedControllerTileEntity extends KineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); Integer max = AllConfigs.SERVER.kinetics.maxRotationSpeed.get(); @@ -51,7 +51,7 @@ public class SpeedControllerTileEntity extends KineticTileEntity { targetSpeed.moveText(new Vec3(9, 0, 10)); targetSpeed.withUnit(i -> Lang.translateDirect("generic.unit.rpm")); targetSpeed.withCallback(i -> this.updateTargetRotation()); - targetSpeed.withStepFunction(CreativeMotorTileEntity::step); + targetSpeed.withStepFunction(CreativeMotorBlockEntity::step); behaviours.add(targetSpeed); registerAwardables(behaviours, AllAdvancements.SPEED_CONTROLLER); @@ -68,9 +68,9 @@ public class SpeedControllerTileEntity extends KineticTileEntity { award(AllAdvancements.SPEED_CONTROLLER); } - public static float getConveyedSpeed(KineticTileEntity cogWheel, KineticTileEntity speedControllerIn, + public static float getConveyedSpeed(KineticBlockEntity cogWheel, KineticBlockEntity speedControllerIn, boolean targetingController) { - if (!(speedControllerIn instanceof SpeedControllerTileEntity)) + if (!(speedControllerIn instanceof SpeedControllerBlockEntity)) return 0; float speed = speedControllerIn.getTheoreticalSpeed(); @@ -86,9 +86,9 @@ public class SpeedControllerTileEntity extends KineticTileEntity { return desiredOutputSpeed; } - public static float getDesiredOutputSpeed(KineticTileEntity cogWheel, KineticTileEntity speedControllerIn, + public static float getDesiredOutputSpeed(KineticBlockEntity cogWheel, KineticBlockEntity speedControllerIn, boolean targetingController) { - SpeedControllerTileEntity speedController = (SpeedControllerTileEntity) speedControllerIn; + SpeedControllerBlockEntity speedController = (SpeedControllerBlockEntity) speedControllerIn; float targetSpeed = speedController.targetSpeed.getValue(); float speed = speedControllerIn.getTheoreticalSpeed(); float wheelSpeed = cogWheel.getTheoreticalSpeed(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerRenderer.java index a7043b05b..b9152d78d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerRenderer.java @@ -4,10 +4,10 @@ import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; +import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.client.renderer.MultiBufferSource; @@ -19,28 +19,28 @@ import net.minecraft.core.Direction.Axis; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -public class SpeedControllerRenderer extends SmartTileEntityRenderer { +public class SpeedControllerRenderer extends SmartBlockEntityRenderer { public SpeedControllerRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(SpeedControllerTileEntity tileEntityIn, float partialTicks, PoseStack ms, + protected void renderSafe(SpeedControllerBlockEntity blockEntity, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(tileEntityIn, partialTicks, ms, buffer, light, overlay); + super.renderSafe(blockEntity, partialTicks, ms, buffer, light, overlay); VertexConsumer builder = buffer.getBuffer(RenderType.solid()); - if (!Backend.canUseInstancing(tileEntityIn.getLevel())) { - KineticTileEntityRenderer.renderRotatingBuffer(tileEntityIn, getRotatedModel(tileEntityIn), ms, builder, light); + if (!Backend.canUseInstancing(blockEntity.getLevel())) { + KineticBlockEntityRenderer.renderRotatingBuffer(blockEntity, getRotatedModel(blockEntity), ms, builder, light); } - if (!tileEntityIn.hasBracket) + if (!blockEntity.hasBracket) return; - BlockPos pos = tileEntityIn.getBlockPos(); - Level world = tileEntityIn.getLevel(); - BlockState blockState = tileEntityIn.getBlockState(); + BlockPos pos = blockEntity.getBlockPos(); + Level world = blockEntity.getLevel(); + BlockState blockState = blockEntity.getBlockState(); boolean alongX = blockState.getValue(SpeedControllerBlock.HORIZONTAL_AXIS) == Axis.X; SuperByteBuffer bracket = CachedBufferer.partial(AllBlockPartials.SPEED_CONTROLLER_BRACKET, blockState); @@ -51,9 +51,9 @@ public class SpeedControllerRenderer extends SmartTileEntityRenderer { +public class ConfigureSequencedGearshiftPacket extends BlockEntityConfigurationPacket { private ListTag instructions; @@ -34,10 +34,10 @@ public class ConfigureSequencedGearshiftPacket extends TileEntityConfigurationPa } @Override - protected void applySettings(SequencedGearshiftTileEntity te) { - te.run(-1); - te.instructions = Instruction.deserializeAll(instructions); - te.sendData(); + protected void applySettings(SequencedGearshiftBlockEntity be) { + be.run(-1); + be.instructions = Instruction.deserializeAll(instructions); + be.sendData(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/Instruction.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/Instruction.java index 9335285d1..e27f6e386 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/Instruction.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/Instruction.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.relays.advanced.sequencer; import java.util.Vector; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.nbt.CompoundTag; @@ -33,13 +33,13 @@ public class Instruction { switch (instruction) { case TURN_ANGLE: - double degreesPerTick = KineticTileEntity.convertToAngular(speed); + double degreesPerTick = KineticBlockEntity.convertToAngular(speed); int ticks = (int) (target / degreesPerTick); double degreesErr = target - degreesPerTick*ticks; return ticks + (degreesPerTick > 2*degreesErr ? 0 : 1); case TURN_DISTANCE: - double metersPerTick = KineticTileEntity.convertToLinear(speed); + double metersPerTick = KineticBlockEntity.convertToLinear(speed); int offset = speed > 0 && speedModifier.value < 0 ? 1 : 2; return (int) (target / metersPerTick + offset); @@ -61,10 +61,10 @@ public class Instruction { switch(instruction) { case TURN_ANGLE: - return KineticTileEntity.convertToAngular(speed); + return KineticBlockEntity.convertToAngular(speed); case TURN_DISTANCE: - return KineticTileEntity.convertToLinear(speed); + return KineticBlockEntity.convertToLinear(speed); case DELAY: return 1; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftBlock.java index c375f7d4d..448b39d66 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftBlock.java @@ -2,14 +2,14 @@ package com.simibubi.create.content.contraptions.relays.advanced.sequencer; import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; 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.KineticBlock; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.components.structureMovement.ITransformableBlock; import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.gui.ScreenOpener; import net.minecraft.client.player.LocalPlayer; @@ -37,7 +37,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; -public class SequencedGearshiftBlock extends HorizontalAxisKineticBlock implements ITE, ITransformableBlock { +public class SequencedGearshiftBlock extends HorizontalAxisKineticBlock implements IBE, ITransformableBlock { public static final BooleanProperty VERTICAL = BooleanProperty.create("vertical"); public static final IntegerProperty STATE = IntegerProperty.create("state", 0, 5); @@ -70,7 +70,7 @@ public class SequencedGearshiftBlock extends HorizontalAxisKineticBlock implemen public void tick(BlockState state, ServerLevel worldIn, BlockPos pos, Random r) { boolean previouslyPowered = state.getValue(STATE) != 0; boolean isPowered = worldIn.hasNeighborSignal(pos); - withTileEntityDo(worldIn, pos, sgte -> sgte.onRedstoneUpdate(isPowered, previouslyPowered)); + withBlockEntityDo(worldIn, pos, sgte -> sgte.onRedstoneUpdate(isPowered, previouslyPowered)); } @Override @@ -99,14 +99,14 @@ public class SequencedGearshiftBlock extends HorizontalAxisKineticBlock implemen } DistExecutor.unsafeRunWhenOn(Dist.CLIENT, - () -> () -> withTileEntityDo(worldIn, pos, te -> this.displayScreen(te, player))); + () -> () -> withBlockEntityDo(worldIn, pos, be -> this.displayScreen(be, player))); return InteractionResult.SUCCESS; } @OnlyIn(value = Dist.CLIENT) - protected void displayScreen(SequencedGearshiftTileEntity te, Player player) { + protected void displayScreen(SequencedGearshiftBlockEntity be, Player player) { if (player instanceof LocalPlayer) - ScreenOpener.open(new SequencedGearshiftScreen(te)); + ScreenOpener.open(new SequencedGearshiftScreen(be)); } @Override @@ -148,13 +148,13 @@ public class SequencedGearshiftBlock extends HorizontalAxisKineticBlock implemen } @Override - public Class getTileEntityClass() { - return SequencedGearshiftTileEntity.class; + public Class getBlockEntityClass() { + return SequencedGearshiftBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.SEQUENCED_GEARSHIFT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.SEQUENCED_GEARSHIFT.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftBlockEntity.java similarity index 96% rename from src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftBlockEntity.java index 9c595af72..fb4bb194a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftBlockEntity.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.relays.advanced.sequencer; import java.util.Vector; -import com.simibubi.create.content.contraptions.relays.encased.SplitShaftTileEntity; +import com.simibubi.create.content.contraptions.relays.encased.SplitShaftBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -11,7 +11,7 @@ import net.minecraft.nbt.Tag; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class SequencedGearshiftTileEntity extends SplitShaftTileEntity { +public class SequencedGearshiftBlockEntity extends SplitShaftBlockEntity { Vector instructions; int currentInstruction; @@ -20,7 +20,7 @@ public class SequencedGearshiftTileEntity extends SplitShaftTileEntity { int timer; boolean poweredPreviously; - public SequencedGearshiftTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SequencedGearshiftBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); instructions = Instruction.createDefault(); currentInstruction = -1; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftScreen.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftScreen.java index 7f2c86ab4..169be4830 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftScreen.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/sequencer/SequencedGearshiftScreen.java @@ -32,10 +32,10 @@ public class SequencedGearshiftScreen extends AbstractSimiScreen { private Vector> inputs; - public SequencedGearshiftScreen(SequencedGearshiftTileEntity te) { + public SequencedGearshiftScreen(SequencedGearshiftBlockEntity be) { super(Lang.translateDirect("gui.sequenced_gearshift.title")); - this.instructions = te.instructions; - this.pos = te.getBlockPos(); + this.instructions = be.instructions; + this.pos = be.getBlockPos(); compareTag = Instruction.serializeAll(instructions); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java index d4eb38378..62050a5c8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java @@ -9,17 +9,17 @@ import java.util.function.Consumer; import org.apache.commons.lang3.mutable.MutableBoolean; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.ITransformableBlock; import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; import com.simibubi.create.content.contraptions.processing.EmptyingByBasin; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity.CasingType; import com.simibubi.create.content.contraptions.relays.belt.BeltSlicer.Feedback; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity.CasingType; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltMovementHandler.TransportedEntityInfo; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltTunnelInteractionHandler; import com.simibubi.create.content.curiosities.armor.DivingBootsItem; @@ -27,10 +27,10 @@ import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.render.MultiPosDestructionHandler; import com.simibubi.create.foundation.block.render.ReducedDestroyEffects; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.client.multiplayer.ClientLevel; @@ -86,7 +86,7 @@ import net.minecraftforge.common.Tags; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; -public class BeltBlock extends HorizontalKineticBlock implements ITE, ISpecialBlockItemRequirement, ITransformableBlock { +public class BeltBlock extends HorizontalKineticBlock implements IBE, ISpecialBlockItemRequirement, ITransformableBlock { public static final Property SLOPE = EnumProperty.create("slope", BeltSlope.class); public static final Property PART = EnumProperty.create("part", BeltPart.class); @@ -119,7 +119,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE getDrops(BlockState state, net.minecraft.world.level.storage.loot.LootContext.Builder builder) { List drops = super.getDrops(state, builder); - BlockEntity tileEntity = builder.getOptionalParameter(LootContextParams.BLOCK_ENTITY); - if (tileEntity instanceof BeltTileEntity && ((BeltTileEntity) tileEntity).hasPulley()) + BlockEntity blockEntity = builder.getOptionalParameter(LootContextParams.BLOCK_ENTITY); + if (blockEntity instanceof BeltBlockEntity && ((BeltBlockEntity) blockEntity).hasPulley()) drops.addAll(AllBlocks.SHAFT.getDefaultState() .getDrops(builder)); return drops; @@ -152,9 +152,9 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE { + withBlockEntityDo(worldIn, pos, be -> { ItemEntity itemEntity = (ItemEntity) entityIn; - IItemHandler handler = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) + IItemHandler handler = be.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) .orElse(null); if (handler == null) return; @@ -222,7 +222,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE te.applyColor(DyeColor.getColor(heldItem))); + withBlockEntityDo(world, pos, be -> be.applyColor(DyeColor.getColor(heldItem))); return InteractionResult.SUCCESS; } @@ -270,12 +270,12 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE te.setCasingType(CasingType.BRASS)); + withBlockEntityDo(world, pos, be -> be.setCasingType(CasingType.BRASS)); return InteractionResult.SUCCESS; } if (AllBlocks.ANDESITE_CASING.isIn(heldItem)) { if (world.isClientSide) return InteractionResult.SUCCESS; - withTileEntityDo(world, pos, te -> te.setCasingType(CasingType.ANDESITE)); + withBlockEntityDo(world, pos, be -> be.setCasingType(CasingType.ANDESITE)); return InteractionResult.SUCCESS; } @@ -330,14 +330,14 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE te.setCasingType(CasingType.NONE)); + withBlockEntityDo(world, pos, be -> be.setCasingType(CasingType.NONE)); return InteractionResult.SUCCESS; } if (state.getValue(PART) == BeltPart.PULLEY) { if (world.isClientSide) return InteractionResult.SUCCESS; - KineticTileEntity.switchToBlockState(world, pos, state.setValue(PART, BeltPart.MIDDLE)); + KineticBlockEntity.switchToBlockState(world, pos, state.setValue(PART, BeltPart.MIDDLE)); if (player != null && !player.isCreative()) player.getInventory() .placeItemBackInInventory(AllBlocks.SHAFT.asStack()); @@ -372,12 +372,12 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE { + return getBlockEntityOptional(worldIn, pos).map(be -> { Entity entity = ((EntityCollisionContext) context).getEntity(); if (entity == null) return shape; - BeltTileEntity controller = te.getControllerTE(); + BeltBlockEntity controller = be.getControllerBE(); if (controller == null) return shape; if (controller.passengers == null || !controller.passengers.containsKey(entity)) @@ -429,20 +429,20 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE getTileEntityClass() { - return BeltTileEntity.class; + public Class getBlockEntityClass() { + return BeltBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.BELT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.BELT.get(); } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { List required = new ArrayList<>(); if (state.getValue(PART) != BeltPart.MIDDLE) required.add(AllBlocks.SHAFT.asStack()); @@ -692,7 +692,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE getExtraPositions(ClientLevel level, BlockPos pos, BlockState blockState, int progress) { BlockEntity blockEntity = level.getBlockEntity(pos); - if (blockEntity instanceof BeltTileEntity belt) { + if (blockEntity instanceof BeltBlockEntity belt) { return new HashSet<>(BeltBlock.getBeltChain(level, belt.getController())); } return null; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlockEntity.java similarity index 89% rename from src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlockEntity.java index bb1459491..7d904909c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlockEntity.java @@ -19,18 +19,18 @@ import com.jozufozu.flywheel.util.box.GridAlignedBB; import com.jozufozu.flywheel.util.box.ImmutableBox; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltInventory; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltMovementHandler; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltMovementHandler.TransportedEntityInfo; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltTunnelInteractionHandler; import com.simibubi.create.content.contraptions.relays.belt.transport.ItemHandlerBeltSegment; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; -import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; +import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelBlockEntity; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.client.renderer.LightTexture; @@ -63,7 +63,7 @@ import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; -public class BeltTileEntity extends KineticTileEntity { +public class BeltBlockEntity extends KineticBlockEntity { public Map passengers; public Optional color; @@ -85,7 +85,7 @@ public class BeltTileEntity extends KineticTileEntity { NONE, ANDESITE, BRASS; } - public BeltTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public BeltBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); controller = BlockPos.ZERO; itemHandler = LazyOptional.empty(); @@ -94,7 +94,7 @@ public class BeltTileEntity extends KineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); behaviours.add(new DirectBeltInputBehaviour(this).onlyInsertWhen(this::canInsertFrom) .setInsertionHandler(this::tryInsertingFromSide)); @@ -171,10 +171,10 @@ public class BeltTileEntity extends KineticTileEntity { return; if (!level.isLoaded(controller)) return; - BlockEntity te = level.getBlockEntity(controller); - if (te == null || !(te instanceof BeltTileEntity)) + BlockEntity be = level.getBlockEntity(controller); + if (be == null || !(be instanceof BeltBlockEntity)) return; - BeltInventory inventory = ((BeltTileEntity) te).getInventory(); + BeltInventory inventory = ((BeltBlockEntity) be).getInventory(); if (inventory == null) return; IItemHandler handler = new ItemHandlerBeltSegment(inventory, index); @@ -283,7 +283,7 @@ public class BeltTileEntity extends KineticTileEntity { return; for (BlockPos blockPos : BeltBlock.getBeltChain(level, getController())) { - BeltTileEntity belt = BeltHelper.getSegmentTE(level, blockPos); + BeltBlockEntity belt = BeltHelper.getSegmentBE(level, blockPos); if (belt == null) continue; belt.color = Optional.ofNullable(colorIn); @@ -293,15 +293,15 @@ public class BeltTileEntity extends KineticTileEntity { } } - public BeltTileEntity getControllerTE() { + public BeltBlockEntity getControllerBE() { if (controller == null) return null; if (!level.isLoaded(controller)) return null; - BlockEntity te = level.getBlockEntity(controller); - if (te == null || !(te instanceof BeltTileEntity)) + BlockEntity be = level.getBlockEntity(controller); + if (be == null || !(be instanceof BeltBlockEntity)) return null; - return (BeltTileEntity) te; + return (BeltBlockEntity) be; } public void setController(BlockPos controller) { @@ -397,9 +397,9 @@ public class BeltTileEntity extends KineticTileEntity { public BeltInventory getInventory() { if (!isController()) { - BeltTileEntity controllerTE = getControllerTE(); - if (controllerTE != null) - return controllerTE.getInventory(); + BeltBlockEntity controllerBE = getControllerBE(); + if (controllerBE != null) + return controllerBE.getInventory(); return null; } if (inventory == null) { @@ -410,7 +410,7 @@ public class BeltTileEntity extends KineticTileEntity { private void applyToAllItems(float maxDistanceFromCenter, Function processFunction) { - BeltTileEntity controller = getControllerTE(); + BeltBlockEntity controller = getControllerBE(); if (controller == null) return; BeltInventory inventory = controller.getInventory(); @@ -419,10 +419,10 @@ public class BeltTileEntity extends KineticTileEntity { } private Vec3 getWorldPositionOf(TransportedItemStack transported) { - BeltTileEntity controllerTE = getControllerTE(); - if (controllerTE == null) + BeltBlockEntity controllerBE = getControllerBE(); + if (controllerBE == null) return Vec3.ZERO; - return BeltHelper.getVectorForOffset(controllerTE, transported.beltPosition); + return BeltHelper.getVectorForOffset(controllerBE, transported.beltPosition); } public void setCasingType(CasingType type) { @@ -436,7 +436,7 @@ public class BeltTileEntity extends KineticTileEntity { boolean shouldBlockHaveCasing = type != CasingType.NONE; BlockState blockState = getBlockState(); if (blockState.getValue(BeltBlock.CASING) != shouldBlockHaveCasing) - KineticTileEntity.switchToBlockState(level, worldPosition, + KineticBlockEntity.switchToBlockState(level, worldPosition, blockState.setValue(BeltBlock.CASING, shouldBlockHaveCasing)); setChanged(); sendData(); @@ -453,7 +453,7 @@ public class BeltTileEntity extends KineticTileEntity { } private ItemStack tryInsertingFromSide(TransportedItemStack transportedStack, Direction side, boolean simulate) { - BeltTileEntity nextBeltController = getControllerTE(); + BeltBlockEntity nextBeltController = getControllerBE(); ItemStack inserted = transportedStack.stack; ItemStack empty = ItemStack.EMPTY; @@ -464,17 +464,17 @@ public class BeltTileEntity extends KineticTileEntity { return inserted; BlockEntity teAbove = level.getBlockEntity(worldPosition.above()); - if (teAbove instanceof BrassTunnelTileEntity) { - BrassTunnelTileEntity tunnelTE = (BrassTunnelTileEntity) teAbove; - if (tunnelTE.hasDistributionBehaviour()) { - if (!tunnelTE.getStackToDistribute() + if (teAbove instanceof BrassTunnelBlockEntity) { + BrassTunnelBlockEntity tunnelBE = (BrassTunnelBlockEntity) teAbove; + if (tunnelBE.hasDistributionBehaviour()) { + if (!tunnelBE.getStackToDistribute() .isEmpty()) return inserted; - if (!tunnelTE.testFlapFilter(side.getOpposite(), inserted)) + if (!tunnelBE.testFlapFilter(side.getOpposite(), inserted)) return inserted; if (!simulate) { BeltTunnelInteractionHandler.flapTunnel(nextInventory, index, side.getOpposite(), true); - tunnelTE.setStackToDistribute(inserted, side.getOpposite()); + tunnelBE.setStackToDistribute(inserted, side.getOpposite()); } return empty; } @@ -532,10 +532,10 @@ public class BeltTileEntity extends KineticTileEntity { } @Override - public float propagateRotationTo(KineticTileEntity target, BlockState stateFrom, BlockState stateTo, BlockPos diff, + public float propagateRotationTo(KineticBlockEntity target, BlockState stateFrom, BlockState stateTo, BlockPos diff, boolean connectedViaAxes, boolean connectedViaCogs) { - if (target instanceof BeltTileEntity && !connectedViaAxes) - return getController().equals(((BeltTileEntity) target).getController()) ? 1 : 0; + if (target instanceof BeltBlockEntity && !connectedViaAxes) + return getController().equals(((BeltBlockEntity) target).getController()) ? 1 : 0; return 0; } @@ -582,7 +582,7 @@ public class BeltTileEntity extends KineticTileEntity { @Override public GridAlignedBB getVolume() { - BlockPos endPos = BeltHelper.getPositionForOffset(BeltTileEntity.this, beltLength - 1); + BlockPos endPos = BeltHelper.getPositionForOffset(BeltBlockEntity.this, beltLength - 1); GridAlignedBB bb = GridAlignedBB.from(worldPosition, endPos); bb.fixMinMax(); return bb; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltHelper.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltHelper.java index 4f0086b07..3e5f92378 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltHelper.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltHelper.java @@ -21,39 +21,39 @@ public class BeltHelper { .isPresent() || AllItemTags.UPRIGHT_ON_BELT.matches(stack); } - public static BeltTileEntity getSegmentTE(LevelAccessor world, BlockPos pos) { + public static BeltBlockEntity getSegmentBE(LevelAccessor world, BlockPos pos) { if (world instanceof Level l && !l.isLoaded(pos)) return null; - BlockEntity tileEntity = world.getBlockEntity(pos); - if (!(tileEntity instanceof BeltTileEntity)) + BlockEntity blockEntity = world.getBlockEntity(pos); + if (!(blockEntity instanceof BeltBlockEntity)) return null; - return (BeltTileEntity) tileEntity; + return (BeltBlockEntity) blockEntity; } - public static BeltTileEntity getControllerTE(LevelAccessor world, BlockPos pos) { - BeltTileEntity segment = getSegmentTE(world, pos); + public static BeltBlockEntity getControllerBE(LevelAccessor world, BlockPos pos) { + BeltBlockEntity segment = getSegmentBE(world, pos); if (segment == null) return null; BlockPos controllerPos = segment.controller; if (controllerPos == null) return null; - return getSegmentTE(world, controllerPos); + return getSegmentBE(world, controllerPos); } - public static BeltTileEntity getBeltForOffset(BeltTileEntity controller, float offset) { + public static BeltBlockEntity getBeltForOffset(BeltBlockEntity controller, float offset) { return getBeltAtSegment(controller, (int) Math.floor(offset)); } - public static BeltTileEntity getBeltAtSegment(BeltTileEntity controller, int segment) { + public static BeltBlockEntity getBeltAtSegment(BeltBlockEntity controller, int segment) { BlockPos pos = getPositionForOffset(controller, segment); - BlockEntity te = controller.getLevel() + BlockEntity be = controller.getLevel() .getBlockEntity(pos); - if (te == null || !(te instanceof BeltTileEntity)) + if (be == null || !(be instanceof BeltBlockEntity)) return null; - return (BeltTileEntity) te; + return (BeltBlockEntity) be; } - public static BlockPos getPositionForOffset(BeltTileEntity controller, int offset) { + public static BlockPos getPositionForOffset(BeltBlockEntity controller, int offset) { BlockPos pos = controller.getBlockPos(); Vec3i vec = controller.getBeltFacing() .getNormal(); @@ -65,7 +65,7 @@ public class BeltHelper { offset * vec.getZ()); } - public static Vec3 getVectorForOffset(BeltTileEntity controller, float offset) { + public static Vec3 getVectorForOffset(BeltBlockEntity controller, float offset) { BeltSlope slope = controller.getBlockState() .getValue(BeltBlock.SLOPE); int verticality = slope == BeltSlope.DOWNWARD ? -1 : slope == BeltSlope.UPWARD ? 1 : 0; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltInstance.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltInstance.java index 0a518ce6c..1214f2b2c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltInstance.java @@ -12,7 +12,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Quaternion; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.base.KineticTileInstance; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityInstance; import com.simibubi.create.content.contraptions.base.flwdata.BeltData; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; import com.simibubi.create.foundation.block.render.SpriteShiftEntry; @@ -23,7 +23,7 @@ import net.minecraft.core.Direction; import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.LightLayer; -public class BeltInstance extends KineticTileInstance { +public class BeltInstance extends KineticBlockEntityInstance { boolean upward; boolean diagonal; @@ -36,8 +36,8 @@ public class BeltInstance extends KineticTileInstance { protected ArrayList keys; protected RotatingData pulleyKey; - public BeltInstance(MaterialManager materialManager, BeltTileEntity tile) { - super(materialManager, tile); + public BeltInstance(MaterialManager materialManager, BeltBlockEntity blockEntity) { + super(materialManager, blockEntity); if (!AllBlocks.BELT.has(blockState)) return; @@ -56,7 +56,7 @@ public class BeltInstance extends KineticTileInstance { BeltPart part = blockState.getValue(BeltBlock.PART); boolean start = part == BeltPart.START; boolean end = part == BeltPart.END; - DyeColor color = tile.color.orElse(null); + DyeColor color = blockEntity.color.orElse(null); for (boolean bottom : Iterate.trueAndFalse) { PartialModel beltPartial = BeltRenderer.getBeltPartial(diagonal, start, end, bottom); @@ -71,7 +71,7 @@ public class BeltInstance extends KineticTileInstance { if (diagonal) break; } - if (tile.hasPulley()) { + if (blockEntity.hasPulley()) { Instancer pulleyModel = getPulleyModel(); pulleyKey = setup(pulleyModel.createInstance()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltModel.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltModel.java index e510303b3..331b9af4c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltModel.java @@ -1,13 +1,13 @@ package com.simibubi.create.content.contraptions.relays.belt; -import static com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity.CASING_PROPERTY; +import static com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity.CASING_PROPERTY; import java.util.ArrayList; import java.util.List; import java.util.Random; import com.simibubi.create.AllSpriteShifts; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity.CasingType; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity.CasingType; import com.simibubi.create.foundation.block.render.QuadHelper; import com.simibubi.create.foundation.block.render.SpriteShiftEntry; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java index b27ed9d8b..ee9faedd3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java @@ -12,13 +12,13 @@ import com.mojang.math.Vector3f; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSpriteShifts; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; import com.simibubi.create.foundation.block.render.SpriteShiftEntry; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.ShadowRenderHelper; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.Iterate; @@ -40,23 +40,23 @@ import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class BeltRenderer extends SafeTileEntityRenderer { +public class BeltRenderer extends SafeBlockEntityRenderer { public BeltRenderer(BlockEntityRendererProvider.Context context) { } @Override - public boolean shouldRenderOffScreen(BeltTileEntity te) { - return te.isController(); + public boolean shouldRenderOffScreen(BeltBlockEntity be) { + return be.isController(); } @Override - protected void renderSafe(BeltTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(BeltBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (!Backend.canUseInstancing(te.getLevel())) { + if (!Backend.canUseInstancing(be.getLevel())) { - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); if (!AllBlocks.BELT.has(blockState)) return; BeltSlope beltSlope = blockState.getValue(BeltBlock.SLOPE); @@ -75,7 +75,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { PoseStack localTransforms = new PoseStack(); TransformStack msr = TransformStack.cast(localTransforms); VertexConsumer vb = buffer.getBuffer(RenderType.solid()); - float renderTick = AnimationTickHolder.getRenderTime(te.getLevel()); + float renderTick = AnimationTickHolder.getRenderTime(be.getLevel()); msr.centre() .rotateY(AngleHelper.horizontalAngle(facing) + (upward ? 180 : 0) + (sideways ? 270 : 0)) @@ -89,7 +89,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { end = b; } - DyeColor color = te.color.orElse(null); + DyeColor color = be.color.orElse(null); for (boolean bottom : Iterate.trueAndFalse) { @@ -101,8 +101,8 @@ public class BeltRenderer extends SafeTileEntityRenderer { SpriteShiftEntry spriteShift = getSpriteShiftEntry(color, diagonal, bottom); // UV shift - float speed = te.getSpeed(); - if (speed != 0 || te.color.isPresent()) { + float speed = be.getSpeed(); + if (speed != 0 || be.color.isPresent()) { float time = renderTick * axisDirection.getStep(); if (diagonal && (downward ^ alongX) || !sideways && !diagonal && alongX || sideways && axisDirection == AxisDirection.NEGATIVE) speed = -speed; @@ -126,7 +126,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { if (diagonal) break; } - if (te.hasPulley()) { + if (be.hasPulley()) { Direction dir = sideways ? Direction.UP : blockState.getValue(BeltBlock.HORIZONTAL_FACING).getClockWise(); Supplier matrixStackSupplier = () -> { @@ -141,11 +141,11 @@ public class BeltRenderer extends SafeTileEntityRenderer { }; SuperByteBuffer superBuffer = CachedBufferer.partialDirectional(AllBlockPartials.BELT_PULLEY, blockState, dir, matrixStackSupplier); - KineticTileEntityRenderer.standardKineticRotationTransform(superBuffer, te, light).renderInto(ms, vb); + KineticBlockEntityRenderer.standardKineticRotationTransform(superBuffer, be, light).renderInto(ms, vb); } } - renderItems(te, partialTicks, ms, buffer, light, overlay); + renderItems(be, partialTicks, ms, buffer, light, overlay); } public static SpriteShiftEntry getSpriteShiftEntry(DyeColor color, boolean diagonal, boolean bottom) { @@ -173,30 +173,30 @@ public class BeltRenderer extends SafeTileEntityRenderer { } } - protected void renderItems(BeltTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderItems(BeltBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (!te.isController()) + if (!be.isController()) return; - if (te.beltLength == 0) + if (be.beltLength == 0) return; ms.pushPose(); - Direction beltFacing = te.getBeltFacing(); + Direction beltFacing = be.getBeltFacing(); Vec3i directionVec = beltFacing .getNormal(); Vec3 beltStartOffset = Vec3.atLowerCornerOf(directionVec).scale(-.5) .add(.5, 15 / 16f, .5); ms.translate(beltStartOffset.x, beltStartOffset.y, beltStartOffset.z); - BeltSlope slope = te.getBlockState() + BeltSlope slope = be.getBlockState() .getValue(BeltBlock.SLOPE); int verticality = slope == BeltSlope.DOWNWARD ? -1 : slope == BeltSlope.UPWARD ? 1 : 0; boolean slopeAlongX = beltFacing .getAxis() == Axis.X; - boolean onContraption = te.getLevel() instanceof WrappedWorld; + boolean onContraption = be.getLevel() instanceof WrappedWorld; - for (TransportedItemStack transported : te.getInventory() + for (TransportedItemStack transported : be.getInventory() .getTransportedItems()) { ms.pushPose(); TransformStack.cast(ms) @@ -206,7 +206,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { float sideOffset; float verticalMovement; - if (te.getSpeed() == 0) { + if (be.getSpeed() == 0) { offset = transported.beltPosition; sideOffset = transported.sideOffset; } else { @@ -217,12 +217,12 @@ public class BeltRenderer extends SafeTileEntityRenderer { if (offset < .5) verticalMovement = 0; else - verticalMovement = verticality * (Math.min(offset, te.beltLength - .5f) - .5f); + verticalMovement = verticality * (Math.min(offset, be.beltLength - .5f) - .5f); Vec3 offsetVec = Vec3.atLowerCornerOf(directionVec).scale(offset); if (verticalMovement != 0) offsetVec = offsetVec.add(0, verticalMovement, 0); boolean onSlope = - slope != BeltSlope.HORIZONTAL && Mth.clamp(offset, .5f, te.beltLength - .5f) == offset; + slope != BeltSlope.HORIZONTAL && Mth.clamp(offset, .5f, be.beltLength - .5f) == offset; boolean tiltForward = (slope == BeltSlope.DOWNWARD ^ beltFacing .getAxisDirection() == AxisDirection.POSITIVE) == (beltFacing .getAxis() == Axis.Z); @@ -237,11 +237,11 @@ public class BeltRenderer extends SafeTileEntityRenderer { sideOffset *= -1; ms.translate(alongX ? sideOffset : 0, 0, alongX ? 0 : sideOffset); - int stackLight = onContraption ? light : getPackedLight(te, offset); + int stackLight = onContraption ? light : getPackedLight(be, offset); ItemRenderer itemRenderer = Minecraft.getInstance() .getItemRenderer(); boolean renderUpright = BeltHelper.isItemUpright(transported.stack); - boolean blockItem = itemRenderer.getModel(transported.stack, te.getLevel(), null, 0) + boolean blockItem = itemRenderer.getModel(transported.stack, be.getLevel(), null, 0) .isGui3d(); int count = (int) (Mth.log2((int) (transported.stack.getCount()))) / 2; Random r = new Random(transported.angle); @@ -267,7 +267,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { Entity renderViewEntity = Minecraft.getInstance().cameraEntity; if (renderViewEntity != null) { Vec3 positionVec = renderViewEntity.position(); - Vec3 vectorForOffset = BeltHelper.getVectorForOffset(te, offset); + Vec3 vectorForOffset = BeltHelper.getVectorForOffset(be, offset); Vec3 diff = vectorForOffset.subtract(positionVec); float yRot = (float) (Mth.atan2(diff.x, diff.z) + Math.PI); ms.mulPose(Vector3f.YP.rotation(yRot)); @@ -289,7 +289,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { } ms.scale(.5f, .5f, .5f); - itemRenderer.renderStatic(null, transported.stack, TransformType.FIXED, false, ms, buffer, te.getLevel(), stackLight, overlay, 0); + itemRenderer.renderStatic(null, transported.stack, TransformType.FIXED, false, ms, buffer, be.getLevel(), stackLight, overlay, 0); ms.popPose(); if (!renderUpright) { @@ -306,7 +306,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { ms.popPose(); } - protected int getPackedLight(BeltTileEntity controller, float beltPos) { + protected int getPackedLight(BeltBlockEntity controller, float beltPos) { int segment = (int) Math.floor(beltPos); if (controller.lighter == null || segment >= controller.lighter.lightSegments() || segment < 0) return 0; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltSlicer.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltSlicer.java index 443cacf40..46d25ed80 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltSlicer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltSlicer.java @@ -8,8 +8,8 @@ import java.util.Optional; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.CreateClient; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity.CasingType; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity.CasingType; import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorItem; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltInventory; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; @@ -53,8 +53,8 @@ public class BeltSlicer { public static InteractionResult useWrench(BlockState state, Level world, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit, Feedback feedBack) { - BeltTileEntity controllerTE = BeltHelper.getControllerTE(world, pos); - if (controllerTE == null) + BeltBlockEntity controllerBE = BeltHelper.getControllerBE(world, pos); + if (controllerBE == null) return InteractionResult.PASS; if (state.getValue(BeltBlock.CASING) && hit.getDirection() != Direction.UP) return InteractionResult.PASS; @@ -62,13 +62,13 @@ public class BeltSlicer { .getAxis() != Axis.Y) return InteractionResult.PASS; - int beltLength = controllerTE.beltLength; + int beltLength = controllerBE.beltLength; if (beltLength == 2) return InteractionResult.FAIL; BlockPos beltVector = new BlockPos(BeltHelper.getBeltVector(state)); BeltPart part = state.getValue(BeltBlock.PART); - List beltChain = BeltBlock.getBeltChain(world, controllerTE.getBlockPos()); + List beltChain = BeltBlock.getBeltChain(world, controllerBE.getBlockPos()); boolean creative = player.isCreative(); // Shorten from End @@ -77,7 +77,7 @@ public class BeltSlicer { return InteractionResult.SUCCESS; for (BlockPos blockPos : beltChain) { - BeltTileEntity belt = BeltHelper.getSegmentTE(world, blockPos); + BeltBlockEntity belt = BeltHelper.getSegmentBE(world, blockPos); if (belt == null) continue; belt.detachKinetics(); @@ -85,12 +85,12 @@ public class BeltSlicer { belt.beltLength = 0; } - BeltInventory inventory = controllerTE.inventory; + BeltInventory inventory = controllerBE.inventory; BlockPos next = part == BeltPart.END ? pos.subtract(beltVector) : pos.offset(beltVector); BlockState replacedState = world.getBlockState(next); - BeltTileEntity segmentTE = BeltHelper.getSegmentTE(world, next); - KineticTileEntity.switchToBlockState(world, next, - state.setValue(BeltBlock.CASING, segmentTE != null && segmentTE.casing != CasingType.NONE)); + BeltBlockEntity segmentBE = BeltHelper.getSegmentBE(world, next); + KineticBlockEntity.switchToBlockState(world, next, + state.setValue(BeltBlock.CASING, segmentBE != null && segmentBE.casing != CasingType.NONE)); world.setBlock(pos, Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL | Block.UPDATE_MOVE_BY_PISTON); world.removeBlockEntity(pos); world.levelEvent(2001, pos, Block.getId(state)); @@ -110,10 +110,10 @@ public class BeltSlicer { } // Transfer items to new controller - if (part == BeltPart.START && segmentTE != null && inventory != null) { - controllerTE.inventory = null; - segmentTE.inventory = null; - segmentTE.setController(next); + if (part == BeltPart.START && segmentBE != null && inventory != null) { + controllerBE.inventory = null; + segmentBE.inventory = null; + segmentBE.setController(next); for (TransportedItemStack transportedItemStack : inventory.getTransportedItems()) { transportedItemStack.beltPosition -= 1; if (transportedItemStack.beltPosition <= 0) { @@ -124,7 +124,7 @@ public class BeltSlicer { entity.hurtMarked = true; world.addFreshEntity(entity); } else - segmentTE.getInventory() + segmentBE.getInventory() .addItem(transportedItemStack); } } @@ -132,12 +132,12 @@ public class BeltSlicer { return InteractionResult.SUCCESS; } - BeltTileEntity segmentTE = BeltHelper.getSegmentTE(world, pos); - if (segmentTE == null) + BeltBlockEntity segmentBE = BeltHelper.getSegmentBE(world, pos); + if (segmentBE == null) return InteractionResult.PASS; // Split in half - int hitSegment = segmentTE.index; + int hitSegment = segmentBE.index; Vec3 centerOf = VecHelper.getCenterOf(hit.getBlockPos()); Vec3 subtract = hit.getLocation() .subtract(centerOf); @@ -146,13 +146,13 @@ public class BeltSlicer { if (hitSegment == 0 || hitSegment == 1 && !towardPositive) return InteractionResult.FAIL; - if (hitSegment == controllerTE.beltLength - 1 || hitSegment == controllerTE.beltLength - 2 && towardPositive) + if (hitSegment == controllerBE.beltLength - 1 || hitSegment == controllerBE.beltLength - 2 && towardPositive) return InteractionResult.FAIL; // Look for shafts if (!creative) { int requiredShafts = 0; - if (!segmentTE.hasPulley()) + if (!segmentBE.hasPulley()) requiredShafts++; BlockState other = world.getBlockState(next); if (AllBlocks.BELT.has(other) && other.getValue(BeltBlock.PART) == BeltPart.MIDDLE) @@ -196,7 +196,7 @@ public class BeltSlicer { if (!world.isClientSide) { for (BlockPos blockPos : beltChain) { - BeltTileEntity belt = BeltHelper.getSegmentTE(world, blockPos); + BeltBlockEntity belt = BeltHelper.getSegmentBE(world, blockPos); if (belt == null) continue; belt.detachKinetics(); @@ -204,16 +204,16 @@ public class BeltSlicer { belt.beltLength = 0; } - BeltInventory inventory = controllerTE.inventory; - KineticTileEntity.switchToBlockState(world, pos, + BeltInventory inventory = controllerBE.inventory; + KineticBlockEntity.switchToBlockState(world, pos, state.setValue(BeltBlock.PART, towardPositive ? BeltPart.END : BeltPart.START)); - KineticTileEntity.switchToBlockState(world, next, world.getBlockState(next) + KineticBlockEntity.switchToBlockState(world, next, world.getBlockState(next) .setValue(BeltBlock.PART, towardPositive ? BeltPart.START : BeltPart.END)); world.playSound(null, pos, SoundEvents.WOOL_HIT, player == null ? SoundSource.BLOCKS : SoundSource.PLAYERS, 0.5F, 2.3F); // Transfer items to new controller - BeltTileEntity newController = towardPositive ? BeltHelper.getSegmentTE(world, next) : segmentTE; + BeltBlockEntity newController = towardPositive ? BeltHelper.getSegmentBE(world, next) : segmentBE; if (newController != null && inventory != null) { newController.inventory = null; newController.setController(newController.getBlockPos()); @@ -236,25 +236,25 @@ public class BeltSlicer { public static InteractionResult useConnector(BlockState state, Level world, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit, Feedback feedBack) { - BeltTileEntity controllerTE = BeltHelper.getControllerTE(world, pos); - if (controllerTE == null) + BeltBlockEntity controllerBE = BeltHelper.getControllerBE(world, pos); + if (controllerBE == null) return InteractionResult.PASS; - int beltLength = controllerTE.beltLength; + int beltLength = controllerBE.beltLength; if (beltLength == BeltConnectorItem.maxLength()) return InteractionResult.FAIL; BlockPos beltVector = new BlockPos(BeltHelper.getBeltVector(state)); BeltPart part = state.getValue(BeltBlock.PART); Direction facing = state.getValue(BeltBlock.HORIZONTAL_FACING); - List beltChain = BeltBlock.getBeltChain(world, controllerTE.getBlockPos()); + List beltChain = BeltBlock.getBeltChain(world, controllerBE.getBlockPos()); boolean creative = player.isCreative(); if (!hoveringEnd(state, hit)) return InteractionResult.PASS; BlockPos next = part == BeltPart.START ? pos.subtract(beltVector) : pos.offset(beltVector); - BeltTileEntity mergedController = null; + BeltBlockEntity mergedController = null; int mergedBeltLength = 0; // Merge Belts / Extend at End @@ -266,7 +266,7 @@ public class BeltSlicer { if (!beltStatesCompatible(state, nextState)) return InteractionResult.FAIL; - mergedController = BeltHelper.getControllerTE(world, next); + mergedController = BeltHelper.getControllerBE(world, next); if (mergedController == null) return InteractionResult.FAIL; if (mergedController.beltLength + beltLength > BeltConnectorItem.maxLength()) @@ -276,9 +276,9 @@ public class BeltSlicer { if (!world.isClientSide) { boolean flipBelt = facing != nextState.getValue(BeltBlock.HORIZONTAL_FACING); - Optional color = controllerTE.color; + Optional color = controllerBE.color; for (BlockPos blockPos : BeltBlock.getBeltChain(world, mergedController.getBlockPos())) { - BeltTileEntity belt = BeltHelper.getSegmentTE(world, blockPos); + BeltBlockEntity belt = BeltHelper.getSegmentBE(world, blockPos); if (belt == null) continue; belt.detachKinetics(); @@ -303,7 +303,7 @@ public class BeltSlicer { if (!world.isClientSide) { for (BlockPos blockPos : beltChain) { - BeltTileEntity belt = BeltHelper.getSegmentTE(world, blockPos); + BeltBlockEntity belt = BeltHelper.getSegmentBE(world, blockPos); if (belt == null) continue; belt.detachKinetics(); @@ -311,24 +311,24 @@ public class BeltSlicer { belt.beltLength = 0; } - BeltInventory inventory = controllerTE.inventory; - KineticTileEntity.switchToBlockState(world, pos, state.setValue(BeltBlock.PART, BeltPart.MIDDLE)); + BeltInventory inventory = controllerBE.inventory; + KineticBlockEntity.switchToBlockState(world, pos, state.setValue(BeltBlock.PART, BeltPart.MIDDLE)); if (mergedController == null) { // Attach at end world.setBlock(next, state.setValue(BeltBlock.CASING, false), Block.UPDATE_ALL | Block.UPDATE_MOVE_BY_PISTON); - BeltTileEntity segmentTE = BeltHelper.getSegmentTE(world, next); - if (segmentTE != null) - segmentTE.color = controllerTE.color; + BeltBlockEntity segmentBE = BeltHelper.getSegmentBE(world, next); + if (segmentBE != null) + segmentBE.color = controllerBE.color; world.playSound(null, pos, SoundEvents.WOOL_PLACE, player == null ? SoundSource.BLOCKS : SoundSource.PLAYERS, 0.5F, 1F); // Transfer items to new controller - if (part == BeltPart.START && segmentTE != null && inventory != null) { - segmentTE.setController(next); + if (part == BeltPart.START && segmentBE != null && inventory != null) { + segmentBE.setController(next); for (TransportedItemStack transportedItemStack : inventory.getTransportedItems()) { transportedItemStack.beltPosition += 1; - segmentTE.getInventory() + segmentBE.getInventory() .addItem(transportedItemStack); } } @@ -338,9 +338,9 @@ public class BeltSlicer { BeltInventory mergedInventory = mergedController.inventory; world.playSound(null, pos, SoundEvents.WOOL_HIT, player == null ? SoundSource.BLOCKS : SoundSource.PLAYERS, 0.5F, 1.3F); - BeltTileEntity segmentTE = BeltHelper.getSegmentTE(world, next); - KineticTileEntity.switchToBlockState(world, next, - state.setValue(BeltBlock.CASING, segmentTE != null && segmentTE.casing != CasingType.NONE) + BeltBlockEntity segmentBE = BeltHelper.getSegmentBE(world, next); + KineticBlockEntity.switchToBlockState(world, next, + state.setValue(BeltBlock.CASING, segmentBE != null && segmentBE.casing != CasingType.NONE) .setValue(BeltBlock.PART, BeltPart.MIDDLE)); if (!creative) { @@ -349,7 +349,7 @@ public class BeltSlicer { } // Transfer items to other controller - BlockPos search = controllerTE.getBlockPos(); + BlockPos search = controllerBE.getBlockPos(); for (int i = 0; i < 10000; i++) { BlockState blockState = world.getBlockState(search); if (!AllBlocks.BELT.has(blockState)) @@ -359,11 +359,11 @@ public class BeltSlicer { continue; } - BeltTileEntity newController = BeltHelper.getSegmentTE(world, search); + BeltBlockEntity newController = BeltHelper.getSegmentBE(world, search); - if (newController != controllerTE && inventory != null) { + if (newController != controllerBE && inventory != null) { newController.setController(search); - controllerTE.inventory = null; + controllerBE.inventory = null; for (TransportedItemStack transportedItemStack : inventory.getTransportedItems()) { transportedItemStack.beltPosition += mergedBeltLength; newController.getInventory() @@ -375,7 +375,7 @@ public class BeltSlicer { newController.setController(search); mergedController.inventory = null; for (TransportedItemStack transportedItemStack : mergedInventory.getTransportedItems()) { - if (newController == controllerTE) + if (newController == controllerBE) transportedItemStack.beltPosition += beltLength; newController.getInventory() .addItem(transportedItemStack); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java index ac3f3edb4..1fd5dc1d2 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java @@ -7,7 +7,7 @@ import javax.annotation.Nonnull; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltPart; import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; @@ -155,7 +155,7 @@ public class BeltConnectorItem extends BlockItem { .isReplaceable()) world.destroyBlock(pos, false); - KineticTileEntity.switchToBlockState(world, pos, beltBlock.setValue(BeltBlock.SLOPE, slope) + KineticBlockEntity.switchToBlockState(world, pos, beltBlock.setValue(BeltBlock.SLOPE, slope) .setValue(BeltBlock.PART, part) .setValue(BeltBlock.HORIZONTAL_FACING, facing)); } @@ -243,16 +243,16 @@ public class BeltConnectorItem extends BlockItem { if (shaftAxis == Axis.Y && x != 0 && z != 0) return false; - BlockEntity tileEntity = world.getBlockEntity(first); - BlockEntity tileEntity2 = world.getBlockEntity(second); + BlockEntity blockEntity = world.getBlockEntity(first); + BlockEntity blockEntity2 = world.getBlockEntity(second); - if (!(tileEntity instanceof KineticTileEntity)) + if (!(blockEntity instanceof KineticBlockEntity)) return false; - if (!(tileEntity2 instanceof KineticTileEntity)) + if (!(blockEntity2 instanceof KineticBlockEntity)) return false; - float speed1 = ((KineticTileEntity) tileEntity).getTheoreticalSpeed(); - float speed2 = ((KineticTileEntity) tileEntity2).getTheoreticalSpeed(); + float speed1 = ((KineticBlockEntity) blockEntity).getTheoreticalSpeed(); + float speed2 = ((KineticBlockEntity) blockEntity2).getTheoreticalSpeed(); if (Math.signum(speed1) != Math.signum(speed2) && speed1 != 0 && speed2 != 0) return false; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltCrusherInteractionHandler.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltCrusherInteractionHandler.java index ea8f9e8d6..2aadd65cd 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltCrusherInteractionHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltCrusherInteractionHandler.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.relays.belt.transport; import com.simibubi.create.content.contraptions.components.crusher.CrushingWheelControllerBlock; -import com.simibubi.create.content.contraptions.components.crusher.CrushingWheelControllerTileEntity; +import com.simibubi.create.content.contraptions.components.crusher.CrushingWheelControllerBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import net.minecraft.core.BlockPos; @@ -46,15 +46,15 @@ public class BeltCrusherInteractionHandler { return false; currentItem.beltPosition = crusherEntry; - BlockEntity te = world.getBlockEntity(crusherPos); - if (!(te instanceof CrushingWheelControllerTileEntity)) + BlockEntity be = world.getBlockEntity(crusherPos); + if (!(be instanceof CrushingWheelControllerBlockEntity)) return true; - CrushingWheelControllerTileEntity crusherTE = (CrushingWheelControllerTileEntity) te; + CrushingWheelControllerBlockEntity crusherBE = (CrushingWheelControllerBlockEntity) be; ItemStack toInsert = currentItem.stack.copy(); - ItemStack remainder = ItemHandlerHelper.insertItemStacked(crusherTE.inventory, toInsert, false); + ItemStack remainder = ItemHandlerHelper.insertItemStacked(crusherBE.inventory, toInsert, false); if (toInsert.equals(remainder, false)) return true; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltFunnelInteractionHandler.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltFunnelInteractionHandler.java index 52f0cbe7a..d5e3f624e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltFunnelInteractionHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltFunnelInteractionHandler.java @@ -3,9 +3,9 @@ package com.simibubi.create.content.contraptions.relays.belt.transport; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock.Shape; -import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; +import com.simibubi.create.content.logistics.block.funnel.FunnelBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -58,13 +58,13 @@ public class BeltFunnelInteractionHandler { else continue; - BlockEntity te = world.getBlockEntity(funnelPos); - if (!(te instanceof FunnelTileEntity)) + BlockEntity be = world.getBlockEntity(funnelPos); + if (!(be instanceof FunnelBlockEntity)) return true; - FunnelTileEntity funnelTE = (FunnelTileEntity) te; - InvManipulationBehaviour inserting = funnelTE.getBehaviour(InvManipulationBehaviour.TYPE); - FilteringBehaviour filtering = funnelTE.getBehaviour(FilteringBehaviour.TYPE); + FunnelBlockEntity funnelBE = (FunnelBlockEntity) be; + InvManipulationBehaviour inserting = funnelBE.getBehaviour(InvManipulationBehaviour.TYPE); + FilteringBehaviour filtering = funnelBE.getBehaviour(FilteringBehaviour.TYPE); if (inserting == null || filtering != null && !filtering.test(currentItem.stack)) if (blocking) @@ -72,7 +72,7 @@ public class BeltFunnelInteractionHandler { else continue; - int amountToExtract = funnelTE.getAmountToExtract(); + int amountToExtract = funnelBE.getAmountToExtract(); ItemStack toInsert = currentItem.stack.copy(); if (amountToExtract > toInsert.getCount()) if (blocking) @@ -103,8 +103,8 @@ public class BeltFunnelInteractionHandler { } else if (notFilled > 0) remainder = ItemHandlerHelper.copyStackWithSize(currentItem.stack, notFilled); - funnelTE.flap(true); - funnelTE.onTransfer(toInsert); + funnelBE.flap(true); + funnelBE.onTransfer(toInsert); currentItem.stack = remainder; beltInventory.belt.sendData(); if (blocking) diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltInventory.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltInventory.java index dbfecf2e0..23351a0b6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltInventory.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltInventory.java @@ -9,15 +9,15 @@ import java.util.List; import java.util.function.Function; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.ServerSpeedProvider; @@ -33,15 +33,15 @@ import net.minecraft.world.phys.Vec3; public class BeltInventory { - final BeltTileEntity belt; + final BeltBlockEntity belt; private final List items; final List toInsert; final List toRemove; boolean beltMovementPositive; final float SEGMENT_WINDOW = .75f; - public BeltInventory(BeltTileEntity te) { - this.belt = te; + public BeltInventory(BeltBlockEntity be) { + this.belt = be; items = new LinkedList<>(); toInsert = new LinkedList<>(); toRemove = new LinkedList<>(); @@ -184,7 +184,7 @@ public class BeltInventory { if (ending == Ending.INSERT) { DirectBeltInputBehaviour inputBehaviour = - TileEntityBehaviour.get(world, nextPosition, DirectBeltInputBehaviour.TYPE); + BlockEntityBehaviour.get(world, nextPosition, DirectBeltInputBehaviour.TYPE); if (inputBehaviour == null) continue; if (!inputBehaviour.canInsertFromSide(movementFacing)) @@ -284,12 +284,12 @@ public class BeltInventory { } protected BeltProcessingBehaviour getBeltProcessingAtSegment(int segment) { - return TileEntityBehaviour.get(belt.getLevel(), BeltHelper.getPositionForOffset(belt, segment) + return BlockEntityBehaviour.get(belt.getLevel(), BeltHelper.getPositionForOffset(belt, segment) .above(2), BeltProcessingBehaviour.TYPE); } protected TransportedItemStackHandlerBehaviour getTransportedItemStackHandlerAtSegment(int segment) { - return TileEntityBehaviour.get(belt.getLevel(), BeltHelper.getPositionForOffset(belt, segment), + return BlockEntityBehaviour.get(belt.getLevel(), BeltHelper.getPositionForOffset(belt, segment), TransportedItemStackHandlerBehaviour.TYPE); } @@ -311,7 +311,7 @@ public class BeltInventory { // return Ending.FUNNEL; DirectBeltInputBehaviour inputBehaviour = - TileEntityBehaviour.get(world, nextPosition, DirectBeltInputBehaviour.TYPE); + BlockEntityBehaviour.get(world, nextPosition, DirectBeltInputBehaviour.TYPE); if (inputBehaviour != null) return Ending.INSERT; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltMovementHandler.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltMovementHandler.java index 2b2777af1..f47ad0367 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltMovementHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltMovementHandler.java @@ -8,9 +8,9 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltPart; import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -65,18 +65,18 @@ public class BeltMovementHandler { return true; } - public static void transportEntity(BeltTileEntity beltTe, Entity entityIn, TransportedEntityInfo info) { + public static void transportEntity(BeltBlockEntity beltBE, Entity entityIn, TransportedEntityInfo info) { BlockPos pos = info.lastCollidedPos; - Level world = beltTe.getLevel(); - BlockEntity te = world.getBlockEntity(pos); - BlockEntity tileEntityBelowPassenger = world.getBlockEntity(entityIn.blockPosition()); + Level world = beltBE.getLevel(); + BlockEntity be = world.getBlockEntity(pos); + BlockEntity blockEntityBelowPassenger = world.getBlockEntity(entityIn.blockPosition()); BlockState blockState = info.lastCollidedState; Direction movementFacing = Direction.fromAxisAndDirection(blockState.getValue(BlockStateProperties.HORIZONTAL_FACING) - .getAxis(), beltTe.getSpeed() < 0 ? POSITIVE : NEGATIVE); + .getAxis(), beltBE.getSpeed() < 0 ? POSITIVE : NEGATIVE); - boolean collidedWithBelt = te instanceof BeltTileEntity; - boolean betweenBelts = tileEntityBelowPassenger instanceof BeltTileEntity && tileEntityBelowPassenger != te; + boolean collidedWithBelt = be instanceof BeltBlockEntity; + boolean betweenBelts = blockEntityBelowPassenger instanceof BeltBlockEntity && blockEntityBelowPassenger != be; // Don't fight other Belts if (!collidedWithBelt || betweenBelts) { @@ -84,9 +84,9 @@ public class BeltMovementHandler { } // Too slow - boolean notHorizontal = beltTe.getBlockState() + boolean notHorizontal = beltBE.getBlockState() .getValue(BeltBlock.SLOPE) != BeltSlope.HORIZONTAL; - if (Math.abs(beltTe.getSpeed()) < 1) + if (Math.abs(beltBE.getSpeed()) < 1) return; // Not on top @@ -101,7 +101,7 @@ public class BeltMovementHandler { final Direction beltFacing = blockState.getValue(BlockStateProperties.HORIZONTAL_FACING); final BeltSlope slope = blockState.getValue(BeltBlock.SLOPE); final Axis axis = beltFacing.getAxis(); - float movementSpeed = beltTe.getBeltMovementSpeed(); + float movementSpeed = beltBE.getBeltMovementSpeed(); final Direction movementDirection = Direction.get(axis == Axis.X ? NEGATIVE : POSITIVE, axis); Vec3i centeringDirection = Direction.get(POSITIVE, beltFacing.getClockWise() diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java index 3a7143ac7..6f158e7d3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java @@ -2,17 +2,17 @@ package com.simibubi.create.content.contraptions.relays.belt.transport; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; -import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelTileEntity; +import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlockEntity; import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelBlock; -import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelTileEntity; +import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; import com.simibubi.create.content.logistics.block.display.source.AccumulatedItemCountDisplaySource; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -45,11 +45,11 @@ public class BeltTunnelInteractionHandler { Level world = beltInventory.belt.getLevel(); boolean onServer = !world.isClientSide || beltInventory.belt.isVirtual(); boolean removed = false; - BeltTunnelTileEntity nextTunnel = getTunnelOnSegment(beltInventory, upcomingSegment); + BeltTunnelBlockEntity nextTunnel = getTunnelOnSegment(beltInventory, upcomingSegment); int transferred = current.stack.getCount(); - if (nextTunnel instanceof BrassTunnelTileEntity) { - BrassTunnelTileEntity brassTunnel = (BrassTunnelTileEntity) nextTunnel; + if (nextTunnel instanceof BrassTunnelBlockEntity) { + BrassTunnelBlockEntity brassTunnel = (BrassTunnelBlockEntity) nextTunnel; if (brassTunnel.hasDistributionBehaviour()) { if (!brassTunnel.canTakeItems()) return true; @@ -78,7 +78,7 @@ public class BeltTunnelInteractionHandler { if (!world.isLoaded(outpos)) return true; DirectBeltInputBehaviour behaviour = - TileEntityBehaviour.get(world, outpos, DirectBeltInputBehaviour.TYPE); + BlockEntityBehaviour.get(world, outpos, DirectBeltInputBehaviour.TYPE); if (behaviour == null) continue; if (!behaviour.canInsertFromSide(d)) @@ -116,45 +116,45 @@ public class BeltTunnelInteractionHandler { public static boolean stuckAtTunnel(BeltInventory beltInventory, int offset, ItemStack stack, Direction movementDirection) { - BeltTileEntity belt = beltInventory.belt; + BeltBlockEntity belt = beltInventory.belt; BlockPos pos = BeltHelper.getPositionForOffset(belt, offset) .above(); if (!(belt.getLevel() .getBlockState(pos) .getBlock() instanceof BrassTunnelBlock)) return false; - BlockEntity te = belt.getLevel() + BlockEntity be = belt.getLevel() .getBlockEntity(pos); - if (te == null || !(te instanceof BrassTunnelTileEntity)) + if (be == null || !(be instanceof BrassTunnelBlockEntity)) return false; - BrassTunnelTileEntity tunnel = (BrassTunnelTileEntity) te; + BrassTunnelBlockEntity tunnel = (BrassTunnelBlockEntity) be; return !tunnel.canInsert(movementDirection.getOpposite(), stack); } public static void flapTunnel(BeltInventory beltInventory, int offset, Direction side, boolean inward) { - BeltTunnelTileEntity te = getTunnelOnSegment(beltInventory, offset); - if (te == null) + BeltTunnelBlockEntity be = getTunnelOnSegment(beltInventory, offset); + if (be == null) return; - te.flap(side, inward); + be.flap(side, inward); } - protected static BeltTunnelTileEntity getTunnelOnSegment(BeltInventory beltInventory, int offset) { - BeltTileEntity belt = beltInventory.belt; + protected static BeltTunnelBlockEntity getTunnelOnSegment(BeltInventory beltInventory, int offset) { + BeltBlockEntity belt = beltInventory.belt; if (belt.getBlockState() .getValue(BeltBlock.SLOPE) != BeltSlope.HORIZONTAL) return null; return getTunnelOnPosition(belt.getLevel(), BeltHelper.getPositionForOffset(belt, offset)); } - public static BeltTunnelTileEntity getTunnelOnPosition(Level world, BlockPos pos) { + public static BeltTunnelBlockEntity getTunnelOnPosition(Level world, BlockPos pos) { pos = pos.above(); if (!(world.getBlockState(pos) .getBlock() instanceof BeltTunnelBlock)) return null; - BlockEntity te = world.getBlockEntity(pos); - if (te == null || !(te instanceof BeltTunnelTileEntity)) + BlockEntity be = world.getBlockEntity(pos); + if (be == null || !(be instanceof BeltTunnelBlockEntity)) return null; - return ((BeltTunnelTileEntity) te); + return ((BeltTunnelBlockEntity) be); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractShaftBlock.java index a24d12d78..ec83a6015 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractShaftBlock.java @@ -1,8 +1,8 @@ package com.simibubi.create.content.contraptions.relays.elementary; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; import net.minecraft.core.BlockPos; @@ -20,7 +20,7 @@ import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.pathfinder.PathComputationType; public abstract class AbstractShaftBlock extends RotatedPillarKineticBlock - implements ITE, ProperWaterloggedBlock { + implements IBE, ProperWaterloggedBlock { public AbstractShaftBlock(Properties properties) { super(properties); @@ -33,8 +33,8 @@ public abstract class AbstractShaftBlock extends RotatedPillarKineticBlock } @Override - public Class getTileEntityClass() { - return KineticTileEntity.class; + public Class getBlockEntityClass() { + return KineticBlockEntity.class; } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractSimpleShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractSimpleShaftBlock.java index 32b1d0da9..f22ebaad2 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractSimpleShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractSimpleShaftBlock.java @@ -2,10 +2,10 @@ package com.simibubi.create.content.contraptions.relays.elementary; import java.util.Optional; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionResult; @@ -43,7 +43,7 @@ public abstract class AbstractSimpleShaftBlock extends AbstractShaftBlock implem @Override public Optional removeBracket(BlockGetter world, BlockPos pos, boolean inOnReplacedContext) { - BracketedTileEntityBehaviour behaviour = TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE); + BracketedBlockEntityBehaviour behaviour = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); if (behaviour == null) return Optional.empty(); BlockState bracket = behaviour.removeBracket(inOnReplacedContext); @@ -53,8 +53,8 @@ public abstract class AbstractSimpleShaftBlock extends AbstractShaftBlock implem } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.BRACKETED_KINETIC.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.BRACKETED_KINETIC.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedBlockEntityBehaviour.java similarity index 74% rename from src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedBlockEntityBehaviour.java index 8c5ae2e3b..91fc749b5 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedBlockEntityBehaviour.java @@ -6,9 +6,9 @@ import org.jetbrains.annotations.Nullable; import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; import com.simibubi.create.content.schematics.ItemRequirement; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.nbt.CompoundTag; @@ -17,21 +17,21 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -public class BracketedTileEntityBehaviour extends TileEntityBehaviour { +public class BracketedBlockEntityBehaviour extends BlockEntityBehaviour { - public static final BehaviourType TYPE = new BehaviourType<>(); + public static final BehaviourType TYPE = new BehaviourType<>(); private BlockState bracket; private boolean reRender; private Predicate pred; - public BracketedTileEntityBehaviour(SmartTileEntity te) { - this(te, state -> true); + public BracketedBlockEntityBehaviour(SmartBlockEntity be) { + this(be, state -> true); } - public BracketedTileEntityBehaviour(SmartTileEntity te, Predicate pred) { - super(te); + public BracketedBlockEntityBehaviour(SmartBlockEntity be, Predicate pred) { + super(be); this.pred = pred; } @@ -43,11 +43,11 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour { public void applyBracket(BlockState state) { this.bracket = state; reRender = true; - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); Level world = getWorld(); if (world.isClientSide) return; - tileEntity.getBlockState() + blockEntity.getBlockState() .updateNeighbourShapes(world, getPos(), 3); } @@ -71,13 +71,13 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour { this.bracket = null; reRender = true; if (inOnReplacedContext) { - tileEntity.sendData(); + blockEntity.sendData(); return removed; } - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); if (world.isClientSide) return removed; - tileEntity.getBlockState() + blockEntity.getBlockState() .updateNeighbourShapes(world, getPos(), 3); return removed; } @@ -92,7 +92,7 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour { } public boolean canHaveBracket() { - return pred.test(tileEntity.getBlockState()); + return pred.test(blockEntity.getBlockState()); } @Override @@ -125,7 +125,7 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour { if (nbt.contains("Bracket")) bracket = NbtUtils.readBlockState(nbt.getCompound("Bracket")); if (clientPacket && nbt.contains("Redraw")) - getWorld().sendBlockUpdated(getPos(), tileEntity.getBlockState(), tileEntity.getBlockState(), 16); + getWorld().sendBlockUpdated(getPos(), blockEntity.getBlockState(), blockEntity.getBlockState(), 16); super.read(nbt, clientPacket); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockEntity.java similarity index 55% rename from src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockEntity.java index 14db8435b..deb009d09 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockEntity.java @@ -4,28 +4,28 @@ import java.util.List; import com.simibubi.create.content.contraptions.components.structureMovement.ITransformableTE; import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class BracketedKineticTileEntity extends SimpleKineticTileEntity implements ITransformableTE { +public class BracketedKineticBlockEntity extends SimpleKineticBlockEntity implements ITransformableTE { - public BracketedKineticTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public BracketedKineticBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours - .add(new BracketedTileEntityBehaviour(this, state -> state.getBlock() instanceof AbstractSimpleShaftBlock)); + .add(new BracketedBlockEntityBehaviour(this, state -> state.getBlock() instanceof AbstractSimpleShaftBlock)); super.addBehaviours(behaviours); } @Override public void transform(StructureTransform transform) { - BracketedTileEntityBehaviour bracketBehaviour = getBehaviour(BracketedTileEntityBehaviour.TYPE); + BracketedBlockEntityBehaviour bracketBehaviour = getBehaviour(BracketedBlockEntityBehaviour.TYPE); if (bracketBehaviour != null) { bracketBehaviour.transformBracket(transform); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileInstance.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockEntityInstance.java similarity index 77% rename from src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileInstance.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockEntityInstance.java index e6ab3d5ef..8cec798ae 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockEntityInstance.java @@ -6,8 +6,8 @@ import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Vector3f; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.content.contraptions.base.SingleRotatingInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; @@ -16,12 +16,12 @@ import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.core.Direction.AxisDirection; -public class BracketedKineticTileInstance extends SingleRotatingInstance { +public class BracketedKineticBlockEntityInstance extends SingleRotatingInstance { protected RotatingData additionalShaft; - public BracketedKineticTileInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public BracketedKineticBlockEntityInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override @@ -34,9 +34,9 @@ public class BracketedKineticTileInstance extends SingleRotatingInstance { // mesh properly float speed = blockEntity.getSpeed(); - Axis axis = KineticTileEntityRenderer.getRotationAxisOf(blockEntity); + Axis axis = KineticBlockEntityRenderer.getRotationAxisOf(blockEntity); BlockPos pos = blockEntity.getBlockPos(); - float offset = BracketedKineticTileRenderer.getShaftAngleOffset(axis, pos); + float offset = BracketedKineticBlockEntityRenderer.getShaftAngleOffset(axis, pos); Direction facing = Direction.fromAxisAndDirection(axis, AxisDirection.POSITIVE); Instancer half = getRotatingMaterial().getModel(AllBlockPartials.COGWHEEL_SHAFT, blockState, facing, () -> this.rotateToAxis(axis)); @@ -50,7 +50,7 @@ public class BracketedKineticTileInstance extends SingleRotatingInstance { if (!ICogWheel.isLargeCog(blockEntity.getBlockState())) return super.getModel(); - Axis axis = KineticTileEntityRenderer.getRotationAxisOf(blockEntity); + Axis axis = KineticBlockEntityRenderer.getRotationAxisOf(blockEntity); Direction facing = Direction.fromAxisAndDirection(axis, AxisDirection.POSITIVE); return getRotatingMaterial().getModel(AllBlockPartials.SHAFTLESS_LARGE_COGWHEEL, blockState, facing, () -> this.rotateToAxis(axis)); @@ -72,7 +72,7 @@ public class BracketedKineticTileInstance extends SingleRotatingInstance { super.update(); if (additionalShaft != null) { updateRotation(additionalShaft); - additionalShaft.setRotationOffset(BracketedKineticTileRenderer.getShaftAngleOffset(axis, pos)); + additionalShaft.setRotationOffset(BracketedKineticBlockEntityRenderer.getShaftAngleOffset(axis, pos)); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockEntityRenderer.java similarity index 64% rename from src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileRenderer.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockEntityRenderer.java index 8e0e86660..ff8de0e36 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockEntityRenderer.java @@ -4,8 +4,8 @@ import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -18,42 +18,42 @@ import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.core.Direction.AxisDirection; -public class BracketedKineticTileRenderer extends KineticTileEntityRenderer { +public class BracketedKineticBlockEntityRenderer extends KineticBlockEntityRenderer { - public BracketedKineticTileRenderer(Context context) { + public BracketedKineticBlockEntityRenderer(Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) + if (Backend.canUseInstancing(be.getLevel())) return; - if (!AllBlocks.LARGE_COGWHEEL.has(te.getBlockState())) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + if (!AllBlocks.LARGE_COGWHEEL.has(be.getBlockState())) { + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); return; } // Large cogs sometimes have to offset their teeth by 11.25 degrees in order to // mesh properly - Axis axis = getRotationAxisOf(te); - BlockPos pos = te.getBlockPos(); + Axis axis = getRotationAxisOf(be); + BlockPos pos = be.getBlockPos(); Direction facing = Direction.fromAxisAndDirection(axis, AxisDirection.POSITIVE); - renderRotatingBuffer(te, - CachedBufferer.partialFacingVertical(AllBlockPartials.SHAFTLESS_LARGE_COGWHEEL, te.getBlockState(), facing), + renderRotatingBuffer(be, + CachedBufferer.partialFacingVertical(AllBlockPartials.SHAFTLESS_LARGE_COGWHEEL, be.getBlockState(), facing), ms, buffer.getBuffer(RenderType.solid()), light); float offset = getShaftAngleOffset(axis, pos); - float time = AnimationTickHolder.getRenderTime(te.getLevel()); - float angle = ((time * te.getSpeed() * 3f / 10 + offset) % 360) / 180 * (float) Math.PI; + float time = AnimationTickHolder.getRenderTime(be.getLevel()); + float angle = ((time * be.getSpeed() * 3f / 10 + offset) % 360) / 180 * (float) Math.PI; SuperByteBuffer shaft = - CachedBufferer.partialFacingVertical(AllBlockPartials.COGWHEEL_SHAFT, te.getBlockState(), facing); - kineticRotationTransform(shaft, te, axis, angle, light); + CachedBufferer.partialFacingVertical(AllBlockPartials.COGWHEEL_SHAFT, be.getBlockState(), facing); + kineticRotationTransform(shaft, be, axis, angle, light); shaft.renderInto(ms, buffer.getBuffer(RenderType.solid())); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockModel.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockModel.java index dc52fdd69..5331b5878 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticBlockModel.java @@ -5,7 +5,7 @@ import java.util.List; import java.util.Random; import com.jozufozu.flywheel.core.virtual.VirtualEmptyModelData; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.BakedQuad; @@ -28,12 +28,12 @@ public class BracketedKineticBlockModel extends BakedModelWrapper { } @Override - public IModelData getModelData(BlockAndTintGetter world, BlockPos pos, BlockState state, IModelData tileData) { - if (VirtualEmptyModelData.is(tileData)) - return tileData; + public IModelData getModelData(BlockAndTintGetter world, BlockPos pos, BlockState state, IModelData blockEntityData) { + if (VirtualEmptyModelData.is(blockEntityData)) + return blockEntityData; BracketedModelData data = new BracketedModelData(); - BracketedTileEntityBehaviour attachmentBehaviour = - TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE); + BracketedBlockEntityBehaviour attachmentBehaviour = + BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); if (attachmentBehaviour != null) data.putBracket(attachmentBehaviour.getBracket()); return new ModelDataMap.Builder().withInitial(BRACKET_PROPERTY, data) diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/CogWheelBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/CogWheelBlock.java index cd366bc9c..14dae9e18 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/CogWheelBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/CogWheelBlock.java @@ -5,7 +5,7 @@ import javax.annotation.ParametersAreNonnullByDefault; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock; import com.simibubi.create.content.contraptions.relays.encased.EncasedCogwheelBlock; import com.simibubi.create.foundation.advancement.AllAdvancements; @@ -151,7 +151,7 @@ public class CogWheelBlock extends AbstractSimpleShaftBlock implements ICogWheel : EncasedCogwheelBlock.BOTTOM_SHAFT); } - KineticTileEntity.switchToBlockState(world, pos, encasedState); + KineticBlockEntity.switchToBlockState(world, pos, encasedState); return InteractionResult.SUCCESS; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java index 4adaf8acb..c7ebb720b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java @@ -5,7 +5,7 @@ import java.util.function.Predicate; import com.google.common.base.Predicates; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.steam.PoweredShaftBlock; import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock; import com.simibubi.create.content.curiosities.girder.GirderEncasedShaftBlock; @@ -87,13 +87,13 @@ public class ShaftBlock extends AbstractSimpleShaftBlock { if (world.isClientSide) return InteractionResult.SUCCESS; - KineticTileEntity.switchToBlockState(world, pos, encasedShaft.defaultBlockState() + KineticBlockEntity.switchToBlockState(world, pos, encasedShaft.defaultBlockState() .setValue(AXIS, state.getValue(AXIS))); return InteractionResult.SUCCESS; } if (AllBlocks.METAL_GIRDER.isIn(heldItem) && state.getValue(AXIS) != Axis.Y) { - KineticTileEntity.switchToBlockState(world, pos, AllBlocks.METAL_GIRDER_ENCASED_SHAFT.getDefaultState() + KineticBlockEntity.switchToBlockState(world, pos, AllBlocks.METAL_GIRDER_ENCASED_SHAFT.getDefaultState() .setValue(WATERLOGGED, state.getValue(WATERLOGGED)) .setValue(GirderEncasedShaftBlock.HORIZONTAL_AXIS, state.getValue(AXIS) == Axis.Z ? Axis.Z : Axis.X)); if (!world.isClientSide && !player.isCreative()) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/SimpleKineticTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/SimpleKineticBlockEntity.java similarity index 81% rename from src/main/java/com/simibubi/create/content/contraptions/relays/elementary/SimpleKineticTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/elementary/SimpleKineticBlockEntity.java index 87c9243d2..db53478a7 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/SimpleKineticTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/SimpleKineticBlockEntity.java @@ -3,16 +3,16 @@ package com.simibubi.create.content.contraptions.relays.elementary; import java.util.List; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -public class SimpleKineticTileEntity extends KineticTileEntity { +public class SimpleKineticBlockEntity extends KineticBlockEntity { - public SimpleKineticTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SimpleKineticBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/AdjustablePulleyBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/AdjustablePulleyBlock.java index 9c02eb563..6504a477f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/AdjustablePulleyBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/AdjustablePulleyBlock.java @@ -1,7 +1,7 @@ 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.AllBlockEntityTypes; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.world.item.context.BlockPlaceContext; @@ -32,7 +32,7 @@ public class AdjustablePulleyBlock extends EncasedBeltBlock { super.onPlace(state, worldIn, pos, oldState, isMoving); if (oldState.getBlock() == state.getBlock()) return; - withTileEntityDo(worldIn, pos, kte -> ((AdjustablePulleyTileEntity) kte).neighbourChanged()); + withBlockEntityDo(worldIn, pos, kte -> ((AdjustablePulleyBlockEntity) kte).neighbourChanged()); } @Override @@ -53,7 +53,7 @@ public class AdjustablePulleyBlock extends EncasedBeltBlock { if (worldIn.isClientSide) return; - withTileEntityDo(worldIn, pos, kte -> ((AdjustablePulleyTileEntity) kte).neighbourChanged()); + withBlockEntityDo(worldIn, pos, kte -> ((AdjustablePulleyBlockEntity) kte).neighbourChanged()); boolean previouslyPowered = state.getValue(POWERED); if (previouslyPowered != worldIn.hasNeighborSignal(pos)) @@ -61,8 +61,8 @@ public class AdjustablePulleyBlock extends EncasedBeltBlock { } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ADJUSTABLE_PULLEY.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ADJUSTABLE_PULLEY.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/AdjustablePulleyTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/AdjustablePulleyBlockEntity.java similarity index 86% rename from src/main/java/com/simibubi/create/content/contraptions/relays/encased/AdjustablePulleyTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/encased/AdjustablePulleyBlockEntity.java index 886456a31..0bb145539 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/AdjustablePulleyTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/AdjustablePulleyBlockEntity.java @@ -1,18 +1,18 @@ package com.simibubi.create.content.contraptions.relays.encased; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class AdjustablePulleyTileEntity extends KineticTileEntity { +public class AdjustablePulleyBlockEntity extends KineticBlockEntity { int signal; boolean signalChanged; - public AdjustablePulleyTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public AdjustablePulleyBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); signal = 0; setLazyTickRate(40); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/ClutchBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/ClutchBlock.java index 9ad315163..241688487 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/ClutchBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/ClutchBlock.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.relays.encased; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import net.minecraft.core.BlockPos; import net.minecraft.world.level.Level; @@ -28,8 +28,8 @@ public class ClutchBlock extends GearshiftBlock { } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CLUTCH.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CLUTCH.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/ClutchTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/ClutchBlockEntity.java similarity index 79% rename from src/main/java/com/simibubi/create/content/contraptions/relays/encased/ClutchTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/encased/ClutchBlockEntity.java index 23fade805..dbc332f56 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/ClutchTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/ClutchBlockEntity.java @@ -6,9 +6,9 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class ClutchTileEntity extends SplitShaftTileEntity { +public class ClutchBlockEntity extends SplitShaftBlockEntity { - public ClutchTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public ClutchBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/DirectionalShaftHalvesTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/DirectionalShaftHalvesBlockEntity.java similarity index 62% rename from src/main/java/com/simibubi/create/content/contraptions/relays/encased/DirectionalShaftHalvesTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/encased/DirectionalShaftHalvesBlockEntity.java index 04f9f6b35..e84854a1e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/DirectionalShaftHalvesTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/DirectionalShaftHalvesBlockEntity.java @@ -1,16 +1,16 @@ package com.simibubi.create.content.contraptions.relays.encased; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class DirectionalShaftHalvesTileEntity extends KineticTileEntity { +public class DirectionalShaftHalvesBlockEntity extends KineticBlockEntity { - public DirectionalShaftHalvesTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { - super(typeIn, pos, state); + public DirectionalShaftHalvesBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); } public Direction getSourceFacing() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedBeltBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedBeltBlock.java index a4c585b9a..ac7c12382 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedBeltBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedBeltBlock.java @@ -1,10 +1,10 @@ package com.simibubi.create.content.contraptions.relays.encased; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; @@ -27,7 +27,7 @@ import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.block.state.properties.Property; import net.minecraft.world.level.material.PushReaction; -public class EncasedBeltBlock extends RotatedPillarKineticBlock implements ITE { +public class EncasedBeltBlock extends RotatedPillarKineticBlock implements IBE { public static final Property PART = EnumProperty.create("part", Part.class); public static final BooleanProperty CONNECTED_ALONG_FIRST_COORDINATE = @@ -189,13 +189,13 @@ public class EncasedBeltBlock extends RotatedPillarKineticBlock implements ITE getTileEntityClass() { - return KineticTileEntity.class; + public Class getBlockEntityClass() { + return KineticBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ENCASED_SHAFT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ENCASED_SHAFT.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogInstance.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogInstance.java index 62d6f45bc..970454528 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogInstance.java @@ -11,8 +11,8 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Vector3f; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileInstance; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; import com.simibubi.create.foundation.utility.Iterate; @@ -22,7 +22,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class EncasedCogInstance extends KineticTileInstance { +public class EncasedCogInstance extends KineticBlockEntityInstance { private boolean large; @@ -30,16 +30,16 @@ public class EncasedCogInstance extends KineticTileInstance { protected Optional rotatingTopShaft; protected Optional rotatingBottomShaft; - public static EncasedCogInstance small(MaterialManager modelManager, KineticTileEntity tile) { - return new EncasedCogInstance(modelManager, tile, false); + public static EncasedCogInstance small(MaterialManager modelManager, KineticBlockEntity blockEntity) { + return new EncasedCogInstance(modelManager, blockEntity, false); } - public static EncasedCogInstance large(MaterialManager modelManager, KineticTileEntity tile) { - return new EncasedCogInstance(modelManager, tile, true); + public static EncasedCogInstance large(MaterialManager modelManager, KineticBlockEntity blockEntity) { + return new EncasedCogInstance(modelManager, blockEntity, true); } - public EncasedCogInstance(MaterialManager modelManager, KineticTileEntity tile, boolean large) { - super(modelManager, tile); + public EncasedCogInstance(MaterialManager modelManager, KineticBlockEntity blockEntity, boolean large) { + super(modelManager, blockEntity); this.large = large; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogRenderer.java index 74445ff1f..857b0c57d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogRenderer.java @@ -4,8 +4,8 @@ import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.Iterate; @@ -18,7 +18,7 @@ import net.minecraft.core.Direction.AxisDirection; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -public class EncasedCogRenderer extends KineticTileEntityRenderer { +public class EncasedCogRenderer extends KineticBlockEntityRenderer { private boolean large; @@ -36,28 +36,28 @@ public class EncasedCogRenderer extends KineticTileEntityRenderer { } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); - if (Backend.canUseInstancing(te.getLevel())) + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + if (Backend.canUseInstancing(be.getLevel())) return; - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); Block block = blockState.getBlock(); if (!(block instanceof IRotate)) return; IRotate def = (IRotate) block; - for (Direction d : Iterate.directionsInAxis(getRotationAxisOf(te))) { - if (!def.hasShaftTowards(te.getLevel(), te.getBlockPos(), blockState, d)) + for (Direction d : Iterate.directionsInAxis(getRotationAxisOf(be))) { + if (!def.hasShaftTowards(be.getLevel(), be.getBlockPos(), blockState, d)) continue; - renderRotatingBuffer(te, CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, te.getBlockState(), d), + renderRotatingBuffer(be, CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, be.getBlockState(), d), ms, buffer.getBuffer(RenderType.solid()), light); } } @Override - protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be, BlockState state) { return CachedBufferer.partialFacingVertical( large ? AllBlockPartials.SHAFTLESS_LARGE_COGWHEEL : AllBlockPartials.SHAFTLESS_COGWHEEL, state, Direction.fromAxisAndDirection(state.getValue(EncasedCogwheelBlock.AXIS), AxisDirection.POSITIVE)); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogwheelBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogwheelBlock.java index 5688bd0b7..8adc142f8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogwheelBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogwheelBlock.java @@ -1,19 +1,19 @@ package com.simibubi.create.content.contraptions.relays.encased; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.CasingBlock; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.components.structureMovement.ITransformableBlock; import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock; import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; -import com.simibubi.create.content.contraptions.relays.elementary.SimpleKineticTileEntity; +import com.simibubi.create.content.contraptions.relays.elementary.SimpleKineticBlockEntity; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.VoxelShaper; import com.tterrag.registrate.util.entry.BlockEntry; @@ -43,7 +43,7 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; public class EncasedCogwheelBlock extends RotatedPillarKineticBlock - implements ICogWheel, ITE, ISpecialBlockItemRequirement, ITransformableBlock { + implements ICogWheel, IBE, ISpecialBlockItemRequirement, ITransformableBlock { public static final BooleanProperty TOP_SHAFT = BooleanProperty.create("top_shaft"); public static final BooleanProperty BOTTOM_SHAFT = BooleanProperty.create("bottom_shaft"); @@ -119,7 +119,7 @@ public class EncasedCogwheelBlock extends RotatedPillarKineticBlock return InteractionResult.SUCCESS; BlockPos pos = context.getClickedPos(); - KineticTileEntity.switchToBlockState(level, pos, state.cycle(context.getClickedFace() + KineticBlockEntity.switchToBlockState(level, pos, state.cycle(context.getClickedFace() .getAxisDirection() == AxisDirection.POSITIVE ? TOP_SHAFT : BOTTOM_SHAFT)); playRotateSound(level, pos); return InteractionResult.SUCCESS; @@ -141,7 +141,7 @@ public class EncasedCogwheelBlock extends RotatedPillarKineticBlock return InteractionResult.SUCCESS; context.getLevel() .levelEvent(2001, context.getClickedPos(), Block.getId(state)); - KineticTileEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), + KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), (isLarge ? AllBlocks.LARGE_COGWHEEL : AllBlocks.COGWHEEL).getDefaultState() .setValue(AXIS, state.getValue(AXIS))); return InteractionResult.SUCCESS; @@ -261,19 +261,19 @@ public class EncasedCogwheelBlock extends RotatedPillarKineticBlock } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { return ItemRequirement - .of(isLarge ? AllBlocks.LARGE_COGWHEEL.getDefaultState() : AllBlocks.COGWHEEL.getDefaultState(), te); + .of(isLarge ? AllBlocks.LARGE_COGWHEEL.getDefaultState() : AllBlocks.COGWHEEL.getDefaultState(), be); } @Override - public Class getTileEntityClass() { - return SimpleKineticTileEntity.class; + public Class getBlockEntityClass() { + return SimpleKineticBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return isLarge ? AllTileEntities.ENCASED_LARGE_COGWHEEL.get() : AllTileEntities.ENCASED_COGWHEEL.get(); + public BlockEntityType getBlockEntityType() { + return isLarge ? AllBlockEntityTypes.ENCASED_LARGE_COGWHEEL.get() : AllBlockEntityTypes.ENCASED_COGWHEEL.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java index 8552663dc..d949a2519 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java @@ -1,12 +1,12 @@ package com.simibubi.create.content.contraptions.relays.encased; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.CasingBlock; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.tterrag.registrate.util.entry.BlockEntry; import net.minecraft.core.BlockPos; @@ -25,7 +25,7 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; public class EncasedShaftBlock extends AbstractEncasedShaftBlock - implements ITE, ISpecialBlockItemRequirement { + implements IBE, ISpecialBlockItemRequirement { private BlockEntry casing; @@ -55,7 +55,7 @@ public class EncasedShaftBlock extends AbstractEncasedShaftBlock return InteractionResult.SUCCESS; context.getLevel() .levelEvent(2001, context.getClickedPos(), Block.getId(state)); - KineticTileEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), + KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), AllBlocks.SHAFT.getDefaultState() .setValue(AXIS, state.getValue(AXIS))); return InteractionResult.SUCCESS; @@ -70,18 +70,18 @@ public class EncasedShaftBlock extends AbstractEncasedShaftBlock } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { - return ItemRequirement.of(AllBlocks.SHAFT.getDefaultState(), te); + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { + return ItemRequirement.of(AllBlocks.SHAFT.getDefaultState(), be); } @Override - public Class getTileEntityClass() { - return KineticTileEntity.class; + public Class getBlockEntityClass() { + return KineticBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ENCASED_SHAFT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ENCASED_SHAFT.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/GearshiftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/GearshiftBlock.java index 099d2c3f8..caee68015 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/GearshiftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/GearshiftBlock.java @@ -2,10 +2,10 @@ package com.simibubi.create.content.contraptions.relays.encased; import java.util.Random; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.content.contraptions.RotationPropagator; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; @@ -20,7 +20,7 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.ticks.TickPriority; -public class GearshiftBlock extends AbstractEncasedShaftBlock implements ITE { +public class GearshiftBlock extends AbstractEncasedShaftBlock implements IBE { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; @@ -55,20 +55,20 @@ public class GearshiftBlock extends AbstractEncasedShaftBlock implements ITE getTileEntityClass() { - return SplitShaftTileEntity.class; + public Class getBlockEntityClass() { + return SplitShaftBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.GEARSHIFT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.GEARSHIFT.get(); } public void detachKinetics(Level worldIn, BlockPos pos, boolean reAttachNextTick) { - BlockEntity te = worldIn.getBlockEntity(pos); - if (te == null || !(te instanceof KineticTileEntity)) + BlockEntity be = worldIn.getBlockEntity(pos); + if (be == null || !(be instanceof KineticBlockEntity)) return; - RotationPropagator.handleRemoved(worldIn, pos, (KineticTileEntity) te); + RotationPropagator.handleRemoved(worldIn, pos, (KineticBlockEntity) be); // Re-attach next tick if (reAttachNextTick) @@ -77,10 +77,10 @@ public class GearshiftBlock extends AbstractEncasedShaftBlock implements ITE typeIn, BlockPos pos, BlockState state) { - super(typeIn, pos, state); + public SplitShaftBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); } public abstract float getRotationSpeedModifier(Direction face); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/SplitShaftInstance.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/SplitShaftInstance.java index d6ded2749..fe760fe7f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/SplitShaftInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/SplitShaftInstance.java @@ -8,23 +8,23 @@ import com.jozufozu.flywheel.api.Material; import com.jozufozu.flywheel.api.MaterialManager; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileInstance; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.Direction; import net.minecraft.world.level.block.Block; -public class SplitShaftInstance extends KineticTileInstance { +public class SplitShaftInstance extends KineticBlockEntityInstance { protected final ArrayList keys; - public SplitShaftInstance(MaterialManager modelManager, SplitShaftTileEntity tile) { - super(modelManager, tile); + public SplitShaftInstance(MaterialManager modelManager, SplitShaftBlockEntity blockEntity) { + super(modelManager, blockEntity); keys = new ArrayList<>(2); - float speed = tile.getSpeed(); + float speed = blockEntity.getSpeed(); Material rotatingMaterial = getRotatingMaterial(); @@ -32,7 +32,7 @@ public class SplitShaftInstance extends KineticTileInstance half = rotatingMaterial.getModel(AllBlockPartials.SHAFT_HALF, blockState, dir); - float splitSpeed = speed * tile.getRotationSpeedModifier(dir); + float splitSpeed = speed * blockEntity.getRotationSpeedModifier(dir); keys.add(setup(half.createInstance(), splitSpeed)); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/SplitShaftRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/SplitShaftRenderer.java index ba38d1481..fdeca2837 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/SplitShaftRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/SplitShaftRenderer.java @@ -4,8 +4,8 @@ import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -19,41 +19,41 @@ import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.world.level.block.Block; -public class SplitShaftRenderer extends KineticTileEntityRenderer { +public class SplitShaftRenderer extends KineticBlockEntityRenderer { public SplitShaftRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - Block block = te.getBlockState().getBlock(); - final Axis boxAxis = ((IRotate) block).getRotationAxis(te.getBlockState()); - final BlockPos pos = te.getBlockPos(); - float time = AnimationTickHolder.getRenderTime(te.getLevel()); + Block block = be.getBlockState().getBlock(); + final Axis boxAxis = ((IRotate) block).getRotationAxis(be.getBlockState()); + final BlockPos pos = be.getBlockPos(); + float time = AnimationTickHolder.getRenderTime(be.getLevel()); for (Direction direction : Iterate.directions) { Axis axis = direction.getAxis(); if (boxAxis != axis) continue; - float offset = getRotationOffsetForPosition(te, pos, axis); - float angle = (time * te.getSpeed() * 3f / 10) % 360; + float offset = getRotationOffsetForPosition(be, pos, axis); + float angle = (time * be.getSpeed() * 3f / 10) % 360; float modifier = 1; - if (te instanceof SplitShaftTileEntity) - modifier = ((SplitShaftTileEntity) te).getRotationSpeedModifier(direction); + if (be instanceof SplitShaftBlockEntity) + modifier = ((SplitShaftBlockEntity) be).getRotationSpeedModifier(direction); angle *= modifier; angle += offset; angle = angle / 180f * (float) Math.PI; SuperByteBuffer superByteBuffer = - CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, te.getBlockState(), direction); - kineticRotationTransform(superByteBuffer, te, axis, angle, light); + CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, be.getBlockState(), direction); + kineticRotationTransform(superByteBuffer, be, axis, angle, light); superByteBuffer.renderInto(ms, buffer.getBuffer(RenderType.solid())); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlock.java index 64f421053..de8907060 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlock.java @@ -3,10 +3,10 @@ package com.simibubi.create.content.contraptions.relays.gauge; import java.util.Random; import com.mojang.math.Vector3f; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.IRotate; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Color; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; @@ -32,7 +32,7 @@ import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class GaugeBlock extends DirectionalAxisKineticBlock implements ITE { +public class GaugeBlock extends DirectionalAxisKineticBlock implements IBE { public static final GaugeShaper GAUGE = GaugeShaper.make(); protected Type type; @@ -120,13 +120,13 @@ public class GaugeBlock extends DirectionalAxisKineticBlock implements ITE 1 ? 4 : 1; + int particleCount = gaugeBE.dialTarget > 1 ? 4 : 1; if (particleCount == 1 && rand.nextFloat() > 1 / 4f) continue; @@ -168,10 +168,10 @@ public class GaugeBlock extends DirectionalAxisKineticBlock implements ITE getTileEntityClass() { - return GaugeTileEntity.class; + public Class getBlockEntityClass() { + return GaugeBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return type == Type.SPEED ? AllTileEntities.SPEEDOMETER.get() : AllTileEntities.STRESSOMETER.get(); + public BlockEntityType getBlockEntityType() { + return type == Type.SPEED ? AllBlockEntityTypes.SPEEDOMETER.get() : AllBlockEntityTypes.STRESSOMETER.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlockEntity.java similarity index 85% rename from src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlockEntity.java index bdd77ba69..c22749cb2 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlockEntity.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.relays.gauge; import java.util.List; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; import com.simibubi.create.foundation.utility.Lang; @@ -12,14 +12,14 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class GaugeTileEntity extends KineticTileEntity implements IHaveGoggleInformation { +public class GaugeBlockEntity extends KineticBlockEntity implements IHaveGoggleInformation { public float dialTarget; public float dialState; public float prevDialState; public int color; - public GaugeTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public GaugeBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeInstance.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeInstance.java index b27f44012..c37657056 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeInstance.java @@ -9,7 +9,7 @@ import com.jozufozu.flywheel.core.materials.model.ModelData; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.Couple; @@ -24,12 +24,12 @@ public abstract class GaugeInstance extends ShaftInstance implements DynamicInst protected PoseStack ms; - protected GaugeInstance(MaterialManager dispatcher, KineticTileEntity tile) { - super(dispatcher, tile); + protected GaugeInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); faces = new ArrayList<>(2); - GaugeTileEntity gaugeTile = (GaugeTileEntity) tile; + GaugeBlockEntity gaugeBlockEntity = (GaugeBlockEntity) blockEntity; GaugeBlock gaugeBlock = (GaugeBlock) blockState.getBlock(); Instancer dialModel = getTransformMaterial().getModel(AllBlockPartials.GAUGE_DIAL, blockState); @@ -39,7 +39,7 @@ public abstract class GaugeInstance extends ShaftInstance implements DynamicInst TransformStack msr = TransformStack.cast(ms); msr.translate(getInstancePosition()); - float progress = Mth.lerp(AnimationTickHolder.getPartialTicks(), gaugeTile.prevDialState, gaugeTile.dialState); + float progress = Mth.lerp(AnimationTickHolder.getPartialTicks(), gaugeBlockEntity.prevDialState, gaugeBlockEntity.dialState); for (Direction facing : Iterate.directions) { if (!gaugeBlock.shouldRenderHeadOnFace(world, pos, blockState, facing)) @@ -59,12 +59,12 @@ public abstract class GaugeInstance extends ShaftInstance implements DynamicInst @Override public void beginFrame() { - GaugeTileEntity gaugeTile = (GaugeTileEntity) blockEntity; + GaugeBlockEntity gaugeBlockEntity = (GaugeBlockEntity) blockEntity; - if (Mth.equal(gaugeTile.prevDialState, gaugeTile.dialState)) + if (Mth.equal(gaugeBlockEntity.prevDialState, gaugeBlockEntity.dialState)) return; - float progress = Mth.lerp(AnimationTickHolder.getPartialTicks(), gaugeTile.prevDialState, gaugeTile.dialState); + float progress = Mth.lerp(AnimationTickHolder.getPartialTicks(), gaugeBlockEntity.prevDialState, gaugeBlockEntity.dialState); TransformStack msr = TransformStack.cast(ms); @@ -144,8 +144,8 @@ public abstract class GaugeInstance extends ShaftInstance implements DynamicInst } public static class Speed extends GaugeInstance { - public Speed(MaterialManager dispatcher, KineticTileEntity tile) { - super(dispatcher, tile); + public Speed(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override @@ -155,8 +155,8 @@ public abstract class GaugeInstance extends ShaftInstance implements DynamicInst } public static class Stress extends GaugeInstance { - public Stress(MaterialManager dispatcher, KineticTileEntity tile) { - super(dispatcher, tile); + public Stress(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeObservedPacket.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeObservedPacket.java index 8a9a85245..0ed578c9c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeObservedPacket.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeObservedPacket.java @@ -1,11 +1,11 @@ package com.simibubi.create.content.contraptions.relays.gauge; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; -public class GaugeObservedPacket extends TileEntityConfigurationPacket { +public class GaugeObservedPacket extends BlockEntityConfigurationPacket { public GaugeObservedPacket(BlockPos pos) { super(pos); @@ -22,8 +22,8 @@ public class GaugeObservedPacket extends TileEntityConfigurationPacket type, BlockPos pos, BlockState state) { + public SpeedGaugeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/StressGaugeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/StressGaugeBlockEntity.java similarity index 92% rename from src/main/java/com/simibubi/create/content/contraptions/relays/gauge/StressGaugeTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/gauge/StressGaugeBlockEntity.java index bf68e22f5..22e3e900c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/StressGaugeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/StressGaugeBlockEntity.java @@ -4,9 +4,9 @@ import java.util.List; import com.simibubi.create.content.contraptions.base.IRotate.StressImpact; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.item.TooltipHelper; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.Color; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.LangBuilder; @@ -19,16 +19,16 @@ import net.minecraft.util.Mth; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class StressGaugeTileEntity extends GaugeTileEntity { +public class StressGaugeBlockEntity extends GaugeBlockEntity { static BlockPos lastSent; - public StressGaugeTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public StressGaugeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.STRESSOMETER, AllAdvancements.STRESSOMETER_MAXED); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlock.java index c27808a41..23b68a2f8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlock.java @@ -3,10 +3,10 @@ package com.simibubi.create.content.contraptions.relays.gearbox; import java.util.Arrays; import java.util.List; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllItems; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -24,7 +24,7 @@ import net.minecraft.world.level.material.PushReaction; import net.minecraft.world.level.storage.loot.LootContext.Builder; import net.minecraft.world.phys.HitResult; -public class GearboxBlock extends RotatedPillarKineticBlock implements ITE { +public class GearboxBlock extends RotatedPillarKineticBlock implements IBE { public GearboxBlock(Properties properties) { super(properties); @@ -75,12 +75,12 @@ public class GearboxBlock extends RotatedPillarKineticBlock implements ITE getTileEntityClass() { - return GearboxTileEntity.class; + public Class getBlockEntityClass() { + return GearboxBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.GEARBOX.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.GEARBOX.get(); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlockEntity.java similarity index 66% rename from src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlockEntity.java index d7b1a3ca2..9d907c11e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlockEntity.java @@ -1,14 +1,14 @@ package com.simibubi.create.content.contraptions.relays.gearbox; -import com.simibubi.create.content.contraptions.relays.encased.DirectionalShaftHalvesTileEntity; +import com.simibubi.create.content.contraptions.relays.encased.DirectionalShaftHalvesBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class GearboxTileEntity extends DirectionalShaftHalvesTileEntity { +public class GearboxBlockEntity extends DirectionalShaftHalvesBlockEntity { - public GearboxTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public GearboxBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxInstance.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxInstance.java index ae7173155..c2af7a991 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxInstance.java @@ -8,7 +8,7 @@ import com.jozufozu.flywheel.api.Instancer; import com.jozufozu.flywheel.api.Material; import com.jozufozu.flywheel.api.MaterialManager; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileInstance; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; import com.simibubi.create.foundation.utility.Iterate; @@ -17,13 +17,13 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.LightLayer; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class GearboxInstance extends KineticTileInstance { +public class GearboxInstance extends KineticBlockEntityInstance { protected final EnumMap keys; protected Direction sourceFacing; - public GearboxInstance(MaterialManager modelManager, GearboxTileEntity tile) { - super(modelManager, tile); + public GearboxInstance(MaterialManager materialManager, GearboxBlockEntity blockEntity) { + super(materialManager, blockEntity); keys = new EnumMap<>(Direction.class); @@ -46,7 +46,7 @@ public class GearboxInstance extends KineticTileInstance { key.setRotationAxis(Direction.get(Direction.AxisDirection.POSITIVE, axis).step()) .setRotationalSpeed(getSpeed(direction)) - .setRotationOffset(getRotationOffset(axis)).setColor(tile) + .setRotationOffset(getRotationOffset(axis)).setColor(blockEntity) .setPosition(getInstancePosition()) .setBlockLight(blockLight) .setSkyLight(skyLight); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxRenderer.java index 04671bcad..4d2010b18 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxRenderer.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.contraptions.relays.gearbox; import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -18,32 +18,32 @@ import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class GearboxRenderer extends KineticTileEntityRenderer { +public class GearboxRenderer extends KineticBlockEntityRenderer { public GearboxRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - final Axis boxAxis = te.getBlockState().getValue(BlockStateProperties.AXIS); - final BlockPos pos = te.getBlockPos(); - float time = AnimationTickHolder.getRenderTime(te.getLevel()); + final Axis boxAxis = be.getBlockState().getValue(BlockStateProperties.AXIS); + final BlockPos pos = be.getBlockPos(); + float time = AnimationTickHolder.getRenderTime(be.getLevel()); for (Direction direction : Iterate.directions) { final Axis axis = direction.getAxis(); if (boxAxis == axis) continue; - SuperByteBuffer shaft = CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, te.getBlockState(), direction); - float offset = getRotationOffsetForPosition(te, pos, axis); - float angle = (time * te.getSpeed() * 3f / 10) % 360; + SuperByteBuffer shaft = CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, be.getBlockState(), direction); + float offset = getRotationOffsetForPosition(be, pos, axis); + float angle = (time * be.getSpeed() * 3f / 10) % 360; - if (te.getSpeed() != 0 && te.hasSource()) { - BlockPos source = te.source.subtract(te.getBlockPos()); + if (be.getSpeed() != 0 && be.hasSource()) { + BlockPos source = be.source.subtract(be.getBlockPos()); Direction sourceFacing = Direction.getNearest(source.getX(), source.getY(), source.getZ()); if (sourceFacing.getAxis() == direction.getAxis()) angle *= sourceFacing == direction ? 1 : -1; @@ -54,7 +54,7 @@ public class GearboxRenderer extends KineticTileEntityRenderer { angle += offset; angle = angle / 180f * (float) Math.PI; - kineticRotationTransform(shaft, te, axis, angle, light); + kineticRotationTransform(shaft, be, axis, angle, light); shaft.renderInto(ms, buffer.getBuffer(RenderType.solid())); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearshiftTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearshiftBlockEntity.java similarity index 78% rename from src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearshiftTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearshiftBlockEntity.java index cb96e271d..bd9d855c8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearshiftTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearshiftBlockEntity.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.relays.gearbox; -import com.simibubi.create.content.contraptions.relays.encased.SplitShaftTileEntity; +import com.simibubi.create.content.contraptions.relays.encased.SplitShaftBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -8,9 +8,9 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class GearshiftTileEntity extends SplitShaftTileEntity { +public class GearshiftBlockEntity extends SplitShaftBlockEntity { - public GearshiftTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public GearshiftBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/wrench/IWrenchable.java b/src/main/java/com/simibubi/create/content/contraptions/wrench/IWrenchable.java index a00346689..c399e1077 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/wrench/IWrenchable.java +++ b/src/main/java/com/simibubi/create/content/contraptions/wrench/IWrenchable.java @@ -4,10 +4,10 @@ import com.simibubi.create.AllSoundEvents; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock; -import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; +import com.simibubi.create.content.contraptions.base.GeneratingKineticBlockEntity; import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.foundation.utility.VoxelShaper; @@ -31,12 +31,12 @@ public interface IWrenchable { if (!rotated.canSurvive(world, context.getClickedPos())) return InteractionResult.PASS; - KineticTileEntity.switchToBlockState(world, context.getClickedPos(), updateAfterWrenched(rotated, context)); + KineticBlockEntity.switchToBlockState(world, context.getClickedPos(), updateAfterWrenched(rotated, context)); - BlockEntity te = context.getLevel() + BlockEntity be = context.getLevel() .getBlockEntity(context.getClickedPos()); - if (te instanceof GeneratingKineticTileEntity) { - ((GeneratingKineticTileEntity) te).reActivateSource = true; + if (be instanceof GeneratingKineticBlockEntity) { + ((GeneratingKineticBlockEntity) be).reActivateSource = true; } if (world.getBlockState(context.getClickedPos()) != state) diff --git a/src/main/java/com/simibubi/create/content/contraptions/wrench/WrenchItemRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/wrench/WrenchItemRenderer.java index 1539410e1..1caf40a38 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/wrench/WrenchItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/wrench/WrenchItemRenderer.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.contraptions.wrench; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Vector3f; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueHandler; import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRenderer; import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueHandler; import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.client.renderer.MultiBufferSource; diff --git a/src/main/java/com/simibubi/create/content/curiosities/ChromaticCompoundItem.java b/src/main/java/com/simibubi/create/content/curiosities/ChromaticCompoundItem.java index 6d2537478..cea71343d 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/ChromaticCompoundItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/ChromaticCompoundItem.java @@ -6,11 +6,11 @@ import org.apache.commons.lang3.mutable.MutableBoolean; import com.simibubi.create.AllItems; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.CRecipes; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.Color; import com.simibubi.create.foundation.utility.VecHelper; @@ -139,12 +139,12 @@ public class ChromaticCompoundItem extends Item { if (state.getLightBlock(world, testPos) >= 15 && state.getBlock() != Blocks.BEDROCK) break; if (state.getBlock() == Blocks.BEACON) { - BlockEntity te = world.getBlockEntity(testPos); + BlockEntity be = world.getBlockEntity(testPos); - if (!(te instanceof BeaconBlockEntity)) + if (!(be instanceof BeaconBlockEntity)) break; - BeaconBlockEntity bte = (BeaconBlockEntity) te; + BeaconBlockEntity bte = (BeaconBlockEntity) be; if (!bte.beamSections.isEmpty()) isOverBeacon = true; @@ -172,7 +172,7 @@ public class ChromaticCompoundItem extends Item { BlockState state = world.getBlockState(randomOffset); TransportedItemStackHandlerBehaviour behaviour = - TileEntityBehaviour.get(world, randomOffset, TransportedItemStackHandlerBehaviour.TYPE); + BlockEntityBehaviour.get(world, randomOffset, TransportedItemStackHandlerBehaviour.TYPE); // Find a placed light source if (behaviour == null) { diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankBlock.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankBlock.java index 42cedf76d..02fb9f530 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankBlock.java @@ -2,11 +2,11 @@ package com.simibubi.create.content.curiosities.armor; import java.util.Optional; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllEnchantments; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -47,7 +47,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.common.util.FakePlayer; public class BacktankBlock extends HorizontalKineticBlock - implements ITE, SimpleWaterloggedBlock { + implements IBE, SimpleWaterloggedBlock { public BacktankBlock(Properties properties) { super(properties); @@ -76,7 +76,7 @@ public class BacktankBlock extends HorizontalKineticBlock @Override public int getAnalogOutputSignal(BlockState state, Level world, BlockPos pos) { - return getTileEntityOptional(world, pos).map(BacktankTileEntity::getComparatorOutput) + return getBlockEntityOptional(world, pos).map(BacktankBlockEntity::getComparatorOutput) .orElse(0); } @@ -113,14 +113,14 @@ public class BacktankBlock extends HorizontalKineticBlock return; if (stack == null) return; - withTileEntityDo(worldIn, pos, te -> { - te.setCapacityEnchantLevel(EnchantmentHelper.getItemEnchantmentLevel(AllEnchantments.CAPACITY.get(), stack)); - te.setAirLevel(stack.getOrCreateTag() + withBlockEntityDo(worldIn, pos, be -> { + be.setCapacityEnchantLevel(EnchantmentHelper.getItemEnchantmentLevel(AllEnchantments.CAPACITY.get(), stack)); + be.setAirLevel(stack.getOrCreateTag() .getInt("Air")); if (stack.isEnchanted()) - te.setEnchantmentTag(stack.getEnchantmentTags()); + be.setEnchantmentTag(stack.getEnchantmentTags()); if (stack.hasCustomHoverName()) - te.setCustomName(stack.getHoverName()); + be.setCustomName(stack.getHoverName()); }); } @@ -155,14 +155,14 @@ public class BacktankBlock extends HorizontalKineticBlock } ItemStack stack = new ItemStack(item); - Optional tileEntityOptional = getTileEntityOptional(blockGetter, pos); + Optional blockEntityOptional = getBlockEntityOptional(blockGetter, pos); - int air = tileEntityOptional.map(BacktankTileEntity::getAirLevel) + int air = blockEntityOptional.map(BacktankBlockEntity::getAirLevel) .orElse(0); CompoundTag tag = stack.getOrCreateTag(); tag.putInt("Air", air); - ListTag enchants = tileEntityOptional.map(BacktankTileEntity::getEnchantmentTag) + ListTag enchants = blockEntityOptional.map(BacktankBlockEntity::getEnchantmentTag) .orElse(new ListTag()); if (!enchants.isEmpty()) { ListTag enchantmentTagList = stack.getEnchantmentTags(); @@ -170,7 +170,7 @@ public class BacktankBlock extends HorizontalKineticBlock tag.put("Enchantments", enchantmentTagList); } - Component customName = tileEntityOptional.map(BacktankTileEntity::getCustomName) + Component customName = blockEntityOptional.map(BacktankBlockEntity::getCustomName) .orElse(null); if (customName != null) stack.setHoverName(customName); @@ -184,13 +184,13 @@ public class BacktankBlock extends HorizontalKineticBlock } @Override - public Class getTileEntityClass() { - return BacktankTileEntity.class; + public Class getBlockEntityClass() { + return BacktankBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.BACKTANK.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.BACKTANK.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankTileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankBlockEntity.java similarity index 92% rename from src/main/java/com/simibubi/create/content/curiosities/armor/BacktankTileEntity.java rename to src/main/java/com/simibubi/create/content/curiosities/armor/BacktankBlockEntity.java index 445a5e352..6b2412c5d 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankTileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankBlockEntity.java @@ -5,11 +5,11 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.particle.AirParticleData; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.ComparatorUtil; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.ComparatorUtil; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; @@ -27,7 +27,7 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.phys.Vec3; -public class BacktankTileEntity extends KineticTileEntity implements Nameable { +public class BacktankBlockEntity extends KineticBlockEntity implements Nameable { public int airLevel; public int airLevelTimer; @@ -37,7 +37,7 @@ public class BacktankTileEntity extends KineticTileEntity implements Nameable { private int capacityEnchantLevel; private ListTag enchantmentTag; - public BacktankTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public BacktankBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); defaultName = getDefaultName(state); enchantmentTag = new ListTag(); @@ -52,7 +52,7 @@ public class BacktankTileEntity extends KineticTileEntity implements Nameable { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.BACKTANK); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankInstance.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankInstance.java index ccb5d1c69..6e0d52896 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankInstance.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankInstance.java @@ -2,14 +2,14 @@ package com.simibubi.create.content.curiosities.armor; import com.jozufozu.flywheel.api.Instancer; import com.jozufozu.flywheel.api.MaterialManager; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.base.SingleRotatingInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; public class BacktankInstance extends SingleRotatingInstance { - public BacktankInstance(MaterialManager modelManager, KineticTileEntity tile) { - super(modelManager, tile); + public BacktankInstance(MaterialManager materialManager, KineticBlockEntity blockEntity) { + super(materialManager, blockEntity); } @Override diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankRenderer.java index 674e16691..34a0b49d1 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankRenderer.java @@ -4,8 +4,8 @@ import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -17,31 +17,31 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; -public class BacktankRenderer extends KineticTileEntityRenderer { +public class BacktankRenderer extends KineticBlockEntityRenderer { public BacktankRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); SuperByteBuffer cogs = CachedBufferer.partial(getCogsModel(blockState), blockState); cogs.centre() .rotateY(180 + AngleHelper.horizontalAngle(blockState.getValue(BacktankBlock.HORIZONTAL_FACING))) .unCentre() .translate(0, 6.5f / 16, 11f / 16) .rotate(Direction.EAST, - AngleHelper.rad(te.getSpeed() / 4f * AnimationTickHolder.getRenderTime(te.getLevel()) % 360)) + AngleHelper.rad(be.getSpeed() / 4f * AnimationTickHolder.getRenderTime(be.getLevel()) % 360)) .translate(0, -6.5f / 16, -11f / 16); cogs.light(light) .renderInto(ms, buffer.getBuffer(RenderType.solid())); } @Override - protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be, BlockState state) { return CachedBufferer.partial(getShaftModel(state), state); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/bell/AbstractBellBlock.java b/src/main/java/com/simibubi/create/content/curiosities/bell/AbstractBellBlock.java index 0e0c9cdad..358e8abb0 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/bell/AbstractBellBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/bell/AbstractBellBlock.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.curiosities.bell; import javax.annotation.Nullable; import com.simibubi.create.AllShapes; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -23,7 +23,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -public abstract class AbstractBellBlock extends BellBlock implements ITE { +public abstract class AbstractBellBlock extends BellBlock implements IBE { public AbstractBellBlock(Properties properties) { super(properties); @@ -76,10 +76,10 @@ public abstract class AbstractBellBlock exten } protected boolean ring(Level world, BlockPos pos, Direction direction, Player player) { - TE te = getTileEntity(world, pos); + BE be = getBlockEntity(world, pos); if (world.isClientSide) return true; - if (te == null || !te.ring(world, pos, direction)) + if (be == null || !be.ring(world, pos, direction)) return false; playSound(world, pos); if (player != null) @@ -109,13 +109,13 @@ public abstract class AbstractBellBlock exten @Nullable public BlockEntity newBlockEntity(BlockPos p_152198_, BlockState p_152199_) { - return ITE.super.newBlockEntity(p_152198_, p_152199_); + return IBE.super.newBlockEntity(p_152198_, p_152199_); } @Nullable public BlockEntityTicker getTicker(Level p_152194_, BlockState p_152195_, BlockEntityType p_152196_) { - return ITE.super.getTicker(p_152194_, p_152195_, p_152196_); + return IBE.super.getTicker(p_152194_, p_152195_, p_152196_); } public abstract void playSound(Level world, BlockPos pos); diff --git a/src/main/java/com/simibubi/create/content/curiosities/bell/AbstractBellTileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/bell/AbstractBellBlockEntity.java similarity index 81% rename from src/main/java/com/simibubi/create/content/curiosities/bell/AbstractBellTileEntity.java rename to src/main/java/com/simibubi/create/content/curiosities/bell/AbstractBellBlockEntity.java index 98aceda43..220fb2975 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/bell/AbstractBellTileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/bell/AbstractBellBlockEntity.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.curiosities.bell; import java.util.List; import com.jozufozu.flywheel.core.PartialModel; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.core.BlockPos; @@ -16,7 +16,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public abstract class AbstractBellTileEntity extends SmartTileEntity { +public abstract class AbstractBellBlockEntity extends SmartBlockEntity { public static final int RING_DURATION = 74; @@ -24,12 +24,12 @@ public abstract class AbstractBellTileEntity extends SmartTileEntity { public int ringingTicks; public Direction ringDirection; - public AbstractBellTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public AbstractBellBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { } + public void addBehaviours(List behaviours) { } public boolean ring(Level world, BlockPos pos, Direction direction) { isRinging = true; diff --git a/src/main/java/com/simibubi/create/content/curiosities/bell/BellRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/bell/BellRenderer.java index 291a236fd..e30f3ad09 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/bell/BellRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/bell/BellRenderer.java @@ -1,9 +1,9 @@ package com.simibubi.create.content.curiosities.bell; import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import net.minecraft.client.renderer.MultiBufferSource; @@ -15,21 +15,21 @@ import net.minecraft.world.level.block.BellBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BellAttachType; -public class BellRenderer extends SafeTileEntityRenderer { +public class BellRenderer extends SafeBlockEntityRenderer { public BellRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(TE te, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - BlockState state = te.getBlockState(); + protected void renderSafe(BE be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + BlockState state = be.getBlockState(); Direction facing = state.getValue(BellBlock.FACING); BellAttachType attachment = state.getValue(BellBlock.ATTACHMENT); - SuperByteBuffer bell = CachedBufferer.partial(te.getBellModel(), state); + SuperByteBuffer bell = CachedBufferer.partial(be.getBellModel(), state); - if (te.isRinging) - bell.rotateCentered(te.ringDirection.getCounterClockWise(), getSwingAngle(te.ringingTicks + partialTicks)); + if (be.isRinging) + bell.rotateCentered(be.ringDirection.getCounterClockWise(), getSwingAngle(be.ringingTicks + partialTicks)); float rY = AngleHelper.horizontalAngle(facing); if (attachment == BellAttachType.SINGLE_WALL || attachment == BellAttachType.DOUBLE_WALL) diff --git a/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellBlock.java b/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellBlock.java index 4813daa13..d19bab3d1 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellBlock.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.curiosities.bell; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.foundation.advancement.AllAdvancements; import net.minecraft.core.BlockPos; @@ -11,15 +11,15 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class HauntedBellBlock extends AbstractBellBlock { +public class HauntedBellBlock extends AbstractBellBlock { public HauntedBellBlock(Properties properties) { super(properties); } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.HAUNTED_BELL.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.HAUNTED_BELL.get(); } @Override @@ -31,8 +31,8 @@ public class HauntedBellBlock extends AbstractBellBlock { } @Override - public Class getTileEntityClass() { - return HauntedBellTileEntity.class; + public Class getBlockEntityClass() { + return HauntedBellBlockEntity.class; } @Override @@ -43,8 +43,8 @@ public class HauntedBellBlock extends AbstractBellBlock { @Override public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean isMoving) { if (oldState.getBlock() != this && !world.isClientSide) - withTileEntityDo(world, pos, hbte -> { - hbte.effectTicks = HauntedBellTileEntity.EFFECT_TICKS; + withBlockEntityDo(world, pos, hbte -> { + hbte.effectTicks = HauntedBellBlockEntity.EFFECT_TICKS; hbte.sendData(); }); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellTileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellBlockEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellTileEntity.java rename to src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellBlockEntity.java index 619e6e3f0..83db53090 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellTileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellBlockEntity.java @@ -17,7 +17,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class HauntedBellTileEntity extends AbstractBellTileEntity { +public class HauntedBellBlockEntity extends AbstractBellBlockEntity { public static final int DISTANCE = 10; public static final int RECHARGE_TICKS = 65; @@ -25,7 +25,7 @@ public class HauntedBellTileEntity extends AbstractBellTileEntity { public int effectTicks = 0; - public HauntedBellTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public HauntedBellBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellMovementBehaviour.java b/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellMovementBehaviour.java index 4eeec2f61..ccd89aa63 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/curiosities/bell/HauntedBellMovementBehaviour.java @@ -20,19 +20,19 @@ public class HauntedBellMovementBehaviour extends BellMovementBehaviour { public void visitNewPosition(MovementContext context, BlockPos pos) { if (!context.world.isClientSide && getRecharge(context) == 0) { HauntedBellPulser.sendPulse(context.world, pos, DISTANCE, false); - setRecharge(context, HauntedBellTileEntity.RECHARGE_TICKS); + setRecharge(context, HauntedBellBlockEntity.RECHARGE_TICKS); playSound(context); } } @Override public void writeExtraData(MovementContext context) { - context.tileData.putInt("Recharge", getRecharge(context)); + context.blockEntityData.putInt("Recharge", getRecharge(context)); } private int getRecharge(MovementContext context) { if (!(context.temporaryData instanceof Integer) && context.world != null) { - context.temporaryData = context.tileData.getInt("Recharge"); + context.temporaryData = context.blockEntityData.getInt("Recharge"); } return (Integer) context.temporaryData; } diff --git a/src/main/java/com/simibubi/create/content/curiosities/bell/PeculiarBellBlock.java b/src/main/java/com/simibubi/create/content/curiosities/bell/PeculiarBellBlock.java index 4eea011d7..216cd6386 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/bell/PeculiarBellBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/bell/PeculiarBellBlock.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.curiosities.bell; import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.AllTileEntities; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -18,20 +18,20 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class PeculiarBellBlock extends AbstractBellBlock { +public class PeculiarBellBlock extends AbstractBellBlock { public PeculiarBellBlock(Properties properties) { super(properties); } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.PECULIAR_BELL.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.PECULIAR_BELL.get(); } @Override - public Class getTileEntityClass() { - return PeculiarBellTileEntity.class; + public Class getBlockEntityClass() { + return PeculiarBellBlockEntity.class; } @Override diff --git a/src/main/java/com/simibubi/create/content/curiosities/bell/PeculiarBellTileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/bell/PeculiarBellBlockEntity.java similarity index 77% rename from src/main/java/com/simibubi/create/content/curiosities/bell/PeculiarBellTileEntity.java rename to src/main/java/com/simibubi/create/content/curiosities/bell/PeculiarBellBlockEntity.java index 07c521de9..7fc4bd5f5 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/bell/PeculiarBellTileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/bell/PeculiarBellBlockEntity.java @@ -9,9 +9,9 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class PeculiarBellTileEntity extends AbstractBellTileEntity { +public class PeculiarBellBlockEntity extends AbstractBellBlockEntity { - public PeculiarBellTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public PeculiarBellBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardBlock.java b/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardBlock.java index 18b47c848..70a2dd2f0 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardBlock.java @@ -2,16 +2,16 @@ package com.simibubi.create.content.curiosities.deco; import java.util.List; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.logistics.item.filter.FilterItem; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; import net.minecraft.core.BlockPos; @@ -43,7 +43,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.items.ItemHandlerHelper; public class PlacardBlock extends FaceAttachedHorizontalDirectionalBlock - implements ProperWaterloggedBlock, ITE, ISpecialBlockItemRequirement, IWrenchable { + implements ProperWaterloggedBlock, IBE, ISpecialBlockItemRequirement, IWrenchable { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; @@ -122,7 +122,7 @@ public class PlacardBlock extends FaceAttachedHorizontalDirectionalBlock return InteractionResult.SUCCESS; ItemStack inHand = player.getItemInHand(pHand); - return onTileEntityUse(pLevel, pPos, pte -> { + return onBlockEntityUse(pLevel, pPos, pte -> { ItemStack inBlock = pte.getHeldItem(); if (!player.mayBuild() || inHand.isEmpty() || !inBlock.isEmpty()) { @@ -174,7 +174,7 @@ public class PlacardBlock extends FaceAttachedHorizontalDirectionalBlock if (pState.hasBlockEntity() && (blockChanged || !pNewState.hasBlockEntity())) { if (!pIsMoving) - withTileEntityDo(pLevel, pPos, te -> Block.popResource(pLevel, pPos, te.getHeldItem())); + withBlockEntityDo(pLevel, pPos, be -> Block.popResource(pLevel, pPos, be.getHeldItem())); pLevel.removeBlockEntity(pPos); } } @@ -188,7 +188,7 @@ public class PlacardBlock extends FaceAttachedHorizontalDirectionalBlock public void attack(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer) { if (pLevel.isClientSide) return; - withTileEntityDo(pLevel, pPos, pte -> { + withBlockEntityDo(pLevel, pPos, pte -> { ItemStack heldItem = pte.getHeldItem(); if (heldItem.isEmpty()) return; @@ -200,10 +200,10 @@ public class PlacardBlock extends FaceAttachedHorizontalDirectionalBlock } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { ItemStack placardStack = AllBlocks.PLACARD.asStack(); - if (te instanceof PlacardTileEntity pte) { - ItemStack heldItem = pte.getHeldItem(); + if (be instanceof PlacardBlockEntity pbe) { + ItemStack heldItem = pbe.getHeldItem(); if (!heldItem.isEmpty()) { return new ItemRequirement(List.of( new ItemRequirement.StackRequirement(placardStack, ItemUseType.CONSUME), @@ -215,13 +215,13 @@ public class PlacardBlock extends FaceAttachedHorizontalDirectionalBlock } @Override - public Class getTileEntityClass() { - return PlacardTileEntity.class; + public Class getBlockEntityClass() { + return PlacardBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.PLACARD.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.PLACARD.get(); } } diff --git a/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardTileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardBlockEntity.java similarity index 87% rename from src/main/java/com/simibubi/create/content/curiosities/deco/PlacardTileEntity.java rename to src/main/java/com/simibubi/create/content/curiosities/deco/PlacardBlockEntity.java index ab6fa677e..a1cd227c9 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardTileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardBlockEntity.java @@ -4,8 +4,8 @@ import java.util.List; import com.mojang.math.Vector3f; import com.simibubi.create.AllBlocks; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; @@ -16,12 +16,12 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class PlacardTileEntity extends SmartTileEntity { +public class PlacardBlockEntity extends SmartBlockEntity { ItemStack heldItem; int poweredTicks; - public PlacardTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public PlacardBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); heldItem = ItemStack.EMPTY; poweredTicks = 0; @@ -94,6 +94,6 @@ public class PlacardTileEntity extends SmartTileEntity { } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} } diff --git a/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardRenderer.java index 478ec22e4..665f3c25d 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardRenderer.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.curiosities.deco; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import net.minecraft.client.Minecraft; @@ -16,18 +16,18 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.AttachFace; -public class PlacardRenderer extends SafeTileEntityRenderer { +public class PlacardRenderer extends SafeBlockEntityRenderer { public PlacardRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(PlacardTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(PlacardBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - ItemStack heldItem = te.getHeldItem(); + ItemStack heldItem = be.getHeldItem(); if (heldItem.isEmpty()) return; - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); Direction facing = blockState.getValue(PlacardBlock.FACING); AttachFace face = blockState.getValue(PlacardBlock.FACE); diff --git a/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorBlock.java b/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorBlock.java index 2f1dbd340..9b2e80012 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorBlock.java @@ -2,10 +2,10 @@ package com.simibubi.create.content.curiosities.deco; import javax.annotation.Nullable; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionWorld; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -36,7 +36,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.eventbus.api.Event.Result; -public class SlidingDoorBlock extends DoorBlock implements IWrenchable, ITE { +public class SlidingDoorBlock extends DoorBlock implements IWrenchable, IBE { protected static final VoxelShape SE_AABB = Block.box(0.0D, 0.0D, -13.0D, 3.0D, 16.0D, 3.0D); protected static final VoxelShape ES_AABB = Block.box(-13.0D, 0.0D, 0.0D, 3.0D, 16.0D, 3.0D); @@ -170,8 +170,8 @@ public class SlidingDoorBlock extends DoorBlock implements IWrenchable, ITE sdte.deferUpdate = true); + withBlockEntityDo(level, pos, sdte -> sdte.deferUpdate = true); } public static boolean isDoubleDoor(BlockState pState, DoorHingeSide hinge, Direction facing, BlockState otherDoor) { @@ -269,17 +269,17 @@ public class SlidingDoorBlock extends DoorBlock implements IWrenchable, ITE getTileEntityClass() { - return SlidingDoorTileEntity.class; + public Class getBlockEntityClass() { + return SlidingDoorBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.SLIDING_DOOR.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.SLIDING_DOOR.get(); } } diff --git a/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorTileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorBlockEntity.java similarity index 85% rename from src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorTileEntity.java rename to src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorBlockEntity.java index 98d9f93f8..5c01a2c19 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorTileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorBlockEntity.java @@ -2,8 +2,8 @@ package com.simibubi.create.content.curiosities.deco; import java.util.List; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; @@ -16,13 +16,13 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -public class SlidingDoorTileEntity extends SmartTileEntity { +public class SlidingDoorBlockEntity extends SmartBlockEntity { LerpedFloat animation; int bridgeTicks; boolean deferUpdate; - public SlidingDoorTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SlidingDoorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); animation = LerpedFloat.linear() .startWithValue(isOpen(state) ? 1 : 0); @@ -74,7 +74,7 @@ public class SlidingDoorTileEntity extends SmartTileEntity { } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} public static boolean isOpen(BlockState state) { return state.getOptionalValue(DoorBlock.OPEN) diff --git a/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorMovementBehaviour.java b/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorMovementBehaviour.java index a76cedb99..8ea99ade6 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorMovementBehaviour.java @@ -22,7 +22,7 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemp public class SlidingDoorMovementBehaviour implements MovementBehaviour { @Override - public boolean renderAsNormalTileEntity() { + public boolean renderAsNormalBlockEntity() { return true; } @@ -37,13 +37,13 @@ public class SlidingDoorMovementBehaviour implements MovementBehaviour { .get(context.localPos); if (structureBlockInfo == null) return; - boolean open = SlidingDoorTileEntity.isOpen(structureBlockInfo.state); + boolean open = SlidingDoorBlockEntity.isOpen(structureBlockInfo.state); if (!context.world.isClientSide()) tickOpen(context, open); - Map tes = context.contraption.presentTileEntities; - if (!(tes.get(context.localPos) instanceof SlidingDoorTileEntity doorTE)) + Map tes = context.contraption.presentBlockEntities; + if (!(tes.get(context.localPos) instanceof SlidingDoorBlockEntity doorTE)) return; boolean wasSettled = doorTE.animation.settled(); doorTE.animation.chase(open ? 1 : 0, .15f, Chaser.LINEAR); diff --git a/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorRenderer.java index 0b9ca3d86..123478ade 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/deco/SlidingDoorRenderer.java @@ -2,8 +2,8 @@ package com.simibubi.create.content.curiosities.deco; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; @@ -16,15 +16,15 @@ import net.minecraft.world.level.block.state.properties.DoorHingeSide; import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; import net.minecraft.world.phys.Vec3; -public class SlidingDoorRenderer extends SafeTileEntityRenderer { +public class SlidingDoorRenderer extends SafeBlockEntityRenderer { public SlidingDoorRenderer(Context context) {} @Override - protected void renderSafe(SlidingDoorTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(SlidingDoorBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - BlockState blockState = te.getBlockState(); - if (!te.shouldRenderSpecial(blockState)) + BlockState blockState = be.getBlockState(); + if (!be.shouldRenderSpecial(blockState)) return; Direction facing = blockState.getValue(DoorBlock.FACING); @@ -33,7 +33,7 @@ public class SlidingDoorRenderer extends SafeTileEntityRenderer, IWrenchable { +public abstract class CopycatBlock extends Block implements IBE, IWrenchable { public CopycatBlock(Properties pProperties) { super(pProperties); @@ -70,7 +70,7 @@ public abstract class CopycatBlock extends Block implements ITE { + return onBlockEntityUse(context.getLevel(), context.getClickedPos(), ufte -> { ItemStack consumedItem = ufte.getConsumedItem(); if (!ufte.hasCustomMaterial()) return InteractionResult.PASS; @@ -100,7 +100,7 @@ public abstract class CopycatBlock extends Block implements ITE { + return onBlockEntityUse(pLevel, pPos, ufte -> { if (ufte.getMaterial() .is(material.getBlock())) { if (!ufte.cycleMaterial()) @@ -141,7 +141,7 @@ public abstract class CopycatBlock extends Block implements ITE { + withBlockEntityDo(pLevel, pPos, ufte -> { if (ufte.hasCustomMaterial()) return; @@ -207,7 +207,7 @@ public abstract class CopycatBlock extends Block implements ITE Block.popResource(pLevel, pPos, ufte.getConsumedItem())); + withBlockEntityDo(pLevel, pPos, ufte -> Block.popResource(pLevel, pPos, ufte.getConsumedItem())); pLevel.removeBlockEntity(pPos); } @@ -215,17 +215,17 @@ public abstract class CopycatBlock extends Block implements ITE ufte.setItem(ItemStack.EMPTY)); + withBlockEntityDo(pLevel, pPos, ufte -> ufte.setItem(ItemStack.EMPTY)); } @Override - public Class getTileEntityClass() { - return CopycatTileEntity.class; + public Class getBlockEntityClass() { + return CopycatBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.UNIVERSAL_FRAME.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.UNIVERSAL_FRAME.get(); } // Connected Textures @@ -256,7 +256,7 @@ public abstract class CopycatBlock extends Block implements ITE type, BlockPos pos, BlockState state) { + public CopycatBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); baseBlock = AllBlocks.COPYCAT_BASE.getDefaultState(); consumedItem = ItemStack.EMPTY; @@ -63,7 +63,7 @@ public class CopycatTileEntity extends SmartTileEntity implements ISpecialBlockE BlockState neighbourState = level.getBlockState(neighbour); if (neighbourState != wrapperState) continue; - if (!(level.getBlockEntity(neighbour)instanceof CopycatTileEntity ufte)) + if (!(level.getBlockEntity(neighbour)instanceof CopycatBlockEntity ufte)) continue; BlockState otherMaterial = ufte.getMaterial(); if (!otherMaterial.is(blockState.getBlock())) @@ -159,7 +159,7 @@ public class CopycatTileEntity extends SmartTileEntity implements ISpecialBlockE } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override public void transform(StructureTransform transform) { diff --git a/src/main/java/com/simibubi/create/content/curiosities/frames/CopycatModel.java b/src/main/java/com/simibubi/create/content/curiosities/frames/CopycatModel.java index 1b20fe6cf..4cac90cf6 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/frames/CopycatModel.java +++ b/src/main/java/com/simibubi/create/content/curiosities/frames/CopycatModel.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.curiosities.frames; -import static com.simibubi.create.content.curiosities.frames.CopycatTileEntity.MATERIAL_PROPERTY; +import static com.simibubi.create.content.curiosities.frames.CopycatBlockEntity.MATERIAL_PROPERTY; import static com.simibubi.create.foundation.block.render.SpriteShiftEntry.getUnInterpolatedU; import static com.simibubi.create.foundation.block.render.SpriteShiftEntry.getUnInterpolatedV; @@ -48,12 +48,12 @@ public abstract class CopycatModel extends BakedModelWrapperWithData { @Override protected Builder gatherModelData(Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state, - IModelData tileData) { + IModelData blockEntityData) { BlockState wrappedState = getMaterial(world, pos, state); if (wrappedState == null) return builder; - if (tileData instanceof ModelDataMap mdm && mdm.hasProperty(MATERIAL_PROPERTY)) + if (blockEntityData instanceof ModelDataMap mdm && mdm.hasProperty(MATERIAL_PROPERTY)) builder.withInitial(MATERIAL_PROPERTY, mdm.getData(MATERIAL_PROPERTY)); OcclusionData occlusionData = new OcclusionData(); @@ -190,8 +190,8 @@ public abstract class CopycatModel extends BakedModelWrapperWithData { public BlockState getMaterial(BlockAndTintGetter world, BlockPos pos, BlockState state) { if (!(state.getBlock()instanceof CopycatBlock ufb)) return null; - return ufb.getTileEntityOptional(world, pos) - .map(CopycatTileEntity::getMaterial) + return ufb.getBlockEntityOptional(world, pos) + .map(CopycatBlockEntity::getMaterial) .orElse(null); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/girder/ConnectedGirderModel.java b/src/main/java/com/simibubi/create/content/curiosities/girder/ConnectedGirderModel.java index 4c333dfcd..093a6b505 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/girder/ConnectedGirderModel.java +++ b/src/main/java/com/simibubi/create/content/curiosities/girder/ConnectedGirderModel.java @@ -29,11 +29,11 @@ public class ConnectedGirderModel extends CTModel { @Override protected Builder gatherModelData(Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state, - IModelData tileData) { + IModelData blockEntityData) { ConnectionData connectionData = new ConnectionData(); for (Direction d : Iterate.horizontalDirections) connectionData.setConnected(d, GirderBlock.isConnected(world, pos, state, d)); - return super.gatherModelData(builder, world, pos, state, tileData).withInitial(CONNECTION_PROPERTY, + return super.gatherModelData(builder, world, pos, state, blockEntityData).withInitial(CONNECTION_PROPERTY, connectionData); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlock.java b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlock.java index ff20a1c6b..9ff558e3e 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlock.java @@ -8,9 +8,9 @@ import java.util.Random; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllShapes; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.fluids.pipes.BracketBlock; -import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedBlockEntityBehaviour; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.curiosities.deco.PlacardBlock; import com.simibubi.create.content.logistics.block.chute.AbstractChuteBlock; @@ -18,7 +18,7 @@ import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlock; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlock; import com.simibubi.create.content.logistics.trains.track.TrackBlock; import com.simibubi.create.content.logistics.trains.track.TrackShape; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.placement.IPlacementHelper; import com.simibubi.create.foundation.utility.placement.PlacementHelpers; @@ -103,7 +103,7 @@ public class GirderBlock extends Block implements SimpleWaterloggedBlock, IWrenc ItemStack itemInHand = pPlayer.getItemInHand(pHand); if (AllBlocks.SHAFT.isIn(itemInHand)) { - KineticTileEntity.switchToBlockState(pLevel, pPos, AllBlocks.METAL_GIRDER_ENCASED_SHAFT.getDefaultState() + KineticBlockEntity.switchToBlockState(pLevel, pPos, AllBlocks.METAL_GIRDER_ENCASED_SHAFT.getDefaultState() .setValue(WATERLOGGED, pState.getValue(WATERLOGGED)) .setValue(TOP, pState.getValue(TOP)) .setValue(BOTTOM, pState.getValue(BOTTOM)) @@ -236,9 +236,9 @@ public class GirderBlock extends Block implements SimpleWaterloggedBlock, IWrenc public static boolean isFacingBracket(BlockAndTintGetter level, BlockPos pos, Direction d) { BlockEntity blockEntity = level.getBlockEntity(pos.relative(d)); - if (!(blockEntity instanceof SmartTileEntity ste)) + if (!(blockEntity instanceof SmartBlockEntity ste)) return false; - BracketedTileEntityBehaviour behaviour = ste.getBehaviour(BracketedTileEntityBehaviour.TYPE); + BracketedBlockEntityBehaviour behaviour = ste.getBehaviour(BracketedBlockEntityBehaviour.TYPE); if (behaviour == null) return false; BlockState bracket = behaviour.getBracket(); diff --git a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderEncasedShaftBlock.java b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderEncasedShaftBlock.java index 0a74a1a29..e7ba1e10d 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderEncasedShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderEncasedShaftBlock.java @@ -2,15 +2,15 @@ package com.simibubi.create.content.curiosities.girder; import static net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; 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.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -37,7 +37,7 @@ import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; public class GirderEncasedShaftBlock extends HorizontalAxisKineticBlock - implements ITE, SimpleWaterloggedBlock, IWrenchable, ISpecialBlockItemRequirement { + implements IBE, SimpleWaterloggedBlock, IWrenchable, ISpecialBlockItemRequirement { public static final BooleanProperty TOP = GirderBlock.TOP; public static final BooleanProperty BOTTOM = GirderBlock.BOTTOM; @@ -84,13 +84,13 @@ public class GirderEncasedShaftBlock extends HorizontalAxisKineticBlock } @Override - public Class getTileEntityClass() { - return KineticTileEntity.class; + public Class getBlockEntityClass() { + return KineticBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ENCASED_SHAFT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ENCASED_SHAFT.get(); } @Override @@ -127,9 +127,9 @@ public class GirderEncasedShaftBlock extends HorizontalAxisKineticBlock } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { - return ItemRequirement.of(AllBlocks.SHAFT.getDefaultState(), te) - .union(ItemRequirement.of(AllBlocks.METAL_GIRDER.getDefaultState(), te)); + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { + return ItemRequirement.of(AllBlocks.SHAFT.getDefaultState(), be) + .union(ItemRequirement.of(AllBlocks.METAL_GIRDER.getDefaultState(), be)); } } diff --git a/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandItem.java b/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandItem.java index 44aa285ba..346e4bd61 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandItem.java @@ -319,8 +319,8 @@ public class SymmetryWandItem extends Item { .isEmpty()) player.getMainHandItem() .mineBlock(world, blockstate, position, player); - BlockEntity tileentity = blockstate.hasBlockEntity() ? world.getBlockEntity(position) : null; - Block.dropResources(blockstate, world, pos, tileentity, player, player.getMainHandItem()); // Add fortune, silk touch and other loot modifiers + BlockEntity blockEntity = blockstate.hasBlockEntity() ? world.getBlockEntity(position) : null; + Block.dropResources(blockstate, world, pos, blockEntity, player, player.getMainHandItem()); // Add fortune, silk touch and other loot modifiers } } } diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/RadialToolboxMenu.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/RadialToolboxMenu.java index 0bf111bec..f458ce4e6 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/RadialToolboxMenu.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/RadialToolboxMenu.java @@ -36,13 +36,13 @@ public class RadialToolboxMenu extends AbstractSimiScreen { private int hoveredSlot; private boolean scrollMode; private int scrollSlot = 0; - private List toolboxes; - private ToolboxTileEntity selectedBox; + private List toolboxes; + private ToolboxBlockEntity selectedBox; private static final int DEPOSIT = -7; private static final int UNEQUIP = -5; - public RadialToolboxMenu(List toolboxes, State state, @Nullable ToolboxTileEntity selectedBox) { + public RadialToolboxMenu(List toolboxes, State state, @Nullable ToolboxBlockEntity selectedBox) { this.toolboxes = toolboxes; this.state = state; hoveredSlot = -1; @@ -155,15 +155,15 @@ public class RadialToolboxMenu extends AbstractSimiScreen { if (slot < toolboxes.size()) { AllGuiTextures.TOOLBELT_SLOT.render(ms, 0, 0, this); - ToolboxTileEntity toolboxTileEntity = toolboxes.get(slot); - GuiGameElement.of(AllBlocks.TOOLBOXES.get(toolboxTileEntity.getColor()) + ToolboxBlockEntity toolboxBlockEntity = toolboxes.get(slot); + GuiGameElement.of(AllBlocks.TOOLBOXES.get(toolboxBlockEntity.getColor()) .asStack()) .at(3, 3) .render(ms); if (slot == (scrollMode ? scrollSlot : hoveredSlot)) { AllGuiTextures.TOOLBELT_SLOT_HIGHLIGHT.render(ms, -1, -1, this); - tip = toolboxTileEntity.getDisplayName(); + tip = toolboxBlockEntity.getDisplayName(); } } else AllGuiTextures.TOOLBELT_EMPTY_SLOT.render(ms, 0, 0, this); @@ -231,7 +231,7 @@ public class RadialToolboxMenu extends AbstractSimiScreen { if (state == State.DETACH) return; else if (state == State.SELECT_BOX) - toolboxes.forEach(te -> AllPackets.channel.sendToServer(new ToolboxDisposeAllPacket(te.getBlockPos()))); + toolboxes.forEach(be -> AllPackets.channel.sendToServer(new ToolboxDisposeAllPacket(be.getBlockPos()))); else AllPackets.channel.sendToServer(new ToolboxDisposeAllPacket(selectedBox.getBlockPos())); return; diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolBoxInstance.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolBoxInstance.java index aac661c5e..295971f77 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolBoxInstance.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolBoxInstance.java @@ -13,14 +13,14 @@ import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; -public class ToolBoxInstance extends BlockEntityInstance implements DynamicInstance { +public class ToolBoxInstance extends BlockEntityInstance implements DynamicInstance { private final Direction facing; private ModelData lid; private ModelData[] drawers; - public ToolBoxInstance(MaterialManager materialManager, ToolboxTileEntity tile) { - super(materialManager, tile); + public ToolBoxInstance(MaterialManager materialManager, ToolboxBlockEntity blockEntity) { + super(materialManager, blockEntity); facing = blockState.getValue(ToolboxBlock.FACING) .getOpposite(); diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlock.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlock.java index c93fc90ba..6b2b6d189 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlock.java @@ -4,10 +4,10 @@ import static net.minecraft.world.level.block.state.properties.BlockStatePropert import java.util.Optional; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.BlockHelper; import net.minecraft.core.BlockPos; @@ -43,7 +43,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.common.util.FakePlayer; import net.minecraftforge.network.NetworkHooks; -public class ToolboxBlock extends HorizontalDirectionalBlock implements SimpleWaterloggedBlock, ITE { +public class ToolboxBlock extends HorizontalDirectionalBlock implements SimpleWaterloggedBlock, IBE { protected final DyeColor color; @@ -78,13 +78,13 @@ public class ToolboxBlock extends HorizontalDirectionalBlock implements SimpleWa return; if (stack == null) return; - withTileEntityDo(worldIn, pos, te -> { + withBlockEntityDo(worldIn, pos, be -> { CompoundTag orCreateTag = stack.getOrCreateTag(); - te.readInventory(orCreateTag.getCompound("Inventory")); + be.readInventory(orCreateTag.getCompound("Inventory")); if (orCreateTag.contains("UniqueId")) - te.setUniqueId(orCreateTag.getUUID("UniqueId")); + be.setUniqueId(orCreateTag.getUUID("UniqueId")); if (stack.hasCustomHoverName()) - te.setCustomName(stack.getHoverName()); + be.setCustomName(stack.getHoverName()); }); } @@ -100,7 +100,7 @@ public class ToolboxBlock extends HorizontalDirectionalBlock implements SimpleWa return; if (world.isClientSide) return; - withTileEntityDo(world, pos, ToolboxTileEntity::unequipTracked); + withBlockEntityDo(world, pos, ToolboxBlockEntity::unequipTracked); if (world instanceof ServerLevel) { ItemStack cloneItemStack = getCloneItemStack(world, pos, state); world.destroyBlock(pos, false); @@ -112,16 +112,16 @@ public class ToolboxBlock extends HorizontalDirectionalBlock implements SimpleWa @Override public ItemStack getCloneItemStack(BlockGetter world, BlockPos pos, BlockState state) { ItemStack item = new ItemStack(this); - Optional tileEntityOptional = getTileEntityOptional(world, pos); + Optional blockEntityOptional = getBlockEntityOptional(world, pos); CompoundTag tag = item.getOrCreateTag(); - CompoundTag inv = tileEntityOptional.map(tb -> tb.inventory.serializeNBT()) + CompoundTag inv = blockEntityOptional.map(tb -> tb.inventory.serializeNBT()) .orElse(new CompoundTag()); tag.put("Inventory", inv); - tileEntityOptional.map(tb -> tb.getUniqueId()) + blockEntityOptional.map(tb -> tb.getUniqueId()) .ifPresent(uid -> tag.putUUID("UniqueId", uid)); - tileEntityOptional.map(ToolboxTileEntity::getCustomName) + blockEntityOptional.map(ToolboxBlockEntity::getCustomName) .ifPresent(item::setHoverName); return item; } @@ -162,7 +162,7 @@ public class ToolboxBlock extends HorizontalDirectionalBlock implements SimpleWa if (world.isClientSide) return InteractionResult.SUCCESS; - withTileEntityDo(world, pos, + withBlockEntityDo(world, pos, toolbox -> NetworkHooks.openGui((ServerPlayer) player, toolbox, toolbox::sendToMenu)); return InteractionResult.SUCCESS; } @@ -177,13 +177,13 @@ public class ToolboxBlock extends HorizontalDirectionalBlock implements SimpleWa } @Override - public Class getTileEntityClass() { - return ToolboxTileEntity.class; + public Class getBlockEntityClass() { + return ToolboxBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.TOOLBOX.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.TOOLBOX.get(); } public DyeColor getColor() { diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxTileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlockEntity.java similarity index 96% rename from src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxTileEntity.java rename to src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlockEntity.java index 325004bb6..d45224747 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxTileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlockEntity.java @@ -11,8 +11,8 @@ import java.util.UUID; import java.util.WeakHashMap; import com.simibubi.create.AllBlocks; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.ResetableLazy; import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.animation.LerpedFloat; @@ -41,7 +41,7 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemHandlerHelper; -public class ToolboxTileEntity extends SmartTileEntity implements MenuProvider, Nameable { +public class ToolboxBlockEntity extends SmartBlockEntity implements MenuProvider, Nameable { public LerpedFloat lid = LerpedFloat.linear() .startWithValue(0); @@ -59,7 +59,7 @@ public class ToolboxTileEntity extends SmartTileEntity implements MenuProvider, private Component customName; - public ToolboxTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public ToolboxBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); connectedPlayers = new HashMap<>(); inventory = new ToolboxInventory(this); @@ -78,7 +78,7 @@ public class ToolboxTileEntity extends SmartTileEntity implements MenuProvider, } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override public void initialize() { diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxDisposeAllPacket.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxDisposeAllPacket.java index 920ab41db..098b9f8ce 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxDisposeAllPacket.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxDisposeAllPacket.java @@ -46,9 +46,9 @@ public class ToolboxDisposeAllPacket extends SimplePacketBase { if (player.distanceToSqr(toolboxPos.getX() + 0.5, toolboxPos.getY(), toolboxPos.getZ() + 0.5) > maxRange * maxRange) return; - if (!(blockEntity instanceof ToolboxTileEntity)) + if (!(blockEntity instanceof ToolboxBlockEntity)) return; - ToolboxTileEntity toolbox = (ToolboxTileEntity) blockEntity; + ToolboxBlockEntity toolbox = (ToolboxBlockEntity) blockEntity; CompoundTag compound = player.getPersistentData() .getCompound("CreateToolboxData"); diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxEquipPacket.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxEquipPacket.java index 55538921e..4491391f8 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxEquipPacket.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxEquipPacket.java @@ -62,7 +62,7 @@ public class ToolboxEquipPacket extends SimplePacketBase { if (player.distanceToSqr(toolboxPos.getX() + 0.5, toolboxPos.getY(), toolboxPos.getZ() + 0.5) > maxRange * maxRange) return; - if (!(blockEntity instanceof ToolboxTileEntity)) + if (!(blockEntity instanceof ToolboxBlockEntity)) return; ToolboxHandler.unequip(player, hotbarSlot, false); @@ -72,12 +72,12 @@ public class ToolboxEquipPacket extends SimplePacketBase { return; } - ToolboxTileEntity toolboxTileEntity = (ToolboxTileEntity) blockEntity; + ToolboxBlockEntity toolboxBlockEntity = (ToolboxBlockEntity) blockEntity; ItemStack playerStack = player.getInventory().getItem(hotbarSlot); if (!playerStack.isEmpty() && !ToolboxInventory.canItemsShareCompartment(playerStack, - toolboxTileEntity.inventory.filters.get(slot))) { - toolboxTileEntity.inventory.inLimitedMode(inventory -> { + toolboxBlockEntity.inventory.filters.get(slot))) { + toolboxBlockEntity.inventory.inLimitedMode(inventory -> { ItemStack remainder = ItemHandlerHelper.insertItemStacked(inventory, playerStack, false); if (!remainder.isEmpty()) remainder = ItemHandlerHelper.insertItemStacked(new ItemReturnInvWrapper(player.getInventory()), @@ -99,7 +99,7 @@ public class ToolboxEquipPacket extends SimplePacketBase { player.getPersistentData() .put("CreateToolboxData", compound); - toolboxTileEntity.connectPlayer(slot, player, hotbarSlot); + toolboxBlockEntity.connectPlayer(slot, player, hotbarSlot); ToolboxHandler.syncData(player); }); ctx.setPacketHandled(true); diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxHandler.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxHandler.java index c7ec4aacc..b373a8c2e 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxHandler.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxHandler.java @@ -24,17 +24,17 @@ import net.minecraftforge.network.PacketDistributor; public class ToolboxHandler { - public static final WorldAttached> toolboxes = + public static final WorldAttached> toolboxes = new WorldAttached<>(w -> new WeakHashMap<>()); - public static void onLoad(ToolboxTileEntity te) { - toolboxes.get(te.getLevel()) - .put(te.getBlockPos(), te); + public static void onLoad(ToolboxBlockEntity be) { + toolboxes.get(be.getLevel()) + .put(be.getBlockPos(), be); } - public static void onUnload(ToolboxTileEntity te) { - toolboxes.get(te.getLevel()) - .remove(te.getBlockPos()); + public static void onUnload(ToolboxBlockEntity be) { + toolboxes.get(be.getLevel()) + .remove(be.getBlockPos()); } static int validationTimer = 20; @@ -76,8 +76,8 @@ public class ToolboxHandler { } BlockEntity prevBlockEntity = world.getBlockEntity(pos); - if (prevBlockEntity instanceof ToolboxTileEntity) - ((ToolboxTileEntity) prevBlockEntity).connectPlayer(slot, player, i); + if (prevBlockEntity instanceof ToolboxBlockEntity) + ((ToolboxBlockEntity) prevBlockEntity).connectPlayer(slot, player, i); } if (sendData) @@ -101,7 +101,7 @@ public class ToolboxHandler { new PersistentDataPacket(player)); } - public static List getNearest(LevelAccessor world, Player player, int maxAmount) { + public static List getNearest(LevelAccessor world, Player player, int maxAmount) { Vec3 location = player.position(); double maxRange = getMaxRange(player); return toolboxes.get(world) @@ -111,7 +111,7 @@ public class ToolboxHandler { .sorted((p1, p2) -> Double.compare(distance(location, p1), distance(location, p2))) .limit(maxAmount) .map(toolboxes.get(world)::get) - .filter(ToolboxTileEntity::isFullyInitialized) + .filter(ToolboxBlockEntity::isFullyInitialized) .collect(Collectors.toList()); } @@ -128,14 +128,14 @@ public class ToolboxHandler { int prevSlot = prevData.getInt("Slot"); BlockEntity prevBlockEntity = world.getBlockEntity(prevPos); - if (prevBlockEntity instanceof ToolboxTileEntity) { - ToolboxTileEntity toolbox = (ToolboxTileEntity) prevBlockEntity; + if (prevBlockEntity instanceof ToolboxBlockEntity) { + ToolboxBlockEntity toolbox = (ToolboxBlockEntity) prevBlockEntity; toolbox.unequip(prevSlot, player, hotbarSlot, keepItems || !ToolboxHandler.withinRange(player, toolbox)); } compound.remove(key); } - public static boolean withinRange(Player player, ToolboxTileEntity box) { + public static boolean withinRange(Player player, ToolboxBlockEntity box) { if (player.level != box.getLevel()) return false; double maxRange = getMaxRange(player); diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxHandlerClient.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxHandlerClient.java index 644aa7fc5..f024209c6 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxHandlerClient.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxHandlerClient.java @@ -60,7 +60,7 @@ public class ToolboxHandlerClient { return false; ItemStack result = ItemStack.EMPTY; - List toolboxes = ToolboxHandler.getNearest(player.level, player, 8); + List toolboxes = ToolboxHandler.getNearest(player.level, player, 8); if (toolboxes.isEmpty()) return false; @@ -80,8 +80,8 @@ public class ToolboxHandlerClient { if (result.isEmpty()) return false; - for (ToolboxTileEntity toolboxTileEntity : toolboxes) { - ToolboxInventory inventory = toolboxTileEntity.inventory; + for (ToolboxBlockEntity toolboxBlockEntity : toolboxes) { + ToolboxInventory inventory = toolboxBlockEntity.inventory; for (int comp = 0; comp < 8; comp++) { ItemStack inSlot = inventory.takeFromCompartment(1, comp, true); if (inSlot.isEmpty()) @@ -92,7 +92,7 @@ public class ToolboxHandlerClient { continue; AllPackets.channel.sendToServer( - new ToolboxEquipPacket(toolboxTileEntity.getBlockPos(), comp, player.getInventory().selected)); + new ToolboxEquipPacket(toolboxBlockEntity.getBlockPos(), comp, player.getInventory().selected)); return true; } @@ -115,8 +115,8 @@ public class ToolboxHandlerClient { return; Level level = player.level; - List toolboxes = ToolboxHandler.getNearest(player.level, player, 8); - toolboxes.sort(Comparator.comparing(ToolboxTileEntity::getUniqueId)); + List toolboxes = ToolboxHandler.getNearest(player.level, player, 8); + toolboxes.sort(Comparator.comparing(ToolboxBlockEntity::getUniqueId)); CompoundTag compound = player.getPersistentData() .getCompound("CreateToolboxData"); @@ -132,9 +132,9 @@ public class ToolboxHandlerClient { if (canReachToolbox) { BlockEntity blockEntity = level.getBlockEntity(pos); - if (blockEntity instanceof ToolboxTileEntity) { + if (blockEntity instanceof ToolboxBlockEntity) { RadialToolboxMenu screen = new RadialToolboxMenu(toolboxes, - RadialToolboxMenu.State.SELECT_ITEM_UNEQUIP, (ToolboxTileEntity) blockEntity); + RadialToolboxMenu.State.SELECT_ITEM_UNEQUIP, (ToolboxBlockEntity) blockEntity); screen.prevSlot(compound.getCompound(slotKey) .getInt("Slot")); ScreenOpener.open(screen); diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java index 1d35771c3..5d6ed7110 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java @@ -20,13 +20,13 @@ public class ToolboxInventory extends ItemStackHandler { public static final int STACKS_PER_COMPARTMENT = 4; List filters; boolean settling; - private ToolboxTileEntity te; + private ToolboxBlockEntity blockEntity; private boolean limitedMode; - public ToolboxInventory(ToolboxTileEntity te) { + public ToolboxInventory(ToolboxBlockEntity be) { super(8 * STACKS_PER_COMPARTMENT); - this.te = te; + this.blockEntity = be; limitedMode = false; filters = new ArrayList<>(); settling = false; @@ -83,7 +83,7 @@ public class ToolboxInventory extends ItemStackHandler { } } settling = false; - te.sendData(); + blockEntity.sendData(); } @Override @@ -109,7 +109,7 @@ public class ToolboxInventory extends ItemStackHandler { if (!stack.isEmpty() && filters.get(compartment) .isEmpty()) { filters.set(compartment, ItemHandlerHelper.copyStackWithSize(stack, 1)); - te.sendData(); + blockEntity.sendData(); } } @@ -121,7 +121,7 @@ public class ToolboxInventory extends ItemStackHandler { if (!stack.isEmpty() && filters.get(compartment) .isEmpty()) { filters.set(compartment, ItemHandlerHelper.copyStackWithSize(stack, 1)); - te.sendData(); + blockEntity.sendData(); } } return insertItem; @@ -136,10 +136,10 @@ public class ToolboxInventory extends ItemStackHandler { @Override protected void onContentsChanged(int slot) { - if (!settling && !te.getLevel().isClientSide) + if (!settling && !blockEntity.getLevel().isClientSide) settle(slot / STACKS_PER_COMPARTMENT); - te.sendData(); - te.setChanged(); + blockEntity.sendData(); + blockEntity.setChanged(); super.onContentsChanged(slot); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxMenu.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxMenu.java index 392ec21d4..173287255 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxMenu.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxMenu.java @@ -19,30 +19,30 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.items.SlotItemHandler; -public class ToolboxMenu extends MenuBase { +public class ToolboxMenu extends MenuBase { public ToolboxMenu(MenuType type, int id, Inventory inv, FriendlyByteBuf extraData) { super(type, id, inv, extraData); } - public ToolboxMenu(MenuType type, int id, Inventory inv, ToolboxTileEntity te) { - super(type, id, inv, te); - te.startOpen(player); + public ToolboxMenu(MenuType type, int id, Inventory inv, ToolboxBlockEntity be) { + super(type, id, inv, be); + be.startOpen(player); } - public static ToolboxMenu create(int id, Inventory inv, ToolboxTileEntity te) { - return new ToolboxMenu(AllMenuTypes.TOOLBOX.get(), id, inv, te); + public static ToolboxMenu create(int id, Inventory inv, ToolboxBlockEntity be) { + return new ToolboxMenu(AllMenuTypes.TOOLBOX.get(), id, inv, be); } @Override - protected ToolboxTileEntity createOnClient(FriendlyByteBuf extraData) { + protected ToolboxBlockEntity createOnClient(FriendlyByteBuf extraData) { BlockPos readBlockPos = extraData.readBlockPos(); CompoundTag readNbt = extraData.readNbt(); ClientLevel world = Minecraft.getInstance().level; - BlockEntity tileEntity = world.getBlockEntity(readBlockPos); - if (tileEntity instanceof ToolboxTileEntity) { - ToolboxTileEntity toolbox = (ToolboxTileEntity) tileEntity; + BlockEntity blockEntity = world.getBlockEntity(readBlockPos); + if (blockEntity instanceof ToolboxBlockEntity) { + ToolboxBlockEntity toolbox = (ToolboxBlockEntity) blockEntity; toolbox.readClient(readNbt); return toolbox; } @@ -69,7 +69,7 @@ public class ToolboxMenu extends MenuBase { } @Override - protected void initAndReadInventory(ToolboxTileEntity contentHolder) { + protected void initAndReadInventory(ToolboxBlockEntity contentHolder) { } @@ -145,7 +145,7 @@ public class ToolboxMenu extends MenuBase { } @Override - protected void saveData(ToolboxTileEntity contentHolder) { + protected void saveData(ToolboxBlockEntity contentHolder) { } diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxRenderer.java index 86912a652..e409c081d 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxRenderer.java @@ -3,9 +3,9 @@ package com.simibubi.create.content.curiosities.toolbox; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.client.renderer.MultiBufferSource; @@ -14,25 +14,25 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; -public class ToolboxRenderer extends SmartTileEntityRenderer { +public class ToolboxRenderer extends SmartBlockEntityRenderer { public ToolboxRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(ToolboxTileEntity tileEntityIn, float partialTicks, PoseStack ms, + protected void renderSafe(ToolboxBlockEntity blockEntity, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - BlockState blockState = tileEntityIn.getBlockState(); + BlockState blockState = blockEntity.getBlockState(); Direction facing = blockState.getValue(ToolboxBlock.FACING) .getOpposite(); SuperByteBuffer lid = - CachedBufferer.partial(AllBlockPartials.TOOLBOX_LIDS.get(tileEntityIn.getColor()), blockState); + CachedBufferer.partial(AllBlockPartials.TOOLBOX_LIDS.get(blockEntity.getColor()), blockState); SuperByteBuffer drawer = CachedBufferer.partial(AllBlockPartials.TOOLBOX_DRAWER, blockState); - float lidAngle = tileEntityIn.lid.getValue(partialTicks); - float drawerOffset = tileEntityIn.drawers.getValue(partialTicks); + float lidAngle = blockEntity.lid.getValue(partialTicks); + float drawerOffset = blockEntity.drawers.getValue(partialTicks); VertexConsumer builder = buffer.getBuffer(RenderType.cutoutMipped()); lid.centre() diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java index 84c37ddf9..3804dc23f 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java @@ -78,9 +78,9 @@ public class ZapperInteractionHandler { newState = newState.setValue(BlockStateProperties.WATERLOGGED, false); CompoundTag data = null; - BlockEntity tile = player.level.getBlockEntity(pos); - if (tile != null) { - data = tile.saveWithFullMetadata(); + BlockEntity blockEntity = player.level.getBlockEntity(pos); + if (blockEntity != null) { + data = blockEntity.saveWithFullMetadata(); data.remove("x"); data.remove("y"); data.remove("z"); diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java index 90fe9ea87..a9d98e15a 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java @@ -230,17 +230,17 @@ public abstract class ZapperItem extends Item implements CustomArmPoseItem { NBTHelper.writeEnum(nbt, "Pattern", pattern); } - public static void setTileData(Level world, BlockPos pos, BlockState state, CompoundTag data, Player player) { + public static void setBlockEntityData(Level world, BlockPos pos, BlockState state, CompoundTag data, Player player) { if (data != null && AllBlockTags.SAFE_NBT.matches(state)) { - BlockEntity tile = world.getBlockEntity(pos); - if (tile != null) { - data = NBTProcessors.process(tile, data, !player.isCreative()); + BlockEntity blockEntity = world.getBlockEntity(pos); + if (blockEntity != null) { + data = NBTProcessors.process(blockEntity, data, !player.isCreative()); if (data == null) return; data.putInt("x", pos.getX()); data.putInt("y", pos.getY()); data.putInt("z", pos.getZ()); - tile.load(data); + blockEntity.load(data); } } } diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperLog.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperLog.java index ac17c5c19..14660f0e3 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperLog.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperLog.java @@ -35,8 +35,8 @@ public class ZapperLog { activeWorld = world; List blocks = positions.stream().map(pos -> { - BlockEntity tileEntity = world.getBlockEntity(pos); - return new StructureBlockInfo(pos, world.getBlockState(pos), tileEntity == null ? null : tileEntity.saveWithFullMetadata()); + BlockEntity blockEntity = world.getBlockEntity(pos); + return new StructureBlockInfo(pos, world.getBlockState(pos), blockEntity == null ? null : blockEntity.saveWithFullMetadata()); }).collect(Collectors.toList()); log.add(0, blocks); diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/terrainzapper/TerrainTools.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/terrainzapper/TerrainTools.java index 79e6fe2be..1e9614ae6 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/terrainzapper/TerrainTools.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/terrainzapper/TerrainTools.java @@ -50,7 +50,7 @@ public enum TerrainTools { if (!isReplaceable(toReplace)) return; world.setBlockAndUpdate(p, paintedState); - ZapperItem.setTileData(world, p, paintedState, data, player); + ZapperItem.setBlockEntityData(world, p, paintedState, data, player); }); break; case Flatten: @@ -70,13 +70,13 @@ public enum TerrainTools { if (!isReplaceable(toReplace)) return; world.setBlockAndUpdate(p, paintedState); - ZapperItem.setTileData(world, p, paintedState, data, player); + ZapperItem.setBlockEntityData(world, p, paintedState, data, player); }); break; case Place: targetPositions.forEach(p -> { world.setBlockAndUpdate(p, paintedState); - ZapperItem.setTileData(world, p, paintedState, data, player); + ZapperItem.setBlockEntityData(world, p, paintedState, data, player); }); break; case Replace: @@ -85,7 +85,7 @@ public enum TerrainTools { if (isReplaceable(toReplace)) return; world.setBlockAndUpdate(p, paintedState); - ZapperItem.setTileData(world, p, paintedState, data, player); + ZapperItem.setBlockEntityData(world, p, paintedState, data, player); }); break; } diff --git a/src/main/java/com/simibubi/create/content/logistics/RedstoneLinkNetworkHandler.java b/src/main/java/com/simibubi/create/content/logistics/RedstoneLinkNetworkHandler.java index 687bc8845..1da9fd4a5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/RedstoneLinkNetworkHandler.java +++ b/src/main/java/com/simibubi/create/content/logistics/RedstoneLinkNetworkHandler.java @@ -9,8 +9,8 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; import com.simibubi.create.Create; +import com.simibubi.create.foundation.blockEntity.behaviour.linked.LinkBehaviour; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkBehaviour; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.WorldHelper; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlock.java index 0d5ea76a4..a1c80302b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlock.java @@ -1,14 +1,14 @@ package com.simibubi.create.content.logistics.block.belts.tunnel; +import com.simibubi.create.AllBlockEntityTypes; 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.BeltSlope; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock; -import com.simibubi.create.foundation.block.ITE; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld; @@ -36,7 +36,7 @@ import net.minecraft.world.level.block.state.properties.Property; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class BeltTunnelBlock extends Block implements ITE, IWrenchable { +public class BeltTunnelBlock extends Block implements IBE, IWrenchable { public static final Property SHAPE = EnumProperty.create("shape", Shape.class); public static final Property HORIZONTAL_AXIS = BlockStateProperties.HORIZONTAL_AXIS; @@ -100,7 +100,7 @@ public class BeltTunnelBlock extends Block implements ITE, @Override public void onPlace(BlockState state, Level world, BlockPos pos, BlockState p_220082_4_, boolean p_220082_5_) { if (!(world instanceof WrappedWorld) && !world.isClientSide()) - withTileEntityDo(world, pos, BeltTunnelTileEntity::updateTunnelConnections); + withBlockEntityDo(world, pos, BeltTunnelBlockEntity::updateTunnelConnections); } @Override @@ -110,7 +110,7 @@ public class BeltTunnelBlock extends Block implements ITE, .isVertical()) return state; if (!(worldIn instanceof WrappedWorld) && !worldIn.isClientSide()) - withTileEntityDo(worldIn, currentPos, BeltTunnelTileEntity::updateTunnelConnections); + withBlockEntityDo(worldIn, currentPos, BeltTunnelBlockEntity::updateTunnelConnections); BlockState tunnelState = getTunnelState(worldIn, currentPos); if (tunnelState.getValue(HORIZONTAL_AXIS) == state.getValue(HORIZONTAL_AXIS)) { if (hasWindow(tunnelState) == hasWindow(state)) @@ -125,9 +125,9 @@ public class BeltTunnelBlock extends Block implements ITE, BlockState newTunnel = getTunnelState(world, pos); if (tunnel != newTunnel && !world.isClientSide()) { world.setBlock(pos, newTunnel, 3); - BlockEntity te = world.getBlockEntity(pos); - if (te != null && (te instanceof BeltTunnelTileEntity)) - ((BeltTunnelTileEntity) te).updateTunnelConnections(); + BlockEntity be = world.getBlockEntity(pos); + if (be != null && (be instanceof BeltTunnelBlockEntity)) + ((BeltTunnelBlockEntity) be).updateTunnelConnections(); } } @@ -185,7 +185,7 @@ public class BeltTunnelBlock extends Block implements ITE, return blockState.getValue(BeltBlock.HORIZONTAL_FACING) .getAxis() == side.getAxis(); DirectBeltInputBehaviour behaviour = - TileEntityBehaviour.get(world, pos.relative(side), DirectBeltInputBehaviour.TYPE); + BlockEntityBehaviour.get(world, pos.relative(side), DirectBeltInputBehaviour.TYPE); return behaviour != null && behaviour.canInsertFromSide(side); } @@ -232,13 +232,13 @@ public class BeltTunnelBlock extends Block implements ITE, } @Override - public Class getTileEntityClass() { - return BeltTunnelTileEntity.class; + public Class getBlockEntityClass() { + return BeltTunnelBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ANDESITE_TUNNEL.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ANDESITE_TUNNEL.get(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlockEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlockEntity.java index f6b2e5b90..c48b289e8 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlockEntity.java @@ -14,9 +14,9 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock.Shape; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock; import com.simibubi.create.content.logistics.packet.TunnelFlapPacket; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; @@ -40,7 +40,7 @@ import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; -public class BeltTunnelTileEntity extends SmartTileEntity { +public class BeltTunnelBlockEntity extends SmartBlockEntity { public Map flaps; public Set sides; @@ -48,7 +48,7 @@ public class BeltTunnelTileEntity extends SmartTileEntity { protected LazyOptional cap = LazyOptional.empty(); protected List> flapsToSend; - public BeltTunnelTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public BeltTunnelBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); flaps = new EnumMap<>(Direction.class); sides = new HashSet<>(); @@ -187,7 +187,7 @@ public class BeltTunnelTileEntity extends SmartTileEntity { } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override public LazyOptional getCapability(Capability capability, Direction side) { diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelInstance.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelInstance.java index 67d5d7c00..26655a586 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelInstance.java @@ -19,23 +19,23 @@ import com.simibubi.create.foundation.utility.animation.LerpedFloat; import net.minecraft.core.Direction; import net.minecraft.world.level.LightLayer; -public class BeltTunnelInstance extends BlockEntityInstance implements DynamicInstance { +public class BeltTunnelInstance extends BlockEntityInstance implements DynamicInstance { private final Map> tunnelFlaps; - public BeltTunnelInstance(MaterialManager modelManager, BeltTunnelTileEntity tile) { - super(modelManager, tile); + public BeltTunnelInstance(MaterialManager materialManager, BeltTunnelBlockEntity blockEntity) { + super(materialManager, blockEntity); tunnelFlaps = new EnumMap<>(Direction.class); - Instancer model = modelManager.defaultSolid() + Instancer model = materialManager.defaultSolid() .material(AllMaterialSpecs.FLAPS) .getModel(AllBlockPartials.BELT_TUNNEL_FLAP, blockState); int blockLight = world.getBrightness(LightLayer.BLOCK, pos); int skyLight = world.getBrightness(LightLayer.SKY, pos); - tile.flaps.forEach((direction, flapValue) -> { + blockEntity.flaps.forEach((direction, flapValue) -> { float flapness = flapValue.getValue(AnimationTickHolder.getPartialTicks()); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelItem.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelItem.java index 106c2a608..04cf1b358 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelItem.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelItem.java @@ -1,9 +1,9 @@ package com.simibubi.create.content.logistics.block.belts.tunnel; import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity.CasingType; 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.CasingType; import net.minecraft.core.BlockPos; import net.minecraft.world.entity.player.Player; @@ -37,7 +37,7 @@ public class BeltTunnelItem extends BlockItem { BlockState state) { boolean flag = super.updateCustomBlockEntityTag(pos, world, p_195943_3_, p_195943_4_, state); if (!world.isClientSide) { - BeltTileEntity belt = BeltHelper.getSegmentTE(world, pos.below()); + BeltBlockEntity belt = BeltHelper.getSegmentBE(world, pos.below()); if (belt != null && belt.casing == CasingType.NONE) belt.setCasingType(AllBlocks.ANDESITE_TUNNEL.has(state) ? CasingType.ANDESITE : CasingType.BRASS); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelRenderer.java index fbf919596..c0fefc610 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelRenderer.java @@ -5,9 +5,9 @@ import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.VecHelper; @@ -20,31 +20,31 @@ import net.minecraft.core.Direction.Axis; import net.minecraft.util.Mth; import net.minecraft.world.phys.Vec3; -public class BeltTunnelRenderer extends SmartTileEntityRenderer { +public class BeltTunnelRenderer extends SmartBlockEntityRenderer { public BeltTunnelRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(BeltTunnelTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(BeltTunnelBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); - if (Backend.canUseInstancing(te.getLevel())) + if (Backend.canUseInstancing(be.getLevel())) return; - SuperByteBuffer flapBuffer = CachedBufferer.partial(AllBlockPartials.BELT_TUNNEL_FLAP, te.getBlockState()); + SuperByteBuffer flapBuffer = CachedBufferer.partial(AllBlockPartials.BELT_TUNNEL_FLAP, be.getBlockState()); VertexConsumer vb = buffer.getBuffer(RenderType.solid()); Vec3 pivot = VecHelper.voxelSpace(0, 10, 1f); TransformStack msr = TransformStack.cast(ms); for (Direction direction : Iterate.directions) { - if (!te.flaps.containsKey(direction)) + if (!be.flaps.containsKey(direction)) continue; float horizontalAngle = AngleHelper.horizontalAngle(direction.getOpposite()); - float f = te.flaps.get(direction) + float f = be.flaps.get(direction) .getValue(partialTicks); ms.pushPose(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelBlock.java index 7c9629055..692f67ffc 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelBlock.java @@ -2,8 +2,8 @@ package com.simibubi.create.content.logistics.block.belts.tunnel; import java.util.List; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -29,10 +29,10 @@ public class BrassTunnelBlock extends BeltTunnelBlock { @Override public InteractionResult use(BlockState p_225533_1_, Level world, BlockPos pos, Player player, InteractionHand p_225533_5_, BlockHitResult p_225533_6_) { - return onTileEntityUse(world, pos, te -> { - if (!(te instanceof BrassTunnelTileEntity)) + return onBlockEntityUse(world, pos, be -> { + if (!(be instanceof BrassTunnelBlockEntity)) return InteractionResult.PASS; - BrassTunnelTileEntity bte = (BrassTunnelTileEntity) te; + BrassTunnelBlockEntity bte = (BrassTunnelBlockEntity) be; List stacksOfGroup = bte.grabAllStacksOfGroup(world.isClientSide); if (stacksOfGroup.isEmpty()) return InteractionResult.PASS; @@ -47,8 +47,8 @@ public class BrassTunnelBlock extends BeltTunnelBlock { } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.BRASS_TUNNEL.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.BRASS_TUNNEL.get(); } @Override @@ -59,7 +59,7 @@ public class BrassTunnelBlock extends BeltTunnelBlock { @Override public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { - ITE.onRemove(state, level, pos, newState); + IBE.onRemove(state, level, pos, newState); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelBlockEntity.java similarity index 83% rename from src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelBlockEntity.java index c45ceff6b..279ec0be1 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelBlockEntity.java @@ -15,19 +15,19 @@ import org.apache.commons.lang3.tuple.Pair; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock.Shape; import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.CenteredSideValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.SidedFilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.INamedIconOptions; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.gui.AllIcons; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.SidedFilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIconOptions; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Couple; @@ -57,7 +57,7 @@ import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemHandlerHelper; -public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHaveGoggleInformation { +public class BrassTunnelBlockEntity extends BeltTunnelBlockEntity implements IHaveGoggleInformation { SidedFilteringBehaviour filtering; @@ -76,13 +76,13 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave Couple>> distributionTargets; private boolean syncedOutputActive; - private Set syncSet; + private Set syncSet; protected ScrollOptionBehaviour selectionMode; private LazyOptional beltCapability; private LazyOptional tunnelCapability; - public BrassTunnelTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public BrassTunnelBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); distributionTargets = Couple.create(ArrayList::new); syncSet = new HashSet<>(); @@ -95,7 +95,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); behaviours.add(selectionMode = new ScrollOptionBehaviour<>(SelectionMode.class, Lang.translateDirect("logistics.when_multiple_outputs_available"), this, @@ -107,7 +107,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave for (boolean side : Iterate.trueAndFalse) { if (!isConnected(side)) continue; - BrassTunnelTileEntity adjacent = getAdjacent(side); + BrassTunnelBlockEntity adjacent = getAdjacent(side); if (adjacent != null) adjacent.selectionMode.setValue(setting); } @@ -117,7 +117,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave @Override public void tick() { super.tick(); - BeltTileEntity beltBelow = BeltHelper.getSegmentTE(level, worldPosition.below()); + BeltBlockEntity beltBelow = BeltHelper.getSegmentBE(level, worldPosition.below()); if (distributionProgress > 0) distributionProgress--; @@ -134,18 +134,18 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave distributionDistanceRight = 0; syncSet.clear(); - List> validOutputs = gatherValidOutputs(); + List> validOutputs = gatherValidOutputs(); if (selectionMode.get() == SelectionMode.SYNCHRONIZE) { boolean allEmpty = true; boolean allFull = true; - for (BrassTunnelTileEntity te : syncSet) { - boolean hasStack = !te.stackToDistribute.isEmpty(); + for (BrassTunnelBlockEntity be : syncSet) { + boolean hasStack = !be.stackToDistribute.isEmpty(); allEmpty &= !hasStack; allFull &= hasStack; } final boolean notifySyncedOut = !allEmpty; if (allFull || allEmpty) - syncSet.forEach(te -> te.syncedOutputActive = notifySyncedOut); + syncSet.forEach(be -> be.syncedOutputActive = notifySyncedOut); } if (validOutputs == null) @@ -153,8 +153,8 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave if (stackToDistribute.isEmpty()) return; - for (Pair pair : validOutputs) { - BrassTunnelTileEntity tunnel = pair.getKey(); + for (Pair pair : validOutputs) { + BrassTunnelBlockEntity tunnel = pair.getKey(); Direction output = pair.getValue(); if (insertIntoTunnel(tunnel, output, stackToDistribute, true) == null) continue; @@ -186,16 +186,16 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave distributionTargets.forEach(list -> { if (stackToDistribute.isEmpty()) return; - List> validTargets = new ArrayList<>(); + List> validTargets = new ArrayList<>(); for (Pair pair : list) { BlockPos tunnelPos = pair.getKey(); Direction output = pair.getValue(); if (tunnelPos.equals(worldPosition) && output == stackEnteredFrom) continue; - BlockEntity te = level.getBlockEntity(tunnelPos); - if (!(te instanceof BrassTunnelTileEntity)) + BlockEntity be = level.getBlockEntity(tunnelPos); + if (!(be instanceof BrassTunnelBlockEntity)) continue; - validTargets.add(Pair.of((BrassTunnelTileEntity) te, output)); + validTargets.add(Pair.of((BrassTunnelBlockEntity) be, output)); } distribute(validTargets); distributionProgress = -1; @@ -203,10 +203,10 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave } private static Random rand = new Random(); - private static Map, ItemStack> distributed = new IdentityHashMap<>(); - private static Set> full = new HashSet<>(); + private static Map, ItemStack> distributed = new IdentityHashMap<>(); + private static Set> full = new HashSet<>(); - private void distribute(List> validTargets) { + private void distribute(List> validTargets) { int amountTargets = validTargets.size(); if (amountTargets == 0) return; @@ -247,8 +247,8 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave continue; while (visited < amountTargets) { - Pair pair = validTargets.get(index); - BrassTunnelTileEntity tunnel = pair.getKey(); + Pair pair = validTargets.get(index); + BrassTunnelBlockEntity tunnel = pair.getKey(); Direction side = pair.getValue(); index = (index + 1) % amountTargets; visited++; @@ -308,8 +308,8 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave } int failedTransferrals = 0; - for (Entry, ItemStack> entry : distributed.entrySet()) { - Pair pair = entry.getKey(); + for (Entry, ItemStack> entry : distributed.entrySet()) { + Pair pair = entry.getKey(); failedTransferrals += insertIntoTunnel(pair.getKey(), pair.getValue(), entry.getValue(), false).getCount(); } @@ -345,7 +345,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave } for (boolean left : Iterate.trueAndFalse) { - BrassTunnelTileEntity adjacent = this; + BrassTunnelBlockEntity adjacent = this; while (adjacent != null) { if (!level.isLoaded(adjacent.getBlockPos())) return null; @@ -365,20 +365,20 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave } @Nullable - protected ItemStack insertIntoTunnel(BrassTunnelTileEntity tunnel, Direction side, ItemStack stack, + protected ItemStack insertIntoTunnel(BrassTunnelBlockEntity tunnel, Direction side, ItemStack stack, boolean simulate) { if (stack.isEmpty()) return stack; if (!tunnel.testFlapFilter(side, stack)) return null; - BeltTileEntity below = BeltHelper.getSegmentTE(level, tunnel.worldPosition.below()); + BeltBlockEntity below = BeltHelper.getSegmentBE(level, tunnel.worldPosition.below()); if (below == null) return null; BlockPos offset = tunnel.getBlockPos() .below() .relative(side); - DirectBeltInputBehaviour sideOutput = TileEntityBehaviour.get(level, offset, DirectBeltInputBehaviour.TYPE); + DirectBeltInputBehaviour sideOutput = BlockEntityBehaviour.get(level, offset, DirectBeltInputBehaviour.TYPE); if (sideOutput != null) { if (!sideOutput.canInsertFromSide(side)) return null; @@ -391,8 +391,8 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave Direction movementFacing = below.getMovementFacing(); if (side == movementFacing) if (!BlockHelper.hasBlockSolidSide(level.getBlockState(offset), level, offset, side.getOpposite())) { - BeltTileEntity controllerTE = below.getControllerTE(); - if (controllerTE == null) + BeltBlockEntity controllerBE = below.getControllerBE(); + if (controllerBE == null) return null; if (!simulate) { @@ -401,7 +401,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave float beltMovementSpeed = below.getDirectionAwareBeltMovementSpeed(); float movementSpeed = Math.max(Math.abs(beltMovementSpeed), 1 / 8f); int additionalOffset = beltMovementSpeed > 0 ? 1 : 0; - Vec3 outPos = BeltHelper.getVectorForOffset(controllerTE, below.index + additionalOffset); + Vec3 outPos = BeltHelper.getVectorForOffset(controllerBE, below.index + additionalOffset); Vec3 outMotion = Vec3.atLowerCornerOf(side.getNormal()) .scale(movementSpeed) .add(0, 1 / 8f, 0); @@ -424,7 +424,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave return false; if (filtering.get(side) == null) { FilteringBehaviour adjacentFilter = - TileEntityBehaviour.get(level, worldPosition.relative(side), FilteringBehaviour.TYPE); + BlockEntityBehaviour.get(level, worldPosition.relative(side), FilteringBehaviour.TYPE); if (adjacentFilter == null) return true; return adjacentFilter.test(stack); @@ -437,7 +437,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave return false; if (filtering.get(side) == null) { FilteringBehaviour adjacentFilter = - TileEntityBehaviour.get(level, worldPosition.relative(side), FilteringBehaviour.TYPE); + BlockEntityBehaviour.get(level, worldPosition.relative(side), FilteringBehaviour.TYPE); if (adjacentFilter == null) return true; return adjacentFilter.getFilter() @@ -481,13 +481,13 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave return false; } - private List> gatherValidOutputs() { - List> validOutputs = new ArrayList<>(); + private List> gatherValidOutputs() { + List> validOutputs = new ArrayList<>(); boolean synchronize = selectionMode.get() == SelectionMode.SYNCHRONIZE; addValidOutputsOf(this, validOutputs); for (boolean left : Iterate.trueAndFalse) { - BrassTunnelTileEntity adjacent = this; + BrassTunnelBlockEntity adjacent = this; while (adjacent != null) { if (!level.isLoaded(adjacent.getBlockPos())) return null; @@ -503,10 +503,10 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave return validOutputs; } - private void addValidOutputsOf(BrassTunnelTileEntity tunnelTE, - List> validOutputs) { - syncSet.add(tunnelTE); - BeltTileEntity below = BeltHelper.getSegmentTE(level, tunnelTE.worldPosition.below()); + private void addValidOutputsOf(BrassTunnelBlockEntity tunnelBE, + List> validOutputs) { + syncSet.add(tunnelBE); + BeltBlockEntity below = BeltHelper.getSegmentBE(level, tunnelBE.worldPosition.below()); if (below == null) return; Direction movementFacing = below.getMovementFacing(); @@ -514,7 +514,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave if (!AllBlocks.BRASS_TUNNEL.has(blockState)) return; - boolean prioritizeSides = tunnelTE == this; + boolean prioritizeSides = tunnelBE == this; for (boolean sidePass : Iterate.trueAndFalse) { if (!prioritizeSides && sidePass) @@ -526,10 +526,10 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave continue; if (direction == movementFacing.getOpposite()) continue; - if (!tunnelTE.sides.contains(direction)) + if (!tunnelBE.sides.contains(direction)) continue; - BlockPos offset = tunnelTE.worldPosition.below() + BlockPos offset = tunnelBE.worldPosition.below() .relative(direction); BlockState potentialFunnel = level.getBlockState(offset.above()); @@ -539,23 +539,23 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave continue; DirectBeltInputBehaviour inputBehaviour = - TileEntityBehaviour.get(level, offset, DirectBeltInputBehaviour.TYPE); + BlockEntityBehaviour.get(level, offset, DirectBeltInputBehaviour.TYPE); if (inputBehaviour == null) { if (direction == movementFacing) if (!BlockHelper.hasBlockSolidSide(level.getBlockState(offset), level, offset, direction.getOpposite())) - validOutputs.add(Pair.of(tunnelTE, direction)); + validOutputs.add(Pair.of(tunnelBE, direction)); continue; } if (inputBehaviour.canInsertFromSide(direction)) - validOutputs.add(Pair.of(tunnelTE, direction)); + validOutputs.add(Pair.of(tunnelBE, direction)); continue; } } } @Override - public void addBehavioursDeferred(List behaviours) { + public void addBehavioursDeferred(List behaviours) { super.addBehavioursDeferred(behaviours); filtering = createSidedFilter(); behaviours.add(filtering); @@ -657,7 +657,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave if (connectedLeft != nowConnectedLeft) { connectedLeft = nowConnectedLeft; connectivityChanged = true; - BrassTunnelTileEntity adjacent = getAdjacent(true); + BrassTunnelBlockEntity adjacent = getAdjacent(true); if (adjacent != null && !level.isClientSide) { adjacent.updateTunnelConnections(); adjacent.selectionMode.setValue(selectionMode.getValue()); @@ -667,7 +667,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave if (connectedRight != nowConnectedRight) { connectedRight = nowConnectedRight; connectivityChanged = true; - BrassTunnelTileEntity adjacent = getAdjacent(false); + BrassTunnelBlockEntity adjacent = getAdjacent(false); if (adjacent != null && !level.isClientSide) { adjacent.updateTunnelConnections(); adjacent.selectionMode.setValue(selectionMode.getValue()); @@ -683,12 +683,12 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave protected boolean determineIfConnected(boolean leftSide) { if (flaps.isEmpty()) return false; - BrassTunnelTileEntity adjacentTunnelTE = getAdjacent(leftSide); - return adjacentTunnelTE != null && !adjacentTunnelTE.flaps.isEmpty(); + BrassTunnelBlockEntity adjacentTunnelBE = getAdjacent(leftSide); + return adjacentTunnelBE != null && !adjacentTunnelBE.flaps.isEmpty(); } @Nullable - protected BrassTunnelTileEntity getAdjacent(boolean leftSide) { + protected BrassTunnelBlockEntity getAdjacent(boolean leftSide) { if (!hasLevel()) return null; @@ -706,12 +706,12 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave return null; if (adjacentBlockState.getValue(BrassTunnelBlock.HORIZONTAL_AXIS) != axis) return null; - BlockEntity adjacentTE = level.getBlockEntity(adjacentPos); - if (adjacentTE.isRemoved()) + BlockEntity adjacentBE = level.getBlockEntity(adjacentPos); + if (adjacentBE.isRemoved()) return null; - if (!(adjacentTE instanceof BrassTunnelTileEntity)) + if (!(adjacentBE instanceof BrassTunnelBlockEntity)) return null; - return (BrassTunnelTileEntity) adjacentTE; + return (BrassTunnelBlockEntity) adjacentBE; } @Override @@ -736,9 +736,9 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity implements IHave public LazyOptional getBeltCapability() { if (!beltCapability.isPresent()) { - BlockEntity tileEntity = level.getBlockEntity(worldPosition.below()); - if (tileEntity != null) - beltCapability = tileEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY); + BlockEntity blockEntity = level.getBlockEntity(worldPosition.below()); + if (blockEntity != null) + beltCapability = blockEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY); } return beltCapability; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelCTBehaviour.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelCTBehaviour.java index a903c7497..fa091afa1 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelCTBehaviour.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelCTBehaviour.java @@ -28,12 +28,12 @@ public class BrassTunnelCTBehaviour extends ConnectedTextureBehaviour.Base { if (yDiff != 0) return false; - BlockEntity te = reader.getBlockEntity(pos); - if (!(te instanceof BrassTunnelTileEntity)) + BlockEntity be = reader.getBlockEntity(pos); + if (!(be instanceof BrassTunnelBlockEntity)) return false; - BrassTunnelTileEntity tunnelTE = (BrassTunnelTileEntity) te; + BrassTunnelBlockEntity tunnelBE = (BrassTunnelBlockEntity) be; boolean leftSide = zDiff > 0; - return tunnelTE.isConnected(leftSide); + return tunnelBE.isConnected(leftSide); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelFilterSlot.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelFilterSlot.java index 66c9aa1d9..64bf18ed2 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelFilterSlot.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelFilterSlot.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.logistics.block.belts.tunnel; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.world.phys.Vec3; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelItemHandler.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelItemHandler.java index c9d7b1017..0bef12760 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelItemHandler.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelItemHandler.java @@ -6,10 +6,10 @@ import net.minecraftforge.items.IItemHandler; public class BrassTunnelItemHandler implements IItemHandler { - private BrassTunnelTileEntity te; + private BrassTunnelBlockEntity blockEntity; - public BrassTunnelItemHandler(BrassTunnelTileEntity te) { - this.te = te; + public BrassTunnelItemHandler(BrassTunnelBlockEntity be) { + this.blockEntity = be; } @Override @@ -19,28 +19,28 @@ public class BrassTunnelItemHandler implements IItemHandler { @Override public ItemStack getStackInSlot(int slot) { - return te.stackToDistribute; + return blockEntity.stackToDistribute; } @Override public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { - if (!te.hasDistributionBehaviour()) { - LazyOptional beltCapability = te.getBeltCapability(); + if (!blockEntity.hasDistributionBehaviour()) { + LazyOptional beltCapability = blockEntity.getBeltCapability(); if (!beltCapability.isPresent()) return stack; return beltCapability.orElse(null).insertItem(slot, stack, simulate); } - if (!te.canTakeItems()) + if (!blockEntity.canTakeItems()) return stack; if (!simulate) - te.setStackToDistribute(stack, null); + blockEntity.setStackToDistribute(stack, null); return ItemStack.EMPTY; } @Override public ItemStack extractItem(int slot, int amount, boolean simulate) { - LazyOptional beltCapability = te.getBeltCapability(); + LazyOptional beltCapability = blockEntity.getBeltCapability(); if (!beltCapability.isPresent()) return ItemStack.EMPTY; return beltCapability.orElse(null).extractItem(slot, amount, simulate); @@ -48,7 +48,7 @@ public class BrassTunnelItemHandler implements IItemHandler { @Override public int getSlotLimit(int slot) { - return te.stackToDistribute.isEmpty() ? 64 : te.stackToDistribute.getMaxStackSize(); + return blockEntity.stackToDistribute.isEmpty() ? 64 : blockEntity.stackToDistribute.getMaxStackSize(); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/AbstractChuteBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/AbstractChuteBlock.java index b53d3581d..ec4e3c138 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/AbstractChuteBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/AbstractChuteBlock.java @@ -6,10 +6,10 @@ import javax.annotation.Nullable; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.render.ReducedDestroyEffects; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -34,7 +34,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.IBlockRenderProperties; import net.minecraftforge.common.util.LazyOptional; -public abstract class AbstractChuteBlock extends Block implements IWrenchable, ITE { +public abstract class AbstractChuteBlock extends Block implements IWrenchable, IBE { public AbstractChuteBlock(Properties p_i48440_1_) { super(p_i48440_1_); @@ -89,7 +89,7 @@ public abstract class AbstractChuteBlock extends Block implements IWrenchable, I return; if (!entityIn.isAlive()) return; - DirectBeltInputBehaviour input = TileEntityBehaviour.get(entityIn.level, new BlockPos(entityIn.position() + DirectBeltInputBehaviour input = BlockEntityBehaviour.get(entityIn.level, new BlockPos(entityIn.position() .add(0, 0.5f, 0)).below(), DirectBeltInputBehaviour.TYPE); if (input == null) return; @@ -108,7 +108,7 @@ public abstract class AbstractChuteBlock extends Block implements IWrenchable, I @Override public void onPlace(BlockState state, Level world, BlockPos pos, BlockState p_220082_4_, boolean p_220082_5_) { - withTileEntityDo(world, pos, ChuteTileEntity::onAdded); + withBlockEntityDo(world, pos, ChuteBlockEntity::onAdded); if (p_220082_5_) return; updateDiagonalNeighbour(state, world, pos); @@ -132,7 +132,7 @@ public abstract class AbstractChuteBlock extends Block implements IWrenchable, I @Override public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) { - ITE.onRemove(state, world, pos, newState); + IBE.onRemove(state, world, pos, newState); if (isMoving || state.is(newState.getBlock())) return; @@ -165,10 +165,10 @@ public abstract class AbstractChuteBlock extends Block implements IWrenchable, I BlockPos neighbourPos, boolean p_220069_6_) { if (pos.below() .equals(neighbourPos)) - withTileEntityDo(world, pos, ChuteTileEntity::blockBelowChanged); + withBlockEntityDo(world, pos, ChuteBlockEntity::blockBelowChanged); else if (pos.above() .equals(neighbourPos)) - withTileEntityDo(world, pos, chute -> chute.capAbove = LazyOptional.empty()); + withBlockEntityDo(world, pos, chute -> chute.capAbove = LazyOptional.empty()); } public abstract BlockState updateChuteState(BlockState state, BlockState above, BlockGetter world, BlockPos pos); @@ -186,8 +186,8 @@ public abstract class AbstractChuteBlock extends Block implements IWrenchable, I } @Override - public Class getTileEntityClass() { - return ChuteTileEntity.class; + public Class getBlockEntityClass() { + return ChuteBlockEntity.class; } @Override @@ -199,11 +199,11 @@ public abstract class AbstractChuteBlock extends Block implements IWrenchable, I if (world.isClientSide) return InteractionResult.SUCCESS; - return onTileEntityUse(world, pos, te -> { - if (te.item.isEmpty()) + return onBlockEntityUse(world, pos, be -> { + if (be.item.isEmpty()) return InteractionResult.PASS; - player.getInventory().placeItemBackInInventory(te.item); - te.setItem(ItemStack.EMPTY); + player.getInventory().placeItemBackInInventory(be.item); + be.setItem(ItemStack.EMPTY); return InteractionResult.SUCCESS; }); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlock.java index df7f411d3..b74b124f9 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlock.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.logistics.block.chute; import java.util.HashMap; import java.util.Map; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; @@ -148,8 +148,8 @@ public class ChuteBlock extends AbstractChuteBlock { } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CHUTE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CHUTE.get(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlockEntity.java similarity index 89% rename from src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlockEntity.java index 5a854dc9c..f448da1f9 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlockEntity.java @@ -11,19 +11,19 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.components.fan.AirCurrent; import com.simibubi.create.content.contraptions.components.fan.EncasedFanBlock; -import com.simibubi.create.content.contraptions.components.fan.EncasedFanTileEntity; +import com.simibubi.create.content.contraptions.components.fan.EncasedFanBlockEntity; import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; import com.simibubi.create.content.contraptions.particle.AirParticleData; import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.ItemHelper.ExtractionCountMode; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Iterate; @@ -61,7 +61,7 @@ import net.minecraftforge.items.ItemHandlerHelper; * Commented Code: Chutes create air streams and act similarly to encased fans * (Unfinished) */ -public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInformation { // , IAirCurrentSource { +public class ChuteBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { // , IAirCurrentSource { // public AirCurrent airCurrent; @@ -84,7 +84,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor LazyOptional capAbove; LazyOptional capBelow; - public ChuteTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public ChuteBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); item = ItemStack.EMPTY; itemPosition = LerpedFloat.linear(); @@ -99,7 +99,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(new DirectBeltInputBehaviour(this).onlyInsertWhen((d) -> canDirectlyInsertCached())); registerAwardables(behaviours, AllAdvancements.CHUTE); } @@ -203,7 +203,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor for (int i = 1; i <= flowLimit + 1; i++) { TransportedItemStackHandlerBehaviour behaviour = - TileEntityBehaviour.get(level, worldPosition.below(i), TransportedItemStackHandlerBehaviour.TYPE); + BlockEntityBehaviour.get(level, worldPosition.below(i), TransportedItemStackHandlerBehaviour.TYPE); if (behaviour == null) continue; beltBelow = behaviour; @@ -349,7 +349,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor private boolean handleDownwardOutput(boolean simulate) { BlockState blockState = getBlockState(); - ChuteTileEntity targetChute = getTargetChute(blockState); + ChuteBlockEntity targetChute = getTargetChute(blockState); Direction direction = AbstractChuteBlock.getChuteFacing(blockState); if (level == null || direction == null || !this.canOutputItems()) @@ -421,9 +421,9 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor } } - ChuteTileEntity bestOutput = null; - List inputChutes = getInputChutes(); - for (ChuteTileEntity targetChute : inputChutes) { + ChuteBlockEntity bestOutput = null; + List inputChutes = getInputChutes(); + for (ChuteBlockEntity targetChute : inputChutes) { if (!targetChute.canAcceptItem(item)) continue; float itemMotion = targetChute.getItemMotion(); @@ -485,14 +485,14 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor BlockPos pos = this.worldPosition.relative(side); if (level == null) return LazyOptional.empty(); - BlockEntity te = level.getBlockEntity(pos); - if (te == null) + BlockEntity be = level.getBlockEntity(pos); + if (be == null) return LazyOptional.empty(); - if (te instanceof ChuteTileEntity) { - if (side != Direction.DOWN || !(te instanceof SmartChuteTileEntity) || getItemMotion() > 0) + if (be instanceof ChuteBlockEntity) { + if (side != Direction.DOWN || !(be instanceof SmartChuteBlockEntity) || getItemMotion() > 0) return LazyOptional.empty(); } - return te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side.getOpposite()); + return be.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side.getOpposite()); } public void setItem(ItemStack stack) { @@ -560,8 +560,8 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor @Override public void destroy() { super.destroy(); - ChuteTileEntity targetChute = getTargetChute(getBlockState()); - List inputChutes = getInputChutes(); + ChuteBlockEntity targetChute = getTargetChute(getBlockState()); + List inputChutes = getInputChutes(); if (!item.isEmpty() && level != null) Containers.dropItemStack(level, worldPosition.getX(), worldPosition.getY(), worldPosition.getZ(), item); setRemoved(); @@ -575,7 +575,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor public void onAdded() { refreshBlockState(); updatePull(); - ChuteTileEntity targetChute = getTargetChute(getBlockState()); + ChuteBlockEntity targetChute = getTargetChute(getBlockState()); if (targetChute != null) targetChute.propagatePush(); else @@ -589,7 +589,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor pull = totalPull; updateAirFlow = true; sendData(); - ChuteTileEntity targetChute = getTargetChute(getBlockState()); + ChuteBlockEntity targetChute = getTargetChute(getBlockState()); if (targetChute != null) targetChute.updatePull(); } @@ -605,7 +605,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor } public void propagatePush() { - List inputs = getInputChutes(); + List inputs = getInputChutes(); inputs.forEach(c -> c.updatePush(inputs.size())); } @@ -613,16 +613,16 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor BlockState blockStateAbove = level.getBlockState(worldPosition.above()); if (AllBlocks.ENCASED_FAN.has(blockStateAbove) && blockStateAbove.getValue(EncasedFanBlock.FACING) == Direction.DOWN) { - BlockEntity te = level.getBlockEntity(worldPosition.above()); - if (te instanceof EncasedFanTileEntity && !te.isRemoved()) { - EncasedFanTileEntity fan = (EncasedFanTileEntity) te; + BlockEntity be = level.getBlockEntity(worldPosition.above()); + if (be instanceof EncasedFanBlockEntity && !be.isRemoved()) { + EncasedFanBlockEntity fan = (EncasedFanBlockEntity) be; return fan.getSpeed(); } } float totalPull = 0; for (Direction d : Iterate.directions) { - ChuteTileEntity inputChute = getInputChute(d); + ChuteBlockEntity inputChute = getInputChute(d); if (inputChute == null) continue; totalPull += inputChute.pull; @@ -636,21 +636,21 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor BlockState blockStateBelow = level.getBlockState(worldPosition.below()); if (AllBlocks.ENCASED_FAN.has(blockStateBelow) && blockStateBelow.getValue(EncasedFanBlock.FACING) == Direction.UP) { - BlockEntity te = level.getBlockEntity(worldPosition.below()); - if (te instanceof EncasedFanTileEntity && !te.isRemoved()) { - EncasedFanTileEntity fan = (EncasedFanTileEntity) te; + BlockEntity be = level.getBlockEntity(worldPosition.below()); + if (be instanceof EncasedFanBlockEntity && !be.isRemoved()) { + EncasedFanBlockEntity fan = (EncasedFanBlockEntity) be; return fan.getSpeed(); } } - ChuteTileEntity targetChute = getTargetChute(getBlockState()); + ChuteBlockEntity targetChute = getTargetChute(getBlockState()); if (targetChute == null) return 0; return targetChute.push / branchCount; } @Nullable - private ChuteTileEntity getTargetChute(BlockState state) { + private ChuteBlockEntity getTargetChute(BlockState state) { if (level == null) return null; Direction targetDirection = AbstractChuteBlock.getChuteFacing(state); @@ -663,16 +663,16 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor BlockState chuteState = level.getBlockState(chutePos); if (!AbstractChuteBlock.isChute(chuteState)) return null; - BlockEntity te = level.getBlockEntity(chutePos); - if (te instanceof ChuteTileEntity) - return (ChuteTileEntity) te; + BlockEntity be = level.getBlockEntity(chutePos); + if (be instanceof ChuteBlockEntity) + return (ChuteBlockEntity) be; return null; } - private List getInputChutes() { - List inputs = new LinkedList<>(); + private List getInputChutes() { + List inputs = new LinkedList<>(); for (Direction d : Iterate.directions) { - ChuteTileEntity inputChute = getInputChute(d); + ChuteBlockEntity inputChute = getInputChute(d); if (inputChute == null) continue; inputs.add(inputChute); @@ -681,7 +681,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor } @Nullable - private ChuteTileEntity getInputChute(Direction direction) { + private ChuteBlockEntity getInputChute(Direction direction) { if (level == null || direction == Direction.DOWN) return null; direction = direction.getOpposite(); @@ -693,9 +693,9 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor Direction chuteFacing = AbstractChuteBlock.getChuteFacing(chuteState); if (chuteFacing != direction) return null; - BlockEntity te = level.getBlockEntity(chutePos); - if (te instanceof ChuteTileEntity && !te.isRemoved()) - return (ChuteTileEntity) te; + BlockEntity be = level.getBlockEntity(chutePos); + if (be instanceof ChuteBlockEntity && !be.isRemoved()) + return (ChuteBlockEntity) be; return null; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteItemHandler.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteItemHandler.java index b1bb46ff9..ca0513d71 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteItemHandler.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteItemHandler.java @@ -5,10 +5,10 @@ import net.minecraftforge.items.IItemHandler; public class ChuteItemHandler implements IItemHandler { - private ChuteTileEntity te; + private ChuteBlockEntity blockEntity; - public ChuteItemHandler(ChuteTileEntity te) { - this.te = te; + public ChuteItemHandler(ChuteBlockEntity be) { + this.blockEntity = be; } @Override @@ -18,24 +18,24 @@ public class ChuteItemHandler implements IItemHandler { @Override public ItemStack getStackInSlot(int slot) { - return te.item; + return blockEntity.item; } @Override public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { - if (!te.canAcceptItem(stack)) + if (!blockEntity.canAcceptItem(stack)) return stack; if (!simulate) - te.setItem(stack); + blockEntity.setItem(stack); return ItemStack.EMPTY; } @Override public ItemStack extractItem(int slot, int amount, boolean simulate) { - ItemStack remainder = te.item.copy(); + ItemStack remainder = blockEntity.item.copy(); ItemStack split = remainder.split(amount); if (!simulate) - te.setItem(remainder); + blockEntity.setItem(remainder); return split; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteRenderer.java index 169d45a91..0e014e7ba 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteRenderer.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.logistics.block.chute; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.content.logistics.block.chute.ChuteBlock.Shape; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; @@ -13,26 +13,26 @@ import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; -public class ChuteRenderer extends SafeTileEntityRenderer { +public class ChuteRenderer extends SafeBlockEntityRenderer { public ChuteRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(ChuteTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, + protected void renderSafe(ChuteBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (te.item.isEmpty()) + if (be.item.isEmpty()) return; - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); if (blockState.getValue(ChuteBlock.FACING) != Direction.DOWN) return; if (blockState.getValue(ChuteBlock.SHAPE) != Shape.WINDOW - && (te.bottomPullDistance == 0 || te.itemPosition.getValue(partialTicks) > .5f)) + && (be.bottomPullDistance == 0 || be.itemPosition.getValue(partialTicks) > .5f)) return; - renderItem(te, partialTicks, ms, buffer, light, overlay); + renderItem(be, partialTicks, ms, buffer, light, overlay); } - public static void renderItem(ChuteTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + public static void renderItem(ChuteBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { ItemRenderer itemRenderer = Minecraft.getInstance() .getItemRenderer(); @@ -40,12 +40,12 @@ public class ChuteRenderer extends SafeTileEntityRenderer { ms.pushPose(); msr.centre(); float itemScale = .5f; - float itemPosition = te.itemPosition.getValue(partialTicks); + float itemPosition = be.itemPosition.getValue(partialTicks); ms.translate(0, -.5 + itemPosition, 0); ms.scale(itemScale, itemScale, itemScale); msr.rotateX(itemPosition * 180); msr.rotateY(itemPosition * 180); - itemRenderer.renderStatic(te.item, TransformType.FIXED, light, overlay, ms, buffer, 0); + itemRenderer.renderStatic(be.item, TransformType.FIXED, light, overlay, ms, buffer, 0); ms.popPose(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteBlock.java index 92f23a34c..73d46ae43 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteBlock.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.logistics.block.chute; import java.util.Random; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; @@ -56,8 +56,8 @@ public class SmartChuteBlock extends AbstractChuteBlock { } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.SMART_CHUTE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.SMART_CHUTE.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteBlockEntity.java similarity index 83% rename from src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteBlockEntity.java index a740833cf..81d7dc82f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteBlockEntity.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.logistics.block.chute; import java.util.List; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.item.ItemHelper.ExtractionCountMode; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -12,11 +12,11 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class SmartChuteTileEntity extends ChuteTileEntity { +public class SmartChuteBlockEntity extends ChuteBlockEntity { FilteringBehaviour filtering; - public SmartChuteTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SmartChuteBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @@ -49,7 +49,7 @@ public class SmartChuteTileEntity extends ChuteTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(filtering = new FilteringBehaviour(this, new SmartChuteFilterSlotPositioning()).showCountWhen(this::isExtracting)); super.addBehaviours(behaviours); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteFilterSlotPositioning.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteFilterSlotPositioning.java index c28d77587..13c035ef5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteFilterSlotPositioning.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteFilterSlotPositioning.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.logistics.block.chute; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.VecHelper; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteRenderer.java index f31cee7b8..4ab6ea573 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/SmartChuteRenderer.java @@ -1,26 +1,26 @@ package com.simibubi.create.content.logistics.block.chute; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; +import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; -public class SmartChuteRenderer extends SmartTileEntityRenderer { +public class SmartChuteRenderer extends SmartBlockEntityRenderer { public SmartChuteRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(SmartChuteTileEntity tileEntityIn, float partialTicks, PoseStack ms, + protected void renderSafe(SmartChuteBlockEntity blockEntity, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(tileEntityIn, partialTicks, ms, buffer, light, overlay); - if (tileEntityIn.item.isEmpty()) + super.renderSafe(blockEntity, partialTicks, ms, buffer, light, overlay); + if (blockEntity.item.isEmpty()) return; - if (tileEntityIn.itemPosition.getValue(partialTicks) > 0) + if (blockEntity.itemPosition.getValue(partialTicks) > 0) return; - ChuteRenderer.renderItem(tileEntityIn, partialTicks, ms, buffer, light, overlay); + ChuteRenderer.renderItem(blockEntity, partialTicks, ms, buffer, light, overlay); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBehaviour.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBehaviour.java index 8e31cce1b..fba517087 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBehaviour.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBehaviour.java @@ -12,15 +12,15 @@ import com.simibubi.create.AllSoundEvents; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; import com.simibubi.create.content.logistics.block.funnel.AbstractFunnelBlock; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.item.ItemHelper; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour.ProcessingResult; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -40,7 +40,7 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.ItemStackHandler; -public class DepotBehaviour extends TileEntityBehaviour { +public class DepotBehaviour extends BlockEntityBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); @@ -57,8 +57,8 @@ public class DepotBehaviour extends TileEntityBehaviour { Predicate acceptedItems; boolean allowMerge; - public DepotBehaviour(SmartTileEntity te) { - super(te); + public DepotBehaviour(SmartBlockEntity be) { + super(be); maxStackSize = () -> 64; canAcceptItems = () -> true; canFunnelsPullFrom = $ -> true; @@ -70,7 +70,7 @@ public class DepotBehaviour extends TileEntityBehaviour { lazyItemHandler = LazyOptional.of(() -> itemHandler); processingOutputBuffer = new ItemStackHandler(8) { protected void onContentsChanged(int slot) { - te.notifyUpdate(); + be.notifyUpdate(); }; }; } @@ -93,26 +93,26 @@ public class DepotBehaviour extends TileEntityBehaviour { public void tick() { super.tick(); - Level world = tileEntity.getLevel(); + Level world = blockEntity.getLevel(); for (Iterator iterator = incoming.iterator(); iterator.hasNext();) { TransportedItemStack ts = iterator.next(); if (!tick(ts)) continue; - if (world.isClientSide && !tileEntity.isVirtual()) + if (world.isClientSide && !blockEntity.isVirtual()) continue; if (heldItem == null) { heldItem = ts; } else { if (!ItemHelper.canItemStackAmountsStack(heldItem.stack, ts.stack)) { - Vec3 vec = VecHelper.getCenterOf(tileEntity.getBlockPos()); - Containers.dropItemStack(tileEntity.getLevel(), vec.x, vec.y + .5f, vec.z, ts.stack); + Vec3 vec = VecHelper.getCenterOf(blockEntity.getBlockPos()); + Containers.dropItemStack(blockEntity.getLevel(), vec.x, vec.y + .5f, vec.z, ts.stack); } else { heldItem.stack.grow(ts.stack.getCount()); } } iterator.remove(); - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); } if (heldItem == null) @@ -120,7 +120,7 @@ public class DepotBehaviour extends TileEntityBehaviour { if (!tick(heldItem)) return; - BlockPos pos = tileEntity.getBlockPos(); + BlockPos pos = blockEntity.getBlockPos(); if (world.isClientSide) return; @@ -128,7 +128,7 @@ public class DepotBehaviour extends TileEntityBehaviour { return; BeltProcessingBehaviour processingBehaviour = - TileEntityBehaviour.get(world, pos.above(2), BeltProcessingBehaviour.TYPE); + BlockEntityBehaviour.get(world, pos.above(2), BeltProcessingBehaviour.TYPE); if (processingBehaviour == null) return; if (!heldItem.locked && BeltProcessingBehaviour.isBlocked(world, pos)) @@ -140,13 +140,13 @@ public class DepotBehaviour extends TileEntityBehaviour { : processingBehaviour.handleReceivedItem(heldItem, transportedHandler); if (result == ProcessingResult.REMOVE) { heldItem = null; - tileEntity.sendData(); + blockEntity.sendData(); return; } heldItem.locked = result == ProcessingResult.HOLD; if (heldItem.locked != wasLocked || !previousItem.equals(heldItem.stack, false)) - tileEntity.sendData(); + blockEntity.sendData(); } protected boolean tick(TransportedItemStack heldItem) { @@ -171,19 +171,19 @@ public class DepotBehaviour extends TileEntityBehaviour { ItemStack previousItem = processingOutputBuffer.getStackInSlot(slot); if (previousItem.isEmpty()) continue; - ItemStack afterInsert = tileEntity.getBehaviour(DirectBeltInputBehaviour.TYPE) + ItemStack afterInsert = blockEntity.getBehaviour(DirectBeltInputBehaviour.TYPE) .tryExportingToBeltFunnel(previousItem, null, false); if (afterInsert == null) return false; if (previousItem.getCount() != afterInsert.getCount()) { processingOutputBuffer.setStackInSlot(slot, afterInsert); - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); return true; } } ItemStack previousItem = heldItem.stack; - ItemStack afterInsert = tileEntity.getBehaviour(DirectBeltInputBehaviour.TYPE) + ItemStack afterInsert = blockEntity.getBehaviour(DirectBeltInputBehaviour.TYPE) .tryExportingToBeltFunnel(previousItem, null, false); if (afterInsert == null) return false; @@ -192,7 +192,7 @@ public class DepotBehaviour extends TileEntityBehaviour { heldItem = null; else heldItem.stack = afterInsert; - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); return true; } @@ -238,10 +238,10 @@ public class DepotBehaviour extends TileEntityBehaviour { } } - public void addSubBehaviours(List behaviours) { - behaviours.add(new DirectBeltInputBehaviour(tileEntity).allowingBeltFunnels() + public void addSubBehaviours(List behaviours) { + behaviours.add(new DirectBeltInputBehaviour(blockEntity).allowingBeltFunnels() .setInsertionHandler(this::tryInsertingFromSide)); - transportedHandler = new TransportedItemStackHandlerBehaviour(tileEntity, this::applyToAllItems) + transportedHandler = new TransportedItemStackHandlerBehaviour(blockEntity, this::applyToAllItems) .withStackPlacement(this::getWorldPositionOf); behaviours.add(transportedHandler); } @@ -358,7 +358,7 @@ public class DepotBehaviour extends TileEntityBehaviour { transportedStack.prevBeltPosition = transportedStack.beltPosition; ItemStack remainder = insert(transportedStack, simulate); if (remainder.getCount() != size) - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); return remainder; } @@ -388,12 +388,12 @@ public class DepotBehaviour extends TileEntityBehaviour { continue; } ItemStack remainder = ItemHandlerHelper.insertItemStacked(processingOutputBuffer, added.stack, false); - Vec3 vec = VecHelper.getCenterOf(tileEntity.getBlockPos()); - Containers.dropItemStack(tileEntity.getLevel(), vec.x, vec.y + .5f, vec.z, remainder); + Vec3 vec = VecHelper.getCenterOf(blockEntity.getBlockPos()); + Containers.dropItemStack(blockEntity.getLevel(), vec.x, vec.y + .5f, vec.z, remainder); } if (dirty) - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); } public boolean isEmpty() { @@ -409,7 +409,7 @@ public class DepotBehaviour extends TileEntityBehaviour { } private Vec3 getWorldPositionOf(TransportedItemStack transported) { - return VecHelper.getCenterOf(tileEntity.getBlockPos()); + return VecHelper.getCenterOf(blockEntity.getBlockPos()); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBlock.java index 2defa56e8..d9f3c04bb 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBlock.java @@ -2,10 +2,10 @@ package com.simibubi.create.content.logistics.block.depot; import javax.annotation.ParametersAreNonnullByDefault; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; @@ -25,7 +25,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault -public class DepotBlock extends Block implements ITE, IWrenchable { +public class DepotBlock extends Block implements IBE, IWrenchable { public DepotBlock(Properties p_i48440_1_) { super(p_i48440_1_); @@ -38,13 +38,13 @@ public class DepotBlock extends Block implements ITE, IWrenchab } @Override - public Class getTileEntityClass() { - return DepotTileEntity.class; + public Class getBlockEntityClass() { + return DepotBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.DEPOT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.DEPOT.get(); } @Override @@ -55,7 +55,7 @@ public class DepotBlock extends Block implements ITE, IWrenchab @Override public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { - ITE.onRemove(state, worldIn, pos, newState); + IBE.onRemove(state, worldIn, pos, newState); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBlockEntity.java similarity index 71% rename from src/main/java/com/simibubi/create/content/logistics/block/depot/DepotTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBlockEntity.java index 308237dec..02fd38104 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotBlockEntity.java @@ -2,8 +2,8 @@ package com.simibubi.create.content.logistics.block.depot; import java.util.List; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -13,16 +13,16 @@ import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; -public class DepotTileEntity extends SmartTileEntity { +public class DepotBlockEntity extends SmartBlockEntity { DepotBehaviour depotBehaviour; - public DepotTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public DepotBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(depotBehaviour = new DepotBehaviour(this)); depotBehaviour.addSubBehaviours(behaviours); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotItemHandler.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotItemHandler.java index e7b9a4473..979278742 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotItemHandler.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotItemHandler.java @@ -8,10 +8,10 @@ import net.minecraftforge.items.IItemHandler; public class DepotItemHandler implements IItemHandler { private static final int MAIN_SLOT = 0; - private DepotBehaviour te; + private DepotBehaviour behaviour; - public DepotItemHandler(DepotBehaviour te) { - this.te = te; + public DepotItemHandler(DepotBehaviour behaviour) { + this.behaviour = behaviour; } @Override @@ -21,52 +21,52 @@ public class DepotItemHandler implements IItemHandler { @Override public ItemStack getStackInSlot(int slot) { - return slot == MAIN_SLOT ? te.getHeldItemStack() : te.processingOutputBuffer.getStackInSlot(slot - 1); + return slot == MAIN_SLOT ? behaviour.getHeldItemStack() : behaviour.processingOutputBuffer.getStackInSlot(slot - 1); } @Override public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { if (slot != MAIN_SLOT) return stack; - if (!te.getHeldItemStack() - .isEmpty() && !te.canMergeItems()) + if (!behaviour.getHeldItemStack() + .isEmpty() && !behaviour.canMergeItems()) return stack; - if (!te.isOutputEmpty() && !te.canMergeItems()) + if (!behaviour.isOutputEmpty() && !behaviour.canMergeItems()) return stack; - ItemStack remainder = te.insert(new TransportedItemStack(stack), simulate); + ItemStack remainder = behaviour.insert(new TransportedItemStack(stack), simulate); if (!simulate && remainder != stack) - te.tileEntity.notifyUpdate(); + behaviour.blockEntity.notifyUpdate(); return remainder; } @Override public ItemStack extractItem(int slot, int amount, boolean simulate) { if (slot != MAIN_SLOT) - return te.processingOutputBuffer.extractItem(slot - 1, amount, simulate); + return behaviour.processingOutputBuffer.extractItem(slot - 1, amount, simulate); - TransportedItemStack held = te.heldItem; + TransportedItemStack held = behaviour.heldItem; if (held == null) return ItemStack.EMPTY; ItemStack stack = held.stack.copy(); ItemStack extracted = stack.split(amount); if (!simulate) { - te.heldItem.stack = stack; + behaviour.heldItem.stack = stack; if (stack.isEmpty()) - te.heldItem = null; - te.tileEntity.notifyUpdate(); + behaviour.heldItem = null; + behaviour.blockEntity.notifyUpdate(); } return extracted; } @Override public int getSlotLimit(int slot) { - return slot == MAIN_SLOT ? te.maxStackSize.get() : 64; + return slot == MAIN_SLOT ? behaviour.maxStackSize.get() : 64; } @Override public boolean isItemValid(int slot, ItemStack stack) { - return slot == MAIN_SLOT && te.isItemValid(stack); + return slot == MAIN_SLOT && behaviour.isItemValid(stack); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotRenderer.java index 982213757..278db7d30 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotRenderer.java @@ -7,8 +7,8 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Vector3f; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.client.Minecraft; @@ -22,23 +22,23 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.phys.Vec3; -public class DepotRenderer extends SafeTileEntityRenderer { +public class DepotRenderer extends SafeBlockEntityRenderer { public DepotRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(DepotTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(DepotBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - renderItemsOf(te, partialTicks, ms, buffer, light, overlay, te.depotBehaviour); + renderItemsOf(be, partialTicks, ms, buffer, light, overlay, be.depotBehaviour); } - public static void renderItemsOf(SmartTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + public static void renderItemsOf(SmartBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay, DepotBehaviour depotBehaviour) { TransportedItemStack transported = depotBehaviour.heldItem; TransformStack msr = TransformStack.cast(ms); - Vec3 itemPosition = VecHelper.getCenterOf(te.getBlockPos()); + Vec3 itemPosition = VecHelper.getCenterOf(be.getBlockPos()); ms.pushPose(); ms.translate(.5f, 15 / 16f, .5f); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorAwardPacket.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorAwardPacket.java index d9c698bbf..41780d0c0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorAwardPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorAwardPacket.java @@ -1,13 +1,13 @@ package com.simibubi.create.content.logistics.block.depot; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerPlayer; -public class EjectorAwardPacket extends TileEntityConfigurationPacket { +public class EjectorAwardPacket extends BlockEntityConfigurationPacket { public EjectorAwardPacket(FriendlyByteBuf buffer) { super(buffer); @@ -24,11 +24,11 @@ public class EjectorAwardPacket extends TileEntityConfigurationPacket { +public class EjectorBlock extends HorizontalKineticBlock implements IBE { public EjectorBlock(Properties properties) { super(properties); @@ -47,7 +47,7 @@ public class EjectorBlock extends HorizontalKineticBlock implements ITE ete.state == State.LAUNCHING) + return getBlockEntityOptional(world, pos).filter(ete -> ete.state == State.LAUNCHING) .map($ -> 1f) .orElse(super.getFriction(state, world, pos, entity)); } @@ -55,14 +55,14 @@ public class EjectorBlock extends HorizontalKineticBlock implements ITE tileEntityOptional = getTileEntityOptional(p_180658_1_, p_180658_2_); - if (tileEntityOptional.isPresent() && !p_180658_3_.isSuppressingBounce()) { + Optional blockEntityOptional = getBlockEntityOptional(p_180658_1_, p_180658_2_); + if (blockEntityOptional.isPresent() && !p_180658_3_.isSuppressingBounce()) { p_180658_3_.causeFallDamage(p_180658_4_, 1.0F, DamageSource.FALL); return; } @@ -84,16 +84,16 @@ public class EjectorBlock extends HorizontalKineticBlock implements ITE teProvider = getTileEntityOptional(worldIn, position); + Optional teProvider = getBlockEntityOptional(worldIn, position); if (!teProvider.isPresent()) return; - EjectorTileEntity ejectorTileEntity = teProvider.get(); - if (ejectorTileEntity.getState() == State.RETRACTING) + EjectorBlockEntity ejectorBlockEntity = teProvider.get(); + if (ejectorBlockEntity.getState() == State.RETRACTING) return; - if (ejectorTileEntity.powered) + if (ejectorBlockEntity.powered) return; - if (ejectorTileEntity.launcher.getHorizontalDistance() == 0) + if (ejectorBlockEntity.launcher.getHorizontalDistance() == 0) return; if (entityIn.isOnGround()) { @@ -111,10 +111,10 @@ public class EjectorBlock extends HorizontalKineticBlock implements ITE getTileEntityClass() { - return EjectorTileEntity.class; + public Class getBlockEntityClass() { + return EjectorBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.WEIGHTED_EJECTOR.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.WEIGHTED_EJECTOR.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorBlockEntity.java similarity index 96% rename from src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorBlockEntity.java index 15213cc70..d09401187 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorBlockEntity.java @@ -9,16 +9,16 @@ import javax.annotation.Nullable; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; import com.simibubi.create.content.logistics.block.funnel.AbstractFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueBehaviour; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.IntAttached; import com.simibubi.create.foundation.utility.Iterate; @@ -64,7 +64,7 @@ import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.ItemStackHandler; -public class EjectorTileEntity extends KineticTileEntity { +public class EjectorBlockEntity extends KineticBlockEntity { List> launchedItems; ScrollValueBehaviour maxStackSize; @@ -87,7 +87,7 @@ public class EjectorTileEntity extends KineticTileEntity { CHARGED, LAUNCHING, RETRACTING; } - public EjectorTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public EjectorBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); launcher = new EntityLauncher(1, 0); lidProgress = LerpedFloat.linear() @@ -98,7 +98,7 @@ public class EjectorTileEntity extends KineticTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); behaviours.add(depotBehaviour = new DepotBehaviour(this)); @@ -459,7 +459,7 @@ public class EjectorTileEntity extends KineticTileEntity { BlockPos targetPos = earlyTarget != null ? earlyTarget.getSecond() : worldPosition.above(launcher.getVerticalDistance()) .relative(getFacing(), Math.max(1, launcher.getHorizontalDistance())); - return TileEntityBehaviour.get(level, targetPos, DirectBeltInputBehaviour.TYPE); + return BlockEntityBehaviour.get(level, targetPos, DirectBeltInputBehaviour.TYPE); } public Vec3 getLaunchedItemLocation(float time) { diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorElytraPacket.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorElytraPacket.java index f2058d433..e8a895a60 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorElytraPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorElytraPacket.java @@ -39,9 +39,9 @@ public class EjectorElytraPacket extends SimplePacketBase { Level world = player.level; if (world == null || !world.isLoaded(pos)) return; - BlockEntity tileEntity = world.getBlockEntity(pos); - if (tileEntity instanceof EjectorTileEntity) - ((EjectorTileEntity) tileEntity).deployElytra(player); + BlockEntity blockEntity = world.getBlockEntity(pos); + if (blockEntity instanceof EjectorBlockEntity) + ((EjectorBlockEntity) blockEntity).deployElytra(player); }); context.get() .setPacketHandled(true); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorInstance.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorInstance.java index 1a37a1141..440762883 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorInstance.java @@ -11,15 +11,15 @@ import net.minecraft.util.Mth; public class EjectorInstance extends ShaftInstance implements DynamicInstance { - protected final EjectorTileEntity tile; + protected final EjectorBlockEntity blockEntity; protected final ModelData plate; private float lastProgress = Float.NaN; - public EjectorInstance(MaterialManager dispatcher, EjectorTileEntity tile) { - super(dispatcher, tile); - this.tile = tile; + public EjectorInstance(MaterialManager dispatcher, EjectorBlockEntity blockEntity) { + super(dispatcher, blockEntity); + this.blockEntity = blockEntity; plate = getTransformMaterial().getModel(AllBlockPartials.EJECTOR_TOP, blockState).createInstance(); @@ -53,12 +53,12 @@ public class EjectorInstance extends ShaftInstance implements DynamicInstance { } private float getLidProgress() { - return tile.getLidProgress(AnimationTickHolder.getPartialTicks()); + return blockEntity.getLidProgress(AnimationTickHolder.getPartialTicks()); } private void pivotPlate(float lidProgress) { float angle = lidProgress * 70; - EjectorRenderer.applyLidAngle(tile, angle, plate.loadIdentity().translate(getInstancePosition())); + EjectorRenderer.applyLidAngle(blockEntity, angle, plate.loadIdentity().translate(getInstancePosition())); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorPlacementPacket.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorPlacementPacket.java index 3b56b438f..871620a83 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorPlacementPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorPlacementPacket.java @@ -53,10 +53,10 @@ public class EjectorPlacementPacket extends SimplePacketBase { Level world = player.level; if (world == null || !world.isLoaded(pos)) return; - BlockEntity tileEntity = world.getBlockEntity(pos); + BlockEntity blockEntity = world.getBlockEntity(pos); BlockState state = world.getBlockState(pos); - if (tileEntity instanceof EjectorTileEntity) - ((EjectorTileEntity) tileEntity).setTarget(h, v); + if (blockEntity instanceof EjectorBlockEntity) + ((EjectorBlockEntity) blockEntity).setTarget(h, v); if (AllBlocks.WEIGHTED_EJECTOR.has(state)) world.setBlockAndUpdate(pos, state.setValue(EjectorBlock.HORIZONTAL_FACING, facing)); }); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorRenderer.java index 9a60342e8..ec1654c57 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorRenderer.java @@ -7,8 +7,8 @@ import com.jozufozu.flywheel.util.transform.Translate; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -24,7 +24,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class EjectorRenderer extends KineticTileEntityRenderer { +public class EjectorRenderer extends KineticBlockEntityRenderer { static final Vec3 pivot = VecHelper.voxelSpace(0, 11.25, 0.75); @@ -33,23 +33,23 @@ public class EjectorRenderer extends KineticTileEntityRenderer { } @Override - public boolean shouldRenderOffScreen(KineticTileEntity p_188185_1_) { + public boolean shouldRenderOffScreen(KineticBlockEntity p_188185_1_) { return true; } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); - EjectorTileEntity ejector = (EjectorTileEntity) te; + EjectorBlockEntity ejector = (EjectorBlockEntity) be; VertexConsumer vertexBuilder = buffer.getBuffer(RenderType.solid()); - float lidProgress = ((EjectorTileEntity) te).getLidProgress(partialTicks); + float lidProgress = ((EjectorBlockEntity) be).getLidProgress(partialTicks); float angle = lidProgress * 70; - if (!Backend.canUseInstancing(te.getLevel())) { - SuperByteBuffer model = CachedBufferer.partial(AllBlockPartials.EJECTOR_TOP, te.getBlockState()); - applyLidAngle(te, angle, model); + if (!Backend.canUseInstancing(be.getLevel())) { + SuperByteBuffer model = CachedBufferer.partial(AllBlockPartials.EJECTOR_TOP, be.getBlockState()); + applyLidAngle(be, angle, model); model.light(light) .renderInto(ms, vertexBuilder); } @@ -65,7 +65,7 @@ public class EjectorRenderer extends KineticTileEntityRenderer { ms.pushPose(); Vec3 launchedItemLocation = ejector.getLaunchedItemLocation(time); - msr.translate(launchedItemLocation.subtract(Vec3.atLowerCornerOf(te.getBlockPos()))); + msr.translate(launchedItemLocation.subtract(Vec3.atLowerCornerOf(be.getBlockPos()))); Vec3 itemRotOffset = VecHelper.voxelSpace(0, 3, 0); msr.translate(itemRotOffset); msr.rotateY(AngleHelper.horizontalAngle(ejector.getFacing())); @@ -77,27 +77,27 @@ public class EjectorRenderer extends KineticTileEntityRenderer { ms.popPose(); } - DepotBehaviour behaviour = te.getBehaviour(DepotBehaviour.TYPE); + DepotBehaviour behaviour = be.getBehaviour(DepotBehaviour.TYPE); if (behaviour == null || behaviour.isEmpty()) return; ms.pushPose(); - applyLidAngle(te, angle, msr); + applyLidAngle(be, angle, msr); msr.centre() - .rotateY(-180 - AngleHelper.horizontalAngle(te.getBlockState() + .rotateY(-180 - AngleHelper.horizontalAngle(be.getBlockState() .getValue(EjectorBlock.HORIZONTAL_FACING))) .unCentre(); - DepotRenderer.renderItemsOf(te, partialTicks, ms, buffer, light, overlay, behaviour); + DepotRenderer.renderItemsOf(be, partialTicks, ms, buffer, light, overlay, behaviour); ms.popPose(); } - static & Rotate> void applyLidAngle(KineticTileEntity te, float angle, T tr) { - applyLidAngle(te, pivot, angle, tr); + static & Rotate> void applyLidAngle(KineticBlockEntity be, float angle, T tr) { + applyLidAngle(be, pivot, angle, tr); } - static & Rotate> void applyLidAngle(KineticTileEntity te, Vec3 rotationOffset, float angle, T tr) { + static & Rotate> void applyLidAngle(KineticBlockEntity be, Vec3 rotationOffset, float angle, T tr) { tr.centre() - .rotateY(180 + AngleHelper.horizontalAngle(te.getBlockState() + .rotateY(180 + AngleHelper.horizontalAngle(be.getBlockState() .getValue(EjectorBlock.HORIZONTAL_FACING))) .unCentre() .translate(rotationOffset) @@ -106,8 +106,8 @@ public class EjectorRenderer extends KineticTileEntityRenderer { } @Override - protected BlockState getRenderedBlockState(KineticTileEntity te) { - return shaft(getRotationAxisOf(te)); + protected BlockState getRenderedBlockState(KineticBlockEntity be) { + return shaft(getRotationAxisOf(be)); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTargetHandler.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTargetHandler.java index fd08082ee..501756df7 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTargetHandler.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTargetHandler.java @@ -234,15 +234,15 @@ public class EjectorTargetHandler { BlockHitResult result = (BlockHitResult) objectMouseOver; BlockPos pos = result.getBlockPos(); - BlockEntity te = Minecraft.getInstance().level.getBlockEntity(pos); - if (!(te instanceof EjectorTileEntity)) { + BlockEntity be = Minecraft.getInstance().level.getBlockEntity(pos); + if (!(be instanceof EjectorBlockEntity)) { lastHoveredBlockPos = -1; currentSelection = null; return; } if (lastHoveredBlockPos == -1 || lastHoveredBlockPos != pos.asLong()) { - EjectorTileEntity ejector = (EjectorTileEntity) te; + EjectorBlockEntity ejector = (EjectorBlockEntity) be; if (!ejector.getTargetPosition() .equals(ejector.getBlockPos())) currentSelection = ejector.getTargetPosition(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTriggerPacket.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTriggerPacket.java index 342787693..edf9dcec7 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTriggerPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTriggerPacket.java @@ -1,11 +1,11 @@ package com.simibubi.create.content.logistics.block.depot; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; -public class EjectorTriggerPacket extends TileEntityConfigurationPacket { +public class EjectorTriggerPacket extends BlockEntityConfigurationPacket { public EjectorTriggerPacket(BlockPos pos) { super(pos); @@ -22,8 +22,8 @@ public class EjectorTriggerPacket extends TileEntityConfigurationPacket { +public class BrassDiodeBlock extends AbstractDiodeBlock implements IBE { public static final BooleanProperty POWERING = BooleanProperty.create("powering"); public static final BooleanProperty INVERTED = BooleanProperty.create("inverted"); @@ -80,14 +80,14 @@ public class BrassDiodeBlock extends AbstractDiodeBlock implements ITE getTileEntityClass() { - return BrassDiodeTileEntity.class; + public Class getBlockEntityClass() { + return BrassDiodeBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllBlocks.PULSE_EXTENDER.is(this) ? AllTileEntities.PULSE_EXTENDER.get() - : AllTileEntities.PULSE_REPEATER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlocks.PULSE_EXTENDER.is(this) ? AllBlockEntityTypes.PULSE_EXTENDER.get() + : AllBlockEntityTypes.PULSE_REPEATER.get(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeBlockEntity.java similarity index 80% rename from src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeBlockEntity.java index 0e08276e8..21314dab3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeBlockEntity.java @@ -4,10 +4,10 @@ import static com.simibubi.create.content.logistics.block.diodes.BrassDiodeBlock import java.util.List; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -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.StepContext; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueBehaviour.StepContext; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.core.BlockPos; @@ -18,17 +18,17 @@ import net.minecraft.world.level.block.DiodeBlock; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public abstract class BrassDiodeTileEntity extends SmartTileEntity { +public abstract class BrassDiodeBlockEntity extends SmartBlockEntity { protected int state; ScrollValueBehaviour maxState; - public BrassDiodeTileEntity(BlockEntityType tileEntityTypeIn, BlockPos pos, BlockState state) { - super(tileEntityTypeIn, pos, state); + public BrassDiodeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { maxState = new ScrollValueBehaviour(Lang.translateDirect("generic.delay"), this, new BrassDiodeScrollSlot()) .between(2, 60 * 20 * 30); maxState.withStepFunction(this::step); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeInstance.java b/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeInstance.java index 450726b17..b9715f81d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeInstance.java @@ -8,16 +8,16 @@ import com.jozufozu.flywheel.core.materials.model.ModelData; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.foundation.utility.Color; -public class BrassDiodeInstance extends BlockEntityInstance implements TickableInstance { +public class BrassDiodeInstance extends BlockEntityInstance implements TickableInstance { protected final ModelData indicator; protected int previousState; - public BrassDiodeInstance(MaterialManager modelManager, BrassDiodeTileEntity tile) { - super(modelManager, tile); + public BrassDiodeInstance(MaterialManager materialManager, BrassDiodeBlockEntity blockEntity) { + super(materialManager, blockEntity); - indicator = modelManager.defaultSolid() + indicator = materialManager.defaultSolid() .material(Materials.TRANSFORMED) .getModel(AllBlockPartials.FLEXPEATER_INDICATOR, blockState).createInstance(); @@ -25,7 +25,7 @@ public class BrassDiodeInstance extends BlockEntityInstance { +public class BrassDiodeRenderer extends ColoredOverlayBlockEntityRenderer { public BrassDiodeRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected int getColor(BrassDiodeTileEntity te, float partialTicks) { - return Color.mixColors(0x2C0300, 0xCD0000, te.getProgress()); + protected int getColor(BrassDiodeBlockEntity be, float partialTicks) { + return Color.mixColors(0x2C0300, 0xCD0000, be.getProgress()); } @Override - protected SuperByteBuffer getOverlayBuffer(BrassDiodeTileEntity te) { - return CachedBufferer.partial(AllBlockPartials.FLEXPEATER_INDICATOR, te.getBlockState()); + protected SuperByteBuffer getOverlayBuffer(BrassDiodeBlockEntity be) { + return CachedBufferer.partial(AllBlockPartials.FLEXPEATER_INDICATOR, be.getBlockState()); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeScrollSlot.java b/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeScrollSlot.java index 540a0638a..6603746e5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeScrollSlot.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/diodes/BrassDiodeScrollSlot.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.logistics.block.diodes; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.VecHelper; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseExtenderTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseExtenderBlockEntity.java similarity index 84% rename from src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseExtenderTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseExtenderBlockEntity.java index b73cd2403..fe566ef77 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseExtenderTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseExtenderBlockEntity.java @@ -6,9 +6,9 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class PulseExtenderTileEntity extends BrassDiodeTileEntity { +public class PulseExtenderBlockEntity extends BrassDiodeBlockEntity { - public PulseExtenderTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public PulseExtenderBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseRepeaterTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseRepeaterBlockEntity.java similarity index 84% rename from src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseRepeaterTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseRepeaterBlockEntity.java index 330c7889a..7ef2503a3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseRepeaterTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/diodes/PulseRepeaterBlockEntity.java @@ -6,9 +6,9 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class PulseRepeaterTileEntity extends BrassDiodeTileEntity { +public class PulseRepeaterBlockEntity extends BrassDiodeBlockEntity { - public PulseRepeaterTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public PulseRepeaterBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/AllDisplayBehaviours.java b/src/main/java/com/simibubi/create/content/logistics/block/display/AllDisplayBehaviours.java index c3e44e619..3f7bc2231 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/AllDisplayBehaviours.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/AllDisplayBehaviours.java @@ -35,10 +35,10 @@ public class AllDisplayBehaviours { public static final Map GATHERER_BEHAVIOURS = new HashMap<>(); private static final AttachedRegistry> SOURCES_BY_BLOCK = new AttachedRegistry<>(ForgeRegistries.BLOCKS); - private static final AttachedRegistry, List> SOURCES_BY_TILE = new AttachedRegistry<>(ForgeRegistries.BLOCK_ENTITIES); + private static final AttachedRegistry, List> SOURCES_BY_BLOCK_ENTITY = new AttachedRegistry<>(ForgeRegistries.BLOCK_ENTITIES); private static final AttachedRegistry TARGETS_BY_BLOCK = new AttachedRegistry<>(ForgeRegistries.BLOCKS); - private static final AttachedRegistry, DisplayTarget> TARGETS_BY_TILE = new AttachedRegistry<>(ForgeRegistries.BLOCK_ENTITIES); + private static final AttachedRegistry, DisplayTarget> TARGETS_BY_BLOCK_ENTITY = new AttachedRegistry<>(ForgeRegistries.BLOCK_ENTITIES); public static DisplayBehaviour register(ResourceLocation id, DisplayBehaviour behaviour) { behaviour.id = id; @@ -60,17 +60,17 @@ public class AllDisplayBehaviours { } } - public static void assignTile(DisplayBehaviour behaviour, ResourceLocation teType) { + public static void assignBlockEntity(DisplayBehaviour behaviour, ResourceLocation beType) { if (behaviour instanceof DisplaySource source) { - List sources = SOURCES_BY_TILE.get(teType); + List sources = SOURCES_BY_BLOCK_ENTITY.get(beType); if (sources == null) { sources = new ArrayList<>(); - SOURCES_BY_TILE.register(teType, sources); + SOURCES_BY_BLOCK_ENTITY.register(beType, sources); } sources.add(source); } if (behaviour instanceof DisplayTarget target) { - TARGETS_BY_TILE.register(teType, target); + TARGETS_BY_BLOCK_ENTITY.register(beType, target); } } @@ -88,17 +88,17 @@ public class AllDisplayBehaviours { } } - public static void assignTile(DisplayBehaviour behaviour, BlockEntityType teType) { + public static void assignBlockEntity(DisplayBehaviour behaviour, BlockEntityType beType) { if (behaviour instanceof DisplaySource source) { - List sources = SOURCES_BY_TILE.get(teType); + List sources = SOURCES_BY_BLOCK_ENTITY.get(beType); if (sources == null) { sources = new ArrayList<>(); - SOURCES_BY_TILE.register(teType, sources); + SOURCES_BY_BLOCK_ENTITY.register(beType, sources); } sources.add(source); } if (behaviour instanceof DisplayTarget target) { - TARGETS_BY_TILE.register(teType, target); + TARGETS_BY_BLOCK_ENTITY.register(beType, target); } } @@ -114,14 +114,14 @@ public class AllDisplayBehaviours { }; } - public static > NonNullConsumer assignDataBehaviourTE( + public static > NonNullConsumer assignDataBehaviourBE( DisplayBehaviour behaviour, String... suffix) { return b -> { ResourceLocation registryName = RegisteredObjects.getKeyOrThrow(b); String idSuffix = behaviour instanceof DisplaySource ? "_source" : "_target"; if (suffix.length > 0) idSuffix += "_" + suffix[0]; - assignTile( + assignBlockEntity( register(new ResourceLocation(registryName.getNamespace(), registryName.getPath() + idSuffix), behaviour), registryName); @@ -160,16 +160,16 @@ public class AllDisplayBehaviours { return sourcesOf(state.getBlock()); } - public static List sourcesOf(BlockEntityType tileEntityType) { - List sources = SOURCES_BY_TILE.get(tileEntityType); + public static List sourcesOf(BlockEntityType blockEntityType) { + List sources = SOURCES_BY_BLOCK_ENTITY.get(blockEntityType); if (sources == null) { return Collections.emptyList(); } return sources; } - public static List sourcesOf(BlockEntity tileEntity) { - return sourcesOf(tileEntity.getType()); + public static List sourcesOf(BlockEntity blockEntity) { + return sourcesOf(blockEntity.getType()); } @Nullable @@ -183,13 +183,13 @@ public class AllDisplayBehaviours { } @Nullable - public static DisplayTarget targetOf(BlockEntityType tileEntityType) { - return TARGETS_BY_TILE.get(tileEntityType); + public static DisplayTarget targetOf(BlockEntityType blockEntityType) { + return TARGETS_BY_BLOCK_ENTITY.get(blockEntityType); } @Nullable - public static DisplayTarget targetOf(BlockEntity tileEntity) { - return targetOf(tileEntity.getType()); + public static DisplayTarget targetOf(BlockEntity blockEntity) { + return targetOf(blockEntity.getType()); } public static List sourcesOf(LevelAccessor level, BlockPos pos) { @@ -197,11 +197,11 @@ public class AllDisplayBehaviours { BlockEntity blockEntity = level.getBlockEntity(pos); List sourcesOfBlock = sourcesOf(blockState); - List sourcesOfTE = blockEntity == null ? Collections.emptyList() : sourcesOf(blockEntity); + List sourcesOfBlockEntity = blockEntity == null ? Collections.emptyList() : sourcesOf(blockEntity); - if (sourcesOfTE.isEmpty()) + if (sourcesOfBlockEntity.isEmpty()) return sourcesOfBlock; - return sourcesOfTE; + return sourcesOfBlockEntity; } @Nullable @@ -210,21 +210,21 @@ public class AllDisplayBehaviours { BlockEntity blockEntity = level.getBlockEntity(pos); DisplayTarget targetOfBlock = targetOf(blockState); - DisplayTarget targetOfTE = blockEntity == null ? null : targetOf(blockEntity); + DisplayTarget targetOfBlockEntity = blockEntity == null ? null : targetOf(blockEntity); - if (targetOfTE == null) + if (targetOfBlockEntity == null) return targetOfBlock; - return targetOfTE; + return targetOfBlockEntity; } // public static void registerDefaults() { - assignTile(register(Create.asResource("sign_display_target"), new SignDisplayTarget()), BlockEntityType.SIGN); - assignTile(register(Create.asResource("lectern_display_target"), new LecternDisplayTarget()), BlockEntityType.LECTERN); + assignBlockEntity(register(Create.asResource("sign_display_target"), new SignDisplayTarget()), BlockEntityType.SIGN); + assignBlockEntity(register(Create.asResource("lectern_display_target"), new LecternDisplayTarget()), BlockEntityType.LECTERN); assignBlock(register(Create.asResource("death_count_display_source"), new DeathCounterDisplaySource()), Blocks.RESPAWN_ANCHOR); - assignTile(register(Create.asResource("scoreboard_display_source"), new ScoreboardDisplaySource()), BlockEntityType.COMMAND_BLOCK); - assignTile(register(Create.asResource("enchant_power_display_source"), new EnchantPowerDisplaySource()), BlockEntityType.ENCHANTING_TABLE); + assignBlockEntity(register(Create.asResource("scoreboard_display_source"), new ScoreboardDisplaySource()), BlockEntityType.COMMAND_BLOCK); + assignBlockEntity(register(Create.asResource("enchant_power_display_source"), new EnchantPowerDisplaySource()), BlockEntityType.ENCHANTING_TABLE); assignBlock(register(Create.asResource("redstone_power_display_source"), new RedstonePowerDisplaySource()), Blocks.TARGET); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlock.java index 85ae770fc..5e51f1f64 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlock.java @@ -3,13 +3,13 @@ package com.simibubi.create.content.logistics.block.display; import java.util.function.BiConsumer; import java.util.function.Consumer; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.logistics.block.display.source.DisplaySource; import com.simibubi.create.content.logistics.block.display.source.RedstonePowerDisplaySource; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.WrenchableDirectionalBlock; import com.simibubi.create.foundation.gui.ScreenOpener; import com.simibubi.create.foundation.utility.Iterate; @@ -42,7 +42,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; -public class DisplayLinkBlock extends WrenchableDirectionalBlock implements ITE { +public class DisplayLinkBlock extends WrenchableDirectionalBlock implements IBE { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; @@ -65,12 +65,12 @@ public class DisplayLinkBlock extends WrenchableDirectionalBlock implements ITE< } public static void notifyGatherers(LevelAccessor level, BlockPos pos) { - forEachAttachedGatherer(level, pos, DisplayLinkTileEntity::updateGatheredData); + forEachAttachedGatherer(level, pos, DisplayLinkBlockEntity::updateGatheredData); } @SuppressWarnings("unchecked") public static void sendToGatherers(LevelAccessor level, BlockPos pos, - BiConsumer callback, Class type) { + BiConsumer callback, Class type) { forEachAttachedGatherer(level, pos, dgte -> { if (type.isInstance(dgte.activeSource)) callback.accept(dgte, (T) dgte.activeSource); @@ -78,7 +78,7 @@ public class DisplayLinkBlock extends WrenchableDirectionalBlock implements ITE< } private static void forEachAttachedGatherer(LevelAccessor level, BlockPos pos, - Consumer callback) { + Consumer callback) { for (Direction d : Iterate.directions) { BlockPos offsetPos = pos.relative(d); BlockState blockState = level.getBlockState(offsetPos); @@ -86,7 +86,7 @@ public class DisplayLinkBlock extends WrenchableDirectionalBlock implements ITE< continue; BlockEntity blockEntity = level.getBlockEntity(offsetPos); - if (!(blockEntity instanceof DisplayLinkTileEntity dgte)) + if (!(blockEntity instanceof DisplayLinkBlockEntity dgte)) continue; if (dgte.activeSource == null) continue; @@ -112,7 +112,7 @@ public class DisplayLinkBlock extends WrenchableDirectionalBlock implements ITE< if (previouslyPowered != powered) { worldIn.setBlock(pos, state.cycle(POWERED), 2); if (!powered) - withTileEntityDo(worldIn, pos, DisplayLinkTileEntity::onNoLongerPowered); + withBlockEntityDo(worldIn, pos, DisplayLinkBlockEntity::onNoLongerPowered); } } @@ -142,19 +142,19 @@ public class DisplayLinkBlock extends WrenchableDirectionalBlock implements ITE< if (pPlayer.isSteppingCarefully()) return InteractionResult.PASS; DistExecutor.unsafeRunWhenOn(Dist.CLIENT, - () -> () -> withTileEntityDo(pLevel, pPos, te -> this.displayScreen(te, pPlayer))); + () -> () -> withBlockEntityDo(pLevel, pPos, be -> this.displayScreen(be, pPlayer))); return InteractionResult.SUCCESS; } @OnlyIn(value = Dist.CLIENT) - protected void displayScreen(DisplayLinkTileEntity te, Player player) { + protected void displayScreen(DisplayLinkBlockEntity be, Player player) { if (!(player instanceof LocalPlayer)) return; - if (te.targetOffset.equals(BlockPos.ZERO)) { + if (be.targetOffset.equals(BlockPos.ZERO)) { player.displayClientMessage(Lang.translateDirect("display_link.invalid"), true); return; } - ScreenOpener.open(new DisplayLinkScreen(te)); + ScreenOpener.open(new DisplayLinkScreen(be)); } @Override @@ -168,13 +168,13 @@ public class DisplayLinkBlock extends WrenchableDirectionalBlock implements ITE< } @Override - public Class getTileEntityClass() { - return DisplayLinkTileEntity.class; + public Class getBlockEntityClass() { + return DisplayLinkBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.DISPLAY_LINK.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.DISPLAY_LINK.get(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlockEntity.java similarity index 93% rename from src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlockEntity.java index 9d9a5f606..43fb1b603 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlockEntity.java @@ -5,8 +5,8 @@ import java.util.List; import com.simibubi.create.content.logistics.block.display.source.DisplaySource; import com.simibubi.create.content.logistics.block.display.target.DisplayTarget; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; @@ -19,7 +19,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class DisplayLinkTileEntity extends SmartTileEntity { +public class DisplayLinkBlockEntity extends SmartBlockEntity { protected BlockPos targetOffset; @@ -34,7 +34,7 @@ public class DisplayLinkTileEntity extends SmartTileEntity { public int refreshTicks; - public DisplayLinkTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public DisplayLinkBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); targetOffset = BlockPos.ZERO; sourceConfig = new CompoundTag(); @@ -119,7 +119,7 @@ public class DisplayLinkTileEntity extends SmartTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { registerAwardables(behaviours, AllAdvancements.DISPLAY_LINK, AllAdvancements.DISPLAY_BOARD); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkConfigurationPacket.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkConfigurationPacket.java index c83d6894a..70866264c 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkConfigurationPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkConfigurationPacket.java @@ -1,14 +1,14 @@ package com.simibubi.create.content.logistics.block.display; import com.simibubi.create.content.logistics.block.display.source.DisplaySource; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; -public class DisplayLinkConfigurationPacket extends TileEntityConfigurationPacket { +public class DisplayLinkConfigurationPacket extends BlockEntityConfigurationPacket { private CompoundTag configData; private int targetLine; @@ -36,31 +36,31 @@ public class DisplayLinkConfigurationPacket extends TileEntityConfigurationPacke } @Override - protected void applySettings(DisplayLinkTileEntity te) { - te.targetLine = targetLine; + protected void applySettings(DisplayLinkBlockEntity be) { + be.targetLine = targetLine; if (!configData.contains("Id")) { - te.notifyUpdate(); + be.notifyUpdate(); return; } ResourceLocation id = new ResourceLocation(configData.getString("Id")); DisplaySource source = AllDisplayBehaviours.getSource(id); if (source == null) { - te.notifyUpdate(); + be.notifyUpdate(); return; } - if (te.activeSource == null || te.activeSource != source) { - te.activeSource = source; - te.setSourceConfig(configData.copy()); + if (be.activeSource == null || be.activeSource != source) { + be.activeSource = source; + be.setSourceConfig(configData.copy()); } else { - te.getSourceConfig() + be.getSourceConfig() .merge(configData); } - te.updateGatheredData(); - te.notifyUpdate(); + be.updateGatheredData(); + be.notifyUpdate(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkContext.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkContext.java index 49477f76b..f6ec4440f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkContext.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkContext.java @@ -8,41 +8,41 @@ import net.minecraft.world.level.block.entity.BlockEntity; public class DisplayLinkContext { private Level level; - private DisplayLinkTileEntity te; + private DisplayLinkBlockEntity blockEntity; public Object flapDisplayContext; - public DisplayLinkContext(Level level, DisplayLinkTileEntity te) { + public DisplayLinkContext(Level level, DisplayLinkBlockEntity blockEntity) { this.level = level; - this.te = te; + this.blockEntity = blockEntity; } public Level level() { return level; } - public DisplayLinkTileEntity te() { - return te; + public DisplayLinkBlockEntity blockEntity() { + return blockEntity; } - public BlockEntity getSourceTE() { + public BlockEntity getSourceBlockEntity() { return level.getBlockEntity(getSourcePos()); } public BlockPos getSourcePos() { - return te.getSourcePosition(); + return blockEntity.getSourcePosition(); } - public BlockEntity getTargetTE() { + public BlockEntity getTargetBlockEntity() { return level.getBlockEntity(getTargetPos()); } public BlockPos getTargetPos() { - return te.getTargetPosition(); + return blockEntity.getTargetPosition(); } public CompoundTag sourceConfig() { - return te.getSourceConfig(); + return blockEntity.getSourceConfig(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkRenderer.java index 3650b2554..71b5f9f4b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkRenderer.java @@ -3,9 +3,9 @@ package com.simibubi.create.content.logistics.block.display; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.RenderTypes; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import net.minecraft.client.renderer.LightTexture; @@ -16,14 +16,14 @@ import net.minecraft.core.Direction; import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; -public class DisplayLinkRenderer extends SafeTileEntityRenderer { +public class DisplayLinkRenderer extends SafeBlockEntityRenderer { public DisplayLinkRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(DisplayLinkTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(DisplayLinkBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - float glow = te.glow.getValue(partialTicks); + float glow = be.glow.getValue(partialTicks); if (glow < .125f) return; @@ -32,7 +32,7 @@ public class DisplayLinkRenderer extends SafeTileEntityRenderer configWidgets; - public DisplayLinkScreen(DisplayLinkTileEntity te) { + public DisplayLinkScreen(DisplayLinkBlockEntity be) { this.background = AllGuiTextures.DATA_GATHERER; - this.te = te; + this.blockEntity = be; sources = Collections.emptyList(); configWidgets = Couple.create(ModularGuiLine::new); target = null; @@ -92,9 +92,9 @@ public class DisplayLinkScreen extends AbstractSimiScreen { @Override public void tick() { super.tick(); - if (sourceState != null && sourceState.getBlock() != minecraft.level.getBlockState(te.getSourcePosition()) + if (sourceState != null && sourceState.getBlock() != minecraft.level.getBlockState(blockEntity.getSourcePosition()) .getBlock() - || targetState != null && targetState.getBlock() != minecraft.level.getBlockState(te.getTargetPosition()) + || targetState != null && targetState.getBlock() != minecraft.level.getBlockState(blockEntity.getTargetPosition()) .getBlock()) initGathererOptions(); } @@ -102,8 +102,8 @@ public class DisplayLinkScreen extends AbstractSimiScreen { @SuppressWarnings("deprecation") private void initGathererOptions() { ClientLevel level = minecraft.level; - sourceState = level.getBlockState(te.getSourcePosition()); - targetState = level.getBlockState(te.getTargetPosition()); + sourceState = level.getBlockState(blockEntity.getSourcePosition()); + targetState = level.getBlockState(blockEntity.getTargetPosition()); ItemStack asItem; int x = guiLeft; @@ -112,13 +112,13 @@ public class DisplayLinkScreen extends AbstractSimiScreen { Block sourceBlock = sourceState.getBlock(); Block targetBlock = targetState.getBlock(); - asItem = sourceBlock.getCloneItemStack(level, te.getSourcePosition(), sourceState); + asItem = sourceBlock.getCloneItemStack(level, blockEntity.getSourcePosition(), sourceState); ItemStack sourceIcon = asItem == null || asItem.isEmpty() ? FALLBACK : asItem; - asItem = targetBlock.getCloneItemStack(level, te.getTargetPosition(), targetState); + asItem = targetBlock.getCloneItemStack(level, blockEntity.getTargetPosition(), targetState); ItemStack targetIcon = asItem == null || asItem.isEmpty() ? FALLBACK : asItem; - sources = AllDisplayBehaviours.sourcesOf(level, te.getSourcePosition()); - target = AllDisplayBehaviours.targetOf(level, te.getTargetPosition()); + sources = AllDisplayBehaviours.sourcesOf(level, blockEntity.getSourcePosition()); + target = AllDisplayBehaviours.targetOf(level, blockEntity.getTargetPosition()); removeWidget(targetLineSelector); removeWidget(targetLineLabel); @@ -133,9 +133,9 @@ public class DisplayLinkScreen extends AbstractSimiScreen { sourceTypeSelector = null; if (target != null) { - DisplayTargetStats stats = target.provideStats(new DisplayLinkContext(level, te)); + DisplayTargetStats stats = target.provideStats(new DisplayLinkContext(level, blockEntity)); int rows = stats.maxRows(); - int startIndex = Math.min(te.targetLine, rows); + int startIndex = Math.min(blockEntity.targetLine, rows); targetLineLabel = new Label(x + 65, y + 109, Components.immutableEmpty()).withShadow(); targetLineLabel.text = target.getLineOptionText(startIndex); @@ -187,7 +187,7 @@ public class DisplayLinkScreen extends AbstractSimiScreen { addRenderableWidget(targetWidget); if (!sources.isEmpty()) { - int startIndex = Math.max(sources.indexOf(te.activeSource), 0); + int startIndex = Math.max(sources.indexOf(blockEntity.activeSource), 0); sourceTypeLabel = new Label(x + 65, y + 30, Components.immutableEmpty()).withShadow(); sourceTypeLabel.text = sources.get(startIndex) @@ -214,7 +214,7 @@ public class DisplayLinkScreen extends AbstractSimiScreen { private void initGathererSourceSubOptions(int i) { DisplaySource source = sources.get(i); - source.populateData(new DisplayLinkContext(te.getLevel(), te)); + source.populateData(new DisplayLinkContext(blockEntity.getLevel(), blockEntity)); if (targetLineSelector != null) targetLineSelector @@ -226,11 +226,11 @@ public class DisplayLinkScreen extends AbstractSimiScreen { s.clear(); }); - DisplayLinkContext context = new DisplayLinkContext(minecraft.level, te); + DisplayLinkContext context = new DisplayLinkContext(minecraft.level, blockEntity); configWidgets.forEachWithContext((s, first) -> source.initConfigurationWidgets(context, new ModularGuiLineBuilder(font, s, guiLeft + 60, guiTop + (first ? 51 : 72)), first)); configWidgets - .forEach(s -> s.loadValues(te.getSourceConfig(), this::addRenderableWidget, this::addRenderableOnly)); + .forEach(s -> s.loadValues(blockEntity.getSourceConfig(), this::addRenderableWidget, this::addRenderableOnly)); } @Override @@ -244,7 +244,7 @@ public class DisplayLinkScreen extends AbstractSimiScreen { configWidgets.forEach(s -> s.saveValues(sourceData)); } - AllPackets.channel.sendToServer(new DisplayLinkConfigurationPacket(te.getBlockPos(), sourceData, + AllPackets.channel.sendToServer(new DisplayLinkConfigurationPacket(blockEntity.getBlockPos(), sourceData, targetLineSelector == null ? 0 : targetLineSelector.getState())); } @@ -278,7 +278,7 @@ public class DisplayLinkScreen extends AbstractSimiScreen { .scale(40) .rotateX(-22) .rotateY(63); - GuiGameElement.of(te.getBlockState() + GuiGameElement.of(blockEntity.getBlockState() .setValue(DisplayLinkBlock.FACING, Direction.UP)) .render(ms); ms.popPose(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/AccumulatedItemCountDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/AccumulatedItemCountDisplaySource.java index 623871b58..f036d8ad3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/AccumulatedItemCountDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/AccumulatedItemCountDisplaySource.java @@ -1,8 +1,8 @@ package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; -import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.foundation.utility.Components; @@ -16,17 +16,17 @@ public class AccumulatedItemCountDisplaySource extends NumericSingleLineDisplayS .getInt("Collected"))); } - public void itemReceived(DisplayLinkTileEntity te, int amount) { - if (te.getBlockState() + public void itemReceived(DisplayLinkBlockEntity be, int amount) { + if (be.getBlockState() .getOptionalValue(DisplayLinkBlock.POWERED) .orElse(true)) return; - int collected = te.getSourceConfig() + int collected = be.getSourceConfig() .getInt("Collected"); - te.getSourceConfig() + be.getSourceConfig() .putInt("Collected", collected + amount); - te.updateGatheredData(); + be.updateGatheredData(); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/BoilerDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/BoilerDisplaySource.java index d50164f66..3739c7491 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/BoilerDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/BoilerDisplaySource.java @@ -5,12 +5,12 @@ import java.util.Optional; import java.util.stream.Stream; import com.simibubi.create.content.contraptions.fluids.tank.BoilerData; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Lang; @@ -41,7 +41,7 @@ public class BoilerDisplaySource extends DisplaySource { else if (stats.maxRows() < 4) return notEnoughSpaceDouble; - boolean isBook = context.getTargetTE() instanceof LecternBlockEntity; + boolean isBook = context.getTargetBlockEntity() instanceof LecternBlockEntity; if (isBook) { Stream componentList = getComponents(context, false).map(components -> { @@ -84,7 +84,7 @@ public class BoilerDisplaySource extends DisplaySource { } @Override - public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayBlockEntity flapDisplay, FlapDisplayLayout layout, int lineIndex) { if (lineIndex == 0 || context.flapDisplayContext instanceof Boolean b && !b) { if (layout.isLayout("Default")) @@ -107,17 +107,17 @@ public class BoilerDisplaySource extends DisplaySource { } private Stream> getComponents(DisplayLinkContext context, boolean forFlapDisplay) { - BlockEntity sourceTE = context.getSourceTE(); - if (!(sourceTE instanceof FluidTankTileEntity tankTile)) + BlockEntity sourceBE = context.getSourceBlockEntity(); + if (!(sourceBE instanceof FluidTankBlockEntity tankBlockEntity)) return Stream.of(EMPTY); - tankTile = tankTile.getControllerTE(); - if (tankTile == null) + tankBlockEntity = tankBlockEntity.getControllerBE(); + if (tankBlockEntity == null) return Stream.of(EMPTY); - BoilerData boiler = tankTile.boiler; + BoilerData boiler = tankBlockEntity.boiler; - int totalTankSize = tankTile.getTotalTankSize(); + int totalTankSize = tankBlockEntity.getTotalTankSize(); boiler.calcMinMaxForSize(totalTankSize); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/CurrentFloorDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/CurrentFloorDisplaySource.java index 32d4dde28..2468d904a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/CurrentFloorDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/CurrentFloorDisplaySource.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.logistics.block.display.source; -import com.simibubi.create.content.contraptions.components.structureMovement.elevator.ElevatorContactTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.elevator.ElevatorContactBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.foundation.utility.Components; @@ -11,7 +11,7 @@ public class CurrentFloorDisplaySource extends SingleLineDisplaySource { @Override protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { - if (!(context.getSourceTE() instanceof ElevatorContactTileEntity ecte)) + if (!(context.getSourceBlockEntity() instanceof ElevatorContactBlockEntity ecte)) return EMPTY_LINE; return Components.literal(ecte.lastReportedCurrentFloor); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/DisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/DisplaySource.java index 5b9877273..f7470e161 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/DisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/DisplaySource.java @@ -9,8 +9,8 @@ import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayBoardTarget; import com.simibubi.create.content.logistics.block.display.target.DisplayTarget; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; import com.simibubi.create.foundation.gui.ModularGuiLineBuilder; import com.simibubi.create.foundation.utility.Components; @@ -57,11 +57,11 @@ public abstract class DisplaySource extends DisplayBehaviour { return Components.translatable(id.getNamespace() + ".display_source." + getTranslationKey()); } - public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, FlapDisplayLayout layout, int lineIndex) { + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayBlockEntity flapDisplay, FlapDisplayLayout layout, int lineIndex) { loadFlapDisplayLayout(context, flapDisplay, layout); } - public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayBlockEntity flapDisplay, FlapDisplayLayout layout) { if (!layout.isLayout("Default")) layout.loadDefault(flapDisplay.getMaxCharCount()); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/EnchantPowerDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/EnchantPowerDisplaySource.java index e42a1d85f..5ea4d85bd 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/EnchantPowerDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/EnchantPowerDisplaySource.java @@ -22,7 +22,7 @@ public class EnchantPowerDisplaySource extends NumericSingleLineDisplaySource { @Override protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { - if (!(context.getSourceTE() instanceof EnchantmentTableBlockEntity enchantmentTile)) + if (!(context.getSourceBlockEntity() instanceof EnchantmentTableBlockEntity)) return ZERO.copy(); BlockPos pos = context.getSourcePos(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/FillLevelDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/FillLevelDisplaySource.java index dc6807ded..cf921bbd5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/FillLevelDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/FillLevelDisplaySource.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; -import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchTileEntity; +import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchBlockEntity; import com.simibubi.create.foundation.gui.ModularGuiLineBuilder; import com.simibubi.create.foundation.utility.Lang; @@ -13,8 +13,8 @@ public class FillLevelDisplaySource extends PercentOrProgressBarDisplaySource { @Override protected Float getProgress(DisplayLinkContext context) { - BlockEntity te = context.getSourceTE(); - if (!(te instanceof StockpileSwitchTileEntity sste)) + BlockEntity be = context.getSourceBlockEntity(); + if (!(be instanceof StockpileSwitchBlockEntity sste)) return null; return sste.currentLevel; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/FluidAmountDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/FluidAmountDisplaySource.java index a9ed75db8..9c702a7c4 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/FluidAmountDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/FluidAmountDisplaySource.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; -import com.simibubi.create.content.logistics.block.redstone.ContentObserverTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.TankManipulationBehaviour; +import com.simibubi.create.content.logistics.block.redstone.ContentObserverBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.TankManipulationBehaviour; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.FluidFormatter; @@ -17,12 +17,12 @@ public class FluidAmountDisplaySource extends SingleLineDisplaySource { @Override protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { - BlockEntity sourceTE = context.getSourceTE(); - if (!(sourceTE instanceof ContentObserverTileEntity cote)) + BlockEntity sourceBE = context.getSourceBlockEntity(); + if (!(sourceBE instanceof ContentObserverBlockEntity cobe)) return EMPTY_LINE; - TankManipulationBehaviour tankManipulationBehaviour = cote.getBehaviour(TankManipulationBehaviour.OBSERVE); - FilteringBehaviour filteringBehaviour = cote.getBehaviour(FilteringBehaviour.TYPE); + TankManipulationBehaviour tankManipulationBehaviour = cobe.getBehaviour(TankManipulationBehaviour.OBSERVE); + FilteringBehaviour filteringBehaviour = cobe.getBehaviour(FilteringBehaviour.TYPE); IFluidHandler handler = tankManipulationBehaviour.getInventory(); if (handler == null) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/FluidListDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/FluidListDisplaySource.java index fa8b725c8..7222810fc 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/FluidListDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/FluidListDisplaySource.java @@ -9,12 +9,12 @@ import java.util.stream.Stream; import org.apache.commons.lang3.mutable.MutableInt; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; -import com.simibubi.create.content.logistics.block.redstone.ContentObserverTileEntity; +import com.simibubi.create.content.logistics.block.redstone.ContentObserverBlockEntity; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.TankManipulationBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.TankManipulationBehaviour; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.FluidFormatter; @@ -31,12 +31,12 @@ public class FluidListDisplaySource extends ValueListDisplaySource { @Override protected Stream> provideEntries(DisplayLinkContext context, int maxRows) { - BlockEntity sourceTE = context.getSourceTE(); - if (!(sourceTE instanceof ContentObserverTileEntity cote)) + BlockEntity sourceBE = context.getSourceBlockEntity(); + if (!(sourceBE instanceof ContentObserverBlockEntity cobe)) return Stream.empty(); - TankManipulationBehaviour tankManipulationBehaviour = cote.getBehaviour(TankManipulationBehaviour.OBSERVE); - FilteringBehaviour filteringBehaviour = cote.getBehaviour(FilteringBehaviour.TYPE); + TankManipulationBehaviour tankManipulationBehaviour = cobe.getBehaviour(TankManipulationBehaviour.OBSERVE); + FilteringBehaviour filteringBehaviour = cobe.getBehaviour(FilteringBehaviour.TYPE); IFluidHandler handler = tankManipulationBehaviour.getInventory(); if (handler == null) @@ -78,7 +78,7 @@ public class FluidListDisplaySource extends ValueListDisplaySource { } @Override - public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, FlapDisplayLayout layout) { + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayBlockEntity flapDisplay, FlapDisplayLayout layout) { Integer max = ((MutableInt) context.flapDisplayContext).getValue(); boolean shorten = shortenNumbers(context); int length = FluidFormatter.asString(max, shorten).length(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemCountDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemCountDisplaySource.java index 599f73ca0..d54178c64 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemCountDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemCountDisplaySource.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; -import com.simibubi.create.content.logistics.block.redstone.ContentObserverTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; +import com.simibubi.create.content.logistics.block.redstone.ContentObserverBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.utility.Components; import net.minecraft.network.chat.MutableComponent; @@ -16,12 +16,12 @@ public class ItemCountDisplaySource extends NumericSingleLineDisplaySource { @Override protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { - BlockEntity sourceTE = context.getSourceTE(); - if (!(sourceTE instanceof ContentObserverTileEntity cote)) + BlockEntity sourceBE = context.getSourceBlockEntity(); + if (!(sourceBE instanceof ContentObserverBlockEntity cobe)) return ZERO.copy(); - InvManipulationBehaviour invManipulationBehaviour = cote.getBehaviour(InvManipulationBehaviour.TYPE); - FilteringBehaviour filteringBehaviour = cote.getBehaviour(FilteringBehaviour.TYPE); + InvManipulationBehaviour invManipulationBehaviour = cobe.getBehaviour(InvManipulationBehaviour.TYPE); + FilteringBehaviour filteringBehaviour = cobe.getBehaviour(FilteringBehaviour.TYPE); IItemHandler handler = invManipulationBehaviour.getInventory(); if (handler == null) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemListDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemListDisplaySource.java index 4e9768dbd..d0c436426 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemListDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemListDisplaySource.java @@ -3,10 +3,10 @@ package com.simibubi.create.content.logistics.block.display.source; import java.util.stream.Stream; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; -import com.simibubi.create.content.logistics.block.redstone.ContentObserverTileEntity; +import com.simibubi.create.content.logistics.block.redstone.ContentObserverBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.item.CountedItemStackList; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.utility.IntAttached; import net.minecraft.network.chat.MutableComponent; @@ -17,12 +17,12 @@ public class ItemListDisplaySource extends ValueListDisplaySource { @Override protected Stream> provideEntries(DisplayLinkContext context, int maxRows) { - BlockEntity sourceTE = context.getSourceTE(); - if (!(sourceTE instanceof ContentObserverTileEntity cote)) + BlockEntity sourceBE = context.getSourceBlockEntity(); + if (!(sourceBE instanceof ContentObserverBlockEntity cobe)) return Stream.empty(); - InvManipulationBehaviour invManipulationBehaviour = cote.getBehaviour(InvManipulationBehaviour.TYPE); - FilteringBehaviour filteringBehaviour = cote.getBehaviour(FilteringBehaviour.TYPE); + InvManipulationBehaviour invManipulationBehaviour = cobe.getBehaviour(InvManipulationBehaviour.TYPE); + FilteringBehaviour filteringBehaviour = cobe.getBehaviour(FilteringBehaviour.TYPE); IItemHandler handler = invManipulationBehaviour.getInventory(); if (handler == null) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemNameDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemNameDisplaySource.java index 922b0a206..7f70ce4f8 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemNameDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemNameDisplaySource.java @@ -2,12 +2,12 @@ package com.simibubi.create.content.logistics.block.display.source; import org.apache.commons.lang3.mutable.MutableObject; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; -import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -18,7 +18,7 @@ public class ItemNameDisplaySource extends SingleLineDisplaySource { @Override protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { - DisplayLinkTileEntity gatherer = context.te(); + DisplayLinkBlockEntity gatherer = context.blockEntity(); Direction direction = gatherer.getDirection(); MutableBlockPos pos = gatherer.getSourcePosition() .mutable(); @@ -27,7 +27,7 @@ public class ItemNameDisplaySource extends SingleLineDisplaySource { for (int i = 0; i < 32; i++) { TransportedItemStackHandlerBehaviour behaviour = - TileEntityBehaviour.get(context.level(), pos, TransportedItemStackHandlerBehaviour.TYPE); + BlockEntityBehaviour.get(context.level(), pos, TransportedItemStackHandlerBehaviour.TYPE); pos.move(direction); if (behaviour == null) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemThroughputDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemThroughputDisplaySource.java index 72f9300af..b1cfbe701 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemThroughputDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemThroughputDisplaySource.java @@ -1,8 +1,8 @@ package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; -import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.foundation.gui.ModularGuiLineBuilder; import com.simibubi.create.foundation.utility.Lang; @@ -30,7 +30,7 @@ public class ItemThroughputDisplaySource extends AccumulatedItemCountDisplaySour if (rate > 0) { long previousTime = conf.getLong("LastReceived"); - long gameTime = context.te() + long gameTime = context.blockEntity() .getLevel() .getGameTime(); int diff = (int) (gameTime - previousTime); @@ -47,14 +47,14 @@ public class ItemThroughputDisplaySource extends AccumulatedItemCountDisplaySour .component(); } - public void itemReceived(DisplayLinkTileEntity te, int amount) { - if (te.getBlockState() + public void itemReceived(DisplayLinkBlockEntity be, int amount) { + if (be.getBlockState() .getOptionalValue(DisplayLinkBlock.POWERED) .orElse(true)) return; - CompoundTag conf = te.getSourceConfig(); - long gameTime = te.getLevel() + CompoundTag conf = be.getSourceConfig(); + long gameTime = be.getLevel() .getGameTime(); if (!conf.contains("LastReceived")) { @@ -95,7 +95,7 @@ public class ItemThroughputDisplaySource extends AccumulatedItemCountDisplaySour conf.putLong("LastReceived", gameTime); conf.putInt("Index", poolIndex + 1); conf.put("PrevRates", rates); - te.updateGatheredData(); + be.updateGatheredData(); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/KineticSpeedDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/KineticSpeedDisplaySource.java index c9c1e7e73..943ac57d5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/KineticSpeedDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/KineticSpeedDisplaySource.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.logistics.block.display.source; -import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeTileEntity; +import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.foundation.gui.ModularGuiLineBuilder; @@ -14,12 +14,12 @@ public class KineticSpeedDisplaySource extends NumericSingleLineDisplaySource { @Override protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { - if (!(context.getSourceTE() instanceof SpeedGaugeTileEntity gaugeTile)) + if (!(context.getSourceBlockEntity() instanceof SpeedGaugeBlockEntity speedGauge)) return ZERO.copy(); boolean absoluteValue = context.sourceConfig() .getInt("Directional") == 0; - float speed = absoluteValue ? Math.abs(gaugeTile.getSpeed()) : gaugeTile.getSpeed(); + float speed = absoluteValue ? Math.abs(speedGauge.getSpeed()) : speedGauge.getSpeed(); return Lang.number(speed) .space() .translate("generic.unit.rpm") diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/KineticStressDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/KineticStressDisplaySource.java index 1a1a06185..6c48bc086 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/KineticStressDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/KineticStressDisplaySource.java @@ -1,8 +1,8 @@ package com.simibubi.create.content.logistics.block.display.source; -import com.simibubi.create.content.contraptions.relays.gauge.StressGaugeTileEntity; +import com.simibubi.create.content.contraptions.relays.gauge.StressGaugeBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; import com.simibubi.create.foundation.gui.ModularGuiLineBuilder; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.LangBuilder; @@ -19,7 +19,7 @@ public class KineticStressDisplaySource extends PercentOrProgressBarDisplaySourc if (mode == 1) return super.formatNumeric(context, currentLevel); LangBuilder builder = Lang.number(currentLevel); - if (context.getTargetTE() instanceof FlapDisplayTileEntity) + if (context.getTargetBlockEntity() instanceof FlapDisplayBlockEntity) builder.space(); return builder.translate("generic.unit.stress") .component(); @@ -32,11 +32,11 @@ public class KineticStressDisplaySource extends PercentOrProgressBarDisplaySourc @Override protected Float getProgress(DisplayLinkContext context) { - if (!(context.getSourceTE()instanceof StressGaugeTileEntity gaugeTile)) + if (!(context.getSourceBlockEntity()instanceof StressGaugeBlockEntity stressGauge)) return null; - float capacity = gaugeTile.getNetworkCapacity(); - float stress = gaugeTile.getNetworkStress(); + float capacity = stressGauge.getNetworkCapacity(); + float stress = stressGauge.getNetworkStress(); if (capacity == 0) return 0f; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/NixieTubeDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/NixieTubeDisplaySource.java index d2e0fa28c..45f75188a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/NixieTubeDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/NixieTubeDisplaySource.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.block.display.target.NixieTubeDisplayTarget; -import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity; +import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlockEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; import net.minecraft.network.chat.MutableComponent; @@ -18,11 +18,11 @@ public class NixieTubeDisplaySource extends SingleLineDisplaySource { @Override protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { - BlockEntity sourceTE = context.getSourceTE(); - if (!(sourceTE instanceof NixieTubeTileEntity nte)) + BlockEntity sourceBE = context.getSourceBlockEntity(); + if (!(sourceBE instanceof NixieTubeBlockEntity nbe)) return EMPTY_LINE; - MutableComponent text = nte.getFullText(); + MutableComponent text = nbe.getFullText(); try { String line = text.getString(); @@ -36,7 +36,7 @@ public class NixieTubeDisplaySource extends SingleLineDisplaySource { @Override protected boolean allowsLabeling(DisplayLinkContext context) { - return !(context.te().activeTarget instanceof NixieTubeDisplayTarget); + return !(context.blockEntity().activeTarget instanceof NixieTubeDisplayTarget); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ObservedTrainNameSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ObservedTrainNameSource.java index e58916197..3025a62ac 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ObservedTrainNameSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ObservedTrainNameSource.java @@ -7,7 +7,7 @@ import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.trains.entity.Train; import com.simibubi.create.content.logistics.trains.management.edgePoint.observer.TrackObserver; -import com.simibubi.create.content.logistics.trains.management.edgePoint.observer.TrackObserverTileEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.observer.TrackObserverBlockEntity; import net.minecraft.network.chat.MutableComponent; @@ -15,7 +15,7 @@ public class ObservedTrainNameSource extends SingleLineDisplaySource { @Override protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { - if (!(context.getSourceTE() instanceof TrackObserverTileEntity observerTE)) + if (!(context.getSourceBlockEntity() instanceof TrackObserverBlockEntity observerTE)) return EMPTY_LINE; TrackObserver observer = observerTE.getObserver(); if (observer == null) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/PercentOrProgressBarDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/PercentOrProgressBarDisplaySource.java index 5d1da0b7b..5028caf92 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/PercentOrProgressBarDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/PercentOrProgressBarDisplaySource.java @@ -6,8 +6,8 @@ import javax.annotation.Nullable; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; import com.simibubi.create.foundation.utility.Components; import net.minecraft.network.chat.MutableComponent; @@ -30,9 +30,9 @@ public abstract class PercentOrProgressBarDisplaySource extends NumericSingleLin int labelSize = label.isEmpty() ? 0 : label.length() + 1; int length = Math.min(stats.maxColumns() - labelSize, 128); - if (context.getTargetTE() instanceof SignBlockEntity) + if (context.getTargetBlockEntity() instanceof SignBlockEntity) length = (int) (length * 6f / 9f); - if (context.getTargetTE() instanceof FlapDisplayTileEntity) + if (context.getTargetBlockEntity() instanceof FlapDisplayBlockEntity) length = sizeForWideChars(length); int filledLength = (int) (currentLevel * length); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ScoreboardDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ScoreboardDisplaySource.java index 94947ac35..ad74dbce6 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ScoreboardDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ScoreboardDisplaySource.java @@ -19,7 +19,7 @@ public class ScoreboardDisplaySource extends ValueListDisplaySource { @Override protected Stream> provideEntries(DisplayLinkContext context, int maxRows) { - Level level = context.te() + Level level = context.blockEntity() .getLevel(); if (!(level instanceof ServerLevel sLevel)) return Stream.empty(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/SingleLineDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/SingleLineDisplaySource.java index aaa2a2942..10a47f45e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/SingleLineDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/SingleLineDisplaySource.java @@ -5,9 +5,9 @@ import java.util.List; import com.google.common.collect.ImmutableList; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; import com.simibubi.create.foundation.gui.ModularGuiLineBuilder; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Lang; @@ -71,7 +71,7 @@ public abstract class SingleLineDisplaySource extends DisplaySource { } @Override - public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayBlockEntity flapDisplay, FlapDisplayLayout layout) { String layoutKey = getFlapDisplayLayoutName(context); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/StatTrackingDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StatTrackingDisplaySource.java index 9d6b9f3f5..487fdf978 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/StatTrackingDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StatTrackingDisplaySource.java @@ -22,7 +22,7 @@ public abstract class StatTrackingDisplaySource extends ScoreboardDisplaySource @Override protected Stream> provideEntries(DisplayLinkContext context, int maxRows) { - Level level = context.te() + Level level = context.blockEntity() .getLevel(); if (!(level instanceof ServerLevel sLevel)) return Stream.empty(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/StationSummaryDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StationSummaryDisplaySource.java index 5eba86c04..e79dd2434 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/StationSummaryDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StationSummaryDisplaySource.java @@ -8,12 +8,12 @@ import java.util.List; import com.google.common.collect.ImmutableList; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; import com.simibubi.create.content.logistics.trains.management.display.GlobalTrainDisplayData; import com.simibubi.create.content.logistics.trains.management.edgePoint.station.GlobalStation; -import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationTileEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationBlockEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.gui.ModularGuiLineBuilder; import com.simibubi.create.foundation.utility.Components; @@ -91,7 +91,7 @@ public class StationSummaryDisplaySource extends DisplaySource { }); if (list.size() > 0) - context.te() + context.blockEntity() .award(AllAdvancements.DISPLAY_BOARD); int toPad = stats.maxRows() - list.size(); @@ -102,7 +102,7 @@ public class StationSummaryDisplaySource extends DisplaySource { } @Override - public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayBlockEntity flapDisplay, FlapDisplayLayout layout) { CompoundTag conf = context.sourceConfig(); int columnWidth = conf.getInt("NameColumn"); @@ -172,7 +172,7 @@ public class StationSummaryDisplaySource extends DisplaySource { if (conf.contains("Filter")) return; - if (!(context.getSourceTE() instanceof StationTileEntity stationTe)) + if (!(context.getSourceBlockEntity() instanceof StationBlockEntity stationTe)) return; GlobalStation station = stationTe.getStation(); if (station == null) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/StopWatchDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StopWatchDisplaySource.java index 250a65e5c..ed5a387e4 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/StopWatchDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StopWatchDisplaySource.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.logistics.block.display.source; -import com.simibubi.create.content.contraptions.components.clock.CuckooClockTileEntity; +import com.simibubi.create.content.contraptions.components.clock.CuckooClockBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; @@ -12,7 +12,7 @@ public class StopWatchDisplaySource extends SingleLineDisplaySource { @Override protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { - if (!(context.getSourceTE()instanceof CuckooClockTileEntity ccte)) + if (!(context.getSourceBlockEntity()instanceof CuckooClockBlockEntity ccte)) return TimeOfDayDisplaySource.EMPTY_TIME; if (ccte.getSpeed() == 0) return TimeOfDayDisplaySource.EMPTY_TIME; @@ -23,7 +23,7 @@ public class StopWatchDisplaySource extends SingleLineDisplaySource { long started = context.sourceConfig() .getLong("StartTime"); - long current = context.te() + long current = context.blockEntity() .getLevel() .getGameTime(); @@ -41,7 +41,7 @@ public class StopWatchDisplaySource extends SingleLineDisplaySource { @Override public void onSignalReset(DisplayLinkContext context) { context.sourceConfig() - .putLong("StartTime", context.te() + .putLong("StartTime", context.blockEntity() .getLevel() .getGameTime()); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/TimeOfDayDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/TimeOfDayDisplaySource.java index 2564f67ee..60c81106e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/TimeOfDayDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/TimeOfDayDisplaySource.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.Create; -import com.simibubi.create.content.contraptions.components.clock.CuckooClockTileEntity; +import com.simibubi.create.content.contraptions.components.clock.CuckooClockBlockEntity; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; @@ -22,7 +22,7 @@ public class TimeOfDayDisplaySource extends SingleLineDisplaySource { protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { if (!(context.level()instanceof ServerLevel sLevel)) return EMPTY_TIME; - if (!(context.getSourceTE() instanceof CuckooClockTileEntity ccte)) + if (!(context.getSourceBlockEntity() instanceof CuckooClockBlockEntity ccte)) return EMPTY_TIME; if (ccte.getSpeed() == 0) return EMPTY_TIME; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/TrainStatusDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/TrainStatusDisplaySource.java index cda2d9e84..7f1985ac7 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/TrainStatusDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/TrainStatusDisplaySource.java @@ -4,7 +4,7 @@ import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.trains.entity.Train; import com.simibubi.create.content.logistics.trains.management.edgePoint.station.GlobalStation; -import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationTileEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationBlockEntity; import com.simibubi.create.content.logistics.trains.management.schedule.Schedule; import com.simibubi.create.content.logistics.trains.management.schedule.ScheduleRuntime; import com.simibubi.create.content.logistics.trains.management.schedule.ScheduleRuntime.State; @@ -15,7 +15,7 @@ public class TrainStatusDisplaySource extends SingleLineDisplaySource { @Override protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { - if (!(context.getSourceTE() instanceof StationTileEntity observerTE)) + if (!(context.getSourceBlockEntity() instanceof StationBlockEntity observerTE)) return EMPTY_LINE; GlobalStation observer = observerTE.getStation(); if (observer == null) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ValueListDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ValueListDisplaySource.java index b33c98caa..982eba9cf 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/source/ValueListDisplaySource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ValueListDisplaySource.java @@ -11,9 +11,9 @@ import org.apache.commons.lang3.mutable.MutableInt; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; import com.simibubi.create.foundation.gui.ModularGuiLineBuilder; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Couple; @@ -33,7 +33,7 @@ public abstract class ValueListDisplaySource extends DisplaySource { @Override public List provideText(DisplayLinkContext context, DisplayTargetStats stats) { - boolean isBook = context.getTargetTE() instanceof LecternBlockEntity; + boolean isBook = context.getTargetBlockEntity() instanceof LecternBlockEntity; List list = provideEntries(context, stats.maxRows() * (isBook ? ENTRIES_PER_PAGE : 1)) .map(e -> createComponentsFromEntry(context, e)) @@ -104,7 +104,7 @@ public abstract class ValueListDisplaySource extends DisplaySource { } @Override - public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayBlockEntity flapDisplay, FlapDisplayLayout layout) { boolean valueFirst = valueFirst(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayBoardTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayBoardTarget.java index b12501abe..467755fb0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayBoardTarget.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayBoardTarget.java @@ -5,8 +5,8 @@ import java.util.List; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.display.source.DisplaySource; import com.simibubi.create.content.logistics.block.display.source.SingleLineDisplaySource; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.Vec3i; @@ -23,13 +23,13 @@ public class DisplayBoardTarget extends DisplayTarget { public void acceptText(int line, List text, DisplayLinkContext context) {} public void acceptFlapText(int line, List> text, DisplayLinkContext context) { - FlapDisplayTileEntity controller = getController(context); + FlapDisplayBlockEntity controller = getController(context); if (controller == null) return; if (!controller.isSpeedRequirementFulfilled()) return; - DisplaySource source = context.te().activeSource; + DisplaySource source = context.blockEntity().activeSource; List lines = controller.getLines(); for (int i = 0; i + line < lines.size(); i++) { @@ -66,34 +66,34 @@ public class DisplayBoardTarget extends DisplayTarget { @Override public boolean isReserved(int line, BlockEntity target, DisplayLinkContext context) { return super.isReserved(line, target, context) - || target instanceof FlapDisplayTileEntity fdte && fdte.manualLines.length > line && fdte.manualLines[line]; + || target instanceof FlapDisplayBlockEntity fdte && fdte.manualLines.length > line && fdte.manualLines[line]; } @Override public DisplayTargetStats provideStats(DisplayLinkContext context) { - FlapDisplayTileEntity controller = getController(context); + FlapDisplayBlockEntity controller = getController(context); if (controller == null) return new DisplayTargetStats(1, 1, this); return new DisplayTargetStats(controller.ySize * 2, controller.getMaxCharCount(), this); } - private FlapDisplayTileEntity getController(DisplayLinkContext context) { - BlockEntity teIn = context.getTargetTE(); - if (!(teIn instanceof FlapDisplayTileEntity te)) + private FlapDisplayBlockEntity getController(DisplayLinkContext context) { + BlockEntity teIn = context.getTargetBlockEntity(); + if (!(teIn instanceof FlapDisplayBlockEntity be)) return null; - return te.getController(); + return be.getController(); } @Override @OnlyIn(Dist.CLIENT) public AABB getMultiblockBounds(LevelAccessor level, BlockPos pos) { AABB baseShape = super.getMultiblockBounds(level, pos); - BlockEntity te = level.getBlockEntity(pos); + BlockEntity be = level.getBlockEntity(pos); - if (!(te instanceof FlapDisplayTileEntity fdte)) + if (!(be instanceof FlapDisplayBlockEntity fdte)) return baseShape; - FlapDisplayTileEntity controller = fdte.getController(); + FlapDisplayBlockEntity controller = fdte.getController(); if (controller == null) return baseShape; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayTarget.java index 6c1848421..dfa873544 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayTarget.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayTarget.java @@ -41,7 +41,7 @@ public abstract class DisplayTarget extends DisplayBehaviour { CompoundTag tag = target.getTileData(); CompoundTag compound = tag.getCompound("DisplayLink"); - compound.putLong("Line" + line, context.te() + compound.putLong("Line" + line, context.blockEntity() .getBlockPos() .asLong()); tag.put("DisplayLink", compound); @@ -57,7 +57,7 @@ public abstract class DisplayTarget extends DisplayBehaviour { long l = compound.getLong("Line" + line); BlockPos reserved = BlockPos.of(l); - if (!reserved.equals(context.te() + if (!reserved.equals(context.blockEntity() .getBlockPos()) && AllBlocks.DISPLAY_LINK.has(target.getLevel() .getBlockState(reserved))) return true; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/target/LecternDisplayTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/LecternDisplayTarget.java index 9e97bdbee..21954ed0a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/target/LecternDisplayTarget.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/LecternDisplayTarget.java @@ -20,8 +20,8 @@ public class LecternDisplayTarget extends DisplayTarget { @Override public void acceptText(int line, List text, DisplayLinkContext context) { - BlockEntity te = context.getTargetTE(); - if (!(te instanceof LecternBlockEntity lectern)) + BlockEntity be = context.getTargetBlockEntity(); + if (!(be instanceof LecternBlockEntity lectern)) return; ItemStack book = lectern.getBook(); if (book.isEmpty()) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/target/NixieTubeDisplayTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/NixieTubeDisplayTarget.java index 2a0857682..7e186846a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/target/NixieTubeDisplayTarget.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/NixieTubeDisplayTarget.java @@ -5,7 +5,7 @@ import org.apache.commons.lang3.mutable.MutableObject; import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlock; -import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity; +import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; @@ -25,7 +25,7 @@ public class NixieTubeDisplayTarget extends SingleLineDisplayTarget { NixieTubeBlock.walkNixies(context.level(), context.getTargetPos(), (currentPos, rowPosition) -> { BlockEntity blockEntity = context.level() .getBlockEntity(currentPos); - if (blockEntity instanceof NixieTubeTileEntity nixie) + if (blockEntity instanceof NixieTubeBlockEntity nixie) nixie.displayCustomText(tagElement, rowPosition); }); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/target/SignDisplayTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/SignDisplayTarget.java index 031f4fe0f..be2fd6c56 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/target/SignDisplayTarget.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/SignDisplayTarget.java @@ -12,8 +12,8 @@ public class SignDisplayTarget extends DisplayTarget { @Override public void acceptText(int line, List text, DisplayLinkContext context) { - BlockEntity te = context.getTargetTE(); - if (!(te instanceof SignBlockEntity sign)) + BlockEntity be = context.getTargetBlockEntity(); + if (!(be instanceof SignBlockEntity sign)) return; boolean changed = false; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/AbstractFunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/AbstractFunnelBlock.java index 3468dd507..67ca0ea42 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/AbstractFunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/AbstractFunnelBlock.java @@ -5,13 +5,13 @@ import java.util.function.Consumer; import javax.annotation.Nullable; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.render.ReducedDestroyEffects; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -33,7 +33,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.IBlockRenderProperties; -public abstract class AbstractFunnelBlock extends Block implements ITE, IWrenchable { +public abstract class AbstractFunnelBlock extends Block implements IBE, IWrenchable { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; @@ -68,7 +68,7 @@ public abstract class AbstractFunnelBlock extends Block implements ITE getTileEntityClass() { - return FunnelTileEntity.class; + public Class getBlockEntityClass() { + return FunnelBlockEntity.class; } - public BlockEntityType getTileEntityType() { - return AllTileEntities.FUNNEL.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.FUNNEL.get(); }; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/BeltFunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/BeltFunnelBlock.java index fcaafeae9..34015c6b3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/BeltFunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/BeltFunnelBlock.java @@ -7,8 +7,8 @@ import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.VoxelShaper; import com.tterrag.registrate.util.entry.BlockEntry; @@ -150,7 +150,7 @@ public class BeltFunnelBlock extends AbstractHorizontalFunnelBlock implements IS if ((stateBelow.getBlock() instanceof BeltBlock)) return BeltBlock.canTransportObjects(stateBelow); DirectBeltInputBehaviour directBeltInputBehaviour = - TileEntityBehaviour.get(world, pos.below(), DirectBeltInputBehaviour.TYPE); + BlockEntityBehaviour.get(world, pos.below(), DirectBeltInputBehaviour.TYPE); if (directBeltInputBehaviour == null) return false; return directBeltInputBehaviour.canSupportBeltFunnels(); @@ -196,8 +196,8 @@ public class BeltFunnelBlock extends AbstractHorizontalFunnelBlock implements IS } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { - return ItemRequirement.of(parent.getDefaultState(), te); + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { + return ItemRequirement.of(parent.getDefaultState(), be); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java index 930da5e2d..36c7a2575 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java @@ -82,7 +82,7 @@ public abstract class FunnelBlock extends AbstractDirectionalFunnelBlock { if (hit.getDirection() == getFunnelFacing(state) && !shouldntInsertItem) { if (!worldIn.isClientSide) - withTileEntityDo(worldIn, pos, te -> { + withBlockEntityDo(worldIn, pos, be -> { ItemStack toInsert = heldItem.copy(); ItemStack remainder = tryInsert(worldIn, pos, toInsert, false); if (!ItemStack.matches(remainder, toInsert)) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlockEntity.java similarity index 91% rename from src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlockEntity.java index b48342493..b13a3c57b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlockEntity.java @@ -7,19 +7,19 @@ import com.jozufozu.flywheel.backend.instancing.InstancedRenderDispatcher; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.content.contraptions.goggles.IHaveHoveringInformation; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; 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.transport.TransportedItemStack; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock.Shape; import com.simibubi.create.content.logistics.packet.FunnelFlapPacket; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.utility.BlockFace; import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.animation.LerpedFloat; @@ -38,7 +38,7 @@ import net.minecraft.world.phys.Vec3; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.fml.DistExecutor; -public class FunnelTileEntity extends SmartTileEntity implements IHaveHoveringInformation { +public class FunnelBlockEntity extends SmartBlockEntity implements IHaveHoveringInformation { private FilteringBehaviour filtering; private InvManipulationBehaviour invManipulation; @@ -52,7 +52,7 @@ public class FunnelTileEntity extends SmartTileEntity implements IHaveHoveringIn INVALID, PAUSED, COLLECT, PUSHING_TO_BELT, TAKING_FROM_BELT, EXTRACT } - public FunnelTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public FunnelBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); extractionCooldown = 0; flap = createChasingFlap(); @@ -72,7 +72,7 @@ public class FunnelTileEntity extends SmartTileEntity implements IHaveHoveringIn if (shape == Shape.PUSHING) return Mode.PUSHING_TO_BELT; - BeltTileEntity belt = BeltHelper.getSegmentTE(level, worldPosition.below()); + BeltBlockEntity belt = BeltHelper.getSegmentBE(level, worldPosition.below()); if (belt != null) return belt.getMovementFacing() == state.getValue(BeltFunnelBlock.HORIZONTAL_FACING) ? Mode.PUSHING_TO_BELT : Mode.TAKING_FROM_BELT; @@ -191,7 +191,7 @@ public class FunnelTileEntity extends SmartTileEntity implements IHaveHoveringIn BlockState blockState = getBlockState(); Direction facing = blockState.getValue(BeltFunnelBlock.HORIZONTAL_FACING); DirectBeltInputBehaviour inputBehaviour = - TileEntityBehaviour.get(level, worldPosition.below(), DirectBeltInputBehaviour.TYPE); + BlockEntityBehaviour.get(level, worldPosition.below(), DirectBeltInputBehaviour.TYPE); if (inputBehaviour == null) return; @@ -223,7 +223,7 @@ public class FunnelTileEntity extends SmartTileEntity implements IHaveHoveringIn } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { invManipulation = new InvManipulationBehaviour(this, (w, p, s) -> new BlockFace(p, AbstractFunnelBlock.getFunnelFacing(s) .getOpposite())); @@ -247,7 +247,7 @@ public class FunnelTileEntity extends SmartTileEntity implements IHaveHoveringIn if (shape == Shape.PUSHING) beltFunnelsupportsAmount = true; else - beltFunnelsupportsAmount = BeltHelper.getSegmentTE(level, worldPosition.below()) != null; + beltFunnelsupportsAmount = BeltHelper.getSegmentBE(level, worldPosition.below()) != null; } boolean extractor = blockState.getBlock() instanceof FunnelBlock && blockState.getValue(FunnelBlock.EXTRACTING); return beltFunnelsupportsAmount || extractor; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelFilterSlotPositioning.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelFilterSlotPositioning.java index 2188665cb..0e0374502 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelFilterSlotPositioning.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelFilterSlotPositioning.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.logistics.block.funnel; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock.Shape; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.VecHelper; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelInstance.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelInstance.java index 24e44245e..2c44dd6bd 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelInstance.java @@ -16,20 +16,20 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.core.Direction; import net.minecraft.world.level.LightLayer; -public class FunnelInstance extends BlockEntityInstance implements DynamicInstance { +public class FunnelInstance extends BlockEntityInstance implements DynamicInstance { private final ArrayList flaps; - public FunnelInstance(MaterialManager modelManager, FunnelTileEntity tile) { - super(modelManager, tile); + public FunnelInstance(MaterialManager materialManager, FunnelBlockEntity blockEntity) { + super(materialManager, blockEntity); flaps = new ArrayList<>(4); - if (!tile.hasFlap()) return; + if (!blockEntity.hasFlap()) return; PartialModel flapPartial = (blockState.getBlock() instanceof FunnelBlock ? AllBlockPartials.FUNNEL_FLAP : AllBlockPartials.BELT_FUNNEL_FLAP); - Instancer model = modelManager.defaultSolid() + Instancer model = materialManager.defaultSolid() .material(AllMaterialSpecs.FLAPS) .getModel(flapPartial, blockState); @@ -38,7 +38,7 @@ public class FunnelInstance extends BlockEntityInstance implem Direction direction = FunnelBlock.getFunnelFacing(blockState); - float flapness = tile.flap.getValue(AnimationTickHolder.getPartialTicks()); + float flapness = blockEntity.flap.getValue(AnimationTickHolder.getPartialTicks()); float horizontalAngle = direction.getOpposite().toYRot(); for (int segment = 0; segment <= 3; segment++) { @@ -48,7 +48,7 @@ public class FunnelInstance extends BlockEntityInstance implem FlapData key = model.createInstance(); key.setPosition(getInstancePosition()) - .setSegmentOffset(segmentOffset, 0, -tile.getFlapOffset()) + .setSegmentOffset(segmentOffset, 0, -blockEntity.getFlapOffset()) .setBlockLight(blockLight) .setSkyLight(skyLight) .setHorizontalAngle(horizontalAngle) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelMovementBehaviour.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelMovementBehaviour.java index 5928c0403..b5310d09d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelMovementBehaviour.java @@ -73,7 +73,7 @@ public class FunnelMovementBehaviour implements MovementBehaviour { return; ItemStack filter = getFilter(context); - int filterAmount = context.tileData.getInt("FilterAmount"); + int filterAmount = context.blockEntityData.getInt("FilterAmount"); if (filterAmount <= 0) filterAmount = hasFilter ? AllConfigs.SERVER.logistics.defaultExtractionLimit.get() : 1; @@ -119,12 +119,12 @@ public class FunnelMovementBehaviour implements MovementBehaviour { } @Override - public boolean renderAsNormalTileEntity() { + public boolean renderAsNormalBlockEntity() { return true; } private ItemStack getFilter(MovementContext context) { - return hasFilter ? ItemStack.of(context.tileData.getCompound("Filter")) : ItemStack.EMPTY; + return hasFilter ? ItemStack.of(context.blockEntityData.getCompound("Filter")) : ItemStack.EMPTY; } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelRenderer.java index 1e62bf553..043af7472 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelRenderer.java @@ -6,9 +6,9 @@ import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -19,21 +19,21 @@ import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class FunnelRenderer extends SmartTileEntityRenderer { +public class FunnelRenderer extends SmartBlockEntityRenderer { public FunnelRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(FunnelTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(FunnelBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); - if (!te.hasFlap() || Backend.canUseInstancing(te.getLevel())) + if (!be.hasFlap() || Backend.canUseInstancing(be.getLevel())) return; - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); VertexConsumer vb = buffer.getBuffer(RenderType.solid()); PartialModel partialModel = (blockState.getBlock() instanceof FunnelBlock ? AllBlockPartials.FUNNEL_FLAP : AllBlockPartials.BELT_FUNNEL_FLAP); @@ -43,13 +43,13 @@ public class FunnelRenderer extends SmartTileEntityRenderer { float horizontalAngle = AngleHelper.horizontalAngle(FunnelBlock.getFunnelFacing(blockState) .getOpposite()); - float f = te.flap.getValue(partialTicks); + float f = be.flap.getValue(partialTicks); ms.pushPose(); msr.centre() .rotateY(horizontalAngle) .unCentre(); - ms.translate(0, 0, -te.getFlapOffset()); + ms.translate(0, 0, -be.getFlapOffset()); for (int segment = 0; segment <= 3; segment++) { ms.pushPose(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CrateBlockEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/inventories/CrateBlockEntity.java new file mode 100644 index 000000000..b6910a09a --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/block/inventories/CrateBlockEntity.java @@ -0,0 +1,21 @@ +package com.simibubi.create.content.logistics.block.inventories; + +import java.util.List; + +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public abstract class CrateBlockEntity extends SmartBlockEntity { + + public CrateBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + public void addBehaviours(List behaviours) {} + +} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CrateTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/inventories/CrateTileEntity.java deleted file mode 100644 index 44ce5ca60..000000000 --- a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CrateTileEntity.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.simibubi.create.content.logistics.block.inventories; - -import java.util.List; - -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; - -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.block.state.BlockState; - -public abstract class CrateTileEntity extends SmartTileEntity { - - public CrateTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { - super(type, pos, state); - } - - @Override - public void addBehaviours(List behaviours) {} - -} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateBlock.java index df3ca8171..dd290a980 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateBlock.java @@ -1,23 +1,23 @@ package com.simibubi.create.content.logistics.block.inventories; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.world.level.block.entity.BlockEntityType; -public class CreativeCrateBlock extends CrateBlock implements ITE { +public class CreativeCrateBlock extends CrateBlock implements IBE { public CreativeCrateBlock(Properties p_i48415_1_) { super(p_i48415_1_); } @Override - public Class getTileEntityClass() { - return CreativeCrateTileEntity.class; + public Class getBlockEntityClass() { + return CreativeCrateBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CREATIVE_CRATE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CREATIVE_CRATE.get(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateBlockEntity.java similarity index 78% rename from src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateBlockEntity.java index d2c2c8e47..38650b179 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateBlockEntity.java @@ -4,9 +4,9 @@ import java.util.List; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -18,9 +18,9 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; -public class CreativeCrateTileEntity extends CrateTileEntity { +public class CreativeCrateBlockEntity extends CrateBlockEntity { - public CreativeCrateTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public CreativeCrateBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); inv = new BottomlessItemHandler(filtering::getFilter); itemHandler = LazyOptional.of(() -> inv); @@ -31,7 +31,7 @@ public class CreativeCrateTileEntity extends CrateTileEntity { private BottomlessItemHandler inv; @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(filtering = createFilter()); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/AllArmInteractionPointTypes.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/AllArmInteractionPointTypes.java index 13f92d435..de31c9c6e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/AllArmInteractionPointTypes.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/AllArmInteractionPointTypes.java @@ -9,27 +9,27 @@ import org.apache.commons.lang3.mutable.MutableBoolean; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterBlock; -import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity; +import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterBlockEntity; import com.simibubi.create.content.contraptions.components.deployer.DeployerBlock; import com.simibubi.create.content.contraptions.components.saw.SawBlock; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; import com.simibubi.create.content.logistics.block.chute.AbstractChuteBlock; import com.simibubi.create.content.logistics.block.funnel.AbstractFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock.Shape; import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; -import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity; +import com.simibubi.create.content.logistics.block.funnel.FunnelBlockEntity; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.item.SmartInventory; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; @@ -262,7 +262,7 @@ public class AllArmInteractionPointTypes { @Override public boolean canCreatePoint(Level level, BlockPos pos, BlockState state) { return AllBlocks.MECHANICAL_SAW.has(state) && state.getValue(SawBlock.FACING) == Direction.UP - && ((KineticTileEntity) level.getBlockEntity(pos)).getSpeed() != 0; + && ((KineticBlockEntity) level.getBlockEntity(pos)).getSpeed() != 0; } @Override @@ -377,11 +377,11 @@ public class AllArmInteractionPointTypes { @Override public void keepAlive() { super.keepAlive(); - BeltTileEntity beltTE = BeltHelper.getSegmentTE(level, pos); - if (beltTE == null) + BeltBlockEntity beltBE = BeltHelper.getSegmentBE(level, pos); + if (beltBE == null) return; TransportedItemStackHandlerBehaviour transport = - beltTE.getBehaviour(TransportedItemStackHandlerBehaviour.TYPE); + beltBE.getBehaviour(TransportedItemStackHandlerBehaviour.TYPE); if (transport == null) return; MutableBoolean found = new MutableBoolean(false); @@ -444,10 +444,10 @@ public class AllArmInteractionPointTypes { @Override public ItemStack extract(int slot, int amount, boolean simulate) { - BlockEntity te = level.getBlockEntity(pos); - if (!(te instanceof MechanicalCrafterTileEntity)) + BlockEntity be = level.getBlockEntity(pos); + if (!(be instanceof MechanicalCrafterBlockEntity)) return ItemStack.EMPTY; - MechanicalCrafterTileEntity crafter = (MechanicalCrafterTileEntity) te; + MechanicalCrafterBlockEntity crafter = (MechanicalCrafterBlockEntity) be; SmartInventory inventory = crafter.getInventory(); inventory.allowExtraction(); ItemStack extract = super.extract(slot, amount, simulate); @@ -525,8 +525,8 @@ public class AllArmInteractionPointTypes { @Override public ItemStack insert(ItemStack stack, boolean simulate) { - FilteringBehaviour filtering = TileEntityBehaviour.get(level, pos, FilteringBehaviour.TYPE); - InvManipulationBehaviour inserter = TileEntityBehaviour.get(level, pos, InvManipulationBehaviour.TYPE); + FilteringBehaviour filtering = BlockEntityBehaviour.get(level, pos, FilteringBehaviour.TYPE); + InvManipulationBehaviour inserter = BlockEntityBehaviour.get(level, pos, InvManipulationBehaviour.TYPE); if (cachedState.getOptionalValue(BlockStateProperties.POWERED) .orElse(false)) return stack; @@ -538,12 +538,12 @@ public class AllArmInteractionPointTypes { inserter.simulate(); ItemStack insert = inserter.insert(stack); if (!simulate && insert.getCount() != stack.getCount()) { - BlockEntity tileEntity = level.getBlockEntity(pos); - if (tileEntity instanceof FunnelTileEntity) { - FunnelTileEntity funnelTileEntity = (FunnelTileEntity) tileEntity; - funnelTileEntity.onTransfer(stack); - if (funnelTileEntity.hasFlap()) - funnelTileEntity.flap(true); + BlockEntity blockEntity = level.getBlockEntity(pos); + if (blockEntity instanceof FunnelBlockEntity) { + FunnelBlockEntity funnelBlockEntity = (FunnelBlockEntity) blockEntity; + funnelBlockEntity.onTransfer(stack); + if (funnelBlockEntity.hasFlap()) + funnelBlockEntity.flap(true); } } return insert; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmBlock.java index 099575a5a..b9d47307e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmBlock.java @@ -2,12 +2,12 @@ package com.simibubi.create.content.logistics.block.mechanicalArm; import org.apache.commons.lang3.mutable.MutableBoolean; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.KineticBlock; import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; -import com.simibubi.create.content.logistics.block.mechanicalArm.ArmTileEntity.Phase; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.content.logistics.block.mechanicalArm.ArmBlockEntity.Phase; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -28,7 +28,7 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class ArmBlock extends KineticBlock implements ITE, ICogWheel { +public class ArmBlock extends KineticBlock implements IBE, ICogWheel { public static final BooleanProperty CEILING = BooleanProperty.create("ceiling"); @@ -56,13 +56,13 @@ public class ArmBlock extends KineticBlock implements ITE, ICogWh @Override public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean isMoving) { super.onPlace(state, world, pos, oldState, isMoving); - withTileEntityDo(world, pos, ArmTileEntity::redstoneUpdate); + withBlockEntityDo(world, pos, ArmBlockEntity::redstoneUpdate); } @Override public void neighborChanged(BlockState state, Level world, BlockPos pos, Block p_220069_4_, BlockPos p_220069_5_, boolean p_220069_6_) { - withTileEntityDo(world, pos, ArmTileEntity::redstoneUpdate); + withBlockEntityDo(world, pos, ArmBlockEntity::redstoneUpdate); } @Override @@ -71,30 +71,30 @@ public class ArmBlock extends KineticBlock implements ITE, ICogWh } @Override - public Class getTileEntityClass() { - return ArmTileEntity.class; + public Class getBlockEntityClass() { + return ArmBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.MECHANICAL_ARM.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.MECHANICAL_ARM.get(); } @Override public InteractionResult use(BlockState p_225533_1_, Level world, BlockPos pos, Player player, InteractionHand p_225533_5_, BlockHitResult p_225533_6_) { MutableBoolean success = new MutableBoolean(false); - withTileEntityDo(world, pos, te -> { - if (te.heldItem.isEmpty()) + withBlockEntityDo(world, pos, be -> { + if (be.heldItem.isEmpty()) return; success.setTrue(); if (world.isClientSide) return; - player.getInventory().placeItemBackInInventory(te.heldItem); - te.heldItem = ItemStack.EMPTY; - te.phase = Phase.SEARCH_INPUTS; - te.setChanged(); - te.sendData(); + player.getInventory().placeItemBackInInventory(be.heldItem); + be.heldItem = ItemStack.EMPTY; + be.phase = Phase.SEARCH_INPUTS; + be.setChanged(); + be.sendData(); }); return success.booleanValue() ? InteractionResult.SUCCESS : InteractionResult.PASS; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmBlockEntity.java similarity index 96% rename from src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmBlockEntity.java index 872ba0ff7..9a74f833e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmBlockEntity.java @@ -6,19 +6,19 @@ import java.util.List; import javax.annotation.Nullable; import com.simibubi.create.Create; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.ITransformableTE; import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; import com.simibubi.create.content.logistics.block.mechanicalArm.AllArmInteractionPointTypes.JukeboxPoint; import com.simibubi.create.content.logistics.block.mechanicalArm.ArmInteractionPoint.Mode; import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.CenteredSideValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.INamedIconOptions; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.gui.AllIcons; import com.simibubi.create.foundation.item.TooltipHelper; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIconOptions; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.NBTHelper; @@ -45,7 +45,7 @@ import net.minecraft.world.level.chunk.ChunkSource; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -public class ArmTileEntity extends KineticTileEntity implements ITransformableTE { +public class ArmBlockEntity extends KineticBlockEntity implements ITransformableTE { // Server List inputs; @@ -78,7 +78,7 @@ public class ArmTileEntity extends KineticTileEntity implements ITransformableTE SEARCH_INPUTS, MOVE_TO_INPUT, SEARCH_OUTPUTS, MOVE_TO_OUTPUT, DANCING } - public ArmTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + public ArmBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { super(typeIn, pos, state); inputs = new ArrayList<>(); outputs = new ArrayList<>(); @@ -101,7 +101,7 @@ public class ArmTileEntity extends KineticTileEntity implements ITransformableTE } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); selectionMode = new ScrollOptionBehaviour(SelectionMode.class, diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInstance.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInstance.java index ab27c8f6a..7087b2684 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInstance.java @@ -34,7 +34,7 @@ public class ArmInstance extends SingleRotatingInstance implements DynamicInstan private final ArrayList clawGrips; private final ArrayList models; - private final ArmTileEntity arm; + private final ArmBlockEntity arm; private final Boolean ceiling; private boolean firstRender = true; @@ -44,8 +44,8 @@ public class ArmInstance extends SingleRotatingInstance implements DynamicInstan private float upperArmAngle = Float.NaN; private float headAngle = Float.NaN; - public ArmInstance(MaterialManager modelManager, ArmTileEntity tile) { - super(modelManager, tile); + public ArmInstance(MaterialManager materialManager, ArmBlockEntity blockEntity) { + super(materialManager, blockEntity); Material mat = getTransformMaterial(); @@ -66,7 +66,7 @@ public class ArmInstance extends SingleRotatingInstance implements DynamicInstan clawGrips = Lists.newArrayList(clawGrip1, clawGrip2); models = Lists.newArrayList(base, lowerBody, upperBody, head, claw, clawGrip1, clawGrip2); - arm = tile; + arm = blockEntity; ceiling = blockState.getValue(ArmBlock.CEILING); animateArm(false); @@ -74,7 +74,7 @@ public class ArmInstance extends SingleRotatingInstance implements DynamicInstan @Override public void beginFrame() { - if (arm.phase == ArmTileEntity.Phase.DANCING && blockEntity.getSpeed() != 0) { + if (arm.phase == ArmBlockEntity.Phase.DANCING && blockEntity.getSpeed() != 0) { animateArm(true); firstRender = true; return; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPoint.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPoint.java index e4a129ded..0f30dd1ad 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPoint.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPoint.java @@ -93,10 +93,10 @@ public class ArmInteractionPoint { @Nullable protected IItemHandler getHandler() { if (!cachedHandler.isPresent()) { - BlockEntity te = level.getBlockEntity(pos); - if (te == null) + BlockEntity be = level.getBlockEntity(pos); + if (be == null) return null; - cachedHandler = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.UP); + cachedHandler = be.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.UP); } return cachedHandler.orElse(null); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPointHandler.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPointHandler.java index 91e6724d5..cd2f2ac6a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPointHandler.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPointHandler.java @@ -96,7 +96,7 @@ public class ArmInteractionPointHandler { for (Iterator iterator = currentSelection.iterator(); iterator.hasNext();) { ArmInteractionPoint point = iterator.next(); if (point.getPos() - .closerThan(pos, ArmTileEntity.getRange())) + .closerThan(pos, ArmBlockEntity.getRange())) continue; iterator.remove(); removed++; @@ -163,8 +163,8 @@ public class ArmInteractionPointHandler { BlockHitResult result = (BlockHitResult) objectMouseOver; BlockPos pos = result.getBlockPos(); - BlockEntity te = Minecraft.getInstance().level.getBlockEntity(pos); - if (!(te instanceof ArmTileEntity)) { + BlockEntity be = Minecraft.getInstance().level.getBlockEntity(pos); + if (!(be instanceof ArmBlockEntity)) { lastBlockPos = -1; currentSelection.clear(); return; @@ -172,7 +172,7 @@ public class ArmInteractionPointHandler { if (lastBlockPos == -1 || lastBlockPos != pos.asLong()) { currentSelection.clear(); - ArmTileEntity arm = (ArmTileEntity) te; + ArmBlockEntity arm = (ArmBlockEntity) be; arm.inputs.forEach(ArmInteractionPointHandler::put); arm.outputs.forEach(ArmInteractionPointHandler::put); lastBlockPos = pos.asLong(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmPlacementPacket.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmPlacementPacket.java index afa3229be..1d21886a8 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmPlacementPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmPlacementPacket.java @@ -55,11 +55,11 @@ public class ArmPlacementPacket extends SimplePacketBase { Level world = player.level; if (world == null || !world.isLoaded(pos)) return; - BlockEntity tileEntity = world.getBlockEntity(pos); - if (!(tileEntity instanceof ArmTileEntity)) + BlockEntity blockEntity = world.getBlockEntity(pos); + if (!(blockEntity instanceof ArmBlockEntity)) return; - ArmTileEntity arm = (ArmTileEntity) tileEntity; + ArmBlockEntity arm = (ArmBlockEntity) blockEntity; arm.interactionPointTag = receivedTag; }); context.get() diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmRenderer.java index 1baec6fdc..8fb0060a9 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmRenderer.java @@ -5,9 +5,9 @@ import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; -import com.simibubi.create.content.logistics.block.mechanicalArm.ArmTileEntity.Phase; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.logistics.block.mechanicalArm.ArmBlockEntity.Phase; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -25,21 +25,21 @@ import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; -public class ArmRenderer extends KineticTileEntityRenderer { +public class ArmRenderer extends KineticBlockEntityRenderer { public ArmRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float pt, PoseStack ms, MultiBufferSource buffer, int light, + protected void renderSafe(KineticBlockEntity be, float pt, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, pt, ms, buffer, light, overlay); + super.renderSafe(be, pt, ms, buffer, light, overlay); - ArmTileEntity arm = (ArmTileEntity) te; + ArmBlockEntity arm = (ArmBlockEntity) be; ItemStack item = arm.heldItem; boolean hasItem = !item.isEmpty(); - boolean usingFlywheel = Backend.canUseInstancing(te.getLevel()); + boolean usingFlywheel = Backend.canUseInstancing(be.getLevel()); if (usingFlywheel && !hasItem) return; @@ -48,11 +48,11 @@ public class ArmRenderer extends KineticTileEntityRenderer { .getItemRenderer(); boolean isBlockItem = - hasItem && (item.getItem() instanceof BlockItem) && itemRenderer.getModel(item, te.getLevel(), null, 0) + hasItem && (item.getItem() instanceof BlockItem) && itemRenderer.getModel(item, be.getLevel(), null, 0) .isGui3d(); VertexConsumer builder = buffer.getBuffer(RenderType.solid()); - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); PoseStack msLocal = new PoseStack(); TransformStack msr = TransformStack.cast(msLocal); @@ -63,9 +63,9 @@ public class ArmRenderer extends KineticTileEntityRenderer { float headAngle; int color; - boolean rave = arm.phase == Phase.DANCING && te.getSpeed() != 0; + boolean rave = arm.phase == Phase.DANCING && be.getSpeed() != 0; if (rave) { - float renderTick = AnimationTickHolder.getRenderTime(te.getLevel()) + (te.hashCode() % 64); + float renderTick = AnimationTickHolder.getRenderTime(be.getLevel()) + (be.hashCode() % 64); baseAngle = (renderTick * 10) % 360; lowerArmAngle = Mth.lerp((Mth.sin(renderTick / 4) + 1) / 2, -45, 15); upperArmAngle = Mth.lerp((Mth.sin(renderTick / 8) + 1) / 4, -45, 95); @@ -197,12 +197,12 @@ public class ArmRenderer extends KineticTileEntityRenderer { } @Override - public boolean shouldRenderOffScreen(KineticTileEntity te) { + public boolean shouldRenderOffScreen(KineticBlockEntity be) { return true; } @Override - protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be, BlockState state) { return CachedBufferer.partial(AllBlockPartials.ARM_COG, state); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlock.java index ca7641fff..8f99490ed 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlock.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.logistics.block.redstone; import java.util.Random; import com.mojang.math.Vector3f; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -30,7 +30,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class AnalogLeverBlock extends FaceAttachedHorizontalDirectionalBlock implements ITE { +public class AnalogLeverBlock extends FaceAttachedHorizontalDirectionalBlock implements IBE { public AnalogLeverBlock(Properties p_i48402_1_) { super(p_i48402_1_); @@ -44,10 +44,10 @@ public class AnalogLeverBlock extends FaceAttachedHorizontalDirectionalBlock imp return InteractionResult.SUCCESS; } - return onTileEntityUse(worldIn, pos, te -> { + return onBlockEntityUse(worldIn, pos, be -> { boolean sneak = player.isShiftKeyDown(); - te.changeState(sneak); - float f = .25f + ((te.state + 5) / 15f) * .5f; + be.changeState(sneak); + float f = .25f + ((be.state + 5) / 15f) * .5f; worldIn.playSound(null, pos, SoundEvents.LEVER_CLICK, SoundSource.BLOCKS, 0.2F, f); return InteractionResult.SUCCESS; }); @@ -55,7 +55,7 @@ public class AnalogLeverBlock extends FaceAttachedHorizontalDirectionalBlock imp @Override public int getSignal(BlockState blockState, BlockGetter blockAccess, BlockPos pos, Direction side) { - return getTileEntityOptional(blockAccess, pos).map(al -> al.state) + return getBlockEntityOptional(blockAccess, pos).map(al -> al.state) .orElse(0); } @@ -72,8 +72,8 @@ public class AnalogLeverBlock extends FaceAttachedHorizontalDirectionalBlock imp @Override @OnlyIn(Dist.CLIENT) public void animateTick(BlockState stateIn, Level worldIn, BlockPos pos, Random rand) { - withTileEntityDo(worldIn, pos, te -> { - if (te.state != 0 && rand.nextFloat() < 0.25F) + withBlockEntityDo(worldIn, pos, be -> { + if (be.state != 0 && rand.nextFloat() < 0.25F) addParticles(stateIn, worldIn, pos, 0.5F); }); } @@ -82,8 +82,8 @@ public class AnalogLeverBlock extends FaceAttachedHorizontalDirectionalBlock imp public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { if (isMoving || state.getBlock() == newState.getBlock()) return; - withTileEntityDo(worldIn, pos, te -> { - if (te.state != 0) + withBlockEntityDo(worldIn, pos, be -> { + if (be.state != 0) updateNeighbors(state, worldIn, pos); worldIn.removeBlockEntity(pos); }); @@ -120,13 +120,13 @@ public class AnalogLeverBlock extends FaceAttachedHorizontalDirectionalBlock imp } @Override - public Class getTileEntityClass() { - return AnalogLeverTileEntity.class; + public Class getBlockEntityClass() { + return AnalogLeverBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.ANALOG_LEVER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ANALOG_LEVER.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlockEntity.java similarity index 83% rename from src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlockEntity.java index d7bd93f53..50d505a4b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlockEntity.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.logistics.block.redstone; import java.util.List; import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; @@ -16,13 +16,13 @@ import net.minecraft.util.Mth; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class AnalogLeverTileEntity extends SmartTileEntity implements IHaveGoggleInformation { +public class AnalogLeverBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { int state = 0; int lastChange; LerpedFloat clientState; - public AnalogLeverTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public AnalogLeverBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); clientState = LerpedFloat.linear(); } @@ -65,7 +65,7 @@ public class AnalogLeverTileEntity extends SmartTileEntity implements IHaveGoggl } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { } public void changeState(boolean back) { diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverInstance.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverInstance.java index 86a77af8b..2b5c465d7 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverInstance.java @@ -15,7 +15,7 @@ import com.simibubi.create.foundation.utility.Color; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.properties.AttachFace; -public class AnalogLeverInstance extends BlockEntityInstance implements DynamicInstance { +public class AnalogLeverInstance extends BlockEntityInstance implements DynamicInstance { protected final ModelData handle; protected final ModelData indicator; @@ -23,8 +23,8 @@ public class AnalogLeverInstance extends BlockEntityInstance mat = getTransformMaterial(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverRenderer.java index 8fb88fd82..403ac97ce 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverRenderer.java @@ -4,9 +4,9 @@ import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Color; @@ -17,19 +17,19 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.AttachFace; -public class AnalogLeverRenderer extends SafeTileEntityRenderer { +public class AnalogLeverRenderer extends SafeBlockEntityRenderer { public AnalogLeverRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(AnalogLeverTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(AnalogLeverBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - BlockState leverState = te.getBlockState(); - float state = te.clientState.getValue(partialTicks); + BlockState leverState = be.getBlockState(); + float state = be.clientState.getValue(partialTicks); VertexConsumer vb = buffer.getBuffer(RenderType.solid()); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/ContentObserverBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/ContentObserverBlock.java index 61ff5c7fe..82148aa67 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/ContentObserverBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/ContentObserverBlock.java @@ -2,17 +2,17 @@ package com.simibubi.create.content.logistics.block.redstone; import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity; -import com.simibubi.create.foundation.block.ITE; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; +import com.simibubi.create.content.logistics.block.funnel.FunnelBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -38,7 +38,7 @@ import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; -public class ContentObserverBlock extends HorizontalDirectionalBlock implements ITE, IWrenchable { +public class ContentObserverBlock extends HorizontalDirectionalBlock implements IBE, IWrenchable { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; @@ -71,18 +71,18 @@ public class ContentObserverBlock extends HorizontalDirectionalBlock implements .relative(face); Level world = context.getLevel(); boolean canDetect = false; - BlockEntity tileEntity = world.getBlockEntity(offsetPos); + BlockEntity blockEntity = world.getBlockEntity(offsetPos); - if (TileEntityBehaviour.get(tileEntity, TransportedItemStackHandlerBehaviour.TYPE) != null) + if (BlockEntityBehaviour.get(blockEntity, TransportedItemStackHandlerBehaviour.TYPE) != null) canDetect = true; - else if (TileEntityBehaviour.get(tileEntity, FluidTransportBehaviour.TYPE) != null) + else if (BlockEntityBehaviour.get(blockEntity, FluidTransportBehaviour.TYPE) != null) canDetect = true; - else if (tileEntity != null && (tileEntity.getCapability(itemCap) + else if (blockEntity != null && (blockEntity.getCapability(itemCap) .isPresent() - || tileEntity.getCapability(fluidCap) + || blockEntity.getCapability(fluidCap) .isPresent())) canDetect = true; - else if (tileEntity instanceof FunnelTileEntity) + else if (blockEntity instanceof FunnelBlockEntity) canDetect = true; if (canDetect) { @@ -126,13 +126,13 @@ public class ContentObserverBlock extends HorizontalDirectionalBlock implements @Override public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { - ITE.onRemove(state, worldIn, pos, newState); + IBE.onRemove(state, worldIn, pos, newState); } @Override public void neighborChanged(BlockState state, Level worldIn, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { - InvManipulationBehaviour behaviour = TileEntityBehaviour.get(worldIn, pos, InvManipulationBehaviour.TYPE); + InvManipulationBehaviour behaviour = BlockEntityBehaviour.get(worldIn, pos, InvManipulationBehaviour.TYPE); if (behaviour != null) behaviour.onNeighborChanged(fromPos); } @@ -145,25 +145,25 @@ public class ContentObserverBlock extends HorizontalDirectionalBlock implements continue; if (detectorState.getValue(FACING) != direction.getOpposite()) continue; - withTileEntityDo(world, detectorPos, te -> { - FilteringBehaviour filteringBehaviour = TileEntityBehaviour.get(te, FilteringBehaviour.TYPE); + withBlockEntityDo(world, detectorPos, be -> { + FilteringBehaviour filteringBehaviour = BlockEntityBehaviour.get(be, FilteringBehaviour.TYPE); if (filteringBehaviour == null) return; if (!filteringBehaviour.test(transferred)) return; - te.activate(4); + be.activate(4); }); } } @Override - public Class getTileEntityClass() { - return ContentObserverTileEntity.class; + public Class getBlockEntityClass() { + return ContentObserverBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.CONTENT_OBSERVER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.CONTENT_OBSERVER.get(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/ContentObserverTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/ContentObserverBlockEntity.java similarity index 74% rename from src/main/java/com/simibubi/create/content/logistics/block/redstone/ContentObserverTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/redstone/ContentObserverBlockEntity.java index 7d2dc71a2..bfa1cf8f0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/ContentObserverTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/ContentObserverBlockEntity.java @@ -4,14 +4,14 @@ import java.util.List; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; import com.simibubi.create.content.contraptions.fluids.PipeConnection.Flow; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.CapManipulationBehaviourBase.InterfaceProvider; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.TankManipulationBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.CapManipulationBehaviourBase.InterfaceProvider; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.TankManipulationBehaviour; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -21,7 +21,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class ContentObserverTileEntity extends SmartTileEntity { +public class ContentObserverBlockEntity extends SmartBlockEntity { private static final int DEFAULT_DELAY = 6; private FilteringBehaviour filtering; @@ -29,13 +29,13 @@ public class ContentObserverTileEntity extends SmartTileEntity { private TankManipulationBehaviour observedTank; public int turnOffTicks = 0; - public ContentObserverTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public ContentObserverBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setLazyTickRate(20); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { filtering = new FilteringBehaviour(this, new FilteredDetectorFilterSlot()).moveText(new Vec3(0, 5, 0)); behaviours.add(filtering); @@ -62,7 +62,7 @@ public class ContentObserverTileEntity extends SmartTileEntity { // Detect items on belt TransportedItemStackHandlerBehaviour behaviour = - TileEntityBehaviour.get(level, targetPos, TransportedItemStackHandlerBehaviour.TYPE); + BlockEntityBehaviour.get(level, targetPos, TransportedItemStackHandlerBehaviour.TYPE); if (behaviour != null) { behaviour.handleCenteredProcessingOnAllItems(.45f, stack -> { if (!filtering.test(stack.stack) || turnOffTicks == 6) @@ -75,7 +75,7 @@ public class ContentObserverTileEntity extends SmartTileEntity { // Detect fluids in pipe FluidTransportBehaviour fluidBehaviour = - TileEntityBehaviour.get(level, targetPos, FluidTransportBehaviour.TYPE); + BlockEntityBehaviour.get(level, targetPos, FluidTransportBehaviour.TYPE); if (fluidBehaviour != null) { for (Direction side : Iterate.directions) { Flow flow = fluidBehaviour.getFlow(side); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/FilteredDetectorFilterSlot.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/FilteredDetectorFilterSlot.java index b7436efe0..43eb210d3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/FilteredDetectorFilterSlot.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/FilteredDetectorFilterSlot.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.logistics.block.redstone; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.VecHelper; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeBlock.java index 6d72a9c41..5cb745bd1 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeBlock.java @@ -5,14 +5,14 @@ import static net.minecraft.world.level.block.state.properties.BlockStatePropert import java.util.Random; import java.util.function.BiConsumer; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; @@ -45,7 +45,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; public class NixieTubeBlock extends DoubleFaceAttachedBlock - implements ITE, IWrenchable, SimpleWaterloggedBlock, ISpecialBlockItemRequirement { + implements IBE, IWrenchable, SimpleWaterloggedBlock, ISpecialBlockItemRequirement { protected final DyeColor color; @@ -64,7 +64,7 @@ public class NixieTubeBlock extends DoubleFaceAttachedBlock return InteractionResult.PASS; ItemStack heldItem = player.getItemInHand(hand); - NixieTubeTileEntity nixie = getTileEntity(world, pos); + NixieTubeBlockEntity nixie = getBlockEntity(world, pos); if (nixie == null) return InteractionResult.PASS; @@ -89,7 +89,7 @@ public class NixieTubeBlock extends DoubleFaceAttachedBlock walkNixies(world, pos, (currentPos, rowPosition) -> { if (display) - withTileEntityDo(world, currentPos, te -> te.displayCustomText(tagElement, rowPosition)); + withBlockEntityDo(world, currentPos, be -> be.displayCustomText(tagElement, rowPosition)); if (dye != null) world.setBlockAndUpdate(currentPos, withColor(state, dye)); }); @@ -151,7 +151,7 @@ public class NixieTubeBlock extends DoubleFaceAttachedBlock } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { return new ItemRequirement(ItemUseType.CONSUME, AllBlocks.ORANGE_NIXIE_TUBE.get() .asItem()); } @@ -231,9 +231,9 @@ public class NixieTubeBlock extends DoubleFaceAttachedBlock private void updateDisplayedRedstoneValue(BlockState state, Level worldIn, BlockPos pos) { if (worldIn.isClientSide) return; - withTileEntityDo(worldIn, pos, te -> { - if (te.reactsToRedstone()) - te.updateRedstoneStrength(getPower(worldIn, pos)); + withBlockEntityDo(worldIn, pos, be -> { + if (be.reactsToRedstone()) + be.updateRedstoneStrength(getPower(worldIn, pos)); }); } @@ -263,13 +263,13 @@ public class NixieTubeBlock extends DoubleFaceAttachedBlock } @Override - public Class getTileEntityClass() { - return NixieTubeTileEntity.class; + public Class getBlockEntityClass() { + return NixieTubeBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.NIXIE_TUBE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.NIXIE_TUBE.get(); } public DyeColor getColor() { diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeBlockEntity.java similarity index 85% rename from src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeBlockEntity.java index 28afb42ed..8d1fe44fe 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeBlockEntity.java @@ -5,10 +5,10 @@ import java.util.List; import java.util.Optional; import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity.SignalState; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlockEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlockEntity.SignalState; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.DynamicComponent; @@ -21,7 +21,7 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class NixieTubeTileEntity extends SmartTileEntity { +public class NixieTubeBlockEntity extends SmartBlockEntity { private static final Couple EMPTY = Couple.create("", ""); @@ -30,10 +30,10 @@ public class NixieTubeTileEntity extends SmartTileEntity { private int nixieIndex; private Couple displayedStrings; - private WeakReference cachedSignalTE; + private WeakReference cachedSignalTE; public SignalState signalState; - public NixieTubeTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public NixieTubeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); customText = Optional.empty(); redstoneStrength = 0; @@ -47,19 +47,19 @@ public class NixieTubeTileEntity extends SmartTileEntity { return; signalState = null; - SignalTileEntity signalTileEntity = cachedSignalTE.get(); + SignalBlockEntity signalBlockEntity = cachedSignalTE.get(); - if (signalTileEntity == null || signalTileEntity.isRemoved()) { + if (signalBlockEntity == null || signalBlockEntity.isRemoved()) { Direction facing = NixieTubeBlock.getFacing(getBlockState()); BlockEntity blockEntity = level.getBlockEntity(worldPosition.relative(facing.getOpposite())); - if (blockEntity instanceof SignalTileEntity signal) { + if (blockEntity instanceof SignalBlockEntity signal) { signalState = signal.getState(); cachedSignalTE = new WeakReference<>(signal); } return; } - signalState = signalTileEntity.getState(); + signalState = signalBlockEntity.getState(); } @Override @@ -165,6 +165,6 @@ public class NixieTubeTileEntity extends SmartTileEntity { } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeRenderer.java index 1798c1cc7..e663d9ad1 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeRenderer.java @@ -6,9 +6,9 @@ import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.logistics.block.redstone.DoubleFaceAttachedBlock.DoubleAttachFace; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.RenderTypes; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.Color; @@ -30,17 +30,17 @@ import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class NixieTubeRenderer extends SafeTileEntityRenderer { +public class NixieTubeRenderer extends SafeBlockEntityRenderer { private static Random r = new Random(); public NixieTubeRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(NixieTubeTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(NixieTubeBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { ms.pushPose(); - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); DoubleAttachFace face = blockState.getValue(NixieTubeBlock.FACE); float yRot = AngleHelper.horizontalAngle(blockState.getValue(NixieTubeBlock.FACING)) - 90 + (face == DoubleAttachFace.WALL_REVERSED ? 180 : 0); @@ -52,8 +52,8 @@ public class NixieTubeRenderer extends SafeTileEntityRenderer s = te.getDisplayedStrings(); - DyeColor color = NixieTubeBlock.colorOf(te.getBlockState()); + Couple s = be.getDisplayedStrings(); + DyeColor color = NixieTubeBlock.colorOf(be.getBlockState()); ms.pushPose(); ms.translate(-4 / 16f, 0, 0); @@ -122,9 +122,9 @@ public class NixieTubeRenderer extends SafeTileEntityRenderer { +public class RedstoneLinkBlock extends WrenchableDirectionalBlock implements IBE { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; public static final BooleanProperty RECEIVER = BooleanProperty.create("receiver"); @@ -85,7 +85,7 @@ public class RedstoneLinkBlock extends WrenchableDirectionalBlock implements ITE worldIn.setBlock(pos, state.cycle(POWERED), 2); int transmit = power; - withTileEntityDo(worldIn, pos, te -> te.transmit(transmit)); + withBlockEntityDo(worldIn, pos, be -> be.transmit(transmit)); } private int getPower(Level worldIn, BlockPos pos) { @@ -113,7 +113,7 @@ public class RedstoneLinkBlock extends WrenchableDirectionalBlock implements ITE public int getSignal(BlockState state, BlockGetter blockAccess, BlockPos pos, Direction side) { if (!state.getValue(RECEIVER)) return 0; - return getTileEntityOptional(blockAccess, pos).map(RedstoneLinkTileEntity::getReceivedSignal) + return getBlockEntityOptional(blockAccess, pos).map(RedstoneLinkBlockEntity::getReceivedSignal) .orElse(0); } @@ -135,12 +135,12 @@ public class RedstoneLinkBlock extends WrenchableDirectionalBlock implements ITE if (worldIn.isClientSide) return InteractionResult.SUCCESS; - return onTileEntityUse(worldIn, pos, te -> { + return onBlockEntityUse(worldIn, pos, be -> { Boolean wasReceiver = state.getValue(RECEIVER); boolean blockPowered = worldIn.hasNeighborSignal(pos); worldIn.setBlock(pos, state.cycle(RECEIVER) .setValue(POWERED, blockPowered), 3); - te.transmit(wasReceiver ? 0 : getPower(worldIn, pos)); + be.transmit(wasReceiver ? 0 : getPower(worldIn, pos)); return InteractionResult.SUCCESS; }); } @@ -189,13 +189,13 @@ public class RedstoneLinkBlock extends WrenchableDirectionalBlock implements ITE } @Override - public Class getTileEntityClass() { - return RedstoneLinkTileEntity.class; + public Class getBlockEntityClass() { + return RedstoneLinkBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.REDSTONE_LINK.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.REDSTONE_LINK.get(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/RedstoneLinkTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/RedstoneLinkBlockEntity.java similarity index 84% rename from src/main/java/com/simibubi/create/content/logistics/block/redstone/RedstoneLinkTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/redstone/RedstoneLinkBlockEntity.java index 408436d68..58bf29ad4 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/RedstoneLinkTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/RedstoneLinkBlockEntity.java @@ -5,10 +5,10 @@ import java.util.List; import org.apache.commons.lang3.tuple.Pair; import com.simibubi.create.AllBlocks; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.linked.LinkBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -16,7 +16,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class RedstoneLinkTileEntity extends SmartTileEntity { +public class RedstoneLinkBlockEntity extends SmartBlockEntity { private boolean receivedSignalChanged; private int receivedSignal; @@ -24,15 +24,15 @@ public class RedstoneLinkTileEntity extends SmartTileEntity { private LinkBehaviour link; private boolean transmitter; - public RedstoneLinkTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public RedstoneLinkBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override - public void addBehavioursDeferred(List behaviours) { + public void addBehavioursDeferred(List behaviours) { createLink(); behaviours.add(link); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/RedstoneLinkFrequencySlot.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/RedstoneLinkFrequencySlot.java index e3a9526e5..902d69c16 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/RedstoneLinkFrequencySlot.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/RedstoneLinkFrequencySlot.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.logistics.block.redstone; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.VecHelper; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchBlock.java index 8b28fab10..3df474836 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchBlock.java @@ -2,11 +2,11 @@ package com.simibubi.create.content.logistics.block.redstone; import java.util.Random; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllItems; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.gui.ScreenOpener; import com.simibubi.create.foundation.utility.Iterate; @@ -41,7 +41,7 @@ import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; public class StockpileSwitchBlock extends HorizontalDirectionalBlock - implements ITE, IWrenchable { + implements IBE, IWrenchable { public static final IntegerProperty INDICATOR = IntegerProperty.create("indicator", 0, 6); @@ -70,7 +70,7 @@ public class StockpileSwitchBlock extends HorizontalDirectionalBlock } private void updateObservedInventory(BlockState state, LevelReader world, BlockPos pos) { - withTileEntityDo(world, pos, StockpileSwitchTileEntity::updateCurrentLevel); + withBlockEntityDo(world, pos, StockpileSwitchBlockEntity::updateCurrentLevel); } @Override @@ -88,14 +88,14 @@ public class StockpileSwitchBlock extends HorizontalDirectionalBlock if (side == blockState.getValue(FACING) .getOpposite()) return 0; - return getTileEntityOptional(blockAccess, pos).filter(StockpileSwitchTileEntity::isPowered) + return getBlockEntityOptional(blockAccess, pos).filter(StockpileSwitchBlockEntity::isPowered) .map($ -> 15) .orElse(0); } @Override public void tick(BlockState blockState, ServerLevel world, BlockPos pos, Random random) { - getTileEntityOptional(world, pos).ifPresent(StockpileSwitchTileEntity::updatePowerAfterDelay); + getBlockEntityOptional(world, pos).ifPresent(StockpileSwitchBlockEntity::updatePowerAfterDelay); } @Override @@ -110,14 +110,14 @@ public class StockpileSwitchBlock extends HorizontalDirectionalBlock if (player != null && AllItems.WRENCH.isIn(player.getItemInHand(handIn))) return InteractionResult.PASS; DistExecutor.unsafeRunWhenOn(Dist.CLIENT, - () -> () -> withTileEntityDo(worldIn, pos, te -> this.displayScreen(te, player))); + () -> () -> withBlockEntityDo(worldIn, pos, be -> this.displayScreen(be, player))); return InteractionResult.SUCCESS; } @OnlyIn(value = Dist.CLIENT) - protected void displayScreen(StockpileSwitchTileEntity te, Player player) { + protected void displayScreen(StockpileSwitchBlockEntity be, Player player) { if (player instanceof LocalPlayer) - ScreenOpener.open(new StockpileSwitchScreen(te)); + ScreenOpener.open(new StockpileSwitchScreen(be)); } @Override @@ -128,12 +128,12 @@ public class StockpileSwitchBlock extends HorizontalDirectionalBlock Direction preferredFacing = null; for (Direction face : Iterate.horizontalDirections) { - BlockEntity te = context.getLevel() + BlockEntity be = context.getLevel() .getBlockEntity(context.getClickedPos() .relative(face)); - if (te != null && (te.getCapability(itemCap) + if (be != null && (be.getCapability(itemCap) .isPresent() - || te.getCapability(fluidCap) + || be.getCapability(fluidCap) .isPresent())) if (preferredFacing == null) preferredFacing = face; @@ -156,13 +156,13 @@ public class StockpileSwitchBlock extends HorizontalDirectionalBlock } @Override - public Class getTileEntityClass() { - return StockpileSwitchTileEntity.class; + public Class getBlockEntityClass() { + return StockpileSwitchBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.STOCKPILE_SWITCH.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.STOCKPILE_SWITCH.get(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchBlockEntity.java similarity index 86% rename from src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchBlockEntity.java index 1e66ec0c9..20843fb95 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchBlockEntity.java @@ -4,12 +4,12 @@ import java.util.List; import com.simibubi.create.compat.storageDrawers.StorageDrawers; import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.CapManipulationBehaviourBase.InterfaceProvider; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.inventory.TankManipulationBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.CapManipulationBehaviourBase.InterfaceProvider; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.InvManipulationBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.inventory.TankManipulationBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -26,7 +26,7 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.items.IItemHandler; -public class StockpileSwitchTileEntity extends SmartTileEntity { +public class StockpileSwitchBlockEntity extends SmartBlockEntity { public float onWhenAbove; public float offWhenBelow; @@ -39,7 +39,7 @@ public class StockpileSwitchTileEntity extends SmartTileEntity { private InvManipulationBehaviour observedInventory; private TankManipulationBehaviour observedTank; - public StockpileSwitchTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public StockpileSwitchBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); onWhenAbove = .75f; offWhenBelow = .25f; @@ -97,12 +97,12 @@ public class StockpileSwitchTileEntity extends SmartTileEntity { BlockPos target = worldPosition.relative(getBlockState().getOptionalValue(StockpileSwitchBlock.FACING) .orElse(Direction.NORTH)); - BlockEntity targetTile = level.getBlockEntity(target); + BlockEntity targetBlockEntity = level.getBlockEntity(target); - if (targetTile instanceof StockpileSwitchObservable observable) { + if (targetBlockEntity instanceof StockpileSwitchObservable observable) { currentLevel = observable.getPercent() / 100f; - } else if (StorageDrawers.isDrawer(targetTile) && observedInventory.hasInventory()) { + } else if (StorageDrawers.isDrawer(targetBlockEntity) && observedInventory.hasInventory()) { currentLevel = StorageDrawers.getTrueFillLevel(observedInventory.getInventory(), filtering); } else if (observedInventory.hasInventory() || observedTank.hasInventory()) { @@ -193,7 +193,7 @@ public class StockpileSwitchTileEntity extends SmartTileEntity { } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { filtering = new FilteringBehaviour(this, new FilteredDetectorFilterSlot()).moveText(new Vec3(0, 5, 0)) .withCallback($ -> updateCurrentLevel()); behaviours.add(filtering); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchScreen.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchScreen.java index c83e45c62..b3683e1fe 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchScreen.java @@ -29,16 +29,16 @@ public class StockpileSwitchScreen extends AbstractSimiScreen { private final ItemStack renderedItem = new ItemStack(AllBlocks.STOCKPILE_SWITCH.get()); private AllGuiTextures background; - private StockpileSwitchTileEntity te; + private StockpileSwitchBlockEntity blockEntity; private int lastModification; private LerpedFloat cursor; private LerpedFloat cursorLane; - public StockpileSwitchScreen(StockpileSwitchTileEntity te) { + public StockpileSwitchScreen(StockpileSwitchBlockEntity be) { super(Lang.translateDirect("gui.stockpile_switch.title")); background = AllGuiTextures.STOCKSWITCH; - this.te = te; + this.blockEntity = be; lastModification = -1; } @@ -52,9 +52,9 @@ public class StockpileSwitchScreen extends AbstractSimiScreen { int y = guiTop; cursor = LerpedFloat.linear() - .startWithValue(te.getLevelForDisplay()); + .startWithValue(blockEntity.getLevelForDisplay()); cursorLane = LerpedFloat.linear() - .startWithValue(te.getState() ? 1 : 0); + .startWithValue(blockEntity.getState() ? 1 : 0); offBelow = new ScrollInput(x + 36, y + 40, 102, 18).withRange(0, 100) .titled(Components.empty()) @@ -66,7 +66,7 @@ public class StockpileSwitchScreen extends AbstractSimiScreen { onAbove.onChanged(); } }) - .setState((int) (te.offWhenBelow * 100)); + .setState((int) (blockEntity.offWhenBelow * 100)); onAbove = new ScrollInput(x + 36, y + 18, 102, 18).withRange(1, 101) .titled(Components.empty()) @@ -78,7 +78,7 @@ public class StockpileSwitchScreen extends AbstractSimiScreen { offBelow.onChanged(); } }) - .setState((int) (te.onWhenAbove * 100)); + .setState((int) (blockEntity.onWhenAbove * 100)); onAbove.onChanged(); offBelow.onChanged(); @@ -95,7 +95,7 @@ public class StockpileSwitchScreen extends AbstractSimiScreen { flipSignals = new IconButton(x + 14, y + 40, AllIcons.I_FLIP); flipSignals.withCallback(() -> { - send(!te.isInverted()); + send(!blockEntity.isInverted()); }); flipSignals.setToolTip(invertSignal); addRenderableWidget(flipSignals); @@ -108,8 +108,8 @@ public class StockpileSwitchScreen extends AbstractSimiScreen { background.render(ms, x, y, this); - AllGuiTextures.STOCKSWITCH_POWERED_LANE.render(ms, x + 36, y + (te.isInverted() ? 18 : 40), this); - AllGuiTextures.STOCKSWITCH_UNPOWERED_LANE.render(ms, x + 36, y + (te.isInverted() ? 40 : 18), this); + AllGuiTextures.STOCKSWITCH_POWERED_LANE.render(ms, x + 36, y + (blockEntity.isInverted() ? 18 : 40), this); + AllGuiTextures.STOCKSWITCH_UNPOWERED_LANE.render(ms, x + 36, y + (blockEntity.isInverted() ? 40 : 18), this); drawCenteredString(ms, font, title, x + (background.width - 8) / 2, y + 3, 0xFFFFFF); AllGuiTextures sprite = AllGuiTextures.STOCKSWITCH_INTERVAL; @@ -124,7 +124,7 @@ public class StockpileSwitchScreen extends AbstractSimiScreen { AllGuiTextures.STOCKSWITCH_ARROW_UP.render(ms, (int) (x + lowerBound + 36) - 2, y + 35, this); AllGuiTextures.STOCKSWITCH_ARROW_DOWN.render(ms, (int) (x + upperBound + 36) - 3, y + 17, this); - if (te.currentLevel != -1) { + if (blockEntity.currentLevel != -1) { AllGuiTextures cursor = AllGuiTextures.STOCKSWITCH_CURSOR; ms.pushPose(); ms.translate(Math.min(99, this.cursor.getValue(partialTicks) * sprite.width), @@ -143,9 +143,9 @@ public class StockpileSwitchScreen extends AbstractSimiScreen { public void tick() { super.tick(); - cursor.chase(te.getLevelForDisplay(), 1 / 4f, Chaser.EXP); + cursor.chase(blockEntity.getLevelForDisplay(), 1 / 4f, Chaser.EXP); cursor.tickChaser(); - cursorLane.chase(te.getState() ? 1 : 0, 1 / 4f, Chaser.EXP); + cursorLane.chase(blockEntity.getState() ? 1 : 0, 1 / 4f, Chaser.EXP); cursorLane.tickChaser(); if (lastModification >= 0) @@ -153,17 +153,17 @@ public class StockpileSwitchScreen extends AbstractSimiScreen { if (lastModification >= 20) { lastModification = -1; - send(te.isInverted()); + send(blockEntity.isInverted()); } } @Override public void removed() { - send(te.isInverted()); + send(blockEntity.isInverted()); } protected void send(boolean invert) { - AllPackets.channel.sendToServer(new ConfigureStockswitchPacket(te.getBlockPos(), offBelow.getState() / 100f, + AllPackets.channel.sendToServer(new ConfigureStockswitchPacket(blockEntity.getBlockPos(), offBelow.getState() / 100f, onAbove.getState() / 100f, invert)); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultBlock.java index f7cdb74ea..3284093be 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultBlock.java @@ -2,11 +2,11 @@ package com.simibubi.create.content.logistics.block.vault; import javax.annotation.Nullable; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.api.connectivity.ConnectivityHandler; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.item.ItemHelper; import net.minecraft.core.BlockPos; @@ -34,7 +34,7 @@ import net.minecraft.world.level.block.state.properties.Property; import net.minecraftforge.common.util.ForgeSoundType; import net.minecraftforge.items.CapabilityItemHandler; -public class ItemVaultBlock extends Block implements IWrenchable, ITE { +public class ItemVaultBlock extends Block implements IWrenchable, IBE { public static final Property HORIZONTAL_AXIS = BlockStateProperties.HORIZONTAL_AXIS; public static final BooleanProperty LARGE = BooleanProperty.create("large"); @@ -74,7 +74,7 @@ public class ItemVaultBlock extends Block implements IWrenchable, ITE vte.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)) .map(lo -> lo.map(ItemHelper::calcRedstoneFromInventory) .orElse(0)) @@ -167,12 +167,12 @@ public class ItemVaultBlock extends Block implements IWrenchable, ITE getTileEntityType() { - return AllTileEntities.ITEM_VAULT.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.ITEM_VAULT.get(); } @Override - public Class getTileEntityClass() { - return ItemVaultTileEntity.class; + public Class getBlockEntityClass() { + return ItemVaultBlockEntity.class; } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultBlockEntity.java similarity index 83% rename from src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultBlockEntity.java index 9975112c8..7cfb272b6 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultBlockEntity.java @@ -2,12 +2,12 @@ package com.simibubi.create.content.logistics.block.vault; import java.util.List; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.IMultiTileContainer; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -26,7 +26,7 @@ import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.ItemStackHandler; import net.minecraftforge.items.wrapper.CombinedInvWrapper; -public class ItemVaultTileEntity extends SmartTileEntity implements IMultiTileContainer.Inventory { +public class ItemVaultBlockEntity extends SmartBlockEntity implements IMultiBlockEntityContainer.Inventory { protected LazyOptional itemCapability; @@ -38,8 +38,8 @@ public class ItemVaultTileEntity extends SmartTileEntity implements IMultiTileCo protected int length; protected Axis axis; - public ItemVaultTileEntity(BlockEntityType tileEntityTypeIn, BlockPos pos, BlockState state) { - super(tileEntityTypeIn, pos, state); + public ItemVaultBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); inventory = new ItemStackHandler(AllConfigs.SERVER.logistics.vaultCapacity.get()) { @Override @@ -55,7 +55,7 @@ public class ItemVaultTileEntity extends SmartTileEntity implements IMultiTileCo } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} protected void updateConnectivity() { updateConnectivity = false; @@ -67,16 +67,16 @@ public class ItemVaultTileEntity extends SmartTileEntity implements IMultiTileCo } protected void updateComparators() { - ItemVaultTileEntity controllerTE = getControllerTE(); - if (controllerTE == null) + ItemVaultBlockEntity controllerBE = getControllerBE(); + if (controllerBE == null) return; - level.blockEntityChanged(controllerTE.worldPosition); + level.blockEntityChanged(controllerBE.worldPosition); - BlockPos pos = controllerTE.getBlockPos(); - for (int y = 0; y < controllerTE.radius; y++) { - for (int z = 0; z < (controllerTE.axis == Axis.X ? controllerTE.radius : controllerTE.length); z++) { - for (int x = 0; x < (controllerTE.axis == Axis.Z ? controllerTE.radius : controllerTE.length); x++) { + BlockPos pos = controllerBE.getBlockPos(); + for (int y = 0; y < controllerBE.radius; y++) { + for (int z = 0; z < (controllerBE.axis == Axis.X ? controllerBE.radius : controllerBE.length); z++) { + for (int x = 0; x < (controllerBE.axis == Axis.Z ? controllerBE.radius : controllerBE.length); x++) { level.updateNeighbourForOutputSignal(pos.offset(x, y, z), getBlockState().getBlock()); } } @@ -116,12 +116,12 @@ public class ItemVaultTileEntity extends SmartTileEntity implements IMultiTileCo @SuppressWarnings("unchecked") @Override - public ItemVaultTileEntity getControllerTE() { + public ItemVaultBlockEntity getControllerBE() { if (isController()) return this; - BlockEntity tileEntity = level.getBlockEntity(controller); - if (tileEntity instanceof ItemVaultTileEntity) - return (ItemVaultTileEntity) tileEntity; + BlockEntity blockEntity = level.getBlockEntity(controller); + if (blockEntity instanceof ItemVaultBlockEntity) + return (ItemVaultBlockEntity) blockEntity; return null; } @@ -237,11 +237,11 @@ public class ItemVaultTileEntity extends SmartTileEntity implements IMultiTileCo if (itemCapability.isPresent()) return; if (!isController()) { - ItemVaultTileEntity controllerTE = getControllerTE(); - if (controllerTE == null) + ItemVaultBlockEntity controllerBE = getControllerBE(); + if (controllerBE == null) return; - controllerTE.initCapability(); - itemCapability = controllerTE.itemCapability; + controllerBE.initCapability(); + itemCapability = controllerBE.itemCapability; return; } @@ -252,8 +252,8 @@ public class ItemVaultTileEntity extends SmartTileEntity implements IMultiTileCo for (int zOffset = 0; zOffset < radius; zOffset++) { BlockPos vaultPos = alongZ ? worldPosition.offset(xOffset, zOffset, yOffset) : worldPosition.offset(yOffset, xOffset, zOffset); - ItemVaultTileEntity vaultAt = - ConnectivityHandler.partAt(AllTileEntities.ITEM_VAULT.get(), level, vaultPos); + ItemVaultBlockEntity vaultAt = + ConnectivityHandler.partAt(AllBlockEntityTypes.ITEM_VAULT.get(), level, vaultPos); invs[yOffset * radius * radius + xOffset * radius + zOffset] = vaultAt != null ? vaultAt.inventory : new ItemStackHandler(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultItem.java b/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultItem.java index fdd76e9bd..0ba4a29f6 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultItem.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultItem.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.logistics.block.vault; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.api.connectivity.ConnectivityHandler; import com.simibubi.create.foundation.utility.VecHelper; @@ -65,14 +65,14 @@ public class ItemVaultItem extends BlockItem { if (!ItemVaultBlock.isVault(placedOnState)) return; - ItemVaultTileEntity tankAt = ConnectivityHandler.partAt(AllTileEntities.ITEM_VAULT.get(), world, placedOnPos); + ItemVaultBlockEntity tankAt = ConnectivityHandler.partAt(AllBlockEntityTypes.ITEM_VAULT.get(), world, placedOnPos); if (tankAt == null) return; - ItemVaultTileEntity controllerTE = tankAt.getControllerTE(); - if (controllerTE == null) + ItemVaultBlockEntity controllerBE = tankAt.getControllerBE(); + if (controllerBE == null) return; - int width = controllerTE.radius; + int width = controllerBE.radius; if (width == 1) return; @@ -84,10 +84,10 @@ public class ItemVaultItem extends BlockItem { return; Direction vaultFacing = Direction.fromAxisAndDirection(vaultBlockAxis, AxisDirection.POSITIVE); - BlockPos startPos = face == vaultFacing.getOpposite() ? controllerTE.getBlockPos() + BlockPos startPos = face == vaultFacing.getOpposite() ? controllerBE.getBlockPos() .relative(vaultFacing.getOpposite()) - : controllerTE.getBlockPos() - .relative(vaultFacing, controllerTE.length); + : controllerBE.getBlockPos() + .relative(vaultFacing, controllerBE.length); if (VecHelper.getCoordinate(startPos, vaultBlockAxis) != VecHelper.getCoordinate(pos, vaultBlockAxis)) return; diff --git a/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerBlock.java b/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerBlock.java index 7df57cf9d..80776b156 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerBlock.java @@ -2,12 +2,12 @@ package com.simibubi.create.content.logistics.item; import java.util.ArrayList; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllItems; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; @@ -25,7 +25,7 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; public class LecternControllerBlock extends LecternBlock - implements ITE, ISpecialBlockItemRequirement { + implements IBE, ISpecialBlockItemRequirement { public LecternControllerBlock(Properties properties) { super(properties); @@ -33,26 +33,26 @@ public class LecternControllerBlock extends LecternBlock } @Override - public Class getTileEntityClass() { - return LecternControllerTileEntity.class; + public Class getBlockEntityClass() { + return LecternControllerBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.LECTERN_CONTROLLER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.LECTERN_CONTROLLER.get(); } @Override public BlockEntity newBlockEntity(BlockPos p_153573_, BlockState p_153574_) { - return ITE.super.newBlockEntity(p_153573_, p_153574_); + return IBE.super.newBlockEntity(p_153573_, p_153574_); } @Override public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { - if (!player.isShiftKeyDown() && LecternControllerTileEntity.playerInRange(player, world, pos)) { + if (!player.isShiftKeyDown() && LecternControllerBlockEntity.playerInRange(player, world, pos)) { if (!world.isClientSide) - withTileEntityDo(world, pos, te -> te.tryStartUsing(player)); + withBlockEntityDo(world, pos, be -> be.tryStartUsing(player)); return InteractionResult.SUCCESS; } @@ -69,7 +69,7 @@ public class LecternControllerBlock extends LecternBlock public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) { if (!state.is(newState.getBlock())) { if (!world.isClientSide) - withTileEntityDo(world, pos, te -> te.dropController(state)); + withBlockEntityDo(world, pos, be -> be.dropController(state)); super.onRemove(state, world, pos, newState, isMoving); } @@ -83,7 +83,7 @@ public class LecternControllerBlock extends LecternBlock public void replaceLectern(BlockState lecternState, Level world, BlockPos pos, ItemStack controller) { world.setBlockAndUpdate(pos, defaultBlockState().setValue(FACING, lecternState.getValue(FACING)) .setValue(POWERED, lecternState.getValue(POWERED))); - withTileEntityDo(world, pos, te -> te.setController(controller)); + withBlockEntityDo(world, pos, be -> be.setController(controller)); } public void replaceWithLectern(BlockState state, Level world, BlockPos pos) { @@ -99,7 +99,7 @@ public class LecternControllerBlock extends LecternBlock } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { ArrayList requiredItems = new ArrayList<>(); requiredItems.add(new ItemStack(Blocks.LECTERN)); requiredItems.add(new ItemStack(AllItems.LINKED_CONTROLLER.get())); diff --git a/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerBlockEntity.java similarity index 93% rename from src/main/java/com/simibubi/create/content/logistics/item/LecternControllerTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/item/LecternControllerBlockEntity.java index d67868a23..3fb5164a8 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerBlockEntity.java @@ -4,8 +4,8 @@ import java.util.List; import java.util.UUID; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import net.minecraft.client.Minecraft; import net.minecraft.core.BlockPos; @@ -26,19 +26,19 @@ import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.ForgeMod; import net.minecraftforge.fml.DistExecutor; -public class LecternControllerTileEntity extends SmartTileEntity { +public class LecternControllerBlockEntity extends SmartBlockEntity { private ItemStack controller; private UUID user; private UUID prevUser; // used only on client private boolean deactivatedThisTick; // used only on server - public LecternControllerTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public LecternControllerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { } + public void addBehaviours(List behaviours) { } @Override protected void write(CompoundTag compound, boolean clientPacket) { diff --git a/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerRenderer.java b/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerRenderer.java index d56a6ac3d..7864e3db3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/LecternControllerRenderer.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.logistics.item; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllItems; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import net.minecraft.client.Minecraft; @@ -14,25 +14,25 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.core.Direction; import net.minecraft.world.item.ItemStack; -public class LecternControllerRenderer extends SafeTileEntityRenderer { +public class LecternControllerRenderer extends SafeBlockEntityRenderer { public LecternControllerRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(LecternControllerTileEntity te, float partialTicks, PoseStack ms, + protected void renderSafe(LecternControllerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { ItemStack stack = AllItems.LINKED_CONTROLLER.asStack(); TransformType transformType = TransformType.NONE; LinkedControllerModel mainModel = (LinkedControllerModel) Minecraft.getInstance() .getItemRenderer() - .getModel(stack, te.getLevel(), null, 0); + .getModel(stack, be.getLevel(), null, 0); PartialItemModelRenderer renderer = PartialItemModelRenderer.of(stack, transformType, ms, buffer, overlay); - boolean active = te.hasUser(); - boolean renderDepression = te.isUsedBy(Minecraft.getInstance().player); + boolean active = be.hasUser(); + boolean renderDepression = be.isUsedBy(Minecraft.getInstance().player); - Direction facing = te.getBlockState().getValue(LecternControllerBlock.FACING); + Direction facing = be.getBlockState().getValue(LecternControllerBlock.FACING); TransformStack msr = TransformStack.cast(ms); ms.pushPose(); diff --git a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerBindPacket.java b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerBindPacket.java index 2af7d8555..9b94f0fd0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerBindPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerBindPacket.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.logistics.item; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.linked.LinkBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; @@ -39,7 +39,7 @@ public class LinkedControllerBindPacket extends LinkedControllerPacketBase { return; ItemStackHandler frequencyItems = LinkedControllerItem.getFrequencyItems(heldItem); - LinkBehaviour linkBehaviour = TileEntityBehaviour.get(player.level, linkLocation, LinkBehaviour.TYPE); + LinkBehaviour linkBehaviour = BlockEntityBehaviour.get(player.level, linkLocation, LinkBehaviour.TYPE); if (linkBehaviour == null) return; @@ -52,6 +52,6 @@ public class LinkedControllerBindPacket extends LinkedControllerPacketBase { } @Override - protected void handleLectern(ServerPlayer player, LecternControllerTileEntity lectern) {} + protected void handleLectern(ServerPlayer player, LecternControllerBlockEntity lectern) {} } diff --git a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerClientHandler.java b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerClientHandler.java index e5fb7a377..2597b4da3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerClientHandler.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerClientHandler.java @@ -14,10 +14,10 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.CreateClient; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.linked.LinkBehaviour; import com.simibubi.create.foundation.item.TooltipHelper; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkBehaviour; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.ControlsUtil; import com.simibubi.create.foundation.utility.Lang; @@ -128,8 +128,8 @@ public class LinkedControllerClientHandler { } if (inLectern() && AllBlocks.LECTERN_CONTROLLER.get() - .getTileEntityOptional(mc.level, lecternPos) - .map(te -> !te.isUsedBy(mc.player)) + .getBlockEntityOptional(mc.level, lecternPos) + .map(be -> !be.isUsedBy(mc.player)) .orElse(true)) { deactivateInLectern(); return; @@ -193,7 +193,7 @@ public class LinkedControllerClientHandler { .lineWidth(1 / 16f); for (Integer integer : newKeys) { - LinkBehaviour linkBehaviour = TileEntityBehaviour.get(mc.level, selectedLocation, LinkBehaviour.TYPE); + LinkBehaviour linkBehaviour = BlockEntityBehaviour.get(mc.level, selectedLocation, LinkBehaviour.TYPE); if (linkBehaviour != null) { AllPackets.channel.sendToServer(new LinkedControllerBindPacket(integer, selectedLocation)); Lang.translate("linked_controller.key_bound", controls.get(integer) diff --git a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerInputPacket.java b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerInputPacket.java index 48d8f886d..e8fed21f6 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerInputPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerInputPacket.java @@ -44,7 +44,7 @@ public class LinkedControllerInputPacket extends LinkedControllerPacketBase { } @Override - protected void handleLectern(ServerPlayer player, LecternControllerTileEntity lectern) { + protected void handleLectern(ServerPlayer player, LecternControllerBlockEntity lectern) { if (lectern.isUsedBy(player)) handleItem(player, lectern.getController()); } diff --git a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerItem.java b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerItem.java index eaa7b42a0..7ec34d190 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerItem.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerItem.java @@ -53,8 +53,8 @@ public class LinkedControllerItem extends Item implements MenuProvider { if (player.isShiftKeyDown()) { if (AllBlocks.LECTERN_CONTROLLER.has(hitState)) { if (!world.isClientSide) - AllBlocks.LECTERN_CONTROLLER.get().withTileEntityDo(world, pos, te -> - te.swapControllers(stack, player, ctx.getHand(), hitState)); + AllBlocks.LECTERN_CONTROLLER.get().withBlockEntityDo(world, pos, be -> + be.swapControllers(stack, player, ctx.getHand(), hitState)); return InteractionResult.SUCCESS; } } else { diff --git a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerPacketBase.java b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerPacketBase.java index 2f1cb8d94..d320908de 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerPacketBase.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerPacketBase.java @@ -48,10 +48,10 @@ public abstract class LinkedControllerPacketBase extends SimplePacketBase { return; if (inLectern()) { - BlockEntity te = player.level.getBlockEntity(lecternPos); - if (!(te instanceof LecternControllerTileEntity)) + BlockEntity be = player.level.getBlockEntity(lecternPos); + if (!(be instanceof LecternControllerBlockEntity)) return; - handleLectern(player, (LecternControllerTileEntity) te); + handleLectern(player, (LecternControllerBlockEntity) be); } else { ItemStack controller = player.getMainHandItem(); if (!AllItems.LINKED_CONTROLLER.isIn(controller)) { @@ -67,6 +67,6 @@ public abstract class LinkedControllerPacketBase extends SimplePacketBase { } protected abstract void handleItem(ServerPlayer player, ItemStack heldItem); - protected abstract void handleLectern(ServerPlayer player, LecternControllerTileEntity lectern); + protected abstract void handleLectern(ServerPlayer player, LecternControllerBlockEntity lectern); } diff --git a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerServerHandler.java b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerServerHandler.java index 56962c1c5..881841d20 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerServerHandler.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerServerHandler.java @@ -13,7 +13,7 @@ import com.simibubi.create.Create; import com.simibubi.create.content.logistics.IRedstoneLinkable; import com.simibubi.create.content.logistics.RedstoneLinkNetworkHandler.Frequency; import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.linked.LinkBehaviour; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.IntAttached; import com.simibubi.create.foundation.utility.WorldAttached; diff --git a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerStopLecternPacket.java b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerStopLecternPacket.java index 03cbe9532..f18ee674c 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerStopLecternPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerStopLecternPacket.java @@ -16,7 +16,7 @@ public class LinkedControllerStopLecternPacket extends LinkedControllerPacketBas } @Override - protected void handleLectern(ServerPlayer player, LecternControllerTileEntity lectern) { + protected void handleLectern(ServerPlayer player, LecternControllerBlockEntity lectern) { lectern.tryStopUsing(player); } diff --git a/src/main/java/com/simibubi/create/content/logistics/packet/ConfigureStockswitchPacket.java b/src/main/java/com/simibubi/create/content/logistics/packet/ConfigureStockswitchPacket.java index 39f4474f2..81eea750e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packet/ConfigureStockswitchPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/packet/ConfigureStockswitchPacket.java @@ -1,12 +1,12 @@ package com.simibubi.create.content.logistics.packet; -import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchTileEntity; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; +import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; -public class ConfigureStockswitchPacket extends TileEntityConfigurationPacket { +public class ConfigureStockswitchPacket extends BlockEntityConfigurationPacket { private float offBelow; private float onAbove; @@ -38,10 +38,10 @@ public class ConfigureStockswitchPacket extends TileEntityConfigurationPacket { +public class FunnelFlapPacket extends BlockEntityDataPacket { private final boolean inwards; @@ -15,8 +15,8 @@ public class FunnelFlapPacket extends TileEntityDataPacket { inwards = buffer.readBoolean(); } - public FunnelFlapPacket(FunnelTileEntity tile, boolean inwards) { - super(tile.getBlockPos()); + public FunnelFlapPacket(FunnelBlockEntity blockEntity, boolean inwards) { + super(blockEntity.getBlockPos()); this.inwards = inwards; } @@ -26,7 +26,7 @@ public class FunnelFlapPacket extends TileEntityDataPacket { } @Override - protected void handlePacket(FunnelTileEntity tile) { - tile.flap(inwards); + protected void handlePacket(FunnelBlockEntity blockEntity) { + blockEntity.flap(inwards); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/packet/TunnelFlapPacket.java b/src/main/java/com/simibubi/create/content/logistics/packet/TunnelFlapPacket.java index ffbf776a0..0aafcbff1 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packet/TunnelFlapPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/packet/TunnelFlapPacket.java @@ -5,13 +5,13 @@ import java.util.List; import org.apache.commons.lang3.tuple.Pair; -import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelTileEntity; -import com.simibubi.create.foundation.networking.TileEntityDataPacket; +import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityDataPacket; import net.minecraft.core.Direction; import net.minecraft.network.FriendlyByteBuf; -public class TunnelFlapPacket extends TileEntityDataPacket { +public class TunnelFlapPacket extends BlockEntityDataPacket { private List> flaps; @@ -30,8 +30,8 @@ public class TunnelFlapPacket extends TileEntityDataPacket } } - public TunnelFlapPacket(BeltTunnelTileEntity tile, List> flaps) { - super(tile.getBlockPos()); + public TunnelFlapPacket(BeltTunnelBlockEntity blockEntity, List> flaps) { + super(blockEntity.getBlockPos()); this.flaps = new ArrayList<>(flaps); } @@ -47,9 +47,9 @@ public class TunnelFlapPacket extends TileEntityDataPacket } @Override - protected void handlePacket(BeltTunnelTileEntity tile) { + protected void handlePacket(BeltTunnelBlockEntity blockEntity) { for (Pair flap : flaps) { - tile.flap(flap.getLeft(), flap.getRight()); + blockEntity.flap(flap.getLeft(), flap.getRight()); } } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/BogeyTileEntityRenderer.java b/src/main/java/com/simibubi/create/content/logistics/trains/BogeyBlockEntityRenderer.java similarity index 60% rename from src/main/java/com/simibubi/create/content/logistics/trains/BogeyTileEntityRenderer.java rename to src/main/java/com/simibubi/create/content/logistics/trains/BogeyBlockEntityRenderer.java index 94a08b145..3f437fe8c 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/BogeyTileEntityRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/BogeyBlockEntityRenderer.java @@ -1,24 +1,24 @@ package com.simibubi.create.content.logistics.trains; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.content.logistics.trains.track.StandardBogeyTileEntity; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; +import com.simibubi.create.content.logistics.trains.track.StandardBogeyBlockEntity; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; -public class BogeyTileEntityRenderer extends SafeTileEntityRenderer { +public class BogeyBlockEntityRenderer extends SafeBlockEntityRenderer { - public BogeyTileEntityRenderer(BlockEntityRendererProvider.Context context) {} + public BogeyBlockEntityRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(T te, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, + protected void renderSafe(T be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); float angle = 0; - if (te instanceof StandardBogeyTileEntity sbte) + if (be instanceof StandardBogeyBlockEntity sbte) angle = sbte.getVirtualAngle(partialTicks); if (blockState.getBlock()instanceof IBogeyBlock bogey) bogey.render(blockState, angle, ms, partialTicks, buffer, light, overlay); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/TrackGraphHelper.java b/src/main/java/com/simibubi/create/content/logistics/trains/TrackGraphHelper.java index 8400d1501..f4d453563 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/TrackGraphHelper.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/TrackGraphHelper.java @@ -9,7 +9,7 @@ import javax.annotation.Nullable; import com.simibubi.create.Create; import com.simibubi.create.content.logistics.trains.TrackNodeLocation.DiscoveredLocation; import com.simibubi.create.content.logistics.trains.track.BezierTrackPointLocation; -import com.simibubi.create.content.logistics.trains.track.TrackTileEntity; +import com.simibubi.create.content.logistics.trains.track.TrackBlockEntity; import com.simibubi.create.foundation.utility.Couple; import net.minecraft.core.BlockPos; @@ -135,7 +135,7 @@ public class TrackGraphHelper { if (!(state.getBlock()instanceof ITrackBlock track)) return null; - if (!(level.getBlockEntity(pos)instanceof TrackTileEntity trackTE)) + if (!(level.getBlockEntity(pos)instanceof TrackBlockEntity trackTE)) return null; BezierConnection bc = trackTE.getConnections() .get(targetBezier.curveTarget()); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/entity/CarriageContraption.java b/src/main/java/com/simibubi/create/content/logistics/trains/entity/CarriageContraption.java index 28ea105a9..59102e71d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/entity/CarriageContraption.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/entity/CarriageContraption.java @@ -263,17 +263,17 @@ public class CarriageContraption extends Contraption { return secondBogeyPos; } - private Collection specialRenderedTEsOutsidePortal = new ArrayList<>(); + private Collection specialRenderedBEsOutsidePortal = new ArrayList<>(); @Override public Collection getRenderedBlocks() { if (notInPortal()) return super.getRenderedBlocks(); - specialRenderedTEsOutsidePortal = new ArrayList<>(); - specialRenderedTileEntities.stream() - .filter(te -> !isHiddenInPortal(te.getBlockPos())) - .forEach(specialRenderedTEsOutsidePortal::add); + specialRenderedBEsOutsidePortal = new ArrayList<>(); + specialRenderedBlockEntities.stream() + .filter(be -> !isHiddenInPortal(be.getBlockPos())) + .forEach(specialRenderedBEsOutsidePortal::add); Collection values = new ArrayList<>(); for (Entry entry : blocks.entrySet()) { @@ -290,7 +290,7 @@ public class CarriageContraption extends Contraption { public Collection getSpecialRenderedTEs() { if (notInPortal()) return super.getSpecialRenderedTEs(); - return specialRenderedTEsOutsidePortal; + return specialRenderedBEsOutsidePortal; } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/entity/Train.java b/src/main/java/com/simibubi/create/content/logistics/trains/entity/Train.java index a5a371013..482e970b9 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/entity/Train.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/entity/Train.java @@ -39,7 +39,7 @@ import com.simibubi.create.content.logistics.trains.management.edgePoint.signal. import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBoundary; import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalEdgeGroup; import com.simibubi.create.content.logistics.trains.management.edgePoint.station.GlobalStation; -import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationTileEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationBlockEntity; import com.simibubi.create.content.logistics.trains.management.schedule.ScheduleRuntime; import com.simibubi.create.content.logistics.trains.management.schedule.ScheduleRuntime.State; import com.simibubi.create.foundation.advancement.AllAdvancements; @@ -734,8 +734,8 @@ public class Train { GlobalStation currentStation = getCurrentStation(); if (currentStation != null) { currentStation.cancelReservation(this); - BlockPos tilePos = currentStation.getTilePos(); - if (level.getBlockEntity(tilePos)instanceof StationTileEntity ste) + BlockPos blockEntityPos = currentStation.getBlockEntityPos(); + if (level.getBlockEntity(blockEntityPos) instanceof StationBlockEntity ste) ste.lastDisassembledTrainName = name.copy(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/entity/TrainRelocator.java b/src/main/java/com/simibubi/create/content/logistics/trains/entity/TrainRelocator.java index 838a536cc..49a0bcbcc 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/entity/TrainRelocator.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/entity/TrainRelocator.java @@ -128,7 +128,7 @@ public class TrainRelocator { BezierPointSelection bezierSelection = TrackBlockOutline.result; if (bezierSelection != null) { - blockPos = bezierSelection.te() + blockPos = bezierSelection.blockEntity() .getBlockPos(); hoveredBezier = bezierSelection.loc(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlock.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlock.java index 5a809b2df..aa3cbefb8 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlock.java @@ -6,14 +6,14 @@ import java.util.List; import java.util.Random; import java.util.function.Predicate; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; 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.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.placement.IPlacementHelper; import com.simibubi.create.foundation.utility.placement.PlacementHelpers; @@ -57,7 +57,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.ticks.LevelTickAccess; public class FlapDisplayBlock extends HorizontalKineticBlock - implements ITE, IWrenchable, ICogWheel, SimpleWaterloggedBlock { + implements IBE, IWrenchable, ICogWheel, SimpleWaterloggedBlock { public static final BooleanProperty UP = BooleanProperty.create("up"); public static final BooleanProperty DOWN = BooleanProperty.create("down"); @@ -127,12 +127,12 @@ public class FlapDisplayBlock extends HorizontalKineticBlock return placementHelper.getOffset(player, world, state, pos, ray) .placeInWorld(world, (BlockItem) heldItem.getItem(), player, hand, ray); - FlapDisplayTileEntity flapTe = getTileEntity(world, pos); + FlapDisplayBlockEntity flapBE = getBlockEntity(world, pos); - if (flapTe == null) + if (flapBE == null) return InteractionResult.PASS; - flapTe = flapTe.getController(); - if (flapTe == null) + flapBE = flapBE.getController(); + if (flapBE == null) return InteractionResult.PASS; double yCoord = ray.getLocation() @@ -141,19 +141,19 @@ public class FlapDisplayBlock extends HorizontalKineticBlock .getNormal()) .scale(.125f)).y; - int lineIndex = flapTe.getLineIndexAt(yCoord); + int lineIndex = flapBE.getLineIndexAt(yCoord); if (heldItem.isEmpty()) { - if (!flapTe.isSpeedRequirementFulfilled()) + if (!flapBE.isSpeedRequirementFulfilled()) return InteractionResult.PASS; - flapTe.applyTextManually(lineIndex, null); + flapBE.applyTextManually(lineIndex, null); return InteractionResult.SUCCESS; } if (heldItem.getItem() == Items.GLOW_INK_SAC) { if (!world.isClientSide) { world.playSound(null, pos, SoundEvents.INK_SAC_USE, SoundSource.BLOCKS, 1.0F, 1.0F); - flapTe.setGlowing(lineIndex); + flapBE.setGlowing(lineIndex); } return InteractionResult.SUCCESS; } @@ -163,7 +163,7 @@ public class FlapDisplayBlock extends HorizontalKineticBlock if (!display && dye == null) return InteractionResult.PASS; - if (dye == null && !flapTe.isSpeedRequirementFulfilled()) + if (dye == null && !flapBE.isSpeedRequirementFulfilled()) return InteractionResult.PASS; if (world.isClientSide) return InteractionResult.SUCCESS; @@ -172,10 +172,10 @@ public class FlapDisplayBlock extends HorizontalKineticBlock String tagElement = tag != null && tag.contains("Name", Tag.TAG_STRING) ? tag.getString("Name") : null; if (display) - flapTe.applyTextManually(lineIndex, tagElement); + flapBE.applyTextManually(lineIndex, tagElement); if (dye != null) { world.playSound(null, pos, SoundEvents.DYE_USE, SoundSource.BLOCKS, 1.0F, 1.0F); - flapTe.setColour(lineIndex, dye); + flapBE.setColour(lineIndex, dye); } return InteractionResult.SUCCESS; @@ -187,13 +187,13 @@ public class FlapDisplayBlock extends HorizontalKineticBlock } @Override - public Class getTileEntityClass() { - return FlapDisplayTileEntity.class; + public Class getBlockEntityClass() { + return FlapDisplayBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.FLAP_DISPLAY.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.FLAP_DISPLAY.get(); } @Override @@ -257,8 +257,8 @@ public class FlapDisplayBlock extends HorizontalKineticBlock pPos.relative(Direction.fromAxisAndDirection(getConnectionAxis(pState), AxisDirection.NEGATIVE)); BlockState belowState = pLevel.getBlockState(belowPos); if (!canConnect(pState, belowState)) - KineticTileEntity.switchToBlockState(pLevel, pPos, updateColumn(pLevel, pPos, pState, true)); - withTileEntityDo(pLevel, pPos, FlapDisplayTileEntity::updateControllerStatus); + KineticBlockEntity.switchToBlockState(pLevel, pPos, updateColumn(pLevel, pPos, pState, true)); + withBlockEntityDo(pLevel, pPos, FlapDisplayBlockEntity::updateControllerStatus); } @Override @@ -315,7 +315,7 @@ public class FlapDisplayBlock extends HorizontalKineticBlock BlockPos relative = pPos.relative(d); BlockState adjacent = pLevel.getBlockState(relative); if (canConnect(pState, adjacent)) - KineticTileEntity.switchToBlockState(pLevel, relative, updateColumn(pLevel, relative, adjacent, false)); + KineticBlockEntity.switchToBlockState(pLevel, relative, updateColumn(pLevel, relative, adjacent, false)); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlockEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlockEntity.java index 22f6478e8..697905f67 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlockEntity.java @@ -6,8 +6,8 @@ import java.util.List; import com.google.gson.JsonElement; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.DyeHelper; import com.simibubi.create.foundation.utility.DynamicComponent; @@ -28,7 +28,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -public class FlapDisplayTileEntity extends KineticTileEntity { +public class FlapDisplayBlockEntity extends KineticBlockEntity { public List lines; public boolean isController; @@ -38,7 +38,7 @@ public class FlapDisplayTileEntity extends KineticTileEntity { public boolean[] glowingLines; public boolean[] manualLines; - public FlapDisplayTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public FlapDisplayBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setLazyTickRate(10); isController = false; @@ -259,7 +259,7 @@ public class FlapDisplayTileEntity extends KineticTileEntity { return (int) Mth.clamp(Math.floor(2 * (worldPosition.getY() - yCoord + 1)), 0, ySize * 2); } - public FlapDisplayTileEntity getController() { + public FlapDisplayBlockEntity getController() { if (isController) return this; @@ -288,7 +288,7 @@ public class FlapDisplayTileEntity extends KineticTileEntity { } BlockEntity found = level.getBlockEntity(pos); - if (found instanceof FlapDisplayTileEntity flap && flap.isController) + if (found instanceof FlapDisplayBlockEntity flap && flap.isController) return flap; break; @@ -314,7 +314,7 @@ public class FlapDisplayTileEntity extends KineticTileEntity { } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} public int getLineColor(int line) { DyeColor color = colour[line]; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayRenderer.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayRenderer.java index f4902659b..36b65613e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayRenderer.java @@ -9,8 +9,8 @@ import com.mojang.blaze3d.vertex.PoseStack.Pose; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Matrix4f; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -34,23 +34,23 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class FlapDisplayRenderer extends KineticTileEntityRenderer { +public class FlapDisplayRenderer extends KineticBlockEntityRenderer { public FlapDisplayRenderer(BlockEntityRendererProvider.Context context) { super(context); } @Override - protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(KineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); Font fontRenderer = Minecraft.getInstance().font; FontSet fontSet = fontRenderer.getFontSet(Style.DEFAULT_FONT); float scale = 1 / 32f; - if (!(te instanceof FlapDisplayTileEntity flapTe)) + if (!(be instanceof FlapDisplayBlockEntity flapTe)) return; if (!flapTe.isController) @@ -61,7 +61,7 @@ public class FlapDisplayRenderer extends KineticTileEntityRenderer { ms.pushPose(); TransformStack.cast(ms) .centre() - .rotateY(AngleHelper.horizontalAngle(te.getBlockState() + .rotateY(AngleHelper.horizontalAngle(be.getBlockState() .getValue(FlapDisplayBlock.HORIZONTAL_FACING))) .unCentre() .translate(0, 0, -3 / 16f); @@ -84,12 +84,12 @@ public class FlapDisplayRenderer extends KineticTileEntityRenderer { Pose transform = ms.last(); FlapDisplayRenderOutput renderOutput = new FlapDisplayRenderOutput(buffer, color, transform.pose(), light, - j, !te.isSpeedRequirementFulfilled(), te.getLevel(), flapTe.isLineGlowing(j)); + j, !be.isSpeedRequirementFulfilled(), be.getLevel(), flapTe.isLineGlowing(j)); for (int i = 0; i < line.size(); i++) { FlapDisplaySection section = line.get(i); renderOutput.nextSection(section); - int ticks = AnimationTickHolder.getTicks(te.getLevel()); + int ticks = AnimationTickHolder.getTicks(be.getLevel()); String text = section.renderCharsIndividually() || !section.spinning[0] ? section.text : section.cyclingOptions[((ticks / 3) + i * 13) % section.cyclingOptions.length]; StringDecomposer.iterateFormatted(text, Style.EMPTY, renderOutput); @@ -231,14 +231,14 @@ public class FlapDisplayRenderer extends KineticTileEntityRenderer { } @Override - protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { + protected SuperByteBuffer getRotatedModel(KineticBlockEntity be, BlockState state) { return CachedBufferer.partialFacingVertical(AllBlockPartials.SHAFTLESS_COGWHEEL, state, state.getValue(FlapDisplayBlock.HORIZONTAL_FACING)); } @Override - public boolean shouldRenderOffScreen(KineticTileEntity pBlockEntity) { - return ((FlapDisplayTileEntity) pBlockEntity).isController; + public boolean shouldRenderOffScreen(KineticBlockEntity pBlockEntity) { + return ((FlapDisplayBlockEntity) pBlockEntity).isController; } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/CurvedTrackSelectionPacket.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/CurvedTrackSelectionPacket.java index f248780f2..5ccf37373 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/CurvedTrackSelectionPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/CurvedTrackSelectionPacket.java @@ -6,8 +6,8 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBlockItem.OverlapResult; import com.simibubi.create.content.logistics.trains.track.BezierTrackPointLocation; -import com.simibubi.create.content.logistics.trains.track.TrackTileEntity; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; +import com.simibubi.create.content.logistics.trains.track.TrackBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.ChatFormatting; @@ -18,7 +18,7 @@ import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.item.ItemStack; -public class CurvedTrackSelectionPacket extends TileEntityConfigurationPacket { +public class CurvedTrackSelectionPacket extends BlockEntityConfigurationPacket { private BlockPos targetPos; private boolean front; @@ -54,7 +54,7 @@ public class CurvedTrackSelectionPacket extends TileEntityConfigurationPacket extends TileEntityBehaviour { +public class TrackTargetingBehaviour extends BlockEntityBehaviour { public static final BehaviourType> TYPE = new BehaviourType<>(); @@ -65,8 +65,8 @@ public class TrackTargetingBehaviour extends TileEntit private T edgePoint; private boolean orthogonal; - public TrackTargetingBehaviour(SmartTileEntity te, EdgePointType edgePointType) { - super(te); + public TrackTargetingBehaviour(SmartBlockEntity be, EdgePointType edgePointType) { + super(be); this.edgePointType = edgePointType; targetDirection = AxisDirection.POSITIVE; targetTrack = BlockPos.ZERO; @@ -133,7 +133,7 @@ public class TrackTargetingBehaviour extends TileEntit public void invalidateEdgePoint(CompoundTag migrationData) { this.migrationData = migrationData; edgePoint = null; - tileEntity.sendData(); + blockEntity.sendData(); } @Override @@ -214,9 +214,9 @@ public class TrackTargetingBehaviour extends TileEntit } if (!otherPoint.canMerge()) return null; - otherPoint.tileAdded(tileEntity, front); + otherPoint.blockEntityAdded(blockEntity, front); id = otherPoint.getId(); - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); return (T) otherPoint; } } @@ -225,11 +225,11 @@ public class TrackTargetingBehaviour extends TileEntit point.read(data, true, DimensionPalette.read(data)); point.setId(id); - boolean reverseEdge = front || point instanceof SingleTileEdgePoint; + boolean reverseEdge = front || point instanceof SingleBlockEntityEdgePoint; point.setLocation(reverseEdge ? loc.edge : loc.edge.swap(), reverseEdge ? loc.position : length - loc.position); - point.tileAdded(tileEntity, front); + point.blockEntityAdded(blockEntity, front); loc.graph.addPoint(edgePointType, point); - tileEntity.sendData(); + blockEntity.sendData(); return point; } @@ -237,7 +237,7 @@ public class TrackTargetingBehaviour extends TileEntit public void destroy() { super.destroy(); if (edgePoint != null && !getWorld().isClientSide) - edgePoint.tileRemoved(getPos(), getTargetDirection() == AxisDirection.POSITIVE); + edgePoint.blockEntityRemoved(getPos(), getTargetDirection() == AxisDirection.POSITIVE); } @Override @@ -266,12 +266,12 @@ public class TrackTargetingBehaviour extends TileEntit } public BlockPos getGlobalPosition() { - return targetTrack.offset(tileEntity.getBlockPos()); + return targetTrack.offset(blockEntity.getBlockPos()); } public BlockPos getPositionForMapMarker() { - BlockPos target = targetTrack.offset(tileEntity.getBlockPos()); - if (targetBezier != null && getWorld().getBlockEntity(target) instanceof TrackTileEntity tte) { + BlockPos target = targetTrack.offset(blockEntity.getBlockPos()); + if (targetBezier != null && getWorld().getBlockEntity(target) instanceof TrackBlockEntity tte) { BezierConnection bc = tte.getConnections() .get(targetBezier.curveTarget()); if (bc == null) @@ -346,7 +346,7 @@ public class TrackTargetingBehaviour extends TileEntit targetBezier = new BezierTrackPointLocation(transform.applyWithoutOffset(targetBezier.curveTarget() .subtract(getPos())) .offset(getPos()), targetBezier.segment()); - tileEntity.notifyUpdate(); + blockEntity.notifyUpdate(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/TrackTargetingBlockItem.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/TrackTargetingBlockItem.java index c03f511d1..4e1020173 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/TrackTargetingBlockItem.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/TrackTargetingBlockItem.java @@ -13,8 +13,8 @@ import com.simibubi.create.content.logistics.trains.TrackGraphHelper; import com.simibubi.create.content.logistics.trains.TrackNode; import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.TrackEdgePoint; import com.simibubi.create.content.logistics.trains.track.BezierTrackPointLocation; +import com.simibubi.create.content.logistics.trains.track.TrackBlockEntity; import com.simibubi.create.content.logistics.trains.track.TrackBlockOutline.BezierPointSelection; -import com.simibubi.create.content.logistics.trains.track.TrackTileEntity; import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.networking.AllPackets; import com.simibubi.create.foundation.utility.Couple; @@ -156,12 +156,12 @@ public class TrackTargetingBlockItem extends BlockItem { public boolean useOnCurve(BezierPointSelection selection, ItemStack stack) { Minecraft mc = Minecraft.getInstance(); LocalPlayer player = mc.player; - TrackTileEntity te = selection.te(); + TrackBlockEntity be = selection.blockEntity(); BezierTrackPointLocation loc = selection.loc(); boolean front = player.getLookAngle() .dot(selection.direction()) < 0; - AllPackets.channel.sendToServer(new CurvedTrackSelectionPacket(te.getBlockPos(), loc.curveTarget(), + AllPackets.channel.sendToServer(new CurvedTrackSelectionPacket(be.getBlockPos(), loc.curveTarget(), loc.segment(), front, player.getInventory().selected)); return true; } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/TrackTargetingClient.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/TrackTargetingClient.java index 94f629068..47a4a9ffc 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/TrackTargetingClient.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/TrackTargetingClient.java @@ -72,7 +72,7 @@ public class TrackTargetingClient { } } else if (bezierSelection != null) { - hovered = bezierSelection.te() + hovered = bezierSelection.blockEntity() .getBlockPos(); hoveredBezier = bezierSelection.loc(); direction = lookAngle.dot(bezierSelection.direction()) < 0; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserver.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserver.java index 62ad747bb..18b706d67 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserver.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserver.java @@ -8,9 +8,9 @@ import com.simibubi.create.content.logistics.trains.TrackEdge; import com.simibubi.create.content.logistics.trains.TrackGraph; import com.simibubi.create.content.logistics.trains.entity.Train; import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalPropagator; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SingleTileEdgePoint; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SingleBlockEntityEdgePoint; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; @@ -18,7 +18,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; -public class TrackObserver extends SingleTileEdgePoint { +public class TrackObserver extends SingleBlockEntityEdgePoint { private int activated; private ItemStack filter; @@ -31,11 +31,11 @@ public class TrackObserver extends SingleTileEdgePoint { } @Override - public void tileAdded(BlockEntity tile, boolean front) { - super.tileAdded(tile, front); - FilteringBehaviour filteringBehaviour = TileEntityBehaviour.get(tile, FilteringBehaviour.TYPE); + public void blockEntityAdded(BlockEntity blockEntity, boolean front) { + super.blockEntityAdded(blockEntity, front); + FilteringBehaviour filteringBehaviour = BlockEntityBehaviour.get(blockEntity, FilteringBehaviour.TYPE); if (filteringBehaviour != null) - setFilterAndNotify(tile.getLevel(), filteringBehaviour.getFilter()); + setFilterAndNotify(blockEntity.getLevel(), filteringBehaviour.getFilter()); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverBlock.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverBlock.java index 0fa1f184e..809d752ab 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverBlock.java @@ -1,8 +1,8 @@ package com.simibubi.create.content.logistics.trains.management.edgePoint.observer; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -15,7 +15,7 @@ import net.minecraft.world.level.block.state.StateDefinition.Builder; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; -public class TrackObserverBlock extends Block implements ITE, IWrenchable { +public class TrackObserverBlock extends Block implements IBE, IWrenchable { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; @@ -45,18 +45,18 @@ public class TrackObserverBlock extends Block implements ITE getTileEntityClass() { - return TrackObserverTileEntity.class; + public Class getBlockEntityClass() { + return TrackObserverBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.TRACK_OBSERVER.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.TRACK_OBSERVER.get(); } @Override public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { - ITE.onRemove(state, worldIn, pos, newState); + IBE.onRemove(state, worldIn, pos, newState); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverBlockEntity.java similarity index 84% rename from src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverBlockEntity.java index 7b19574f4..ef431470a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverBlockEntity.java @@ -11,10 +11,10 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Str import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; import com.simibubi.create.content.logistics.trains.management.edgePoint.EdgePointType; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.world.item.ItemStack; @@ -23,18 +23,18 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -public class TrackObserverTileEntity extends SmartTileEntity implements ITransformableTE { +public class TrackObserverBlockEntity extends SmartBlockEntity implements ITransformableTE { public TrackTargetingBehaviour edgePoint; private FilteringBehaviour filtering; - public TrackObserverTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public TrackObserverBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(edgePoint = new TrackTargetingBehaviour<>(this, EdgePointType.OBSERVER)); behaviours.add(filtering = createFilter().withCallback(this::onFilterChanged)); } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverRenderer.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverRenderer.java index c9f4655f3..e3433df0f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/observer/TrackObserverRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.content.logistics.trains.ITrackBlock; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour.RenderedTrackOverlayType; -import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; +import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context; @@ -13,21 +13,21 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -public class TrackObserverRenderer extends SmartTileEntityRenderer { +public class TrackObserverRenderer extends SmartBlockEntityRenderer { public TrackObserverRenderer(Context context) { super(context); } @Override - protected void renderSafe(TrackObserverTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(TrackObserverBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - super.renderSafe(te, partialTicks, ms, buffer, light, overlay); - BlockPos pos = te.getBlockPos(); + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + BlockPos pos = be.getBlockPos(); - TrackTargetingBehaviour target = te.edgePoint; + TrackTargetingBehaviour target = be.edgePoint; BlockPos targetPosition = target.getGlobalPosition(); - Level level = te.getLevel(); + Level level = be.getLevel(); BlockState trackState = level.getBlockState(targetPosition); Block block = trackState.getBlock(); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBlock.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBlock.java index 85808103e..17d603d10 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBlock.java @@ -4,9 +4,9 @@ import java.util.Random; import javax.annotation.Nullable; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.core.BlockPos; @@ -27,7 +27,7 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.block.state.properties.EnumProperty; -public class SignalBlock extends Block implements ITE, IWrenchable { +public class SignalBlock extends Block implements IBE, IWrenchable { public static final EnumProperty TYPE = EnumProperty.create("type", SignalType.class); public static final BooleanProperty POWERED = BlockStateProperties.POWERED; @@ -48,8 +48,8 @@ public class SignalBlock extends Block implements ITE, IWrench } @Override - public Class getTileEntityClass() { - return SignalTileEntity.class; + public Class getBlockEntityClass() { + return SignalBlockEntity.class; } @Override @@ -93,12 +93,12 @@ public class SignalBlock extends Block implements ITE, IWrench @Override public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { - ITE.onRemove(state, worldIn, pos, newState); + IBE.onRemove(state, worldIn, pos, newState); } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.TRACK_SIGNAL.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.TRACK_SIGNAL.get(); } @Override @@ -107,7 +107,7 @@ public class SignalBlock extends Block implements ITE, IWrench BlockPos pos = context.getClickedPos(); if (level.isClientSide) return InteractionResult.SUCCESS; - withTileEntityDo(level, pos, ste -> { + withBlockEntityDo(level, pos, ste -> { SignalBoundary signal = ste.getSignal(); Player player = context.getPlayer(); if (signal != null) { @@ -128,7 +128,7 @@ public class SignalBlock extends Block implements ITE, IWrench @Override public int getAnalogOutputSignal(BlockState pState, Level blockAccess, BlockPos pPos) { - return getTileEntityOptional(blockAccess, pPos).filter(SignalTileEntity::isPowered) + return getBlockEntityOptional(blockAccess, pPos).filter(SignalBlockEntity::isPowered) .map($ -> 15) .orElse(0); } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBlockEntity.java similarity index 91% rename from src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBlockEntity.java index 68bccc274..2299a74bc 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBlockEntity.java @@ -9,8 +9,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Str import com.simibubi.create.content.logistics.trains.management.edgePoint.EdgePointType; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour; import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlock.SignalType; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.core.BlockPos; @@ -19,7 +19,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -public class SignalTileEntity extends SmartTileEntity implements ITransformableTE { +public class SignalBlockEntity extends SmartBlockEntity implements ITransformableTE { public static enum OverlayState { RENDER, SKIP, DUAL @@ -48,7 +48,7 @@ public class SignalTileEntity extends SmartTileEntity implements ITransformableT private int switchToRedAfterTrainEntered; private boolean lastReportedPower; - public SignalTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SignalBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); this.state = SignalState.INVALID; this.overlay = OverlayState.SKIP; @@ -82,7 +82,7 @@ public class SignalTileEntity extends SmartTileEntity implements ITransformableT } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { edgePoint = new TrackTargetingBehaviour<>(this, EdgePointType.SIGNAL); behaviours.add(edgePoint); } @@ -106,7 +106,7 @@ public class SignalTileEntity extends SmartTileEntity implements ITransformableT if (lastReportedPower == powered) return; lastReportedPower = powered; - boundary.updateTilePower(this); + boundary.updateBlockEntityPower(this); notifyUpdate(); }); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBoundary.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBoundary.java index 6d57f86e2..7e52b47b3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBoundary.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalBoundary.java @@ -12,8 +12,8 @@ import com.simibubi.create.content.logistics.trains.TrackGraph; import com.simibubi.create.content.logistics.trains.TrackNode; import com.simibubi.create.content.logistics.trains.management.edgePoint.EdgePointType; import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlock.SignalType; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity.OverlayState; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity.SignalState; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlockEntity.OverlayState; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlockEntity.SignalState; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.NBTHelper; @@ -96,24 +96,24 @@ public class SignalBoundary extends TrackEdgePoint { } @Override - public void tileAdded(BlockEntity tile, boolean front) { - Map tilesOnSide = blockEntities.get(front); - if (tilesOnSide.isEmpty()) - tile.getBlockState() + public void blockEntityAdded(BlockEntity blockEntity, boolean front) { + Map blockEntitiesOnSide = blockEntities.get(front); + if (blockEntitiesOnSide.isEmpty()) + blockEntity.getBlockState() .getOptionalValue(SignalBlock.TYPE) .ifPresent(type -> types.set(front, type)); - tilesOnSide.put(tile.getBlockPos(), tile instanceof SignalTileEntity ste && ste.getReportedPower()); + blockEntitiesOnSide.put(blockEntity.getBlockPos(), blockEntity instanceof SignalBlockEntity ste && ste.getReportedPower()); } - public void updateTilePower(SignalTileEntity tile) { + public void updateBlockEntityPower(SignalBlockEntity blockEntity) { for (boolean front : Iterate.trueAndFalse) blockEntities.get(front) - .computeIfPresent(tile.getBlockPos(), (p, c) -> tile.getReportedPower()); + .computeIfPresent(blockEntity.getBlockPos(), (p, c) -> blockEntity.getReportedPower()); } @Override - public void tileRemoved(BlockPos tilePos, boolean front) { - blockEntities.forEach(s -> s.remove(tilePos)); + public void blockEntityRemoved(BlockPos blockEntityPos, boolean front) { + blockEntities.forEach(s -> s.remove(blockEntityPos)); if (blockEntities.both(Map::isEmpty)) removeFromAllGraphs(); } @@ -138,11 +138,11 @@ public class SignalBoundary extends TrackEdgePoint { .isEmpty(); } - public OverlayState getOverlayFor(BlockPos tile) { + public OverlayState getOverlayFor(BlockPos blockEntity) { for (boolean first : Iterate.trueAndFalse) { Map set = blockEntities.get(first); for (BlockPos blockPos : set.keySet()) { - if (blockPos.equals(tile)) + if (blockPos.equals(blockEntity)) return blockEntities.get(!first) .isEmpty() ? OverlayState.RENDER : OverlayState.DUAL; return OverlayState.SKIP; @@ -151,15 +151,15 @@ public class SignalBoundary extends TrackEdgePoint { return OverlayState.SKIP; } - public SignalType getTypeFor(BlockPos tile) { + public SignalType getTypeFor(BlockPos blockEntity) { return types.get(blockEntities.getFirst() - .containsKey(tile)); + .containsKey(blockEntity)); } - public SignalState getStateFor(BlockPos tile) { + public SignalState getStateFor(BlockPos blockEntity) { for (boolean first : Iterate.trueAndFalse) { Map set = blockEntities.get(first); - if (set.containsKey(tile)) + if (set.containsKey(blockEntity)) return cachedStates.get(first); } return SignalState.INVALID; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalRenderer.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalRenderer.java index 0be8feda6..223de173b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SignalRenderer.java @@ -5,10 +5,10 @@ import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.logistics.trains.ITrackBlock; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour.RenderedTrackOverlayType; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity.OverlayState; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity.SignalState; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlockEntity.OverlayState; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlockEntity.SignalState; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.client.renderer.MultiBufferSource; @@ -19,18 +19,18 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -public class SignalRenderer extends SafeTileEntityRenderer { +public class SignalRenderer extends SafeBlockEntityRenderer { public SignalRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(SignalTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(SignalBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - BlockState blockState = te.getBlockState(); - SignalState signalState = te.getState(); - OverlayState overlayState = te.getOverlay(); + BlockState blockState = be.getBlockState(); + SignalState signalState = be.getState(); + OverlayState overlayState = be.getOverlay(); - float renderTime = AnimationTickHolder.getRenderTime(te.getLevel()); + float renderTime = AnimationTickHolder.getRenderTime(be.getLevel()); if (signalState.isRedLight(renderTime)) CachedBufferer.partial(AllBlockPartials.SIGNAL_ON, blockState) .renderInto(ms, buffer.getBuffer(RenderType.solid())); @@ -39,10 +39,10 @@ public class SignalRenderer extends SafeTileEntityRenderer { .light(light) .renderInto(ms, buffer.getBuffer(RenderType.solid())); - BlockPos pos = te.getBlockPos(); - TrackTargetingBehaviour target = te.edgePoint; + BlockPos pos = be.getBlockPos(); + TrackTargetingBehaviour target = be.edgePoint; BlockPos targetPosition = target.getGlobalPosition(); - Level level = te.getLevel(); + Level level = be.getLevel(); BlockState trackState = level.getBlockState(targetPosition); Block block = trackState.getBlock(); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SingleTileEdgePoint.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SingleBlockEntityEdgePoint.java similarity index 50% rename from src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SingleTileEdgePoint.java rename to src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SingleBlockEntityEdgePoint.java index f18b78390..f40e58f75 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SingleTileEdgePoint.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/SingleBlockEntityEdgePoint.java @@ -10,34 +10,34 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.entity.BlockEntity; -public abstract class SingleTileEdgePoint extends TrackEdgePoint { +public abstract class SingleBlockEntityEdgePoint extends TrackEdgePoint { - public ResourceKey tileDimension; - public BlockPos tilePos; + public ResourceKey blockEntityDimension; + public BlockPos blockEntityPos; - public BlockPos getTilePos() { - return tilePos; + public BlockPos getBlockEntityPos() { + return blockEntityPos; } - public ResourceKey getTileDimension() { - return tileDimension; + public ResourceKey getBlockEntityDimension() { + return blockEntityDimension; } @Override - public void tileAdded(BlockEntity tile, boolean front) { - this.tilePos = tile.getBlockPos(); - this.tileDimension = tile.getLevel() + public void blockEntityAdded(BlockEntity blockEntity, boolean front) { + this.blockEntityPos = blockEntity.getBlockPos(); + this.blockEntityDimension = blockEntity.getLevel() .dimension(); } @Override - public void tileRemoved(BlockPos tilePos, boolean front) { + public void blockEntityRemoved(BlockPos blockEntityPos, boolean front) { removeFromAllGraphs(); } @Override public void invalidate(LevelAccessor level) { - invalidateAt(level, tilePos); + invalidateAt(level, blockEntityPos); } @Override @@ -50,15 +50,15 @@ public abstract class SingleTileEdgePoint extends TrackEdgePoint { super.read(nbt, migration, dimensions); if (migration) return; - tilePos = NbtUtils.readBlockPos(nbt.getCompound("TilePos")); - tileDimension = dimensions.decode(nbt.contains("TileDimension") ? nbt.getInt("TileDimension") : -1); + blockEntityPos = NbtUtils.readBlockPos(nbt.getCompound("TilePos")); + blockEntityDimension = dimensions.decode(nbt.contains("TileDimension") ? nbt.getInt("TileDimension") : -1); } @Override public void write(CompoundTag nbt, DimensionPalette dimensions) { super.write(nbt, dimensions); - nbt.put("TilePos", NbtUtils.writeBlockPos(tilePos)); - nbt.putInt("TileDimension", dimensions.encode(tileDimension)); + nbt.put("TilePos", NbtUtils.writeBlockPos(blockEntityPos)); + nbt.putInt("TileDimension", dimensions.encode(blockEntityDimension)); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/TrackEdgePoint.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/TrackEdgePoint.java index acfaa54eb..356bd388b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/TrackEdgePoint.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/signal/TrackEdgePoint.java @@ -10,7 +10,7 @@ import com.simibubi.create.content.logistics.trains.TrackNode; import com.simibubi.create.content.logistics.trains.TrackNodeLocation; import com.simibubi.create.content.logistics.trains.management.edgePoint.EdgePointType; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.Couple; import net.minecraft.core.BlockPos; @@ -51,8 +51,8 @@ public abstract class TrackEdgePoint { public abstract void invalidate(LevelAccessor level); - protected void invalidateAt(LevelAccessor level, BlockPos tilePos) { - TrackTargetingBehaviour behaviour = TileEntityBehaviour.get(level, tilePos, TrackTargetingBehaviour.TYPE); + protected void invalidateAt(LevelAccessor level, BlockPos blockEntityPos) { + TrackTargetingBehaviour behaviour = BlockEntityBehaviour.get(level, blockEntityPos, TrackTargetingBehaviour.TYPE); if (behaviour == null) return; CompoundTag migrationData = new CompoundTag(); @@ -62,9 +62,9 @@ public abstract class TrackEdgePoint { behaviour.invalidateEdgePoint(migrationData); } - public abstract void tileAdded(BlockEntity tile, boolean front); + public abstract void blockEntityAdded(BlockEntity blockEntity, boolean front); - public abstract void tileRemoved(BlockPos tilePos, boolean front); + public abstract void blockEntityRemoved(BlockPos blockEntityPos, boolean front); public void onRemoved(TrackGraph graph) {} diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AbstractStationScreen.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AbstractStationScreen.java index ed32075ae..2231b98fa 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AbstractStationScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AbstractStationScreen.java @@ -21,18 +21,18 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; public abstract class AbstractStationScreen extends AbstractSimiScreen { protected AllGuiTextures background; - protected StationTileEntity te; + protected StationBlockEntity blockEntity; protected GlobalStation station; protected WeakReference displayedTrain; private IconButton confirmButton; - public AbstractStationScreen(StationTileEntity te, GlobalStation station) { - super(te.getBlockState() + public AbstractStationScreen(StationBlockEntity be, GlobalStation station) { + super(be.getBlockState() .getBlock() .getName()); - this.te = te; + this.blockEntity = be; this.station = station; displayedTrain = new WeakReference<>(null); } @@ -85,13 +85,13 @@ public abstract class AbstractStationScreen extends AbstractSimiScreen { .scale(40) .rotateX(-22) .rotateY(63); - GuiGameElement.of(te.getBlockState() + GuiGameElement.of(blockEntity.getBlockState() .setValue(BlockStateProperties.WATERLOGGED, false)) .render(ms); - if (te.resolveFlagAngle()) { + if (blockEntity.resolveFlagAngle()) { msr.translate(1 / 16f, -19 / 16f, -12 / 16f); - StationRenderer.transformFlag(msr, te, partialTicks, 180, false); + StationRenderer.transformFlag(msr, blockEntity, partialTicks, 180, false); GuiGameElement.of(getFlag(partialTicks)) .render(ms); } @@ -102,11 +102,11 @@ public abstract class AbstractStationScreen extends AbstractSimiScreen { protected abstract PartialModel getFlag(float partialTicks); protected Train getImminent() { - return te.imminentTrain == null ? null : CreateClient.RAILWAYS.trains.get(te.imminentTrain); + return blockEntity.imminentTrain == null ? null : CreateClient.RAILWAYS.trains.get(blockEntity.imminentTrain); } protected boolean trainPresent() { - return te.trainPresent; + return blockEntity.trainPresent; } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AssemblyScreen.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AssemblyScreen.java index c7dc73580..9eda0573c 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AssemblyScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AssemblyScreen.java @@ -28,8 +28,8 @@ public class AssemblyScreen extends AbstractStationScreen { private List iconTypes; private ScrollInput iconTypeScroll; - public AssemblyScreen(StationTileEntity te, GlobalStation station) { - super(te, station); + public AssemblyScreen(StationBlockEntity be, GlobalStation station) { + super(be, station); background = AllGuiTextures.STATION_ASSEMBLING; } @@ -65,15 +65,15 @@ public class AssemblyScreen extends AbstractStationScreen { toggleAssemblyButton.active = false; toggleAssemblyButton.setToolTip(Lang.translateDirect("station.assemble_train")); toggleAssemblyButton.withCallback(() -> { - AllPackets.channel.sendToServer(StationEditPacket.tryAssemble(te.getBlockPos())); + AllPackets.channel.sendToServer(StationEditPacket.tryAssemble(blockEntity.getBlockPos())); }); quitAssembly = new IconButton(x + 73, by, AllIcons.I_DISABLE); quitAssembly.active = true; quitAssembly.setToolTip(Lang.translateDirect("station.cancel")); quitAssembly.withCallback(() -> { - AllPackets.channel.sendToServer(StationEditPacket.configure(te.getBlockPos(), false, station.name)); - minecraft.setScreen(new StationScreen(te, station)); + AllPackets.channel.sendToServer(StationEditPacket.configure(blockEntity.getBlockPos(), false, station.name)); + minecraft.setScreen(new StationScreen(blockEntity, station)); }); addRenderableWidget(toggleAssemblyButton); @@ -87,11 +87,11 @@ public class AssemblyScreen extends AbstractStationScreen { super.tick(); tickTrainDisplay(); Train train = displayedTrain.get(); - toggleAssemblyButton.active = te.bogeyCount > 0 || train != null; + toggleAssemblyButton.active = blockEntity.bogeyCount > 0 || train != null; if (train != null) { - AllPackets.channel.sendToServer(StationEditPacket.configure(te.getBlockPos(), false, station.name)); - minecraft.setScreen(new StationScreen(te, station)); + AllPackets.channel.sendToServer(StationEditPacket.configure(blockEntity.getBlockPos(), false, station.name)); + minecraft.setScreen(new StationScreen(blockEntity, station)); for (Carriage carriage : train.carriages) carriage.updateConductors(); } @@ -105,11 +105,11 @@ public class AssemblyScreen extends AbstractStationScreen { toggleAssemblyButton.setToolTip(Lang.translateDirect("station.assemble_train")); toggleAssemblyButton.setIcon(AllGuiTextures.I_ASSEMBLE_TRAIN); toggleAssemblyButton.withCallback(() -> { - AllPackets.channel.sendToServer(StationEditPacket.tryAssemble(te.getBlockPos())); + AllPackets.channel.sendToServer(StationEditPacket.tryAssemble(blockEntity.getBlockPos())); }); } else { - AllPackets.channel.sendToServer(StationEditPacket.configure(te.getBlockPos(), false, station.name)); - minecraft.setScreen(new StationScreen(te, station)); + AllPackets.channel.sendToServer(StationEditPacket.configure(blockEntity.getBlockPos(), false, station.name)); + minecraft.setScreen(new StationScreen(blockEntity, station)); } } @@ -122,13 +122,13 @@ public class AssemblyScreen extends AbstractStationScreen { MutableComponent header = Lang.translateDirect("station.assembly_title"); font.draw(ms, header, x + background.width / 2 - font.width(header) / 2, y + 4, 0x0E2233); - AssemblyException lastAssemblyException = te.lastException; + AssemblyException lastAssemblyException = blockEntity.lastException; if (lastAssemblyException != null) { MutableComponent text = Lang.translateDirect("station.failed"); font.draw(ms, text, x + 97 - font.width(text) / 2, y + 47, 0x775B5B); int offset = 0; - if (te.failedCarriageIndex != -1) { - font.draw(ms, Lang.translateDirect("station.carriage_number", te.failedCarriageIndex), x + 30, y + 67, + if (blockEntity.failedCarriageIndex != -1) { + font.draw(ms, Lang.translateDirect("station.carriage_number", blockEntity.failedCarriageIndex), x + 30, y + 67, 0x7A7A7A); offset += 10; } @@ -139,7 +139,7 @@ public class AssemblyScreen extends AbstractStationScreen { return; } - int bogeyCount = te.bogeyCount; + int bogeyCount = blockEntity.bogeyCount; MutableComponent text = Lang.translateDirect( bogeyCount == 0 ? "station.no_bogeys" : bogeyCount == 1 ? "station.one_bogey" : "station.more_bogeys", diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/GlobalStation.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/GlobalStation.java index d7db61a8f..7f3466803 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/GlobalStation.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/GlobalStation.java @@ -7,14 +7,14 @@ import javax.annotation.Nullable; import com.simibubi.create.content.logistics.trains.DimensionPalette; import com.simibubi.create.content.logistics.trains.TrackNode; import com.simibubi.create.content.logistics.trains.entity.Train; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SingleTileEdgePoint; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SingleBlockEntityEdgePoint; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; -public class GlobalStation extends SingleTileEdgePoint { +public class GlobalStation extends SingleBlockEntityEdgePoint { public String name; public WeakReference nearestTrain; @@ -26,9 +26,9 @@ public class GlobalStation extends SingleTileEdgePoint { } @Override - public void tileAdded(BlockEntity tile, boolean front) { - super.tileAdded(tile, front); - BlockState state = tile.getBlockState(); + public void blockEntityAdded(BlockEntity blockEntity, boolean front) { + super.blockEntityAdded(blockEntity, front); + BlockState state = blockEntity.getBlockState(); assembling = state != null && state.hasProperty(StationBlock.ASSEMBLING) && state.getValue(StationBlock.ASSEMBLING); } @@ -47,7 +47,7 @@ public class GlobalStation extends SingleTileEdgePoint { name = buffer.readUtf(); assembling = buffer.readBoolean(); if (buffer.readBoolean()) - tilePos = buffer.readBlockPos(); + blockEntityPos = buffer.readBlockPos(); } @Override @@ -62,9 +62,9 @@ public class GlobalStation extends SingleTileEdgePoint { super.write(buffer, dimensions); buffer.writeUtf(name); buffer.writeBoolean(assembling); - buffer.writeBoolean(tilePos != null); - if (tilePos != null) - buffer.writeBlockPos(tilePos); + buffer.writeBoolean(blockEntityPos != null); + if (blockEntityPos != null) + buffer.writeBlockPos(blockEntityPos); } public boolean canApproachFrom(TrackNode side) { diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlock.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlock.java index 482e2112d..afe1925ec 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlock.java @@ -1,13 +1,13 @@ package com.simibubi.create.content.logistics.trains.management.edgePoint.station; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllItems; import com.simibubi.create.AllShapes; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.logistics.block.depot.SharedDepotBlockMethods; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; import com.simibubi.create.foundation.gui.ScreenOpener; @@ -43,7 +43,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; -public class StationBlock extends Block implements ITE, IWrenchable, ProperWaterloggedBlock { +public class StationBlock extends Block implements IBE, IWrenchable, ProperWaterloggedBlock { public static final BooleanProperty ASSEMBLING = BooleanProperty.create("assembling"); @@ -88,7 +88,7 @@ public class StationBlock extends Block implements ITE, IWren @Override public int getAnalogOutputSignal(BlockState pState, Level pLevel, BlockPos pPos) { - return getTileEntityOptional(pLevel, pPos).map(ste -> ste.trainPresent ? 15 : 0) + return getBlockEntityOptional(pLevel, pPos).map(ste -> ste.trainPresent ? 15 : 0) .orElse(0); } @@ -100,7 +100,7 @@ public class StationBlock extends Block implements ITE, IWren @Override public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { - ITE.onRemove(state, worldIn, pos, newState); + IBE.onRemove(state, worldIn, pos, newState); } @Override @@ -120,7 +120,7 @@ public class StationBlock extends Block implements ITE, IWren return InteractionResult.PASS; if (itemInHand.getItem() == Items.FILLED_MAP) { - return onTileEntityUse(pLevel, pPos, station -> { + return onBlockEntityUse(pLevel, pPos, station -> { if (pLevel.isClientSide) return InteractionResult.SUCCESS; @@ -138,7 +138,7 @@ public class StationBlock extends Block implements ITE, IWren }); } - InteractionResult result = onTileEntityUse(pLevel, pPos, station -> { + InteractionResult result = onBlockEntityUse(pLevel, pPos, station -> { ItemStack autoSchedule = station.getAutoSchedule(); if (autoSchedule.isEmpty()) return InteractionResult.PASS; @@ -154,20 +154,20 @@ public class StationBlock extends Block implements ITE, IWren if (result == InteractionResult.PASS) DistExecutor.unsafeRunWhenOn(Dist.CLIENT, - () -> () -> withTileEntityDo(pLevel, pPos, te -> this.displayScreen(te, pPlayer))); + () -> () -> withBlockEntityDo(pLevel, pPos, be -> this.displayScreen(be, pPlayer))); return InteractionResult.SUCCESS; } @OnlyIn(value = Dist.CLIENT) - protected void displayScreen(StationTileEntity te, Player player) { + protected void displayScreen(StationBlockEntity be, Player player) { if (!(player instanceof LocalPlayer)) return; - GlobalStation station = te.getStation(); - BlockState blockState = te.getBlockState(); + GlobalStation station = be.getStation(); + BlockState blockState = be.getBlockState(); if (station == null || blockState == null) return; boolean assembling = blockState.getBlock() == this && blockState.getValue(ASSEMBLING); - ScreenOpener.open(assembling ? new AssemblyScreen(te, station) : new StationScreen(te, station)); + ScreenOpener.open(assembling ? new AssemblyScreen(be, station) : new StationScreen(be, station)); } @Override @@ -176,13 +176,13 @@ public class StationBlock extends Block implements ITE, IWren } @Override - public Class getTileEntityClass() { - return StationTileEntity.class; + public Class getBlockEntityClass() { + return StationBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.TRACK_STATION.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.TRACK_STATION.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlockEntity.java similarity index 98% rename from src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlockEntity.java index 9fdb9a96b..7d64ffebb 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlockEntity.java @@ -40,10 +40,10 @@ import com.simibubi.create.content.logistics.trains.management.schedule.Schedule import com.simibubi.create.content.logistics.trains.management.schedule.ScheduleItem; import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.NBTHelper; @@ -77,7 +77,7 @@ import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.network.PacketDistributor; -public class StationTileEntity extends SmartTileEntity implements ITransformableTE { +public class StationBlockEntity extends SmartBlockEntity implements ITransformableTE { public TrackTargetingBehaviour edgePoint; public LerpedFloat flag; @@ -99,7 +99,7 @@ public class StationTileEntity extends SmartTileEntity implements ITransformable public Component lastDisassembledTrainName; - public StationTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public StationBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setLazyTickRate(20); lastException = null; @@ -109,7 +109,7 @@ public class StationTileEntity extends SmartTileEntity implements ITransformable } @Override - public void addBehaviours(List behaviours) { + public void addBehaviours(List behaviours) { behaviours.add(edgePoint = new TrackTargetingBehaviour<>(this, EdgePointType.STATION)); behaviours.add(depotBehaviour = new DepotBehaviour(this).onlyAccepts(AllItems.SCHEDULE::isIn) .withCallback(s -> applyAutoSchedule())); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationEditPacket.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationEditPacket.java index e1ec084c7..e90c10f0f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationEditPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationEditPacket.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.logistics.trains.management.edgePoint.statio import com.simibubi.create.Create; import com.simibubi.create.content.logistics.trains.GraphLocation; import com.simibubi.create.content.logistics.trains.entity.Train; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; @@ -15,7 +15,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class StationEditPacket extends TileEntityConfigurationPacket { +public class StationEditPacket extends BlockEntityConfigurationPacket { boolean dropSchedule; boolean assemblyMode; @@ -86,19 +86,19 @@ public class StationEditPacket extends TileEntityConfigurationPacket stationOption = AllTileEntities.TRACK_STATION.get(level, pos); + Optional stationOption = AllBlockEntityTypes.TRACK_STATION.get(level, pos); if (stationOption.isEmpty() || stationOption.get().getStation() == null) return null; String name = stationOption.get() .getStation().name; - return new StationMarker(pos, TileEntityBehaviour.get(stationOption.get(), TrackTargetingBehaviour.TYPE) + return new StationMarker(pos, BlockEntityBehaviour.get(stationOption.get(), TrackTargetingBehaviour.TYPE) .getPositionForMapMarker(), Components.literal(name)); } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationRenderer.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationRenderer.java index e71fdf1ed..2aaadece7 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationRenderer.java @@ -9,9 +9,9 @@ import com.simibubi.create.content.logistics.block.depot.DepotRenderer; import com.simibubi.create.content.logistics.trains.ITrackBlock; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour.RenderedTrackOverlayType; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.client.renderer.MultiBufferSource; @@ -25,33 +25,33 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -public class StationRenderer extends SafeTileEntityRenderer { +public class StationRenderer extends SafeBlockEntityRenderer { public StationRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(StationTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(StationBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - BlockPos pos = te.getBlockPos(); - TrackTargetingBehaviour target = te.edgePoint; + BlockPos pos = be.getBlockPos(); + TrackTargetingBehaviour target = be.edgePoint; BlockPos targetPosition = target.getGlobalPosition(); - Level level = te.getLevel(); + Level level = be.getLevel(); - DepotRenderer.renderItemsOf(te, partialTicks, ms, buffer, light, overlay, te.depotBehaviour); + DepotRenderer.renderItemsOf(be, partialTicks, ms, buffer, light, overlay, be.depotBehaviour); BlockState trackState = level.getBlockState(targetPosition); Block block = trackState.getBlock(); if (!(block instanceof ITrackBlock)) return; - GlobalStation station = te.getStation(); - boolean isAssembling = te.getBlockState() + GlobalStation station = be.getStation(); + boolean isAssembling = be.getBlockState() .getValue(StationBlock.ASSEMBLING); - if (!isAssembling || (station == null || station.getPresentTrain() != null) && !te.isVirtual()) { + if (!isAssembling || (station == null || station.getPresentTrain() != null) && !be.isVirtual()) { renderFlag( - te.flag.getValue(partialTicks) > 0.75f ? AllBlockPartials.STATION_ON : AllBlockPartials.STATION_OFF, te, + be.flag.getValue(partialTicks) > 0.75f ? AllBlockPartials.STATION_ON : AllBlockPartials.STATION_OFF, be, partialTicks, ms, buffer, light, overlay); ms.pushPose(); ms.translate(-pos.getX(), -pos.getY(), -pos.getZ()); @@ -61,15 +61,15 @@ public class StationRenderer extends SafeTileEntityRenderer { return; } - renderFlag(AllBlockPartials.STATION_ASSEMBLE, te, partialTicks, ms, buffer, light, overlay); + renderFlag(AllBlockPartials.STATION_ASSEMBLE, be, partialTicks, ms, buffer, light, overlay); ITrackBlock track = (ITrackBlock) block; - Direction direction = te.assemblyDirection; + Direction direction = be.assemblyDirection; - if (te.isVirtual() && te.bogeyLocations == null) - te.refreshAssemblyInfo(); + if (be.isVirtual() && be.bogeyLocations == null) + be.refreshAssemblyInfo(); - if (direction == null || te.assemblyLength == 0 || te.bogeyLocations == null) + if (direction == null || be.assemblyLength == 0 || be.bogeyLocations == null) return; ms.pushPose(); @@ -86,10 +86,10 @@ public class StationRenderer extends SafeTileEntityRenderer { currentPos.move(direction, 1); ms.translate(0, 0, 1); - for (int i = 0; i < te.assemblyLength; i++) { - int valid = te.isValidBogeyOffset(i) ? colorWhenValid : -1; + for (int i = 0; i < be.assemblyLength; i++) { + int valid = be.isValidBogeyOffset(i) ? colorWhenValid : -1; - for (int j : te.bogeyLocations) + for (int j : be.bogeyLocations) if (i == j) { valid = colorWhenCarriage; break; @@ -109,24 +109,24 @@ public class StationRenderer extends SafeTileEntityRenderer { ms.popPose(); } - public static void renderFlag(PartialModel flag, StationTileEntity te, float partialTicks, PoseStack ms, + public static void renderFlag(PartialModel flag, StationBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (!te.resolveFlagAngle()) + if (!be.resolveFlagAngle()) return; - SuperByteBuffer flagBB = CachedBufferer.partial(flag, te.getBlockState()); - transformFlag(flagBB, te, partialTicks, te.flagYRot, te.flagFlipped); + SuperByteBuffer flagBB = CachedBufferer.partial(flag, be.getBlockState()); + transformFlag(flagBB, be, partialTicks, be.flagYRot, be.flagFlipped); flagBB.translate(0.5f / 16, 0, 0) - .rotateY(te.flagFlipped ? 0 : 180) + .rotateY(be.flagFlipped ? 0 : 180) .translate(-0.5f / 16, 0, 0) .light(light) .renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped())); } - public static void transformFlag(Transform flag, StationTileEntity te, float partialTicks, int yRot, + public static void transformFlag(Transform flag, StationBlockEntity be, float partialTicks, int yRot, boolean flipped) { - float value = te.flag.getValue(partialTicks); + float value = be.flag.getValue(partialTicks); float progress = (float) (Math.pow(Math.min(value * 5, 1), 2)); - if (te.flag.getChaseTarget() > 0 && !te.flag.settled() && progress == 1) { + if (be.flag.getChaseTarget() > 0 && !be.flag.settled() && progress == 1) { float wiggleProgress = (value - .2f) / .8f; progress += (Math.sin(wiggleProgress * (2 * Mth.PI) * 4) / 8f) / Math.max(1, 8f * wiggleProgress); } @@ -140,7 +140,7 @@ public class StationRenderer extends SafeTileEntityRenderer { } @Override - public boolean shouldRenderOffScreen(StationTileEntity pBlockEntity) { + public boolean shouldRenderOffScreen(StationBlockEntity pBlockEntity) { return true; } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationScreen.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationScreen.java index 0a8ff8a66..b5ee9c13a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationScreen.java @@ -40,8 +40,8 @@ public class StationScreen extends AbstractStationScreen { private boolean switchingToAssemblyMode; - public StationScreen(StationTileEntity te, GlobalStation station) { - super(te, station); + public StationScreen(StationBlockEntity be, GlobalStation station) { + super(be, station); background = AllGuiTextures.STATION; leavingAnimation = 0; trainPosition = LerpedFloat.linear() @@ -72,7 +72,7 @@ public class StationScreen extends AbstractStationScreen { Runnable assemblyCallback = () -> { switchingToAssemblyMode = true; - minecraft.setScreen(new AssemblyScreen(te, station)); + minecraft.setScreen(new AssemblyScreen(blockEntity, station)); }; newTrainButton = new WideIconButton(x + 84, y + 65, AllGuiTextures.I_NEW_TRAIN); @@ -89,7 +89,7 @@ public class StationScreen extends AbstractStationScreen { dropScheduleButton.active = false; dropScheduleButton.visible = false; dropScheduleButton - .withCallback(() -> AllPackets.channel.sendToServer(StationEditPacket.dropSchedule(te.getBlockPos()))); + .withCallback(() -> AllPackets.channel.sendToServer(StationEditPacket.dropSchedule(blockEntity.getBlockPos()))); addRenderableWidget(dropScheduleButton); onTextChanged = s -> trainNameBox.x = nameBoxX(s, trainNameBox); @@ -121,9 +121,9 @@ public class StationScreen extends AbstractStationScreen { super.tick(); - updateAssemblyTooltip(te.edgePoint.isOnCurve() ? "no_assembly_curve" - : !te.edgePoint.isOrthogonal() ? "no_assembly_diagonal" - : trainPresent() && !te.trainCanDisassemble ? "train_not_aligned" : null); + updateAssemblyTooltip(blockEntity.edgePoint.isOnCurve() ? "no_assembly_curve" + : !blockEntity.edgePoint.isOrthogonal() ? "no_assembly_diagonal" + : trainPresent() && !blockEntity.trainCanDisassemble ? "train_not_aligned" : null); } private void tickTrainDisplay() { @@ -136,7 +136,7 @@ public class StationScreen extends AbstractStationScreen { } leavingAnimation = 0; - newTrainButton.active = te.edgePoint.isOrthogonal(); + newTrainButton.active = blockEntity.edgePoint.isOrthogonal(); newTrainButton.visible = true; Train imminentTrain = getImminent(); @@ -146,7 +146,7 @@ public class StationScreen extends AbstractStationScreen { newTrainButton.visible = false; disassembleTrainButton.active = false; disassembleTrainButton.visible = true; - dropScheduleButton.active = te.trainHasSchedule; + dropScheduleButton.active = blockEntity.trainHasSchedule; dropScheduleButton.visible = true; trainNameBox.active = true; @@ -192,12 +192,12 @@ public class StationScreen extends AbstractStationScreen { } boolean trainAtStation = trainPresent(); - disassembleTrainButton.active = trainAtStation && te.trainCanDisassemble && te.edgePoint.isOrthogonal(); - dropScheduleButton.active = te.trainHasSchedule; + disassembleTrainButton.active = trainAtStation && blockEntity.trainCanDisassemble && blockEntity.edgePoint.isOrthogonal(); + dropScheduleButton.active = blockEntity.trainHasSchedule; - if (te.trainHasSchedule) + if (blockEntity.trainHasSchedule) dropScheduleButton.setToolTip( - Lang.translateDirect(te.trainHasAutoSchedule ? "station.remove_auto_schedule" : "station.remove_schedule")); + Lang.translateDirect(blockEntity.trainHasAutoSchedule ? "station.remove_auto_schedule" : "station.remove_schedule")); else dropScheduleButton.getToolTip() .clear(); @@ -260,7 +260,7 @@ public class StationScreen extends AbstractStationScreen { // offset += icon.render(TrainIconType.FLIPPED_ENGINE, ms, x + offset, y + 20) + 1; // continue; // } - Carriage carriage = carriages.get(te.trainBackwards ? carriages.size() - i - 1 : i); + Carriage carriage = carriages.get(blockEntity.trainBackwards ? carriages.size() - i - 1 : i); offset += icon.render(carriage.bogeySpacing, ms, x + offset, y + 20) + 1; } @@ -339,26 +339,26 @@ public class StationScreen extends AbstractStationScreen { private void syncStationName() { if (!nameBox.getValue() .equals(station.name)) - AllPackets.channel.sendToServer(StationEditPacket.configure(te.getBlockPos(), false, nameBox.getValue())); + AllPackets.channel.sendToServer(StationEditPacket.configure(blockEntity.getBlockPos(), false, nameBox.getValue())); } @Override public void removed() { super.removed(); AllPackets.channel - .sendToServer(StationEditPacket.configure(te.getBlockPos(), switchingToAssemblyMode, nameBox.getValue())); + .sendToServer(StationEditPacket.configure(blockEntity.getBlockPos(), switchingToAssemblyMode, nameBox.getValue())); Train train = displayedTrain.get(); if (train == null) return; if (!switchingToAssemblyMode) AllPackets.channel.sendToServer(new TrainEditPacket(train.id, trainNameBox.getValue(), train.icon.getId())); else - te.imminentTrain = null; + blockEntity.imminentTrain = null; } @Override protected PartialModel getFlag(float partialTicks) { - return te.flag.getValue(partialTicks) > 0.75f ? AllBlockPartials.STATION_ON : AllBlockPartials.STATION_OFF; + return blockEntity.flag.getValue(partialTicks) > 0.75f ? AllBlockPartials.STATION_ON : AllBlockPartials.STATION_OFF; } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleScreen.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleScreen.java index cc1503142..580d60c39 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleScreen.java @@ -336,9 +336,9 @@ public class ScheduleScreen extends AbstractSimiContainerScreen { return viableGraphs.stream() .flatMap(g -> g.getPoints(EdgePointType.STATION) .stream()) - .filter(station -> station.tilePos != null) + .filter(station -> station.blockEntityPos != null) .filter(station -> visited.add(station.name)) - .map(station -> IntAttached.with((int) Vec3.atBottomCenterOf(station.tilePos) + .map(station -> IntAttached.with((int) Vec3.atBottomCenterOf(station.blockEntityPos) .distanceTo(position), station.name)) .toList(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationPoweredCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationPoweredCondition.java index 2f57368af..708b4b563 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationPoweredCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationPoweredCondition.java @@ -28,8 +28,8 @@ public class StationPoweredCondition extends ScheduleWaitCondition { GlobalStation currentStation = train.getCurrentStation(); if (currentStation == null) return false; - BlockPos stationPos = currentStation.getTilePos(); - ResourceKey stationDim = currentStation.getTileDimension(); + BlockPos stationPos = currentStation.getBlockEntityPos(); + ResourceKey stationDim = currentStation.getBlockEntityDimension(); MinecraftServer server = level.getServer(); if (server == null) return false; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java index e0c723949..8b36e7328 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java @@ -27,7 +27,7 @@ public class StationUnloadedCondition extends ScheduleWaitCondition { GlobalStation currentStation = train.getCurrentStation(); if (currentStation == null) return false; - ResourceKey stationDim = currentStation.getTileDimension(); + ResourceKey stationDim = currentStation.getBlockEntityDimension(); MinecraftServer server = level.getServer(); if (server == null) return false; @@ -35,7 +35,7 @@ public class StationUnloadedCondition extends ScheduleWaitCondition { if (stationLevel == null) { return false; } - return !stationLevel.isPositionEntityTicking(currentStation.getTilePos()); + return !stationLevel.isPositionEntityTicking(currentStation.getBlockEntityPos()); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/CurvedTrackDestroyPacket.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/CurvedTrackDestroyPacket.java index 23d2ffc4e..8986ab51e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/CurvedTrackDestroyPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/CurvedTrackDestroyPacket.java @@ -5,7 +5,7 @@ import com.simibubi.create.Create; import com.simibubi.create.content.logistics.trains.BezierConnection; import com.simibubi.create.content.logistics.trains.TrackPropagator; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; @@ -15,7 +15,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; -public class CurvedTrackDestroyPacket extends TileEntityConfigurationPacket { +public class CurvedTrackDestroyPacket extends BlockEntityConfigurationPacket { private BlockPos targetPos; private BlockPos soundSource; @@ -47,23 +47,23 @@ public class CurvedTrackDestroyPacket extends TileEntityConfigurationPacket type, BlockPos pos, BlockState state) { + public FakeTrackBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); keepAlive(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/StandardBogeyBlock.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/StandardBogeyBlock.java index 9db10db41..51482886f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/StandardBogeyBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/StandardBogeyBlock.java @@ -6,9 +6,9 @@ import com.jozufozu.flywheel.api.MaterialManager; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Vector3f; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.content.logistics.trains.IBogeyBlock; import com.simibubi.create.content.logistics.trains.entity.BogeyInstance; @@ -16,7 +16,7 @@ import com.simibubi.create.content.logistics.trains.entity.CarriageBogey; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.utility.AngleHelper; @@ -47,7 +47,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; public class StandardBogeyBlock extends Block - implements IBogeyBlock, ITE, ProperWaterloggedBlock, ISpecialBlockItemRequirement { + implements IBogeyBlock, IBE, ProperWaterloggedBlock, ISpecialBlockItemRequirement { public static final EnumProperty AXIS = BlockStateProperties.HORIZONTAL_AXIS; private final boolean large; @@ -225,17 +225,17 @@ public class StandardBogeyBlock extends Block } @Override - public Class getTileEntityClass() { - return StandardBogeyTileEntity.class; + public Class getBlockEntityClass() { + return StandardBogeyBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.BOGEY.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.BOGEY.get(); } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { return new ItemRequirement(ItemUseType.CONSUME, AllBlocks.RAILWAY_CASING.asStack()); } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/StandardBogeyTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/StandardBogeyBlockEntity.java similarity index 81% rename from src/main/java/com/simibubi/create/content/logistics/trains/track/StandardBogeyTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/trains/track/StandardBogeyBlockEntity.java index 9a4c8a621..255c98862 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/StandardBogeyTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/StandardBogeyBlockEntity.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.logistics.trains.track; import com.simibubi.create.content.logistics.trains.IBogeyBlock; -import com.simibubi.create.foundation.tileEntity.CachedRenderBBTileEntity; +import com.simibubi.create.foundation.blockEntity.CachedRenderBBBlockEntity; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import net.minecraft.core.BlockPos; @@ -9,9 +9,9 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -public class StandardBogeyTileEntity extends CachedRenderBBTileEntity { +public class StandardBogeyBlockEntity extends CachedRenderBBBlockEntity { - public StandardBogeyTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public StandardBogeyBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlock.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlock.java index a30072daf..19d9bc20b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlock.java @@ -25,10 +25,10 @@ import com.google.common.base.Predicates; import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity; import com.simibubi.create.content.contraptions.particle.CubeParticleData; import com.simibubi.create.content.contraptions.wrench.IWrenchable; @@ -39,11 +39,11 @@ import com.simibubi.create.content.logistics.trains.TrackNodeLocation; import com.simibubi.create.content.logistics.trains.TrackNodeLocation.DiscoveredLocation; import com.simibubi.create.content.logistics.trains.TrackPropagator; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour.RenderedTrackOverlayType; -import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationTileEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationBlockEntity; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; import com.simibubi.create.foundation.block.render.MultiPosDestructionHandler; import com.simibubi.create.foundation.block.render.ReducedDestroyEffects; @@ -108,21 +108,21 @@ import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.IBlockRenderProperties; public class TrackBlock extends Block - implements ITE, IWrenchable, ITrackBlock, ISpecialBlockItemRequirement, ProperWaterloggedBlock { + implements IBE, IWrenchable, ITrackBlock, ISpecialBlockItemRequirement, ProperWaterloggedBlock { public static final EnumProperty SHAPE = EnumProperty.create("shape", TrackShape.class); - public static final BooleanProperty HAS_TE = BooleanProperty.create("turn"); + public static final BooleanProperty HAS_BE = BooleanProperty.create("turn"); public TrackBlock(Properties p_49795_) { super(p_49795_); registerDefaultState(defaultBlockState().setValue(SHAPE, TrackShape.ZO) - .setValue(HAS_TE, false) + .setValue(HAS_BE, false) .setValue(WATERLOGGED, false)); } @Override protected void createBlockStateDefinition(Builder p_49915_) { - super.createBlockStateDefinition(p_49915_.add(SHAPE, HAS_TE, WATERLOGGED)); + super.createBlockStateDefinition(p_49915_.add(SHAPE, HAS_BE, WATERLOGGED)); } @Override @@ -206,15 +206,15 @@ public class TrackBlock extends Block return; if (!pPlayer.isCreative()) return; - withTileEntityDo(pLevel, pPos, te -> { - te.cancelDrops = true; - te.removeInboundConnections(); + withBlockEntityDo(pLevel, pPos, be -> { + be.cancelDrops = true; + be.removeInboundConnections(); }); } @Override public void onPlace(BlockState pState, Level pLevel, BlockPos pPos, BlockState pOldState, boolean pIsMoving) { - if (pOldState.getBlock() == this && pState.setValue(HAS_TE, true) == pOldState.setValue(HAS_TE, true)) + if (pOldState.getBlock() == this && pState.setValue(HAS_BE, true) == pOldState.setValue(HAS_BE, true)) return; if (pLevel.isClientSide) return; @@ -227,7 +227,7 @@ public class TrackBlock extends Block @Override public void setPlacedBy(Level pLevel, BlockPos pPos, BlockState pState, LivingEntity pPlacer, ItemStack pStack) { super.setPlacedBy(pLevel, pPos, pState, pPlacer, pStack); - withTileEntityDo(pLevel, pPos, TrackTileEntity::validateConnections); + withBlockEntityDo(pLevel, pPos, TrackBlockEntity::validateConnections); } @Override @@ -273,16 +273,16 @@ public class TrackBlock extends Block } level.setBlock(pos, state.setValue(SHAPE, TrackShape.asPortal(d)) - .setValue(HAS_TE, true), 3); - BlockEntity te = level.getBlockEntity(pos); - if (te instanceof TrackTileEntity tte) + .setValue(HAS_BE, true), 3); + BlockEntity be = level.getBlockEntity(pos); + if (be instanceof TrackBlockEntity tte) tte.bind(otherLevel.dimension(), otherTrackPos); otherLevel.setBlock(otherTrackPos, state.setValue(SHAPE, TrackShape.asPortal(otherTrack.getFace())) - .setValue(HAS_TE, true), 3); - BlockEntity otherTe = otherLevel.getBlockEntity(otherTrackPos); - if (otherTe instanceof TrackTileEntity tte) - tte.bind(level.dimension(), pos); + .setValue(HAS_BE, true), 3); + BlockEntity otherBE = otherLevel.getBlockEntity(otherTrackPos); + if (otherBE instanceof TrackBlockEntity tbe) + tbe.bind(level.dimension(), pos); pop = false; } @@ -383,13 +383,13 @@ public class TrackBlock extends Block } else list = ITrackBlock.super.getConnected(world, pos, state, linear, connectedTo); - if (!state.getValue(HAS_TE)) + if (!state.getValue(HAS_BE)) return list; if (linear) return list; BlockEntity blockEntity = world.getBlockEntity(pos); - if (!(blockEntity instanceof TrackTileEntity trackTE)) + if (!(blockEntity instanceof TrackBlockEntity trackTE)) return list; Map connections = trackTE.getConnections(); @@ -441,17 +441,17 @@ public class TrackBlock extends Block @Override public void onRemove(BlockState pState, Level pLevel, BlockPos pPos, BlockState pNewState, boolean pIsMoving) { - boolean removeTE = false; - if (pState.getValue(HAS_TE) && (!pState.is(pNewState.getBlock()) || !pNewState.getValue(HAS_TE))) { + boolean removeBE = false; + if (pState.getValue(HAS_BE) && (!pState.is(pNewState.getBlock()) || !pNewState.getValue(HAS_BE))) { BlockEntity blockEntity = pLevel.getBlockEntity(pPos); - if (blockEntity instanceof TrackTileEntity && !pLevel.isClientSide) - ((TrackTileEntity) blockEntity).removeInboundConnections(); - removeTE = true; + if (blockEntity instanceof TrackBlockEntity && !pLevel.isClientSide) + ((TrackBlockEntity) blockEntity).removeInboundConnections(); + removeBE = true; } - if (pNewState.getBlock() != this || pState.setValue(HAS_TE, true) != pNewState.setValue(HAS_TE, true)) + if (pNewState.getBlock() != this || pState.setValue(HAS_BE, true) != pNewState.setValue(HAS_BE, true)) TrackPropagator.onRailRemoved(pLevel, pPos, pState); - if (removeTE) + if (removeBE) pLevel.removeBlockEntity(pPos); if (!pLevel.isClientSide) updateGirders(pState, pLevel, pPos, pLevel.getBlockTicks()); @@ -463,12 +463,12 @@ public class TrackBlock extends Block if (world.isClientSide) return InteractionResult.SUCCESS; - for (Entry entry : StationTileEntity.assemblyAreas.get(world) + for (Entry entry : StationBlockEntity.assemblyAreas.get(world) .entrySet()) { if (!entry.getValue() .isInside(pos)) continue; - if (world.getBlockEntity(entry.getKey()) instanceof StationTileEntity station) + if (world.getBlockEntity(entry.getKey()) instanceof StationBlockEntity station) if (station.trackClicked(player, hand, this, state, pos)) return InteractionResult.SUCCESS; } @@ -564,19 +564,19 @@ public class TrackBlock extends Block @Override public BlockEntity newBlockEntity(BlockPos p_153215_, BlockState state) { - if (!state.getValue(HAS_TE)) + if (!state.getValue(HAS_BE)) return null; - return AllTileEntities.TRACK.create(p_153215_, state); + return AllBlockEntityTypes.TRACK.create(p_153215_, state); } @Override - public Class getTileEntityClass() { - return TrackTileEntity.class; + public Class getBlockEntityClass() { + return TrackBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.TRACK.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.TRACK.get(); } @Override @@ -608,9 +608,9 @@ public class TrackBlock extends Block public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) { Player player = context.getPlayer(); Level level = context.getLevel(); - if (!level.isClientSide && !player.isCreative() && state.getValue(HAS_TE)) { + if (!level.isClientSide && !player.isCreative() && state.getValue(HAS_BE)) { BlockEntity blockEntity = level.getBlockEntity(context.getClickedPos()); - if (blockEntity instanceof TrackTileEntity trackTE) { + if (blockEntity instanceof TrackBlockEntity trackTE) { trackTE.cancelDrops = true; trackTE.connections.values() .forEach(bc -> bc.addItemsToPlayer(player)); @@ -689,7 +689,7 @@ public class TrackBlock extends Block Vec3 normal = null; Vec3 offset = null; - if (bezierPoint != null && world.getBlockEntity(pos) instanceof TrackTileEntity trackTE) { + if (bezierPoint != null && world.getBlockEntity(pos) instanceof TrackBlockEntity trackTE) { BezierConnection bc = trackTE.connections.get(bezierPoint.curveTarget()); if (bc != null) { double length = Mth.floor(bc.getLength() * 2); @@ -745,15 +745,15 @@ public class TrackBlock extends Block @Override public boolean trackEquals(BlockState state1, BlockState state2) { return state1.getBlock() == this && state2.getBlock() == this - && state1.setValue(HAS_TE, false) == state2.setValue(HAS_TE, false); + && state1.setValue(HAS_BE, false) == state2.setValue(HAS_BE, false); } @Override - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { int trackAmount = 1; int girderAmount = 0; - if (te instanceof TrackTileEntity track) { + if (be instanceof TrackBlockEntity track) { for (BezierConnection bezierConnection : track.getConnections() .values()) { if (!bezierConnection.isPrimary()) @@ -782,7 +782,7 @@ public class TrackBlock extends Block public Set getExtraPositions(ClientLevel level, BlockPos pos, BlockState blockState, int progress) { BlockEntity blockEntity = level.getBlockEntity(pos); - if (blockEntity instanceof TrackTileEntity track) { + if (blockEntity instanceof TrackBlockEntity track) { return new HashSet<>(track.connections.keySet()); } return null; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockEntity.java similarity index 89% rename from src/main/java/com/simibubi/create/content/logistics/trains/track/TrackTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockEntity.java index 05431e8fd..67631abe5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockEntity.java @@ -15,11 +15,11 @@ import com.simibubi.create.content.logistics.trains.BezierConnection; import com.simibubi.create.content.logistics.trains.ITrackBlock; import com.simibubi.create.content.logistics.trains.TrackNodeLocation; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.IMergeableBE; +import com.simibubi.create.foundation.blockEntity.RemoveBlockEntityPacket; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.IMergeableTE; -import com.simibubi.create.foundation.tileEntity.RemoveTileEntityPacket; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.Pair; import com.simibubi.create.foundation.utility.VecHelper; @@ -46,14 +46,14 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; -public class TrackTileEntity extends SmartTileEntity implements ITransformableTE, IMergeableTE { +public class TrackBlockEntity extends SmartBlockEntity implements ITransformableTE, IMergeableBE { Map connections; boolean cancelDrops; public Pair, BlockPos> boundLocation; - public TrackTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public TrackBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); connections = new HashMap<>(); setLazyTickRate(100); @@ -90,15 +90,15 @@ public class TrackTileEntity extends SmartTileEntity implements ITransformableTE } BlockState blockState = level.getBlockState(key); - if (blockState.getBlock()instanceof ITrackBlock trackBlock && !blockState.getValue(TrackBlock.HAS_TE)) + if (blockState.getBlock()instanceof ITrackBlock trackBlock && !blockState.getValue(TrackBlock.HAS_BE)) for (Vec3 v : trackBlock.getTrackAxes(level, key, blockState)) { Vec3 bcEndAxis = bc.axes.getSecond(); if (v.distanceTo(bcEndAxis) < 1 / 1024f || v.distanceTo(bcEndAxis.scale(-1)) < 1 / 1024f) - level.setBlock(key, blockState.setValue(TrackBlock.HAS_TE, true), 3); + level.setBlock(key, blockState.setValue(TrackBlock.HAS_BE, true), 3); } BlockEntity blockEntity = level.getBlockEntity(key); - if (!(blockEntity instanceof TrackTileEntity trackTE) || blockEntity.isRemoved()) { + if (!(blockEntity instanceof TrackBlockEntity trackTE) || blockEntity.isRemoved()) { invalid.add(key); continue; } @@ -133,24 +133,24 @@ public class TrackTileEntity extends SmartTileEntity implements ITransformableTE return; BlockState blockState = level.getBlockState(worldPosition); - if (blockState.hasProperty(TrackBlock.HAS_TE)) - level.setBlockAndUpdate(worldPosition, blockState.setValue(TrackBlock.HAS_TE, false)); - AllPackets.channel.send(packetTarget(), new RemoveTileEntityPacket(worldPosition)); + if (blockState.hasProperty(TrackBlock.HAS_BE)) + level.setBlockAndUpdate(worldPosition, blockState.setValue(TrackBlock.HAS_BE, false)); + AllPackets.channel.send(packetTarget(), new RemoveBlockEntityPacket(worldPosition)); } public void removeInboundConnections() { for (BezierConnection bezierConnection : connections.values()) { BlockEntity blockEntity = level.getBlockEntity(bezierConnection.getKey()); - if (!(blockEntity instanceof TrackTileEntity)) + if (!(blockEntity instanceof TrackBlockEntity)) return; - TrackTileEntity other = (TrackTileEntity) blockEntity; + TrackBlockEntity other = (TrackBlockEntity) blockEntity; other.removeConnection(bezierConnection.tePositions.getFirst()); if (!cancelDrops) bezierConnection.spawnItems(level); bezierConnection.spawnDestroyParticles(level); } - AllPackets.channel.send(packetTarget(), new RemoveTileEntityPacket(worldPosition)); + AllPackets.channel.send(packetTarget(), new RemoveBlockEntityPacket(worldPosition)); } public void bind(ResourceKey boundDimension, BlockPos boundLocation) { @@ -214,11 +214,11 @@ public class TrackTileEntity extends SmartTileEntity implements ITransformableTE } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override public void accept(BlockEntity other) { - if (other instanceof TrackTileEntity track) + if (other instanceof TrackBlockEntity track) connections.putAll(track.connections); validateConnections(); level.scheduleTick(worldPosition, getBlockState().getBlock(), 1); @@ -247,18 +247,18 @@ public class TrackTileEntity extends SmartTileEntity implements ITransformableTE newConnection.tePositions.setSecond(new BlockPos(Vec3.atCenterOf(newConnection.tePositions.getFirst()) .add(transform.applyWithoutOffsetUncentered(Vec3.atLowerCornerOf(diff))))); - Vec3 teVec = Vec3.atLowerCornerOf(worldPosition); - Vec3 teCenterVec = teVec.add(0.5, 0.5, 0.5); + Vec3 beVec = Vec3.atLowerCornerOf(worldPosition); + Vec3 teCenterVec = beVec.add(0.5, 0.5, 0.5); Vec3 start = newConnection.starts.getFirst(); - Vec3 startToTE = start.subtract(teCenterVec); + Vec3 startToBE = start.subtract(teCenterVec); Vec3 endToStart = newConnection.starts.getSecond() .subtract(start); - startToTE = transform.applyWithoutOffsetUncentered(startToTE) + startToBE = transform.applyWithoutOffsetUncentered(startToBE) .add(teCenterVec); endToStart = transform.applyWithoutOffsetUncentered(endToStart) - .add(startToTE); + .add(startToBE); - newConnection.starts.setFirst(new TrackNodeLocation(startToTE).getLocation()); + newConnection.starts.setFirst(new TrackNodeLocation(startToBE).getLocation()); newConnection.starts.setSecond(new TrackNodeLocation(endToStart).getLocation()); BlockPos newTarget = newConnection.getKey(); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockOutline.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockOutline.java index 0417825dd..d26c708de 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockOutline.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockOutline.java @@ -44,7 +44,7 @@ import net.minecraftforge.fml.common.Mod.EventBusSubscriber; @EventBusSubscriber(Dist.CLIENT) public class TrackBlockOutline { - public static WorldAttached> TRACKS_WITH_TURNS = + public static WorldAttached> TRACKS_WITH_TURNS = new WorldAttached<>(w -> new HashMap<>()); public static BezierPointSelection result; @@ -66,10 +66,10 @@ public class TrackBlockOutline { AttributeInstance range = player.getAttribute(ForgeMod.REACH_DISTANCE.get()); Vec3 target = RaycastHelper.getTraceTarget(player, Math.min(maxRange, range.getValue()) + 1, origin); - Map turns = TRACKS_WITH_TURNS.get(mc.level); + Map turns = TRACKS_WITH_TURNS.get(mc.level); - for (TrackTileEntity te : turns.values()) { - for (BezierConnection bc : te.connections.values()) { + for (TrackBlockEntity be : turns.values()) { + for (BezierConnection bc : be.connections.values()) { if (!bc.isPrimary()) continue; @@ -125,7 +125,7 @@ public class TrackBlockOutline { .distanceToSqr(0, 0.25f, 0); BezierTrackPointLocation location = new BezierTrackPointLocation(bc.getKey(), i); - result = new BezierPointSelection(te, location, anchor, angles, diff.normalize()); + result = new BezierPointSelection(be, location, anchor, angles, diff.normalize()); } if (bestSegment != -1) @@ -288,7 +288,7 @@ public class TrackBlockOutline { renderer.accept(LONG_ORTHO); } - public static record BezierPointSelection(TrackTileEntity te, BezierTrackPointLocation loc, Vec3 vec, Vec3 angles, + public static record BezierPointSelection(TrackBlockEntity blockEntity, BezierTrackPointLocation loc, Vec3 vec, Vec3 angles, Vec3 direction) { } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackInstance.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackInstance.java index 7bb371ede..1c2b98311 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackInstance.java @@ -26,11 +26,11 @@ import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.client.renderer.RenderType; import net.minecraft.core.BlockPos; -public class TrackInstance extends BlockEntityInstance { +public class TrackInstance extends BlockEntityInstance { private List instances; - public TrackInstance(MaterialManager materialManager, TrackTileEntity track) { + public TrackInstance(MaterialManager materialManager, TrackBlockEntity track) { super(materialManager, track); update(); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java index 5ba52a756..bd7505c63 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java @@ -148,7 +148,7 @@ public class TrackPlacement { if (pos1.distSqr(pos2) > maxLength * maxLength) return info.withMessage("too_far") .tooJumbly(); - if (!state1.hasProperty(TrackBlock.HAS_TE)) + if (!state1.hasProperty(TrackBlock.HAS_BE)) return info.withMessage("original_missing"); if (axis1.dot(end2.subtract(end1)) < 0) { @@ -483,8 +483,8 @@ public class TrackPlacement { Vec3 axis = first ? info.axis1 : info.axis2; BlockPos pos = first ? info.pos1 : info.pos2; BlockState state = first ? state1 : state2; - if (state.hasProperty(TrackBlock.HAS_TE) && !simulate) - state = state.setValue(TrackBlock.HAS_TE, false); + if (state.hasProperty(TrackBlock.HAS_BE) && !simulate) + state = state.setValue(TrackBlock.HAS_BE, false); switch (state.getValue(TrackBlock.SHAPE)) { case TE, TW: @@ -526,12 +526,12 @@ public class TrackPlacement { if (!simulate) { BlockState stateAtPos = level.getBlockState(targetPos1); level.setBlock(targetPos1, ProperWaterloggedBlock.withWater(level, - (stateAtPos.getBlock() == state1.getBlock() ? stateAtPos : state1).setValue(TrackBlock.HAS_TE, true), + (stateAtPos.getBlock() == state1.getBlock() ? stateAtPos : state1).setValue(TrackBlock.HAS_BE, true), targetPos1), 3); stateAtPos = level.getBlockState(targetPos2); level.setBlock(targetPos2, ProperWaterloggedBlock.withWater(level, - (stateAtPos.getBlock() == state2.getBlock() ? stateAtPos : state2).setValue(TrackBlock.HAS_TE, true), + (stateAtPos.getBlock() == state2.getBlock() ? stateAtPos : state2).setValue(TrackBlock.HAS_BE, true), targetPos2), 3); } @@ -539,13 +539,13 @@ public class TrackPlacement { BlockEntity te2 = level.getBlockEntity(targetPos2); int requiredTracksForTurn = (info.curve.getSegmentCount() + 1) / 2; - if (!(te1 instanceof TrackTileEntity) || !(te2 instanceof TrackTileEntity)) { + if (!(te1 instanceof TrackBlockEntity) || !(te2 instanceof TrackBlockEntity)) { info.requiredTracks += requiredTracksForTurn; return info; } - TrackTileEntity tte1 = (TrackTileEntity) te1; - TrackTileEntity tte2 = (TrackTileEntity) te2; + TrackBlockEntity tte1 = (TrackBlockEntity) te1; + TrackBlockEntity tte2 = (TrackBlockEntity) te2; if (!tte1.getConnections() .containsKey(tte2.getBlockPos())) diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackRenderer.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackRenderer.java index 1ee412ea0..3a3be7340 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackRenderer.java @@ -15,8 +15,8 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.content.logistics.trains.BezierConnection; import com.simibubi.create.content.logistics.trains.BezierConnection.GirderAngles; import com.simibubi.create.content.logistics.trains.BezierConnection.SegmentAngles; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.VecHelper; @@ -33,18 +33,18 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class TrackRenderer extends SafeTileEntityRenderer { +public class TrackRenderer extends SafeBlockEntityRenderer { public TrackRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(TrackTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, + protected void renderSafe(TrackBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - Level level = te.getLevel(); + Level level = be.getLevel(); if (Backend.canUseInstancing(level)) return; VertexConsumer vb = buffer.getBuffer(RenderType.cutoutMipped()); - te.connections.values() + be.connections.values() .forEach(bc -> renderBezierTurn(level, bc, ms, vb)); } @@ -140,7 +140,7 @@ public class TrackRenderer extends SafeTileEntityRenderer { } @Override - public boolean shouldRenderOffScreen(TrackTileEntity pBlockEntity) { + public boolean shouldRenderOffScreen(TrackBlockEntity pBlockEntity) { return true; } diff --git a/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockItemRequirement.java b/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockItemRequirement.java index 26729dc49..c275f49a1 100644 --- a/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockItemRequirement.java +++ b/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockItemRequirement.java @@ -5,6 +5,6 @@ import net.minecraft.world.level.block.state.BlockState; public interface ISpecialBlockItemRequirement { - public ItemRequirement getRequiredItems(BlockState state, BlockEntity te); + public ItemRequirement getRequiredItems(BlockState state, BlockEntity blockEntity); } diff --git a/src/main/java/com/simibubi/create/content/schematics/ItemRequirement.java b/src/main/java/com/simibubi/create/content/schematics/ItemRequirement.java index 32f4c1563..67e1684f8 100644 --- a/src/main/java/com/simibubi/create/content/schematics/ItemRequirement.java +++ b/src/main/java/com/simibubi/create/content/schematics/ItemRequirement.java @@ -53,23 +53,23 @@ public class ItemRequirement { this(requiredItems.stream().map(req -> new StackRequirement(req, usage)).collect(Collectors.toList())); } - public static ItemRequirement of(BlockState state, BlockEntity te) { + public static ItemRequirement of(BlockState state, BlockEntity be) { Block block = state.getBlock(); ItemRequirement requirement; if (block instanceof ISpecialBlockItemRequirement specialBlock) { - requirement = specialBlock.getRequiredItems(state, te); + requirement = specialBlock.getRequiredItems(state, be); } else { - requirement = defaultOf(state, te); + requirement = defaultOf(state, be); } - if (te instanceof ISpecialBlockEntityItemRequirement specialBE) + if (be instanceof ISpecialBlockEntityItemRequirement specialBE) requirement = requirement.union(specialBE.getRequiredItems(state)); return requirement; } - private static ItemRequirement defaultOf(BlockState state, BlockEntity te) { + private static ItemRequirement defaultOf(BlockState state, BlockEntity be) { Block block = state.getBlock(); if (block == Blocks.AIR) return NONE; @@ -89,7 +89,7 @@ public class ItemRequirement { return new ItemRequirement(ItemUseType.CONSUME, new ItemStack(item, state.getValue(SnowLayerBlock.LAYERS).intValue())); if (block instanceof FarmBlock || block instanceof DirtPathBlock) return new ItemRequirement(ItemUseType.CONSUME, Items.DIRT); - if (block instanceof AbstractBannerBlock && te instanceof BannerBlockEntity bannerBE) + if (block instanceof AbstractBannerBlock && be instanceof BannerBlockEntity bannerBE) return new ItemRequirement(new StrictNbtStackRequirement(bannerBE.getItem(), ItemUseType.CONSUME)); return new ItemRequirement(ItemUseType.CONSUME, item); diff --git a/src/main/java/com/simibubi/create/content/schematics/SchematicPrinter.java b/src/main/java/com/simibubi/create/content/schematics/SchematicPrinter.java index 528e67b2b..ba62e0ac0 100644 --- a/src/main/java/com/simibubi/create/content/schematics/SchematicPrinter.java +++ b/src/main/java/com/simibubi/create/content/schematics/SchematicPrinter.java @@ -8,7 +8,7 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.components.structureMovement.BlockMovementChecks; import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; import com.simibubi.create.content.schematics.item.SchematicItem; -import com.simibubi.create.foundation.tileEntity.IMergeableTE; +import com.simibubi.create.foundation.blockEntity.IMergeableBE; import com.simibubi.create.foundation.utility.BBHelper; import com.simibubi.create.foundation.utility.BlockHelper; @@ -101,8 +101,8 @@ public class SchematicPrinter { StructureTransform transform = new StructureTransform(settings.getRotationPivot(), Direction.Axis.Y, settings.getRotation(), settings.getMirror()); - for (BlockEntity te : blockReader.tileEntities.values()) - transform.apply(te); + for (BlockEntity be : blockReader.blockEntities.values()) + transform.apply(be); printingEntityIndex = -1; printStage = PrintStage.BLOCKS; @@ -147,7 +147,7 @@ public class SchematicPrinter { @FunctionalInterface public interface BlockTargetHandler { - void handle(BlockPos target, BlockState blockState, BlockEntity tileEntity); + void handle(BlockPos target, BlockState blockState, BlockEntity blockEntity); } @FunctionalInterface public interface EntityTargetHandler { @@ -164,14 +164,14 @@ public class SchematicPrinter { entityHandler.handle(target, entity); } else { BlockState blockState = BlockHelper.setZeroAge(blockReader.getBlockState(target)); - BlockEntity tileEntity = blockReader.getBlockEntity(target); - blockHandler.handle(target, blockState, tileEntity); + BlockEntity blockEntity = blockReader.getBlockEntity(target); + blockHandler.handle(target, blockState, blockEntity); } } @FunctionalInterface public interface PlacementPredicate { - boolean shouldPlace(BlockPos target, BlockState blockState, BlockEntity tileEntity, + boolean shouldPlace(BlockPos target, BlockState blockState, BlockEntity blockEntity, BlockState toReplace, BlockState toReplaceOther, boolean isNormalCube); } @@ -189,10 +189,10 @@ public class SchematicPrinter { public boolean shouldPlaceBlock(Level world, PlacementPredicate predicate, BlockPos pos) { BlockState state = BlockHelper.setZeroAge(blockReader.getBlockState(pos)); - BlockEntity tileEntity = blockReader.getBlockEntity(pos); + BlockEntity blockEntity = blockReader.getBlockEntity(pos); BlockState toReplace = world.getBlockState(pos); - BlockEntity toReplaceTE = world.getBlockEntity(pos); + BlockEntity toReplaceBE = world.getBlockEntity(pos); BlockState toReplaceOther = null; if (state.hasProperty(BlockStateProperties.BED_PART) && state.hasProperty(BlockStateProperties.HORIZONTAL_FACING) @@ -202,8 +202,8 @@ public class SchematicPrinter { && state.getValue(BlockStateProperties.DOUBLE_BLOCK_HALF) == DoubleBlockHalf.LOWER) toReplaceOther = world.getBlockState(pos.above()); - boolean mergeTEs = tileEntity != null && toReplaceTE instanceof IMergeableTE mergeTE && toReplaceTE.getType() - .equals(tileEntity.getType()); + boolean mergeTEs = blockEntity != null && toReplaceBE instanceof IMergeableBE mergeBE && toReplaceBE.getType() + .equals(blockEntity.getType()); if (!world.isLoaded(pos)) return false; @@ -216,7 +216,7 @@ public class SchematicPrinter { return false; boolean isNormalCube = state.isRedstoneConductor(blockReader, currentPos); - return predicate.shouldPlace(pos, state, tileEntity, toReplace, toReplaceOther, isNormalCube); + return predicate.shouldPlace(pos, state, blockEntity, toReplace, toReplaceOther, isNormalCube); } public ItemRequirement getCurrentRequirement() { @@ -227,8 +227,8 @@ public class SchematicPrinter { BlockPos target = getCurrentTarget(); BlockState blockState = BlockHelper.setZeroAge(blockReader.getBlockState(target)); - BlockEntity tileEntity = blockReader.getBlockEntity(target); - return ItemRequirement.of(blockState, tileEntity); + BlockEntity blockEntity = blockReader.getBlockEntity(target); + return ItemRequirement.of(blockState, blockEntity); } public int markAllBlockRequirements(MaterialChecklist checklist, Level world, PlacementPredicate predicate) { @@ -236,7 +236,7 @@ public class SchematicPrinter { for (BlockPos pos : blockReader.getAllPositions()) { BlockPos relPos = pos.offset(schematicAnchor); BlockState required = blockReader.getBlockState(relPos); - BlockEntity requiredTE = blockReader.getBlockEntity(relPos); + BlockEntity requiredBE = blockReader.getBlockEntity(relPos); if (!world.isLoaded(pos.offset(schematicAnchor))) { checklist.warnBlockNotLoaded(); @@ -244,7 +244,7 @@ public class SchematicPrinter { } if (!shouldPlaceBlock(world, predicate, relPos)) continue; - ItemRequirement requirement = ItemRequirement.of(required, requiredTE); + ItemRequirement requirement = ItemRequirement.of(required, requiredBE); if (requirement.isEmpty()) continue; if (requirement.isInvalid()) diff --git a/src/main/java/com/simibubi/create/content/schematics/SchematicProcessor.java b/src/main/java/com/simibubi/create/content/schematics/SchematicProcessor.java index e5507d8e7..131338652 100644 --- a/src/main/java/com/simibubi/create/content/schematics/SchematicProcessor.java +++ b/src/main/java/com/simibubi/create/content/schematics/SchematicProcessor.java @@ -33,9 +33,9 @@ public class SchematicProcessor extends StructureProcessor { public StructureTemplate.StructureBlockInfo process(LevelReader world, BlockPos pos, BlockPos anotherPos, StructureTemplate.StructureBlockInfo rawInfo, StructureTemplate.StructureBlockInfo info, StructurePlaceSettings settings, @Nullable StructureTemplate template) { if (info.nbt != null && info.state.hasBlockEntity()) { - BlockEntity te = ((EntityBlock) info.state.getBlock()).newBlockEntity(info.pos, info.state); - if (te != null) { - CompoundTag nbt = NBTProcessors.process(te, info.nbt, false); + BlockEntity be = ((EntityBlock) info.state.getBlock()).newBlockEntity(info.pos, info.state); + if (be != null) { + CompoundTag nbt = NBTProcessors.process(be, info.nbt, false); if (nbt != info.nbt) return new StructureTemplate.StructureBlockInfo(info.pos, info.state, nbt); } diff --git a/src/main/java/com/simibubi/create/content/schematics/SchematicWorld.java b/src/main/java/com/simibubi/create/content/schematics/SchematicWorld.java index 782378a47..ffb024e95 100644 --- a/src/main/java/com/simibubi/create/content/schematics/SchematicWorld.java +++ b/src/main/java/com/simibubi/create/content/schematics/SchematicWorld.java @@ -44,8 +44,8 @@ import net.minecraftforge.registries.ForgeRegistries; public class SchematicWorld extends WrappedWorld implements ServerLevelAccessor { protected Map blocks; - protected Map tileEntities; - protected List renderedTileEntities; + protected Map blockEntities; + protected List renderedBlockEntities; protected List entities; protected BoundingBox bounds; @@ -60,11 +60,11 @@ public class SchematicWorld extends WrappedWorld implements ServerLevelAccessor super(original); setChunkSource(new SchematicChunkSource(this)); this.blocks = new HashMap<>(); - this.tileEntities = new HashMap<>(); + this.blockEntities = new HashMap<>(); this.bounds = new BoundingBox(BlockPos.ZERO); this.anchor = anchor; this.entities = new ArrayList<>(); - this.renderedTileEntities = new ArrayList<>(); + this.renderedBlockEntities = new ArrayList<>(); } public Set getAllPositions() { @@ -93,30 +93,30 @@ public class SchematicWorld extends WrappedWorld implements ServerLevelAccessor public BlockEntity getBlockEntity(BlockPos pos) { if (isOutsideBuildHeight(pos)) return null; - if (tileEntities.containsKey(pos)) - return tileEntities.get(pos); + if (blockEntities.containsKey(pos)) + return blockEntities.get(pos); if (!blocks.containsKey(pos.subtract(anchor))) return null; BlockState blockState = getBlockState(pos); if (blockState.hasBlockEntity()) { try { - BlockEntity tileEntity = ((EntityBlock) blockState.getBlock()).newBlockEntity(pos, blockState); - if (tileEntity != null) { - onTEadded(tileEntity, pos); - tileEntities.put(pos, tileEntity); - renderedTileEntities.add(tileEntity); + BlockEntity blockEntity = ((EntityBlock) blockState.getBlock()).newBlockEntity(pos, blockState); + if (blockEntity != null) { + onBEadded(blockEntity, pos); + blockEntities.put(pos, blockEntity); + renderedBlockEntities.add(blockEntity); } - return tileEntity; + return blockEntity; } catch (Exception e) { - Create.LOGGER.debug("Could not create TE of block " + blockState, e); + Create.LOGGER.debug("Could not create BlockEntity of block " + blockState, e); } } return null; } - protected void onTEadded(BlockEntity tileEntity, BlockPos pos) { - tileEntity.setLevel(this); + protected void onBEadded(BlockEntity blockEntity, BlockPos pos) { + blockEntity.setLevel(this); } @Override @@ -206,18 +206,18 @@ public class SchematicWorld extends WrappedWorld implements ServerLevelAccessor .subtract(anchor); bounds = BBHelper.encapsulate(bounds, pos); blocks.put(pos, arg1); - if (tileEntities.containsKey(pos)) { - BlockEntity tileEntity = tileEntities.get(pos); - if (!tileEntity.getType() + if (blockEntities.containsKey(pos)) { + BlockEntity blockEntity = blockEntities.get(pos); + if (!blockEntity.getType() .isValid(arg1)) { - tileEntities.remove(pos); - renderedTileEntities.remove(tileEntity); + blockEntities.remove(pos); + renderedBlockEntities.remove(blockEntity); } } - BlockEntity tileEntity = getBlockEntity(pos); - if (tileEntity != null) - tileEntities.put(pos, tileEntity); + BlockEntity blockEntity = getBlockEntity(pos); + if (blockEntity != null) + blockEntities.put(pos, blockEntity); return true; } @@ -229,8 +229,8 @@ public class SchematicWorld extends WrappedWorld implements ServerLevelAccessor return bounds; } - public Iterable getRenderedTileEntities() { - return renderedTileEntities; + public Iterable getRenderedBlockEntities() { + return renderedBlockEntities; } protected BlockState processBlockStateForPrinting(BlockState state) { diff --git a/src/main/java/com/simibubi/create/content/schematics/ServerSchematicLoader.java b/src/main/java/com/simibubi/create/content/schematics/ServerSchematicLoader.java index ffee13229..575d1844c 100644 --- a/src/main/java/com/simibubi/create/content/schematics/ServerSchematicLoader.java +++ b/src/main/java/com/simibubi/create/content/schematics/ServerSchematicLoader.java @@ -16,7 +16,7 @@ import java.util.stream.Stream; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.Create; -import com.simibubi.create.content.schematics.block.SchematicTableTileEntity; +import com.simibubi.create.content.schematics.block.SchematicTableBlockEntity; import com.simibubi.create.content.schematics.item.SchematicAndQuillItem; import com.simibubi.create.content.schematics.item.SchematicItem; import com.simibubi.create.foundation.config.AllConfigs; @@ -124,7 +124,7 @@ public class ServerSchematicLoader { try { // Validate Referenced Block - SchematicTableTileEntity table = getTable(player.getCommandSenderWorld(), pos); + SchematicTableBlockEntity table = getTable(player.getCommandSenderWorld(), pos); if (table == null) return; @@ -152,7 +152,7 @@ public class ServerSchematicLoader { OutputStream writer = Files.newOutputStream(uploadPath); activeUploads.put(playerSchematicId, new SchematicUploadEntry(writer, size, player.getLevel(), pos)); - // Notify Tile Entity + // Notify Block Entity table.startUpload(schematic); } catch (IOException e) { @@ -203,7 +203,7 @@ public class ServerSchematicLoader { entry.stream.write(data); entry.idleTime = 0; - SchematicTableTileEntity table = getTable(entry.world, entry.tablePos); + SchematicTableBlockEntity table = getTable(entry.world, entry.tablePos); if (table == null) return; table.uploadingProgress = (float) ((double) entry.bytesUploaded / entry.totalBytes); @@ -236,16 +236,16 @@ public class ServerSchematicLoader { if (pos == null) return; - SchematicTableTileEntity table = getTable(entry.world, pos); + SchematicTableBlockEntity table = getTable(entry.world, pos); if (table != null) table.finishUpload(); } - public SchematicTableTileEntity getTable(Level world, BlockPos pos) { - BlockEntity te = world.getBlockEntity(pos); - if (!(te instanceof SchematicTableTileEntity)) + public SchematicTableBlockEntity getTable(Level world, BlockPos pos) { + BlockEntity be = world.getBlockEntity(pos); + if (!(be instanceof SchematicTableBlockEntity)) return null; - SchematicTableTileEntity table = (SchematicTableTileEntity) te; + SchematicTableBlockEntity table = (SchematicTableBlockEntity) be; return table; } @@ -268,7 +268,7 @@ public class ServerSchematicLoader { if (AllBlocks.SCHEMATIC_TABLE.get() != blockState.getBlock()) return; - SchematicTableTileEntity table = getTable(world, pos); + SchematicTableBlockEntity table = getTable(world, pos); if (table == null) return; table.finishUpload(); diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableBlock.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableBlock.java index 31a2a8f60..2993e8a4b 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableBlock.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableBlock.java @@ -1,8 +1,8 @@ package com.simibubi.create.content.schematics.block; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.item.ItemHelper; import net.minecraft.core.BlockPos; @@ -25,7 +25,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.network.NetworkHooks; -public class SchematicTableBlock extends HorizontalDirectionalBlock implements ITE { +public class SchematicTableBlock extends HorizontalDirectionalBlock implements IBE { public SchematicTableBlock(Properties properties) { super(properties); @@ -64,8 +64,8 @@ public class SchematicTableBlock extends HorizontalDirectionalBlock implements I if (worldIn.isClientSide) return InteractionResult.SUCCESS; - withTileEntityDo(worldIn, pos, - te -> NetworkHooks.openGui((ServerPlayer) player, te, te::sendToMenu)); + withBlockEntityDo(worldIn, pos, + be -> NetworkHooks.openGui((ServerPlayer) player, be, be::sendToMenu)); return InteractionResult.SUCCESS; } @@ -74,18 +74,18 @@ public class SchematicTableBlock extends HorizontalDirectionalBlock implements I if (!state.hasBlockEntity() || state.getBlock() == newState.getBlock()) return; - withTileEntityDo(worldIn, pos, te -> ItemHelper.dropContents(worldIn, pos, te.inventory)); + withBlockEntityDo(worldIn, pos, be -> ItemHelper.dropContents(worldIn, pos, be.inventory)); worldIn.removeBlockEntity(pos); } @Override - public Class getTileEntityClass() { - return SchematicTableTileEntity.class; + public Class getBlockEntityClass() { + return SchematicTableBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.SCHEMATIC_TABLE.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.SCHEMATIC_TABLE.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableTileEntity.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableBlockEntity.java similarity index 88% rename from src/main/java/com/simibubi/create/content/schematics/block/SchematicTableTileEntity.java rename to src/main/java/com/simibubi/create/content/schematics/block/SchematicTableBlockEntity.java index b690b64c8..38e2bba5c 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableTileEntity.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableBlockEntity.java @@ -2,8 +2,8 @@ package com.simibubi.create.content.schematics.block; import java.util.List; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.IInteractionChecker; import com.simibubi.create.foundation.utility.Lang; @@ -20,7 +20,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.items.ItemStackHandler; -public class SchematicTableTileEntity extends SmartTileEntity implements MenuProvider, IInteractionChecker { +public class SchematicTableBlockEntity extends SmartBlockEntity implements MenuProvider, IInteractionChecker { public SchematicTableInventory inventory; public boolean isUploading; @@ -40,7 +40,7 @@ public class SchematicTableTileEntity extends SmartTileEntity implements MenuPro } } - public SchematicTableTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SchematicTableBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); inventory = new SchematicTableInventory(); uploadingSchematic = null; @@ -84,7 +84,7 @@ public class SchematicTableTileEntity extends SmartTileEntity implements MenuPro @Override public void tick() { - // Update Client Tile + // Update Client block entity if (sendUpdate) { sendUpdate = false; level.sendBlockUpdated(worldPosition, getBlockState(), getBlockState(), 6); @@ -126,6 +126,6 @@ public class SchematicTableTileEntity extends SmartTileEntity implements MenuPro } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} } diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableMenu.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableMenu.java index a0aeac869..1384545b9 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableMenu.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableMenu.java @@ -15,7 +15,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.items.SlotItemHandler; -public class SchematicTableMenu extends MenuBase { +public class SchematicTableMenu extends MenuBase { private Slot inputSlot; private Slot outputSlot; @@ -24,12 +24,12 @@ public class SchematicTableMenu extends MenuBase { super(type, id, inv, extraData); } - public SchematicTableMenu(MenuType type, int id, Inventory inv, SchematicTableTileEntity te) { - super(type, id, inv, te); + public SchematicTableMenu(MenuType type, int id, Inventory inv, SchematicTableBlockEntity be) { + super(type, id, inv, be); } - public static SchematicTableMenu create(int id, Inventory inv, SchematicTableTileEntity te) { - return new SchematicTableMenu(AllMenuTypes.SCHEMATIC_TABLE.get(), id, inv, te); + public static SchematicTableMenu create(int id, Inventory inv, SchematicTableBlockEntity be) { + return new SchematicTableMenu(AllMenuTypes.SCHEMATIC_TABLE.get(), id, inv, be); } public boolean canWrite() { @@ -52,10 +52,10 @@ public class SchematicTableMenu extends MenuBase { } @Override - protected SchematicTableTileEntity createOnClient(FriendlyByteBuf extraData) { + protected SchematicTableBlockEntity createOnClient(FriendlyByteBuf extraData) { ClientLevel world = Minecraft.getInstance().level; - BlockEntity tileEntity = world.getBlockEntity(extraData.readBlockPos()); - if (tileEntity instanceof SchematicTableTileEntity schematicTable) { + BlockEntity blockEntity = world.getBlockEntity(extraData.readBlockPos()); + if (blockEntity instanceof SchematicTableBlockEntity schematicTable) { schematicTable.readClient(extraData.readNbt()); return schematicTable; } @@ -63,7 +63,7 @@ public class SchematicTableMenu extends MenuBase { } @Override - protected void initAndReadInventory(SchematicTableTileEntity contentHolder) { + protected void initAndReadInventory(SchematicTableBlockEntity contentHolder) { } @Override @@ -99,7 +99,7 @@ public class SchematicTableMenu extends MenuBase { } @Override - protected void saveData(SchematicTableTileEntity contentHolder) { + protected void saveData(SchematicTableBlockEntity contentHolder) { } } diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonBlock.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonBlock.java index 0594512b9..3ba1cd1cc 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonBlock.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonBlock.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.schematics.block; import javax.annotation.Nullable; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; -import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.item.ItemHelper; import net.minecraft.core.BlockPos; @@ -25,7 +25,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.network.NetworkHooks; -public class SchematicannonBlock extends Block implements ITE { +public class SchematicannonBlock extends Block implements IBE { public SchematicannonBlock(Properties properties) { super(properties); @@ -39,7 +39,7 @@ public class SchematicannonBlock extends Block implements ITE { + withBlockEntityDo(level, pos, be -> { be.defaultYaw = (-Mth.floor((entity.getYRot() + (entity.isShiftKeyDown() ? 180.0F : 0.0F)) * 16.0F / 360.0F + 0.5F) & 15) * 360.0F / 16.0F; }); } @@ -50,15 +50,15 @@ public class SchematicannonBlock extends Block implements ITE NetworkHooks.openGui((ServerPlayer) player, te, te::sendToMenu)); + withBlockEntityDo(worldIn, pos, + be -> NetworkHooks.openGui((ServerPlayer) player, be, be::sendToMenu)); return InteractionResult.SUCCESS; } @Override public void neighborChanged(BlockState state, Level worldIn, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { - withTileEntityDo(worldIn, pos, te -> te.neighbourCheckCooldown = 0); + withBlockEntityDo(worldIn, pos, be -> be.neighbourCheckCooldown = 0); } @Override @@ -66,18 +66,18 @@ public class SchematicannonBlock extends Block implements ITE ItemHelper.dropContents(worldIn, pos, te.inventory)); + withBlockEntityDo(worldIn, pos, be -> ItemHelper.dropContents(worldIn, pos, be.inventory)); worldIn.removeBlockEntity(pos); } @Override - public Class getTileEntityClass() { - return SchematicannonTileEntity.class; + public Class getBlockEntityClass() { + return SchematicannonBlockEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.SCHEMATICANNON.get(); + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.SCHEMATICANNON.get(); } } diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonTileEntity.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonBlockEntity.java similarity index 93% rename from src/main/java/com/simibubi/create/content/schematics/block/SchematicannonTileEntity.java rename to src/main/java/com/simibubi/create/content/schematics/block/SchematicannonBlockEntity.java index ff5c08a67..cfcfb1307 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonTileEntity.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonBlockEntity.java @@ -11,20 +11,20 @@ import com.simibubi.create.AllItems; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.AllTags.AllBlockTags; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltPart; import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.elementary.AbstractSimpleShaftBlock; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; import com.simibubi.create.content.schematics.MaterialChecklist; import com.simibubi.create.content.schematics.SchematicPrinter; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.CSchematics; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.ItemHelper.ExtractionCountMode; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.IPartialSafeNBT; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; @@ -64,7 +64,7 @@ import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.wrapper.EmptyHandler; -public class SchematicannonTileEntity extends SmartTileEntity implements MenuProvider { +public class SchematicannonBlockEntity extends SmartBlockEntity implements MenuProvider { public static final int NEIGHBOUR_CHECKING = 100; public static final int MAX_ANCHOR_DISTANCE = 256; @@ -103,13 +103,13 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro // Settings public int replaceMode; public boolean skipMissing; - public boolean replaceTileEntities; + public boolean replaceBlockEntities; // Render public boolean firstRenderTick; public float defaultYaw; - public SchematicannonTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SchematicannonBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setLazyTickRate(30); attachedInventories = new LinkedHashSet<>(); @@ -133,10 +133,10 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro if (AllBlocks.CREATIVE_CRATE.has(level.getBlockState(worldPosition.relative(facing)))) hasCreativeCrate = true; - BlockEntity tileEntity = level.getBlockEntity(worldPosition.relative(facing)); - if (tileEntity != null) { + BlockEntity blockEntity = level.getBlockEntity(worldPosition.relative(facing)); + if (blockEntity != null) { LazyOptional capability = - tileEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite()); + blockEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite()); if (capability.isPresent()) { attachedInventories.add(capability); } @@ -167,7 +167,7 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro CompoundTag options = compound.getCompound("Options"); replaceMode = options.getInt("ReplaceMode"); skipMissing = options.getBoolean("SkipMissing"); - replaceTileEntities = options.getBoolean("ReplaceTileEntities"); + replaceBlockEntities = options.getBoolean("ReplaceTileEntities"); // Printer & Flying Blocks if (compound.contains("Printer")) @@ -192,7 +192,7 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro LaunchedItem launched = LaunchedItem.fromNBT(c); BlockPos readBlockPos = launched.target; - // Always write to Server tile + // Always write to Server block entity if (level == null || !level.isClientSide) { flyingBlocks.add(launched); continue; @@ -240,7 +240,7 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro CompoundTag options = new CompoundTag(); options.putInt("ReplaceMode", replaceMode); options.putBoolean("SkipMissing", skipMissing); - options.putBoolean("ReplaceTileEntities", replaceTileEntities); + options.putBoolean("ReplaceTileEntities", replaceBlockEntities); compound.put("Options", options); // Printer & Flying Blocks @@ -289,7 +289,7 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro if (blocksToPlace > 0) schematicProgress = (float) blocksPlaced / blocksToPlace; - // Update Client Tile + // Update Client block entity if (sendUpdate) { sendUpdate = false; level.sendBlockUpdated(worldPosition, getBlockState(), getBlockState(), 6); @@ -409,10 +409,10 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro // Success state = State.RUNNING; ItemStack icon = requirement.isEmpty() || requiredItems.isEmpty() ? ItemStack.EMPTY : requiredItems.get(0).stack; - printer.handleCurrentTarget((target, blockState, tile) -> { + printer.handleCurrentTarget((target, blockState, blockEntity) -> { // Launch block statusMsg = blockState.getBlock() != Blocks.AIR ? "placing" : "clearing"; - launchBlockOrBelt(target, icon, blockState, tile); + launchBlockOrBelt(target, icon, blockState, blockEntity); }, (target, entity) -> { // Launch entity statusMsg = "placing"; @@ -569,15 +569,15 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro blocksToPlace = 0; } - protected boolean shouldPlace(BlockPos pos, BlockState state, BlockEntity te, BlockState toReplace, + protected boolean shouldPlace(BlockPos pos, BlockState state, BlockEntity be, BlockState toReplace, BlockState toReplaceOther, boolean isNormalCube) { if (pos.closerThan(getBlockPos(), 2f)) return false; - if (!replaceTileEntities + if (!replaceBlockEntities && (toReplace.hasBlockEntity() || (toReplaceOther != null && toReplaceOther.hasBlockEntity()))) return false; - if (shouldIgnoreBlockState(state, te)) + if (shouldIgnoreBlockState(state, be)) return false; boolean placingAir = state.isAir(); @@ -596,12 +596,12 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro return false; } - protected boolean shouldIgnoreBlockState(BlockState state, BlockEntity te) { + protected boolean shouldIgnoreBlockState(BlockState state, BlockEntity be) { // Block doesn't have a mapping (Water, lava, etc) if (state.getBlock() == Blocks.STRUCTURE_VOID) return true; - ItemRequirement requirement = ItemRequirement.of(state, te); + ItemRequirement requirement = ItemRequirement.of(state, be); if (requirement.isEmpty()) return false; if (requirement.isInvalid()) @@ -729,23 +729,23 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro .getAxis()); } - protected void launchBlockOrBelt(BlockPos target, ItemStack icon, BlockState blockState, BlockEntity tile) { + protected void launchBlockOrBelt(BlockPos target, ItemStack icon, BlockState blockState, BlockEntity blockEntity) { if (AllBlocks.BELT.has(blockState)) { blockState = stripBeltIfNotLast(blockState); - if (tile instanceof BeltTileEntity && AllBlocks.BELT.has(blockState)) - launchBelt(target, blockState, ((BeltTileEntity) tile).beltLength); + if (blockEntity instanceof BeltBlockEntity && AllBlocks.BELT.has(blockState)) + launchBelt(target, blockState, ((BeltBlockEntity) blockEntity).beltLength); else if (blockState != Blocks.AIR.defaultBlockState()) launchBlock(target, icon, blockState, null); } else { CompoundTag data = null; - if (tile != null) { + if (blockEntity != null) { if (AllBlockTags.SAFE_NBT.matches(blockState)) { - data = tile.saveWithFullMetadata(); - data = NBTProcessors.process(tile, data, true); - } else if (tile instanceof IPartialSafeNBT) { + data = blockEntity.saveWithFullMetadata(); + data = NBTProcessors.process(blockEntity, data, true); + } else if (blockEntity instanceof IPartialSafeNBT) { data = new CompoundTag(); - ((IPartialSafeNBT) tile).writeSafe(data); - data = NBTProcessors.process(tile, data, true); + ((IPartialSafeNBT) blockEntity).writeSafe(data); + data = NBTProcessors.process(blockEntity, data, true); } } launchBlock(target, icon, blockState, data); @@ -819,7 +819,7 @@ public class SchematicannonTileEntity extends SmartTileEntity implements MenuPro } @Override - public void addBehaviours(List behaviours) {} + public void addBehaviours(List behaviours) {} @Override public void lazyTick() { diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInstance.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInstance.java index fc68495df..198cc6e6c 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInstance.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInstance.java @@ -12,13 +12,13 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.core.Direction; -public class SchematicannonInstance extends BlockEntityInstance implements DynamicInstance { +public class SchematicannonInstance extends BlockEntityInstance implements DynamicInstance { private final ModelData connector; private final ModelData pipe; - public SchematicannonInstance(MaterialManager modelManager, SchematicannonTileEntity tile) { - super(modelManager, tile); + public SchematicannonInstance(MaterialManager materialManager, SchematicannonBlockEntity blockEntity) { + super(materialManager, blockEntity); Material mat = getTransformMaterial(); diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInventory.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInventory.java index e7252dd8f..febefdb34 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInventory.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInventory.java @@ -7,20 +7,17 @@ import net.minecraft.world.item.Items; import net.minecraftforge.items.ItemStackHandler; public class SchematicannonInventory extends ItemStackHandler { - /** - * - */ - private final SchematicannonTileEntity te; + private final SchematicannonBlockEntity blockEntity; - public SchematicannonInventory(SchematicannonTileEntity schematicannonTileEntity) { + public SchematicannonInventory(SchematicannonBlockEntity blockEntity) { super(5); - te = schematicannonTileEntity; + this.blockEntity = blockEntity; } @Override protected void onContentsChanged(int slot) { super.onContentsChanged(slot); - te.setChanged(); + blockEntity.setChanged(); } @Override diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonMenu.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonMenu.java index e966e6169..3c0b29454 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonMenu.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonMenu.java @@ -14,25 +14,25 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.items.SlotItemHandler; -public class SchematicannonMenu extends MenuBase { +public class SchematicannonMenu extends MenuBase { public SchematicannonMenu(MenuType type, int id, Inventory inv, FriendlyByteBuf buffer) { super(type, id, inv, buffer); } - public SchematicannonMenu(MenuType type, int id, Inventory inv, SchematicannonTileEntity te) { - super(type, id, inv, te); + public SchematicannonMenu(MenuType type, int id, Inventory inv, SchematicannonBlockEntity be) { + super(type, id, inv, be); } - public static SchematicannonMenu create(int id, Inventory inv, SchematicannonTileEntity te) { - return new SchematicannonMenu(AllMenuTypes.SCHEMATICANNON.get(), id, inv, te); + public static SchematicannonMenu create(int id, Inventory inv, SchematicannonBlockEntity be) { + return new SchematicannonMenu(AllMenuTypes.SCHEMATICANNON.get(), id, inv, be); } @Override - protected SchematicannonTileEntity createOnClient(FriendlyByteBuf extraData) { + protected SchematicannonBlockEntity createOnClient(FriendlyByteBuf extraData) { ClientLevel world = Minecraft.getInstance().level; - BlockEntity tileEntity = world.getBlockEntity(extraData.readBlockPos()); - if (tileEntity instanceof SchematicannonTileEntity schematicannon) { + BlockEntity blockEntity = world.getBlockEntity(extraData.readBlockPos()); + if (blockEntity instanceof SchematicannonBlockEntity schematicannon) { schematicannon.readClient(extraData.readNbt()); return schematicannon; } @@ -40,7 +40,7 @@ public class SchematicannonMenu extends MenuBase { } @Override - protected void initAndReadInventory(SchematicannonTileEntity contentHolder) { + protected void initAndReadInventory(SchematicannonBlockEntity contentHolder) { } @Override @@ -58,7 +58,7 @@ public class SchematicannonMenu extends MenuBase { } @Override - protected void saveData(SchematicannonTileEntity contentHolder) { + protected void saveData(SchematicannonBlockEntity contentHolder) { } @Override diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonRenderer.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonRenderer.java index a118d361d..7d87a8d30 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonRenderer.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonRenderer.java @@ -12,9 +12,9 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.content.schematics.block.LaunchedItem.ForBelt; import com.simibubi.create.content.schematics.block.LaunchedItem.ForBlockState; import com.simibubi.create.content.schematics.block.LaunchedItem.ForEntity; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; -import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; @@ -28,30 +28,30 @@ import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class SchematicannonRenderer extends SafeTileEntityRenderer { +public class SchematicannonRenderer extends SafeBlockEntityRenderer { public SchematicannonRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(SchematicannonTileEntity tileEntity, float partialTicks, PoseStack ms, + protected void renderSafe(SchematicannonBlockEntity blockEntity, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - boolean blocksLaunching = !tileEntity.flyingBlocks.isEmpty(); + boolean blocksLaunching = !blockEntity.flyingBlocks.isEmpty(); if (blocksLaunching) - renderLaunchedBlocks(tileEntity, partialTicks, ms, buffer, light, overlay); + renderLaunchedBlocks(blockEntity, partialTicks, ms, buffer, light, overlay); - if (Backend.canUseInstancing(tileEntity.getLevel())) + if (Backend.canUseInstancing(blockEntity.getLevel())) return; - BlockPos pos = tileEntity.getBlockPos(); - BlockState state = tileEntity.getBlockState(); + BlockPos pos = blockEntity.getBlockPos(); + BlockState state = blockEntity.getBlockState(); - double[] cannonAngles = getCannonAngles(tileEntity, pos, partialTicks); + double[] cannonAngles = getCannonAngles(blockEntity, pos, partialTicks); double yaw = cannonAngles[0]; double pitch = cannonAngles[1]; - double recoil = getRecoil(tileEntity, partialTicks); + double recoil = getRecoil(blockEntity, partialTicks); ms.pushPose(); @@ -76,18 +76,18 @@ public class SchematicannonRenderer extends SafeTileEntityRenderer { - sendOptionUpdate(Option.SKIP_TILES, !menu.contentHolder.replaceTileEntities); + skipBlockEntitiesButton = new IconButton(x + 129, y + 117, AllIcons.I_SKIP_BLOCK_ENTITIES); + skipBlockEntitiesButton.withCallback(() -> { + sendOptionUpdate(Option.SKIP_BLOCK_ENTITIES, !menu.contentHolder.replaceBlockEntities); }); - skipTilesButton.setToolTip(Lang.translateDirect("gui.schematicannon.option.skipTileEntities")); - skipTilesIndicator = new Indicator(x + 129, y + 111, Components.immutableEmpty()); - Collections.addAll(placementSettingWidgets, skipTilesButton, skipTilesIndicator); + skipBlockEntitiesButton.setToolTip(Lang.translateDirect("gui.schematicannon.option.skipBlockEntities")); + skipBlockEntitiesIndicator = new Indicator(x + 129, y + 111, Components.immutableEmpty()); + Collections.addAll(placementSettingWidgets, skipBlockEntitiesButton, skipBlockEntitiesIndicator); addRenderableWidgets(placementSettingWidgets); } @@ -192,22 +192,22 @@ public class SchematicannonScreen extends AbstractSimiContainerScreenat(x + 128, y + 49, 100) .scale(1) .render(ms); @@ -342,7 +342,7 @@ public class SchematicannonScreen extends AbstractSimiContainerScreen= fuelX && mouseY >= fuelY && mouseX <= fuelX + AllGuiTextures.SCHEMATICANNON_FUEL.width && mouseY <= fuelY + AllGuiTextures.SCHEMATICANNON_FUEL.height) { - List tooltip = getFuelLevelTooltip(te); + List tooltip = getFuelLevelTooltip(be); renderComponentTooltip(matrixStack, tooltip, mouseX, mouseY); } @@ -366,11 +366,11 @@ public class SchematicannonScreen extends AbstractSimiContainerScreen= missingBlockX && mouseY >= missingBlockY && mouseX <= missingBlockX + 16 && mouseY <= missingBlockY + 16) { - renderTooltip(matrixStack, te.missingItem, mouseX, mouseY); + renderTooltip(matrixStack, be.missingItem, mouseX, mouseY); } } @@ -381,14 +381,14 @@ public class SchematicannonScreen extends AbstractSimiContainerScreen getFuelLevelTooltip(SchematicannonTileEntity te) { - double fuelUsageRate = te.getFuelUsageRate(); - int shotsLeft = (int) (te.fuelLevel / fuelUsageRate); - int shotsLeftWithItems = (int) (shotsLeft + te.inventory.getStackInSlot(4) - .getCount() * (te.getFuelAddedByGunPowder() / fuelUsageRate)); + protected List getFuelLevelTooltip(SchematicannonBlockEntity be) { + double fuelUsageRate = be.getFuelUsageRate(); + int shotsLeft = (int) (be.fuelLevel / fuelUsageRate); + int shotsLeftWithItems = (int) (shotsLeft + be.inventory.getStackInSlot(4) + .getCount() * (be.getFuelAddedByGunPowder() / fuelUsageRate)); List tooltip = new ArrayList<>(); - if (te.hasCreativeCrate) { + if (be.hasCreativeCrate) { tooltip.add(Lang.translateDirect(_gunpowderLevel, "" + 100)); tooltip.add(Components.literal("(").append(AllBlocks.CREATIVE_CRATE.get() .getName()) @@ -397,7 +397,7 @@ public class SchematicannonScreen extends AbstractSimiContainerScreen { buffer.renderInto(ms, buffers.getBuffer(layer)); }); - TileEntityRenderHelper.renderTileEntities(schematic, schematic.getRenderedTileEntities(), ms, buffers); + BlockEntityRenderHelper.renderBlockEntities(schematic, schematic.getRenderedBlockEntities(), ms, buffers); } protected void redraw() { @@ -116,9 +116,9 @@ public class SchematicRenderer { poseStack.pushPose(); poseStack.translate(localPos.getX(), localPos.getY(), localPos.getZ()); - BlockEntity tileEntity = renderWorld.getBlockEntity(localPos); + BlockEntity blockEntity = renderWorld.getBlockEntity(localPos); dispatcher.renderBatched(state, pos, renderWorld, poseStack, shadeSeparatingWrapper, true, random, - tileEntity != null ? tileEntity.getModelData() : EmptyModelData.INSTANCE); + blockEntity != null ? blockEntity.getModelData() : EmptyModelData.INSTANCE); poseStack.popPose(); } diff --git a/src/main/java/com/simibubi/create/content/schematics/packet/ConfigureSchematicannonPacket.java b/src/main/java/com/simibubi/create/content/schematics/packet/ConfigureSchematicannonPacket.java index d8cdb6185..2e96d119c 100644 --- a/src/main/java/com/simibubi/create/content/schematics/packet/ConfigureSchematicannonPacket.java +++ b/src/main/java/com/simibubi/create/content/schematics/packet/ConfigureSchematicannonPacket.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.schematics.packet; import java.util.function.Supplier; +import com.simibubi.create.content.schematics.block.SchematicannonBlockEntity; +import com.simibubi.create.content.schematics.block.SchematicannonBlockEntity.State; import com.simibubi.create.content.schematics.block.SchematicannonMenu; -import com.simibubi.create.content.schematics.block.SchematicannonTileEntity; -import com.simibubi.create.content.schematics.block.SchematicannonTileEntity.State; import com.simibubi.create.foundation.networking.SimplePacketBase; import net.minecraft.network.FriendlyByteBuf; @@ -14,7 +14,7 @@ import net.minecraftforge.network.NetworkEvent.Context; public class ConfigureSchematicannonPacket extends SimplePacketBase { public static enum Option { - DONT_REPLACE, REPLACE_SOLID, REPLACE_ANY, REPLACE_EMPTY, SKIP_MISSING, SKIP_TILES, PLAY, PAUSE, STOP; + DONT_REPLACE, REPLACE_SOLID, REPLACE_ANY, REPLACE_EMPTY, SKIP_MISSING, SKIP_BLOCK_ENTITIES, PLAY, PAUSE, STOP; } private Option option; @@ -40,38 +40,38 @@ public class ConfigureSchematicannonPacket extends SimplePacketBase { if (player == null || !(player.containerMenu instanceof SchematicannonMenu)) return; - SchematicannonTileEntity te = ((SchematicannonMenu) player.containerMenu).contentHolder; + SchematicannonBlockEntity be = ((SchematicannonMenu) player.containerMenu).contentHolder; switch (option) { case DONT_REPLACE: case REPLACE_ANY: case REPLACE_EMPTY: case REPLACE_SOLID: - te.replaceMode = option.ordinal(); + be.replaceMode = option.ordinal(); break; case SKIP_MISSING: - te.skipMissing = set; + be.skipMissing = set; break; - case SKIP_TILES: - te.replaceTileEntities = set; + case SKIP_BLOCK_ENTITIES: + be.replaceBlockEntities = set; break; case PLAY: - te.state = State.RUNNING; - te.statusMsg = "running"; + be.state = State.RUNNING; + be.statusMsg = "running"; break; case PAUSE: - te.state = State.PAUSED; - te.statusMsg = "paused"; + be.state = State.PAUSED; + be.statusMsg = "paused"; break; case STOP: - te.state = State.STOPPED; - te.statusMsg = "stopped"; + be.state = State.STOPPED; + be.statusMsg = "stopped"; break; default: break; } - te.sendUpdate = true; + be.sendUpdate = true; }); context.get().setPacketHandled(true); } diff --git a/src/main/java/com/simibubi/create/content/schematics/packet/SchematicPlacePacket.java b/src/main/java/com/simibubi/create/content/schematics/packet/SchematicPlacePacket.java index 2dc60cdb7..a84405c33 100644 --- a/src/main/java/com/simibubi/create/content/schematics/packet/SchematicPlacePacket.java +++ b/src/main/java/com/simibubi/create/content/schematics/packet/SchematicPlacePacket.java @@ -48,13 +48,13 @@ public class SchematicPlacePacket extends SimplePacketBase { if (!printer.shouldPlaceCurrent(world)) continue; - printer.handleCurrentTarget((pos, state, tile) -> { + printer.handleCurrentTarget((pos, state, blockEntity) -> { boolean placingAir = state.isAir(); if (placingAir && !includeAir) return; - CompoundTag tileData = tile != null ? tile.saveWithFullMetadata() : null; - BlockHelper.placeSchematicBlock(world, state, pos, null, tileData); + CompoundTag data = blockEntity != null ? blockEntity.saveWithFullMetadata() : null; + BlockHelper.placeSchematicBlock(world, state, pos, null, data); }, (pos, entity) -> { world.addFreshEntity(entity); }); diff --git a/src/main/java/com/simibubi/create/events/ClientEvents.java b/src/main/java/com/simibubi/create/events/ClientEvents.java index b034ef637..c032eeb93 100644 --- a/src/main/java/com/simibubi/create/events/ClientEvents.java +++ b/src/main/java/com/simibubi/create/events/ClientEvents.java @@ -41,6 +41,11 @@ import com.simibubi.create.content.logistics.trains.management.schedule.TrainHat import com.simibubi.create.content.logistics.trains.track.CurvedTrackInteraction; import com.simibubi.create.content.logistics.trains.track.TrackBlockOutline; import com.simibubi.create.content.logistics.trains.track.TrackPlacement; +import com.simibubi.create.foundation.blockEntity.behaviour.edgeInteraction.EdgeInteractionRenderer; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringRenderer; +import com.simibubi.create.foundation.blockEntity.behaviour.linked.LinkRenderer; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueHandler; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueRenderer; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.ui.BaseConfigScreen; import com.simibubi.create.foundation.fluid.FluidHelper; @@ -50,11 +55,6 @@ import com.simibubi.create.foundation.networking.LeftClickPacket; import com.simibubi.create.foundation.ponder.PonderTooltipHandler; import com.simibubi.create.foundation.render.SuperRenderTypeBuffer; import com.simibubi.create.foundation.sound.SoundScapes; -import com.simibubi.create.foundation.tileEntity.behaviour.edgeInteraction.EdgeInteractionRenderer; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringRenderer; -import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkRenderer; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueHandler; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueRenderer; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.CameraAngleAnimationService; import com.simibubi.create.foundation.utility.ServerSpeedProvider; diff --git a/src/main/java/com/simibubi/create/events/InputEvents.java b/src/main/java/com/simibubi/create/events/InputEvents.java index a47ce01b8..81264ebd3 100644 --- a/src/main/java/com/simibubi/create/events/InputEvents.java +++ b/src/main/java/com/simibubi/create/events/InputEvents.java @@ -7,8 +7,8 @@ import com.simibubi.create.content.curiosities.toolbox.ToolboxHandlerClient; import com.simibubi.create.content.logistics.item.LinkedControllerClientHandler; import com.simibubi.create.content.logistics.trains.entity.TrainRelocator; import com.simibubi.create.content.logistics.trains.track.CurvedTrackInteraction; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringHandler; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueHandler; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringHandler; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueHandler; import net.minecraft.client.KeyMapping; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/simibubi/create/foundation/advancement/AdvancementBehaviour.java b/src/main/java/com/simibubi/create/foundation/advancement/AdvancementBehaviour.java index 1729f3782..60f273095 100644 --- a/src/main/java/com/simibubi/create/foundation/advancement/AdvancementBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/advancement/AdvancementBehaviour.java @@ -4,9 +4,9 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; @@ -18,15 +18,15 @@ import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; import net.minecraftforge.common.util.FakePlayer; -public class AdvancementBehaviour extends TileEntityBehaviour { +public class AdvancementBehaviour extends BlockEntityBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); private UUID playerId; private Set advancements; - public AdvancementBehaviour(SmartTileEntity te, CreateAdvancement... advancements) { - super(te); + public AdvancementBehaviour(SmartBlockEntity be, CreateAdvancement... advancements) { + super(be); this.advancements = new HashSet<>(); add(advancements); } @@ -46,7 +46,7 @@ public class AdvancementBehaviour extends TileEntityBehaviour { return; playerId = id; removeAwarded(); - tileEntity.setChanged(); + blockEntity.setChanged(); } @Override @@ -62,7 +62,7 @@ public class AdvancementBehaviour extends TileEntityBehaviour { advancements.removeIf(c -> c.isAlreadyAwardedTo(player)); if (advancements.isEmpty()) { playerId = null; - tileEntity.setChanged(); + blockEntity.setChanged(); } } @@ -114,13 +114,13 @@ public class AdvancementBehaviour extends TileEntityBehaviour { } public static void tryAward(BlockGetter reader, BlockPos pos, CreateAdvancement advancement) { - AdvancementBehaviour behaviour = TileEntityBehaviour.get(reader, pos, AdvancementBehaviour.TYPE); + AdvancementBehaviour behaviour = BlockEntityBehaviour.get(reader, pos, AdvancementBehaviour.TYPE); if (behaviour != null) behaviour.awardPlayer(advancement); } public static void setPlacedBy(Level worldIn, BlockPos pos, LivingEntity placer) { - AdvancementBehaviour behaviour = TileEntityBehaviour.get(worldIn, pos, TYPE); + AdvancementBehaviour behaviour = BlockEntityBehaviour.get(worldIn, pos, TYPE); if (behaviour == null) return; if (placer instanceof FakePlayer) diff --git a/src/main/java/com/simibubi/create/foundation/block/ITE.java b/src/main/java/com/simibubi/create/foundation/block/IBE.java similarity index 52% rename from src/main/java/com/simibubi/create/foundation/block/ITE.java rename to src/main/java/com/simibubi/create/foundation/block/IBE.java index c79d96ee0..bac603f65 100644 --- a/src/main/java/com/simibubi/create/foundation/block/ITE.java +++ b/src/main/java/com/simibubi/create/foundation/block/IBE.java @@ -6,8 +6,8 @@ import java.util.function.Function; import javax.annotation.Nullable; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.SmartTileEntityTicker; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntityTicker; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionResult; @@ -19,23 +19,23 @@ import net.minecraft.world.level.block.entity.BlockEntityTicker; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public interface ITE extends EntityBlock { +public interface IBE extends EntityBlock { - Class getTileEntityClass(); + Class getBlockEntityClass(); - BlockEntityType getTileEntityType(); + BlockEntityType getBlockEntityType(); - default void withTileEntityDo(BlockGetter world, BlockPos pos, Consumer action) { - getTileEntityOptional(world, pos).ifPresent(action); + default void withBlockEntityDo(BlockGetter world, BlockPos pos, Consumer action) { + getBlockEntityOptional(world, pos).ifPresent(action); } - default InteractionResult onTileEntityUse(BlockGetter world, BlockPos pos, Function action) { - return getTileEntityOptional(world, pos).map(action) + default InteractionResult onBlockEntityUse(BlockGetter world, BlockPos pos, Function action) { + return getBlockEntityOptional(world, pos).map(action) .orElse(InteractionResult.PASS); } /** - * if the ITE is bound to a SmartTileEntity, which implements destroy(),
+ * if the IBE is bound to a SmartBlockEntity, which implements destroy(),
* call this method in BlockBehaviour::onRemove (replace super call) */ public static void onRemove(BlockState blockState, Level level, BlockPos pos, BlockState newBlockState) { @@ -44,40 +44,40 @@ public interface ITE extends EntityBlock { if (blockState.is(newBlockState.getBlock()) && newBlockState.hasBlockEntity()) return; BlockEntity blockEntity = level.getBlockEntity(pos); - if (blockEntity instanceof SmartTileEntity ste) + if (blockEntity instanceof SmartBlockEntity ste) ste.destroy(); level.removeBlockEntity(pos); } - default Optional getTileEntityOptional(BlockGetter world, BlockPos pos) { - return Optional.ofNullable(getTileEntity(world, pos)); + default Optional getBlockEntityOptional(BlockGetter world, BlockPos pos) { + return Optional.ofNullable(getBlockEntity(world, pos)); } @Override default BlockEntity newBlockEntity(BlockPos p_153215_, BlockState p_153216_) { - return getTileEntityType().create(p_153215_, p_153216_); + return getBlockEntityType().create(p_153215_, p_153216_); } @Override default BlockEntityTicker getTicker(Level p_153212_, BlockState p_153213_, BlockEntityType p_153214_) { - if (SmartTileEntity.class.isAssignableFrom(getTileEntityClass())) - return new SmartTileEntityTicker<>(); + if (SmartBlockEntity.class.isAssignableFrom(getBlockEntityClass())) + return new SmartBlockEntityTicker<>(); return null; } @Nullable @SuppressWarnings("unchecked") - default T getTileEntity(BlockGetter worldIn, BlockPos pos) { - BlockEntity tileEntity = worldIn.getBlockEntity(pos); - Class expectedClass = getTileEntityClass(); + default T getBlockEntity(BlockGetter worldIn, BlockPos pos) { + BlockEntity blockEntity = worldIn.getBlockEntity(pos); + Class expectedClass = getBlockEntityClass(); - if (tileEntity == null) + if (blockEntity == null) return null; - if (!expectedClass.isInstance(tileEntity)) + if (!expectedClass.isInstance(blockEntity)) return null; - return (T) tileEntity; + return (T) blockEntity; } } diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/BakedModelWrapperWithData.java b/src/main/java/com/simibubi/create/foundation/block/connected/BakedModelWrapperWithData.java index 3336098d9..b46e74d8c 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/BakedModelWrapperWithData.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/BakedModelWrapperWithData.java @@ -17,14 +17,14 @@ public abstract class BakedModelWrapperWithData extends BakedModelWrapper T get(BlockGetter reader, BlockPos pos, BehaviourType type) { - BlockEntity te; + public static T get(BlockGetter reader, BlockPos pos, BehaviourType type) { + BlockEntity be; try { - te = reader.getBlockEntity(pos); + be = reader.getBlockEntity(pos); } catch (ConcurrentModificationException e) { - te = null; + be = null; } - return get(te, type); + return get(be, type); } - public static T get(BlockEntity te, BehaviourType type) { - if (te == null) + public static T get(BlockEntity be, BehaviourType type) { + if (be == null) return null; - if (!(te instanceof SmartTileEntity)) + if (!(be instanceof SmartBlockEntity)) return null; - SmartTileEntity ste = (SmartTileEntity) te; + SmartBlockEntity ste = (SmartBlockEntity) be; return ste.getBehaviour(type); } } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/CachedRenderBBTileEntity.java b/src/main/java/com/simibubi/create/foundation/blockEntity/CachedRenderBBBlockEntity.java similarity index 76% rename from src/main/java/com/simibubi/create/foundation/tileEntity/CachedRenderBBTileEntity.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/CachedRenderBBBlockEntity.java index c160b965e..d8cd7d641 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/CachedRenderBBTileEntity.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/CachedRenderBBBlockEntity.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity; +package com.simibubi.create.foundation.blockEntity; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; @@ -7,11 +7,11 @@ import net.minecraft.world.phys.AABB; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public abstract class CachedRenderBBTileEntity extends SyncedTileEntity { +public abstract class CachedRenderBBBlockEntity extends SyncedBlockEntity { private AABB renderBoundingBox; - public CachedRenderBBTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public CachedRenderBBBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/ComparatorUtil.java b/src/main/java/com/simibubi/create/foundation/blockEntity/ComparatorUtil.java similarity index 73% rename from src/main/java/com/simibubi/create/foundation/tileEntity/ComparatorUtil.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/ComparatorUtil.java index 5ac7165e7..c1015fdf0 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/ComparatorUtil.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/ComparatorUtil.java @@ -1,7 +1,7 @@ -package com.simibubi.create.foundation.tileEntity; +package com.simibubi.create.foundation.blockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; import com.simibubi.create.foundation.fluid.SmartFluidTank; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.util.Mth; @@ -14,7 +14,7 @@ public class ComparatorUtil { } public static int levelOfSmartFluidTank(BlockGetter world, BlockPos pos) { - SmartFluidTankBehaviour fluidBehaviour = TileEntityBehaviour.get(world, pos, SmartFluidTankBehaviour.TYPE); + SmartFluidTankBehaviour fluidBehaviour = BlockEntityBehaviour.get(world, pos, SmartFluidTankBehaviour.TYPE); if (fluidBehaviour == null) return 0; SmartFluidTank primaryHandler = fluidBehaviour.getPrimaryHandler(); diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/IMergeableTE.java b/src/main/java/com/simibubi/create/foundation/blockEntity/IMergeableBE.java similarity index 55% rename from src/main/java/com/simibubi/create/foundation/tileEntity/IMergeableTE.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/IMergeableBE.java index da3636adf..d96340cb1 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/IMergeableTE.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/IMergeableBE.java @@ -1,8 +1,8 @@ -package com.simibubi.create.foundation.tileEntity; +package com.simibubi.create.foundation.blockEntity; import net.minecraft.world.level.block.entity.BlockEntity; -public interface IMergeableTE { +public interface IMergeableBE { public void accept(BlockEntity other); diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/IMultiTileContainer.java b/src/main/java/com/simibubi/create/foundation/blockEntity/IMultiBlockEntityContainer.java similarity index 88% rename from src/main/java/com/simibubi/create/foundation/tileEntity/IMultiTileContainer.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/IMultiBlockEntityContainer.java index 1629c893f..7fc3e8dd0 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/IMultiTileContainer.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/IMultiBlockEntityContainer.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity; +package com.simibubi.create.foundation.blockEntity; import javax.annotation.Nullable; @@ -10,10 +10,10 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidTank; -public interface IMultiTileContainer { +public interface IMultiBlockEntityContainer { BlockPos getController(); - T getControllerTE (); + T getControllerBE (); boolean isController(); void setController(BlockPos pos); void removeController (boolean keepContents); @@ -56,11 +56,11 @@ public interface IMultiTileContainer { int getWidth (); void setWidth (int width); - public interface Inventory extends IMultiTileContainer { + public interface Inventory extends IMultiBlockEntityContainer { default boolean hasInventory() { return false; } } - public interface Fluid extends IMultiTileContainer { + public interface Fluid extends IMultiBlockEntityContainer { // done here rather than through the Capability to allow greater flexibility default boolean hasTank() { return false; } diff --git a/src/main/java/com/simibubi/create/foundation/blockEntity/RemoveBlockEntityPacket.java b/src/main/java/com/simibubi/create/foundation/blockEntity/RemoveBlockEntityPacket.java new file mode 100644 index 000000000..8cd7ce215 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/RemoveBlockEntityPacket.java @@ -0,0 +1,32 @@ +package com.simibubi.create.foundation.blockEntity; + +import com.simibubi.create.foundation.networking.BlockEntityDataPacket; + +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; + +public class RemoveBlockEntityPacket extends BlockEntityDataPacket { + + public RemoveBlockEntityPacket(BlockPos pos) { + super(pos); + } + + public RemoveBlockEntityPacket(FriendlyByteBuf buffer) { + super(buffer); + } + + @Override + protected void writeData(FriendlyByteBuf buffer) {} + + @Override + protected void handlePacket(SyncedBlockEntity be) { + if (!be.hasLevel()) { + be.setRemoved(); + return; + } + + be.getLevel() + .removeBlockEntity(pos); + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java b/src/main/java/com/simibubi/create/foundation/blockEntity/SmartBlockEntity.java similarity index 74% rename from src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/SmartBlockEntity.java index da8b61c83..69d640d9f 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/SmartBlockEntity.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity; +package com.simibubi.create.foundation.blockEntity; import java.util.ArrayList; import java.util.HashMap; @@ -6,12 +6,12 @@ import java.util.List; import java.util.Map; import java.util.function.Consumer; -import com.simibubi.create.api.event.TileEntityBehaviourEvent; +import com.simibubi.create.api.event.BlockEntityBehaviourEvent; import com.simibubi.create.content.schematics.ISpecialBlockEntityItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; import com.simibubi.create.foundation.advancement.CreateAdvancement; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.utility.IInteractionChecker; import com.simibubi.create.foundation.utility.IPartialSafeNBT; @@ -26,43 +26,43 @@ import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.items.CapabilityItemHandler; -public abstract class SmartTileEntity extends CachedRenderBBTileEntity implements IPartialSafeNBT, IInteractionChecker, ISpecialBlockEntityItemRequirement { +public abstract class SmartBlockEntity extends CachedRenderBBBlockEntity implements IPartialSafeNBT, IInteractionChecker, ISpecialBlockEntityItemRequirement { - private final Map, TileEntityBehaviour> behaviours = new HashMap<>(); + private final Map, BlockEntityBehaviour> behaviours = new HashMap<>(); private boolean initialized = false; private boolean firstNbtRead = true; protected int lazyTickRate; protected int lazyTickCounter; private boolean chunkUnloaded; - // Used for simulating this TE in a client-only setting + // Used for simulating this BE in a client-only setting private boolean virtualMode; - public SmartTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SmartBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setLazyTickRate(10); - ArrayList list = new ArrayList<>(); + ArrayList list = new ArrayList<>(); addBehaviours(list); list.forEach(b -> behaviours.put(b.getType(), b)); } - public abstract void addBehaviours(List behaviours); + public abstract void addBehaviours(List behaviours); /** - * Gets called just before reading tile data for behaviours. Register anything - * here that depends on your custom te data. + * Gets called just before reading block entity data for behaviours. Register anything + * here that depends on your custom BE data. */ - public void addBehavioursDeferred(List behaviours) {} + public void addBehavioursDeferred(List behaviours) {} public void initialize() { if (firstNbtRead) { firstNbtRead = false; - MinecraftForge.EVENT_BUS.post(new TileEntityBehaviourEvent<>(this, behaviours)); + MinecraftForge.EVENT_BUS.post(new BlockEntityBehaviourEvent<>(this, behaviours)); } - forEachBehaviour(TileEntityBehaviour::initialize); + forEachBehaviour(BlockEntityBehaviour::initialize); lazyTick(); } @@ -77,7 +77,7 @@ public abstract class SmartTileEntity extends CachedRenderBBTileEntity implement lazyTick(); } - forEachBehaviour(TileEntityBehaviour::tick); + forEachBehaviour(BlockEntityBehaviour::tick); } public void lazyTick() {} @@ -105,10 +105,10 @@ public abstract class SmartTileEntity extends CachedRenderBBTileEntity implement protected void read(CompoundTag tag, boolean clientPacket) { if (firstNbtRead) { firstNbtRead = false; - ArrayList list = new ArrayList<>(); + ArrayList list = new ArrayList<>(); addBehavioursDeferred(list); list.forEach(b -> behaviours.put(b.getType(), b)); - MinecraftForge.EVENT_BUS.post(new TileEntityBehaviourEvent<>(this, behaviours)); + MinecraftForge.EVENT_BUS.post(new BlockEntityBehaviourEvent<>(this, behaviours)); } super.load(tag); forEachBehaviour(tb -> tb.read(tag, clientPacket)); @@ -137,7 +137,7 @@ public abstract class SmartTileEntity extends CachedRenderBBTileEntity implement * Block destroyed or Chunk unloaded. Usually invalidates capabilities */ public void invalidate() { - forEachBehaviour(TileEntityBehaviour::unload); + forEachBehaviour(BlockEntityBehaviour::unload); } /** @@ -146,10 +146,10 @@ public abstract class SmartTileEntity extends CachedRenderBBTileEntity implement public void remove() {} /** - * Block destroyed or replaced. Requires Block to call ITE::onRemove + * Block destroyed or replaced. Requires Block to call IBE::onRemove */ public void destroy() { - forEachBehaviour(TileEntityBehaviour::destroy); + forEachBehaviour(BlockEntityBehaviour::destroy); } @Override @@ -169,16 +169,16 @@ public abstract class SmartTileEntity extends CachedRenderBBTileEntity implement } @SuppressWarnings("unchecked") - public T getBehaviour(BehaviourType type) { + public T getBehaviour(BehaviourType type) { return (T) behaviours.get(type); } - protected void forEachBehaviour(Consumer action) { + protected void forEachBehaviour(Consumer action) { behaviours.values() .forEach(action); } - protected void attachBehaviourLate(TileEntityBehaviour behaviour) { + protected void attachBehaviourLate(BlockEntityBehaviour behaviour) { behaviours.put(behaviour.getType(), behaviour); behaviour.initialize(); } @@ -190,7 +190,7 @@ public abstract class SmartTileEntity extends CachedRenderBBTileEntity implement } protected void removeBehaviour(BehaviourType type) { - TileEntityBehaviour remove = behaviours.remove(type); + BlockEntityBehaviour remove = behaviours.remove(type); if (remove != null) { remove.unload(); } @@ -239,8 +239,8 @@ public abstract class SmartTileEntity extends CachedRenderBBTileEntity implement return cap == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY; } - public void registerAwardables(List behaviours, CreateAdvancement... advancements) { - for (TileEntityBehaviour behaviour : behaviours) { + public void registerAwardables(List behaviours, CreateAdvancement... advancements) { + for (BlockEntityBehaviour behaviour : behaviours) { if (behaviour instanceof AdvancementBehaviour ab) { ab.add(advancements); return; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntityTicker.java b/src/main/java/com/simibubi/create/foundation/blockEntity/SmartBlockEntityTicker.java similarity index 69% rename from src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntityTicker.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/SmartBlockEntityTicker.java index 7bd3873a6..7485e7f85 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntityTicker.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/SmartBlockEntityTicker.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity; +package com.simibubi.create.foundation.blockEntity; import net.minecraft.core.BlockPos; import net.minecraft.world.level.Level; @@ -6,13 +6,13 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityTicker; import net.minecraft.world.level.block.state.BlockState; -public class SmartTileEntityTicker implements BlockEntityTicker { +public class SmartBlockEntityTicker implements BlockEntityTicker { @Override public void tick(Level p_155253_, BlockPos p_155254_, BlockState p_155255_, T p_155256_) { if (!p_155256_.hasLevel()) p_155256_.setLevel(p_155253_); - ((SmartTileEntity) p_155256_).tick(); + ((SmartBlockEntity) p_155256_).tick(); } } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/SyncedTileEntity.java b/src/main/java/com/simibubi/create/foundation/blockEntity/SyncedBlockEntity.java similarity index 90% rename from src/main/java/com/simibubi/create/foundation/tileEntity/SyncedTileEntity.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/SyncedBlockEntity.java index 338c18116..66cdd5c5d 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/SyncedTileEntity.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/SyncedBlockEntity.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity; +package com.simibubi.create.foundation.blockEntity; import javax.annotation.ParametersAreNonnullByDefault; @@ -15,9 +15,9 @@ import net.minecraftforge.network.PacketDistributor; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public abstract class SyncedTileEntity extends BlockEntity { +public abstract class SyncedBlockEntity extends BlockEntity { - public SyncedTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public SyncedBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/BehaviourType.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/BehaviourType.java similarity index 60% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/BehaviourType.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/BehaviourType.java index d9fc571a8..af0e016b6 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/BehaviourType.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/BehaviourType.java @@ -1,8 +1,8 @@ -package com.simibubi.create.foundation.tileEntity.behaviour; +package com.simibubi.create.foundation.blockEntity.behaviour; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; -public class BehaviourType { +public class BehaviourType { private String name; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/CenteredSideValueBoxTransform.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/CenteredSideValueBoxTransform.java similarity index 92% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/CenteredSideValueBoxTransform.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/CenteredSideValueBoxTransform.java index 634cd4204..c8844a252 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/CenteredSideValueBoxTransform.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/CenteredSideValueBoxTransform.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity.behaviour; +package com.simibubi.create.foundation.blockEntity.behaviour; import java.util.function.BiPredicate; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBox.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueBox.java similarity index 96% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBox.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueBox.java index a98450419..18cbfc60c 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBox.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueBox.java @@ -1,11 +1,11 @@ -package com.simibubi.create.foundation.tileEntity.behaviour; +package com.simibubi.create.foundation.blockEntity.behaviour; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.content.logistics.item.filter.FilterItem; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform.Sided; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.INamedIconOptions; import com.simibubi.create.foundation.gui.AllIcons; import com.simibubi.create.foundation.render.SuperRenderTypeBuffer; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform.Sided; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIconOptions; import com.simibubi.create.foundation.utility.Color; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Lang; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBoxRenderer.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueBoxRenderer.java similarity index 98% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBoxRenderer.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueBoxRenderer.java index 7ff2bb466..0428b6e74 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBoxRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueBoxRenderer.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity.behaviour; +package com.simibubi.create.foundation.blockEntity.behaviour; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBoxTransform.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueBoxTransform.java similarity index 98% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBoxTransform.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueBoxTransform.java index 9158b824d..661e6882a 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBoxTransform.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueBoxTransform.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity.behaviour; +package com.simibubi.create.foundation.blockEntity.behaviour; import java.util.function.Function; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/belt/BeltProcessingBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/belt/BeltProcessingBehaviour.java similarity index 79% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/belt/BeltProcessingBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/belt/BeltProcessingBehaviour.java index d5a9520a1..9b1ee9d58 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/belt/BeltProcessingBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/belt/BeltProcessingBehaviour.java @@ -1,21 +1,21 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.belt; +package com.simibubi.create.foundation.blockEntity.behaviour.belt; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; import com.simibubi.create.content.logistics.block.funnel.AbstractFunnelBlock; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.state.BlockState; /** - * Behaviour for TileEntities which can process items on belts or depots beneath + * Behaviour for BlockEntities which can process items on belts or depots beneath * them. Currently only supports placement location 2 spaces above the belt * block. Example use: Mechanical Press */ -public class BeltProcessingBehaviour extends TileEntityBehaviour { +public class BeltProcessingBehaviour extends BlockEntityBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); @@ -26,8 +26,8 @@ public class BeltProcessingBehaviour extends TileEntityBehaviour { private ProcessingCallback onItemEnter; private ProcessingCallback continueProcessing; - public BeltProcessingBehaviour(SmartTileEntity te) { - super(te); + public BeltProcessingBehaviour(SmartBlockEntity be) { + super(be); onItemEnter = (s, i) -> ProcessingResult.PASS; continueProcessing = (s, i) -> ProcessingResult.PASS; } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/belt/DirectBeltInputBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/belt/DirectBeltInputBehaviour.java similarity index 81% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/belt/DirectBeltInputBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/belt/DirectBeltInputBehaviour.java index e82d6ab5a..1801ead61 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/belt/DirectBeltInputBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/belt/DirectBeltInputBehaviour.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.belt; +package com.simibubi.create.foundation.blockEntity.behaviour.belt; import java.util.function.Supplier; @@ -8,10 +8,10 @@ import com.simibubi.create.content.contraptions.relays.belt.transport.Transporte import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock.Shape; import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; -import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; +import com.simibubi.create.content.logistics.block.funnel.FunnelBlockEntity; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -25,10 +25,10 @@ import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemHandlerHelper; /** - * Behaviour for TileEntities to which belts can transfer items directly in a + * Behaviour for BlockEntities to which belts can transfer items directly in a * backup-friendly manner. Example uses: Basin, Saw, Depot */ -public class DirectBeltInputBehaviour extends TileEntityBehaviour { +public class DirectBeltInputBehaviour extends BlockEntityBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); @@ -36,8 +36,8 @@ public class DirectBeltInputBehaviour extends TileEntityBehaviour { private AvailabilityPredicate canInsert; private Supplier supportsBeltFunnels; - public DirectBeltInputBehaviour(SmartTileEntity te) { - super(te); + public DirectBeltInputBehaviour(SmartBlockEntity be) { + super(be); tryInsert = this::defaultInsertionCallback; canInsert = d -> true; supportsBeltFunnels = () -> false; @@ -64,7 +64,7 @@ public class DirectBeltInputBehaviour extends TileEntityBehaviour { } private ItemStack defaultInsertionCallback(TransportedItemStack inserted, Direction side, boolean simulate) { - LazyOptional lazy = tileEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side); + LazyOptional lazy = blockEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side); if (!lazy.isPresent()) return inserted.stack; return ItemHandlerHelper.insertItemStacked(lazy.orElse(null), inserted.stack.copy(), simulate); @@ -100,7 +100,7 @@ public class DirectBeltInputBehaviour extends TileEntityBehaviour { @Nullable public ItemStack tryExportingToBeltFunnel(ItemStack stack, @Nullable Direction side, boolean simulate) { - BlockPos funnelPos = tileEntity.getBlockPos() + BlockPos funnelPos = blockEntity.getBlockPos() .above(); Level world = getWorld(); BlockState funnelState = world.getBlockState(funnelPos); @@ -110,14 +110,14 @@ public class DirectBeltInputBehaviour extends TileEntityBehaviour { return null; if (side != null && FunnelBlock.getFunnelFacing(funnelState) != side) return null; - BlockEntity te = world.getBlockEntity(funnelPos); - if (!(te instanceof FunnelTileEntity)) + BlockEntity be = world.getBlockEntity(funnelPos); + if (!(be instanceof FunnelBlockEntity)) return null; if (funnelState.getValue(BeltFunnelBlock.POWERED)) return stack; ItemStack insert = FunnelBlock.tryInsert(world, funnelPos, stack, simulate); if (insert.getCount() != stack.getCount() && !simulate) - ((FunnelTileEntity) te).flap(true); + ((FunnelBlockEntity) be).flap(true); return insert; } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/belt/TransportedItemStackHandlerBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/belt/TransportedItemStackHandlerBehaviour.java similarity index 87% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/belt/TransportedItemStackHandlerBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/belt/TransportedItemStackHandlerBehaviour.java index 869e52ad0..35dd6ae41 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/belt/TransportedItemStackHandlerBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/belt/TransportedItemStackHandlerBehaviour.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.belt; +package com.simibubi.create.foundation.blockEntity.behaviour.belt; import java.util.List; import java.util.function.Function; @@ -7,15 +7,15 @@ import javax.annotation.Nullable; import com.google.common.collect.ImmutableList; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.world.item.ItemStack; import net.minecraft.world.phys.Vec3; -public class TransportedItemStackHandlerBehaviour extends TileEntityBehaviour { +public class TransportedItemStackHandlerBehaviour extends BlockEntityBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); @@ -84,10 +84,10 @@ public class TransportedItemStackHandlerBehaviour extends TileEntityBehaviour { } - public TransportedItemStackHandlerBehaviour(SmartTileEntity te, ProcessingCallback processingCallback) { - super(te); + public TransportedItemStackHandlerBehaviour(SmartBlockEntity be, ProcessingCallback processingCallback) { + super(be); this.processingCallback = processingCallback; - positionGetter = t -> VecHelper.getCenterOf(te.getBlockPos()); + positionGetter = t -> VecHelper.getCenterOf(be.getBlockPos()); } public TransportedItemStackHandlerBehaviour withStackPlacement(PositionGetter function) { diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/edgeInteraction/EdgeInteractionBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/edgeInteraction/EdgeInteractionBehaviour.java similarity index 71% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/edgeInteraction/EdgeInteractionBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/edgeInteraction/EdgeInteractionBehaviour.java index 4dd437666..6c4529328 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/edgeInteraction/EdgeInteractionBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/edgeInteraction/EdgeInteractionBehaviour.java @@ -1,17 +1,17 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.edgeInteraction; +package com.simibubi.create.foundation.blockEntity.behaviour.edgeInteraction; import java.util.Optional; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.Item; import net.minecraft.world.level.Level; -public class EdgeInteractionBehaviour extends TileEntityBehaviour { +public class EdgeInteractionBehaviour extends BlockEntityBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); @@ -19,8 +19,8 @@ public class EdgeInteractionBehaviour extends TileEntityBehaviour { ConnectivityPredicate connectivityPredicate; Optional requiredItem; - public EdgeInteractionBehaviour(SmartTileEntity te, ConnectionCallback callback) { - super(te); + public EdgeInteractionBehaviour(SmartBlockEntity be, ConnectionCallback callback) { + super(be); this.connectionCallback = callback; requiredItem = Optional.empty(); connectivityPredicate = (world, pos, face, face2) -> true; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/edgeInteraction/EdgeInteractionHandler.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/edgeInteraction/EdgeInteractionHandler.java similarity index 93% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/edgeInteraction/EdgeInteractionHandler.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/edgeInteraction/EdgeInteractionHandler.java index 4ec901624..935df664d 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/edgeInteraction/EdgeInteractionHandler.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/edgeInteraction/EdgeInteractionHandler.java @@ -1,9 +1,9 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.edgeInteraction; +package com.simibubi.create.foundation.blockEntity.behaviour.edgeInteraction; import java.util.ArrayList; import java.util.List; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.RaycastHelper; @@ -39,7 +39,7 @@ public class EdgeInteractionHandler { if (player.isShiftKeyDown() || player.isSpectator()) return; - EdgeInteractionBehaviour behaviour = TileEntityBehaviour.get(world, pos, EdgeInteractionBehaviour.TYPE); + EdgeInteractionBehaviour behaviour = BlockEntityBehaviour.get(world, pos, EdgeInteractionBehaviour.TYPE); if (behaviour == null) return; if (behaviour.requiredItem.isPresent() && behaviour.requiredItem.get() != heldItem.getItem()) diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/edgeInteraction/EdgeInteractionRenderer.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/edgeInteraction/EdgeInteractionRenderer.java similarity index 89% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/edgeInteraction/EdgeInteractionRenderer.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/edgeInteraction/EdgeInteractionRenderer.java index 8f69bfc62..edc2fed7c 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/edgeInteraction/EdgeInteractionRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/edgeInteraction/EdgeInteractionRenderer.java @@ -1,11 +1,11 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.edgeInteraction; +package com.simibubi.create.foundation.blockEntity.behaviour.edgeInteraction; import java.util.List; import com.simibubi.create.AllSpecialTextures; import com.simibubi.create.CreateClient; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBox; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBox; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.VecHelper; @@ -37,7 +37,7 @@ public class EdgeInteractionRenderer { if (player.isShiftKeyDown()) return; - EdgeInteractionBehaviour behaviour = TileEntityBehaviour.get(world, pos, EdgeInteractionBehaviour.TYPE); + EdgeInteractionBehaviour behaviour = BlockEntityBehaviour.get(world, pos, EdgeInteractionBehaviour.TYPE); if (behaviour == null) return; if (behaviour.requiredItem.orElse(heldItem.getItem()) != heldItem.getItem()) diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/filtering/FilteringBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/FilteringBehaviour.java similarity index 84% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/filtering/FilteringBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/FilteringBehaviour.java index 332a688f8..f1dab1936 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/filtering/FilteringBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/FilteringBehaviour.java @@ -1,15 +1,15 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.filtering; +package com.simibubi.create.foundation.blockEntity.behaviour.filtering; import java.util.function.Consumer; import java.util.function.Supplier; import com.simibubi.create.content.logistics.item.filter.FilterItem; import com.simibubi.create.content.schematics.ItemRequirement; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.Direction; @@ -23,7 +23,7 @@ import net.minecraft.world.phys.Vec3; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.items.ItemHandlerHelper; -public class FilteringBehaviour extends TileEntityBehaviour { +public class FilteringBehaviour extends BlockEntityBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); @@ -43,8 +43,8 @@ public class FilteringBehaviour extends TileEntityBehaviour { boolean recipeFilter; boolean fluidFilter; - public FilteringBehaviour(SmartTileEntity te, ValueBoxTransform slot) { - super(te); + public FilteringBehaviour(SmartBlockEntity be, ValueBoxTransform slot) { + super(be); filter = ItemStack.EMPTY; slotPositioning = slot; showCount = false; @@ -155,8 +155,8 @@ public class FilteringBehaviour extends TileEntityBehaviour { : (filter.getItem() instanceof FilterItem) ? 0 : Math.min(stack.getCount(), stack.getMaxStackSize()); forceClientState = true; - tileEntity.setChanged(); - tileEntity.sendData(); + blockEntity.setChanged(); + blockEntity.sendData(); } @Override @@ -192,11 +192,11 @@ public class FilteringBehaviour extends TileEntityBehaviour { } public boolean test(ItemStack stack) { - return !isActive() || filter.isEmpty() || FilterItem.test(tileEntity.getLevel(), stack, filter); + return !isActive() || filter.isEmpty() || FilterItem.test(blockEntity.getLevel(), stack, filter); } public boolean test(FluidStack stack) { - return !isActive() || filter.isEmpty() || FilterItem.test(tileEntity.getLevel(), stack, filter); + return !isActive() || filter.isEmpty() || FilterItem.test(blockEntity.getLevel(), stack, filter); } @Override @@ -205,8 +205,8 @@ public class FilteringBehaviour extends TileEntityBehaviour { } public boolean testHit(Vec3 hit) { - BlockState state = tileEntity.getBlockState(); - Vec3 localHit = hit.subtract(Vec3.atLowerCornerOf(tileEntity.getBlockPos())); + BlockState state = blockEntity.getBlockState(); + Vec3 localHit = hit.subtract(Vec3.atLowerCornerOf(blockEntity.getBlockPos())); return slotPositioning.testHit(state, localHit); } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/filtering/FilteringCountUpdatePacket.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/FilteringCountUpdatePacket.java similarity index 56% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/filtering/FilteringCountUpdatePacket.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/FilteringCountUpdatePacket.java index a56a9ec11..1a4d1313f 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/filtering/FilteringCountUpdatePacket.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/FilteringCountUpdatePacket.java @@ -1,12 +1,12 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.filtering; +package com.simibubi.create.foundation.blockEntity.behaviour.filtering; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; -public class FilteringCountUpdatePacket extends TileEntityConfigurationPacket { +public class FilteringCountUpdatePacket extends BlockEntityConfigurationPacket { int amount; @@ -30,14 +30,14 @@ public class FilteringCountUpdatePacket extends TileEntityConfigurationPacket (max * max)) { + if (cameraEntity.position().distanceToSqr(VecHelper.getCenterOf(be.getBlockPos())) > (max * max)) { return; } } } - FilteringBehaviour behaviour = te.getBehaviour(FilteringBehaviour.TYPE); + FilteringBehaviour behaviour = be.getBehaviour(FilteringBehaviour.TYPE); if (behaviour == null) return; if (!behaviour.isActive()) @@ -116,7 +116,7 @@ public class FilteringRenderer { return; ValueBoxTransform slotPositioning = behaviour.slotPositioning; - BlockState blockState = te.getBlockState(); + BlockState blockState = be.getBlockState(); if (slotPositioning instanceof ValueBoxTransform.Sided) { ValueBoxTransform.Sided sided = (ValueBoxTransform.Sided) slotPositioning; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/filtering/SidedFilteringBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/SidedFilteringBehaviour.java similarity index 86% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/filtering/SidedFilteringBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/SidedFilteringBehaviour.java index 87753bc80..58b5a50a7 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/filtering/SidedFilteringBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/filtering/SidedFilteringBehaviour.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.filtering; +package com.simibubi.create.foundation.blockEntity.behaviour.filtering; import java.util.HashSet; import java.util.IdentityHashMap; @@ -8,9 +8,9 @@ import java.util.function.BiFunction; import java.util.function.Predicate; import com.simibubi.create.content.schematics.ItemRequirement; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform.Sided; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform.Sided; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.NBTHelper; @@ -27,10 +27,10 @@ public class SidedFilteringBehaviour extends FilteringBehaviour { private BiFunction filterFactory; private Predicate validDirections; - public SidedFilteringBehaviour(SmartTileEntity te, ValueBoxTransform.Sided sidedSlot, + public SidedFilteringBehaviour(SmartBlockEntity be, ValueBoxTransform.Sided sidedSlot, BiFunction filterFactory, Predicate validDirections) { - super(te, sidedSlot); + super(be, sidedSlot); this.filterFactory = filterFactory; this.validDirections = validDirections; sidedFilters = new IdentityHashMap<>(); @@ -54,7 +54,7 @@ public class SidedFilteringBehaviour extends FilteringBehaviour { for (Direction d : Iterate.directions) if (valid.contains(d)) { if (!sidedFilters.containsKey(d)) - sidedFilters.put(d, filterFactory.apply(d, new FilteringBehaviour(tileEntity, slotPositioning))); + sidedFilters.put(d, filterFactory.apply(d, new FilteringBehaviour(blockEntity, slotPositioning))); } else if (sidedFilters.containsKey(d)) removeFilter(d); } @@ -138,8 +138,8 @@ public class SidedFilteringBehaviour extends FilteringBehaviour { public boolean testHit(Direction direction, Vec3 hit) { ValueBoxTransform.Sided sidedPositioning = (Sided) slotPositioning; - BlockState state = tileEntity.getBlockState(); - Vec3 localHit = hit.subtract(Vec3.atLowerCornerOf(tileEntity.getBlockPos())); + BlockState state = blockEntity.getBlockState(); + Vec3 localHit = hit.subtract(Vec3.atLowerCornerOf(blockEntity.getBlockPos())); return sidedPositioning.fromSide(direction) .testHit(state, localHit); } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/fluid/SmartFluidTankBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/fluid/SmartFluidTankBehaviour.java similarity index 90% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/fluid/SmartFluidTankBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/fluid/SmartFluidTankBehaviour.java index 72410381a..06cb9957e 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/fluid/SmartFluidTankBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/fluid/SmartFluidTankBehaviour.java @@ -1,14 +1,14 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.fluid; +package com.simibubi.create.foundation.blockEntity.behaviour.fluid; import java.util.function.Consumer; import org.apache.commons.lang3.mutable.MutableInt; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.fluid.SmartFluidTank; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; @@ -20,7 +20,7 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; -public class SmartFluidTankBehaviour extends TileEntityBehaviour { +public class SmartFluidTankBehaviour extends BlockEntityBehaviour { public static final BehaviourType @@ -38,13 +38,13 @@ public class SmartFluidTankBehaviour extends TileEntityBehaviour { private BehaviourType behaviourType; - public static SmartFluidTankBehaviour single(SmartTileEntity te, int capacity) { - return new SmartFluidTankBehaviour(TYPE, te, 1, capacity, false); + public static SmartFluidTankBehaviour single(SmartBlockEntity be, int capacity) { + return new SmartFluidTankBehaviour(TYPE, be, 1, capacity, false); } - public SmartFluidTankBehaviour(BehaviourType type, SmartTileEntity te, int tanks, + public SmartFluidTankBehaviour(BehaviourType type, SmartBlockEntity be, int tanks, int tankCapacity, boolean enforceVariety) { - super(te); + super(be); insertionAllowed = true; extractionAllowed = true; behaviourType = type; @@ -106,8 +106,8 @@ public class SmartFluidTankBehaviour extends TileEntityBehaviour { updateFluids(); } - forEach(te -> { - LerpedFloat fluidLevel = te.getFluidLevel(); + forEach(be -> { + LerpedFloat fluidLevel = be.getFluidLevel(); if (fluidLevel != null) fluidLevel.tickChaser(); }); @@ -131,8 +131,8 @@ public class SmartFluidTankBehaviour extends TileEntityBehaviour { protected void updateFluids() { fluidUpdateCallback.run(); - tileEntity.sendData(); - tileEntity.setChanged(); + blockEntity.sendData(); + blockEntity.setChanged(); } @Override @@ -239,12 +239,12 @@ public class SmartFluidTankBehaviour extends TileEntityBehaviour { } public void onFluidStackChanged() { - if (!tileEntity.hasLevel()) + if (!blockEntity.hasLevel()) return; fluidLevel.chase(tank.getFluidAmount() / (float) tank.getCapacity(), .25, Chaser.EXP); if (!getWorld().isClientSide) sendDataLazily(); - if (tileEntity.isVirtual() && !tank.getFluid() + if (blockEntity.isVirtual() && !tank.getFluid() .isEmpty()) renderedFluid = tank.getFluid(); } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/inventory/CapManipulationBehaviourBase.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/inventory/CapManipulationBehaviourBase.java similarity index 79% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/inventory/CapManipulationBehaviourBase.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/inventory/CapManipulationBehaviourBase.java index 852938793..72bdb75e6 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/inventory/CapManipulationBehaviourBase.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/inventory/CapManipulationBehaviourBase.java @@ -1,10 +1,10 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.inventory; +package com.simibubi.create.foundation.blockEntity.behaviour.inventory; import javax.annotation.Nullable; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.utility.BlockFace; import net.minecraft.core.BlockPos; @@ -16,7 +16,7 @@ import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; public abstract class CapManipulationBehaviourBase> - extends TileEntityBehaviour { + extends BlockEntityBehaviour { protected InterfaceProvider target; protected LazyOptional targetCapability; @@ -24,8 +24,8 @@ public abstract class CapManipulationBehaviourBase capability = capability(); targetCapability = - bypassSided ? invTE.getCapability(capability) : invTE.getCapability(capability, targetBlockFace.getFace()); + bypassSided ? invBE.getCapability(capability) : invBE.getCapability(capability, targetBlockFace.getFace()); if (targetCapability.isPresent()) targetCapability.addListener(this::onHandlerInvalidated); } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/inventory/InvManipulationBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/inventory/InvManipulationBehaviour.java similarity index 77% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/inventory/InvManipulationBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/inventory/InvManipulationBehaviour.java index 9fa544f11..7a3f8468c 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/inventory/InvManipulationBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/inventory/InvManipulationBehaviour.java @@ -1,13 +1,13 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.inventory; +package com.simibubi.create.foundation.blockEntity.behaviour.inventory; import java.util.function.Function; import java.util.function.Predicate; import com.google.common.base.Predicates; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.item.ItemHelper; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; import net.minecraft.world.item.ItemStack; import net.minecraftforge.common.capabilities.Capability; @@ -24,21 +24,21 @@ public class InvManipulationBehaviour extends CapManipulationBehaviourBase behaviourType; - public static InvManipulationBehaviour forExtraction(SmartTileEntity te, InterfaceProvider target) { - return new InvManipulationBehaviour(EXTRACT, te, target); + public static InvManipulationBehaviour forExtraction(SmartBlockEntity be, InterfaceProvider target) { + return new InvManipulationBehaviour(EXTRACT, be, target); } - public static InvManipulationBehaviour forInsertion(SmartTileEntity te, InterfaceProvider target) { - return new InvManipulationBehaviour(INSERT, te, target); + public static InvManipulationBehaviour forInsertion(SmartBlockEntity be, InterfaceProvider target) { + return new InvManipulationBehaviour(INSERT, be, target); } - public InvManipulationBehaviour(SmartTileEntity te, InterfaceProvider target) { - this(TYPE, te, target); + public InvManipulationBehaviour(SmartBlockEntity be, InterfaceProvider target) { + this(TYPE, be, target); } - private InvManipulationBehaviour(BehaviourType type, SmartTileEntity te, + private InvManipulationBehaviour(BehaviourType type, SmartBlockEntity be, InterfaceProvider target) { - super(te, target); + super(be, target); behaviourType = type; } @@ -96,7 +96,7 @@ public class InvManipulationBehaviour extends CapManipulationBehaviourBase getFilterTest(Predicate customFilter) { Predicate test = customFilter; - FilteringBehaviour filter = tileEntity.getBehaviour(FilteringBehaviour.TYPE); + FilteringBehaviour filter = blockEntity.getBehaviour(FilteringBehaviour.TYPE); if (filter != null) test = customFilter.and(filter::test); return test; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/inventory/TankManipulationBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/inventory/TankManipulationBehaviour.java similarity index 76% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/inventory/TankManipulationBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/inventory/TankManipulationBehaviour.java index 42a77735f..aab7b1261 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/inventory/TankManipulationBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/inventory/TankManipulationBehaviour.java @@ -1,11 +1,11 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.inventory; +package com.simibubi.create.foundation.blockEntity.behaviour.inventory; import java.util.function.Predicate; import com.google.common.base.Predicates; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.fluids.FluidStack; @@ -18,13 +18,13 @@ public class TankManipulationBehaviour extends CapManipulationBehaviourBase OBSERVE = new BehaviourType<>(); private BehaviourType behaviourType; - public TankManipulationBehaviour(SmartTileEntity te, InterfaceProvider target) { - this(OBSERVE, te, target); + public TankManipulationBehaviour(SmartBlockEntity be, InterfaceProvider target) { + this(OBSERVE, be, target); } - private TankManipulationBehaviour(BehaviourType type, SmartTileEntity te, + private TankManipulationBehaviour(BehaviourType type, SmartBlockEntity be, InterfaceProvider target) { - super(te, target); + super(be, target); behaviourType = type; } @@ -50,7 +50,7 @@ public class TankManipulationBehaviour extends CapManipulationBehaviourBase getFilterTest(Predicate customFilter) { Predicate test = customFilter; - FilteringBehaviour filter = tileEntity.getBehaviour(FilteringBehaviour.TYPE); + FilteringBehaviour filter = blockEntity.getBehaviour(FilteringBehaviour.TYPE); if (filter != null) test = customFilter.and(filter::test); return test; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/linked/LinkBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/linked/LinkBehaviour.java similarity index 79% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/linked/LinkBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/linked/LinkBehaviour.java index bd189938c..a9daef953 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/linked/LinkBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/linked/LinkBehaviour.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.linked; +package com.simibubi.create.foundation.blockEntity.behaviour.linked; import java.util.function.Function; import java.util.function.IntConsumer; @@ -10,10 +10,10 @@ import com.simibubi.create.Create; import com.simibubi.create.content.logistics.IRedstoneLinkable; import com.simibubi.create.content.logistics.RedstoneLinkNetworkHandler; import com.simibubi.create.content.logistics.RedstoneLinkNetworkHandler.Frequency; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.Couple; import net.minecraft.core.BlockPos; @@ -23,7 +23,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class LinkBehaviour extends TileEntityBehaviour implements IRedstoneLinkable { +public class LinkBehaviour extends BlockEntityBehaviour implements IRedstoneLinkable { public static final BehaviourType TYPE = new BehaviourType<>(); @@ -42,8 +42,8 @@ public class LinkBehaviour extends TileEntityBehaviour implements IRedstoneLinka private IntSupplier transmission; private IntConsumer signalCallback; - protected LinkBehaviour(SmartTileEntity te, Pair slots) { - super(te); + protected LinkBehaviour(SmartBlockEntity be, Pair slots) { + super(be); frequencyFirst = Frequency.EMPTY; frequencyLast = Frequency.EMPTY; firstSlot = slots.getLeft(); @@ -52,17 +52,17 @@ public class LinkBehaviour extends TileEntityBehaviour implements IRedstoneLinka newPosition = true; } - public static LinkBehaviour receiver(SmartTileEntity te, Pair slots, + public static LinkBehaviour receiver(SmartBlockEntity be, Pair slots, IntConsumer signalCallback) { - LinkBehaviour behaviour = new LinkBehaviour(te, slots); + LinkBehaviour behaviour = new LinkBehaviour(be, slots); behaviour.signalCallback = signalCallback; behaviour.mode = Mode.RECEIVE; return behaviour; } - public static LinkBehaviour transmitter(SmartTileEntity te, Pair slots, + public static LinkBehaviour transmitter(SmartBlockEntity be, Pair slots, IntSupplier transmission) { - LinkBehaviour behaviour = new LinkBehaviour(te, slots); + LinkBehaviour behaviour = new LinkBehaviour(be, slots); behaviour.transmission = transmission; behaviour.mode = Mode.TRANSMIT; return behaviour; @@ -135,13 +135,13 @@ public class LinkBehaviour extends TileEntityBehaviour implements IRedstoneLinka .save(new CompoundTag())); nbt.put("FrequencyLast", frequencyLast.getStack() .save(new CompoundTag())); - nbt.putLong("LastKnownPosition", tileEntity.getBlockPos() + nbt.putLong("LastKnownPosition", blockEntity.getBlockPos() .asLong()); } @Override public void read(CompoundTag nbt, boolean clientPacket) { - long positionInTag = tileEntity.getBlockPos() + long positionInTag = blockEntity.getBlockPos() .asLong(); long positionKey = nbt.getLong("LastKnownPosition"); newPosition = positionInTag != positionKey; @@ -169,7 +169,7 @@ public class LinkBehaviour extends TileEntityBehaviour implements IRedstoneLinka if (!changed) return; - tileEntity.sendData(); + blockEntity.sendData(); getHandler().addToNetwork(getWorld(), this); } @@ -202,8 +202,8 @@ public class LinkBehaviour extends TileEntityBehaviour implements IRedstoneLinka } public boolean testHit(Boolean first, Vec3 hit) { - BlockState state = tileEntity.getBlockState(); - Vec3 localHit = hit.subtract(Vec3.atLowerCornerOf(tileEntity.getBlockPos())); + BlockState state = blockEntity.getBlockState(); + Vec3 localHit = hit.subtract(Vec3.atLowerCornerOf(blockEntity.getBlockPos())); return (first ? firstSlot : secondSlot).testHit(state, localHit); } @@ -211,13 +211,13 @@ public class LinkBehaviour extends TileEntityBehaviour implements IRedstoneLinka public boolean isAlive() { Level level = getWorld(); BlockPos pos = getPos(); - if (tileEntity.isChunkUnloaded()) + if (blockEntity.isChunkUnloaded()) return false; - if (tileEntity.isRemoved()) + if (blockEntity.isRemoved()) return false; if (!level.isLoaded(pos)) return false; - return level.getBlockEntity(pos) == tileEntity; + return level.getBlockEntity(pos) == blockEntity; } @Override diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/linked/LinkHandler.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/linked/LinkHandler.java similarity index 88% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/linked/LinkHandler.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/linked/LinkHandler.java index 0b75fce29..443a9309d 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/linked/LinkHandler.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/linked/LinkHandler.java @@ -1,9 +1,9 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.linked; +package com.simibubi.create.foundation.blockEntity.behaviour.linked; import java.util.Arrays; import com.simibubi.create.AllItems; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.RaycastHelper; import net.minecraft.core.BlockPos; @@ -33,7 +33,7 @@ public class LinkHandler { if (player.isShiftKeyDown() || player.isSpectator()) return; - LinkBehaviour behaviour = TileEntityBehaviour.get(world, pos, LinkBehaviour.TYPE); + LinkBehaviour behaviour = BlockEntityBehaviour.get(world, pos, LinkBehaviour.TYPE); if (behaviour == null) return; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/linked/LinkRenderer.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/linked/LinkRenderer.java similarity index 75% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/linked/LinkRenderer.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/linked/LinkRenderer.java index b37edff8d..d796ac25d 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/linked/LinkRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/linked/LinkRenderer.java @@ -1,15 +1,15 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.linked; +package com.simibubi.create.foundation.blockEntity.behaviour.linked; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.datafixers.util.Pair; import com.simibubi.create.AllSpecialTextures; import com.simibubi.create.CreateClient; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBox; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxRenderer; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.config.AllConfigs; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBox; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxRenderer; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.VecHelper; @@ -38,7 +38,7 @@ public class LinkRenderer { ClientLevel world = mc.level; BlockPos pos = result.getBlockPos(); - LinkBehaviour behaviour = TileEntityBehaviour.get(world, pos, LinkBehaviour.TYPE); + LinkBehaviour behaviour = BlockEntityBehaviour.get(world, pos, LinkBehaviour.TYPE); if (behaviour == null) return; @@ -61,19 +61,19 @@ public class LinkRenderer { } } - public static void renderOnTileEntity(SmartTileEntity te, float partialTicks, PoseStack ms, + public static void renderOnBlockEntity(SmartBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (te == null || te.isRemoved()) + if (be == null || be.isRemoved()) return; Entity cameraEntity = Minecraft.getInstance().cameraEntity; float max = AllConfigs.CLIENT.filterItemRenderDistance.getF(); - if (!te.isVirtual() && cameraEntity != null && cameraEntity.position() - .distanceToSqr(VecHelper.getCenterOf(te.getBlockPos())) > (max * max)) + if (!be.isVirtual() && cameraEntity != null && cameraEntity.position() + .distanceToSqr(VecHelper.getCenterOf(be.getBlockPos())) > (max * max)) return; - LinkBehaviour behaviour = te.getBehaviour(LinkBehaviour.TYPE); + LinkBehaviour behaviour = be.getBehaviour(LinkBehaviour.TYPE); if (behaviour == null) return; @@ -82,7 +82,7 @@ public class LinkRenderer { ItemStack stack = first ? behaviour.frequencyFirst.getStack() : behaviour.frequencyLast.getStack(); ms.pushPose(); - transform.transform(te.getBlockState(), ms); + transform.transform(be.getBlockState(), ms); ValueBoxRenderer.renderItemIntoValueBox(stack, ms, buffer, light, overlay); ms.popPose(); } diff --git a/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/BulkScrollValueBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/BulkScrollValueBehaviour.java new file mode 100644 index 000000000..dba4860f7 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/BulkScrollValueBehaviour.java @@ -0,0 +1,25 @@ +package com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue; + +import java.util.List; +import java.util.function.Function; + +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; + +import net.minecraft.network.chat.Component; + +public class BulkScrollValueBehaviour extends ScrollValueBehaviour { + + Function> groupGetter; + + public BulkScrollValueBehaviour(Component label, SmartBlockEntity be, ValueBoxTransform slot, + Function> groupGetter) { + super(label, be, slot); + this.groupGetter = groupGetter; + } + + List getBulk() { + return groupGetter.apply(blockEntity); + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/INamedIconOptions.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/INamedIconOptions.java similarity index 65% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/INamedIconOptions.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/INamedIconOptions.java index b43fc801d..221647133 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/INamedIconOptions.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/INamedIconOptions.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue; +package com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue; import com.simibubi.create.foundation.gui.AllIcons; diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollOptionBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollOptionBehaviour.java similarity index 61% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollOptionBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollOptionBehaviour.java index 6bb236f93..57562088a 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollOptionBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollOptionBehaviour.java @@ -1,7 +1,7 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue; +package com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import net.minecraft.network.chat.Component; @@ -9,8 +9,8 @@ public class ScrollOptionBehaviour & INamedIconOptions> extend private E[] options; - public ScrollOptionBehaviour(Class enum_, Component label, SmartTileEntity te, ValueBoxTransform slot) { - super(label, te, slot); + public ScrollOptionBehaviour(Class enum_, Component label, SmartBlockEntity be, ValueBoxTransform slot) { + super(label, be, slot); options = enum_.getEnumConstants(); between(0, options.length - 1); withStepFunction((c) -> -1); diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueBehaviour.java similarity index 84% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueBehaviour.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueBehaviour.java index 9a58529e3..3c482bf83 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueBehaviour.java @@ -1,14 +1,14 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue; +package com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Supplier; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; @@ -16,7 +16,7 @@ import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class ScrollValueBehaviour extends TileEntityBehaviour { +public class ScrollValueBehaviour extends BlockEntityBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); @@ -38,8 +38,8 @@ public class ScrollValueBehaviour extends TileEntityBehaviour { private Supplier isActive; boolean needsWrench; - public ScrollValueBehaviour(Component label, SmartTileEntity te, ValueBoxTransform slot) { - super(te); + public ScrollValueBehaviour(Component label, SmartBlockEntity be, ValueBoxTransform slot) { + super(be); this.setLabel(label); slotPositioning = slot; callback = i -> { @@ -154,8 +154,8 @@ public class ScrollValueBehaviour extends TileEntityBehaviour { this.value = value; forceClientState = true; callback.accept(value); - tileEntity.setChanged(); - tileEntity.sendData(); + blockEntity.setChanged(); + blockEntity.sendData(); scrollableValue = value; } @@ -177,8 +177,8 @@ public class ScrollValueBehaviour extends TileEntityBehaviour { } public boolean testHit(Vec3 hit) { - BlockState state = tileEntity.getBlockState(); - Vec3 localHit = hit.subtract(Vec3.atLowerCornerOf(tileEntity.getBlockPos())); + BlockState state = blockEntity.getBlockState(); + Vec3 localHit = hit.subtract(Vec3.atLowerCornerOf(blockEntity.getBlockPos())); return slotPositioning.testHit(state, localHit); } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueHandler.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueHandler.java similarity index 84% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueHandler.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueHandler.java index f3b4d0824..29b0888e5 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueHandler.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueHandler.java @@ -1,12 +1,12 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue; +package com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue; import com.simibubi.create.AllItems; import com.simibubi.create.AllKeys; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform.Sided; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour.StepContext; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform.Sided; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueBehaviour.StepContext; import com.simibubi.create.foundation.utility.animation.PhysicalFloat; import net.minecraft.client.Minecraft; @@ -39,7 +39,7 @@ public class ScrollValueHandler { ClientLevel world = mc.level; BlockPos blockPos = result.getBlockPos(); - ScrollValueBehaviour scrolling = TileEntityBehaviour.get(world, blockPos, ScrollValueBehaviour.TYPE); + ScrollValueBehaviour scrolling = BlockEntityBehaviour.get(world, blockPos, ScrollValueBehaviour.TYPE); if (scrolling == null) return false; if (!scrolling.isActive()) @@ -60,8 +60,8 @@ public class ScrollValueHandler { if (scrolling instanceof BulkScrollValueBehaviour && AllKeys.ctrlDown()) { BulkScrollValueBehaviour bulkScrolling = (BulkScrollValueBehaviour) scrolling; - for (SmartTileEntity te : bulkScrolling.getBulk()) { - ScrollValueBehaviour other = te.getBehaviour(ScrollValueBehaviour.TYPE); + for (SmartBlockEntity be : bulkScrolling.getBulk()) { + ScrollValueBehaviour other = be.getBehaviour(ScrollValueBehaviour.TYPE); if (other != null) applyTo(delta, other); } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueRenderer.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueRenderer.java similarity index 76% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueRenderer.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueRenderer.java index 79311f5b6..f27298d13 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueRenderer.java @@ -1,13 +1,13 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue; +package com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue; import com.simibubi.create.AllItems; import com.simibubi.create.AllKeys; import com.simibubi.create.CreateClient; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBox; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBox.IconValueBox; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBox.TextValueBox; +import com.simibubi.create.foundation.blockEntity.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBox; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBox.IconValueBox; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBox.TextValueBox; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Lang; @@ -34,7 +34,7 @@ public class ScrollValueRenderer { BlockPos pos = result.getBlockPos(); Direction face = result.getDirection(); - ScrollValueBehaviour behaviour = TileEntityBehaviour.get(world, pos, ScrollValueBehaviour.TYPE); + ScrollValueBehaviour behaviour = BlockEntityBehaviour.get(world, pos, ScrollValueBehaviour.TYPE); if (behaviour == null) return; if (!behaviour.isActive()) @@ -45,10 +45,10 @@ public class ScrollValueRenderer { if (behaviour instanceof BulkScrollValueBehaviour && AllKeys.ctrlDown()) { BulkScrollValueBehaviour bulkScrolling = (BulkScrollValueBehaviour) behaviour; - for (SmartTileEntity smartTileEntity : bulkScrolling.getBulk()) { - ScrollValueBehaviour other = smartTileEntity.getBehaviour(ScrollValueBehaviour.TYPE); + for (SmartBlockEntity smartBlockEntity : bulkScrolling.getBulk()) { + ScrollValueBehaviour other = smartBlockEntity.getBehaviour(ScrollValueBehaviour.TYPE); if (other != null) - addBox(world, smartTileEntity.getBlockPos(), face, other, highlight); + addBox(world, smartBlockEntity.getBlockPos(), face, other, highlight); } } else addBox(world, pos, face, behaviour, highlight); diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueUpdatePacket.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueUpdatePacket.java similarity index 56% rename from src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueUpdatePacket.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueUpdatePacket.java index a5f73e165..e81a6ee4b 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/ScrollValueUpdatePacket.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/scrollvalue/ScrollValueUpdatePacket.java @@ -1,12 +1,12 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue; +package com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue; -import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; -public class ScrollValueUpdatePacket extends TileEntityConfigurationPacket { +public class ScrollValueUpdatePacket extends BlockEntityConfigurationPacket { int value; @@ -30,8 +30,8 @@ public class ScrollValueUpdatePacket extends TileEntityConfigurationPacket TYPE = new BehaviourType<>(); private boolean needsUpdate; private Supplier callback; - public DeferralBehaviour(SmartTileEntity te, Supplier callback) { - super(te); + public DeferralBehaviour(SmartBlockEntity be, Supplier callback) { + super(be); this.callback = callback; } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/renderer/ColoredOverlayTileEntityRenderer.java b/src/main/java/com/simibubi/create/foundation/blockEntity/renderer/ColoredOverlayBlockEntityRenderer.java similarity index 53% rename from src/main/java/com/simibubi/create/foundation/tileEntity/renderer/ColoredOverlayTileEntityRenderer.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/renderer/ColoredOverlayBlockEntityRenderer.java index 8ba1894ac..d45608e71 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/renderer/ColoredOverlayTileEntityRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/renderer/ColoredOverlayBlockEntityRenderer.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity.renderer; +package com.simibubi.create.foundation.blockEntity.renderer; import com.jozufozu.flywheel.backend.Backend; import com.mojang.blaze3d.vertex.PoseStack; @@ -9,24 +9,24 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.world.level.block.entity.BlockEntity; -public abstract class ColoredOverlayTileEntityRenderer extends SafeTileEntityRenderer { +public abstract class ColoredOverlayBlockEntityRenderer extends SafeBlockEntityRenderer { - public ColoredOverlayTileEntityRenderer(BlockEntityRendererProvider.Context context) { + public ColoredOverlayBlockEntityRenderer(BlockEntityRendererProvider.Context context) { } @Override - protected void renderSafe(T te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(T be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - if (Backend.canUseInstancing(te.getLevel())) return; + if (Backend.canUseInstancing(be.getLevel())) return; - SuperByteBuffer render = render(getOverlayBuffer(te), getColor(te, partialTicks), light); + SuperByteBuffer render = render(getOverlayBuffer(be), getColor(be, partialTicks), light); render.renderInto(ms, buffer.getBuffer(RenderType.solid())); } - protected abstract int getColor(T te, float partialTicks); + protected abstract int getColor(T be, float partialTicks); - protected abstract SuperByteBuffer getOverlayBuffer(T te); + protected abstract SuperByteBuffer getOverlayBuffer(T be); public static SuperByteBuffer render(SuperByteBuffer buffer, int color, int light) { return buffer.color(color).light(light); diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/renderer/SafeTileEntityRenderer.java b/src/main/java/com/simibubi/create/foundation/blockEntity/renderer/SafeBlockEntityRenderer.java similarity index 50% rename from src/main/java/com/simibubi/create/foundation/tileEntity/renderer/SafeTileEntityRenderer.java rename to src/main/java/com/simibubi/create/foundation/blockEntity/renderer/SafeBlockEntityRenderer.java index a4a119509..1ecb77e29 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/renderer/SafeTileEntityRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/renderer/SafeBlockEntityRenderer.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.tileEntity.renderer; +package com.simibubi.create.foundation.blockEntity.renderer; import com.mojang.blaze3d.vertex.PoseStack; @@ -7,20 +7,20 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.entity.BlockEntity; -public abstract class SafeTileEntityRenderer implements BlockEntityRenderer { +public abstract class SafeBlockEntityRenderer implements BlockEntityRenderer { @Override - public final void render(T te, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, + public final void render(T be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { - if (isInvalid(te)) + if (isInvalid(be)) return; - renderSafe(te, partialTicks, ms, bufferSource, light, overlay); + renderSafe(be, partialTicks, ms, bufferSource, light, overlay); } - protected abstract void renderSafe(T te, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, + protected abstract void renderSafe(T be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay); - public boolean isInvalid(T te) { - return !te.hasLevel() || te.getBlockState() + public boolean isInvalid(T be) { + return !be.hasLevel() || be.getBlockState() .getBlock() == Blocks.AIR; } } diff --git a/src/main/java/com/simibubi/create/foundation/blockEntity/renderer/SmartBlockEntityRenderer.java b/src/main/java/com/simibubi/create/foundation/blockEntity/renderer/SmartBlockEntityRenderer.java new file mode 100644 index 000000000..647616385 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/renderer/SmartBlockEntityRenderer.java @@ -0,0 +1,23 @@ +package com.simibubi.create.foundation.blockEntity.renderer; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringRenderer; +import com.simibubi.create.foundation.blockEntity.behaviour.linked.LinkRenderer; + +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; + +public class SmartBlockEntityRenderer extends SafeBlockEntityRenderer { + + public SmartBlockEntityRenderer(BlockEntityRendererProvider.Context context) { + } + + @Override + protected void renderSafe(T blockEntity, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, + int overlay) { + FilteringRenderer.renderOnBlockEntity(blockEntity, partialTicks, ms, buffer, light, overlay); + LinkRenderer.renderOnBlockEntity(blockEntity, partialTicks, ms, buffer, light, overlay); + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/command/CloneCommand.java b/src/main/java/com/simibubi/create/foundation/command/CloneCommand.java index d07b9f888..d9b6cdbeb 100644 --- a/src/main/java/com/simibubi/create/foundation/command/CloneCommand.java +++ b/src/main/java/com/simibubi/create/foundation/command/CloneCommand.java @@ -103,7 +103,7 @@ public class CloneCommand { int blockPastes = 0; List blocks = Lists.newArrayList(); - List tileBlocks = Lists.newArrayList(); + List beBlocks = Lists.newArrayList(); for (int z = sourceArea.minZ(); z <= sourceArea.maxZ(); ++z) { for (int y = sourceArea.minY(); y <= sourceArea.maxY(); ++y) { @@ -112,10 +112,10 @@ public class CloneCommand { BlockPos newPos = currentPos.offset(diffToTarget); BlockInWorld cached = new BlockInWorld(world, currentPos, false); BlockState state = cached.getState(); - BlockEntity te = world.getBlockEntity(currentPos); - if (te != null) { - CompoundTag nbt = te.saveWithFullMetadata(); - tileBlocks.add(new StructureTemplate.StructureBlockInfo(newPos, state, nbt)); + BlockEntity be = world.getBlockEntity(currentPos); + if (be != null) { + CompoundTag nbt = be.saveWithFullMetadata(); + beBlocks.add(new StructureTemplate.StructureBlockInfo(newPos, state, nbt)); } else { blocks.add(new StructureTemplate.StructureBlockInfo(newPos, state, null)); } @@ -125,13 +125,13 @@ public class CloneCommand { List allBlocks = Lists.newArrayList(); allBlocks.addAll(blocks); - allBlocks.addAll(tileBlocks); + allBlocks.addAll(beBlocks); List reverse = Lists.reverse(allBlocks); for (StructureTemplate.StructureBlockInfo info : reverse) { - BlockEntity te = world.getBlockEntity(info.pos); - Clearable.tryClear(te); + BlockEntity be = world.getBlockEntity(info.pos); + Clearable.tryClear(be); world.setBlock(info.pos, Blocks.BARRIER.defaultBlockState(), 2); } @@ -140,17 +140,17 @@ public class CloneCommand { blockPastes++; } - for (StructureTemplate.StructureBlockInfo info : tileBlocks) { - BlockEntity te = world.getBlockEntity(info.pos); - if (te != null && info.nbt != null) { + for (StructureTemplate.StructureBlockInfo info : beBlocks) { + BlockEntity be = world.getBlockEntity(info.pos); + if (be != null && info.nbt != null) { info.nbt.putInt("x", info.pos.getX()); info.nbt.putInt("y", info.pos.getY()); info.nbt.putInt("z", info.pos.getZ()); - te.load(info.nbt); - te.setChanged(); + be.load(info.nbt); + be.setChanged(); } - // idk why the state is set twice for a te, but its done like this in the + // idk why the state is set twice for a be, but its done like this in the // original clone command world.setBlock(info.pos, info.state, 2); } diff --git a/src/main/java/com/simibubi/create/foundation/command/HighlightCommand.java b/src/main/java/com/simibubi/create/foundation/command/HighlightCommand.java index 605c5782e..a2ec64ead 100644 --- a/src/main/java/com/simibubi/create/foundation/command/HighlightCommand.java +++ b/src/main/java/com/simibubi/create/foundation/command/HighlightCommand.java @@ -80,13 +80,13 @@ public class HighlightCommand { } BlockPos pos = ray.getBlockPos(); - BlockEntity te = world.getBlockEntity(pos); - if (!(te instanceof IDisplayAssemblyExceptions)) { + BlockEntity be = world.getBlockEntity(pos); + if (!(be instanceof IDisplayAssemblyExceptions)) { sendMissMessage(source); return 0; } - IDisplayAssemblyExceptions display = (IDisplayAssemblyExceptions) te; + IDisplayAssemblyExceptions display = (IDisplayAssemblyExceptions) be; AssemblyException exception = display.getLastAssemblyException(); if (exception == null) { sendMissMessage(source); diff --git a/src/main/java/com/simibubi/create/foundation/command/ReplaceInCommandBlocksCommand.java b/src/main/java/com/simibubi/create/foundation/command/ReplaceInCommandBlocksCommand.java index 53f1292a8..eae61cac6 100644 --- a/src/main/java/com/simibubi/create/foundation/command/ReplaceInCommandBlocksCommand.java +++ b/src/main/java/com/simibubi/create/foundation/command/ReplaceInCommandBlocksCommand.java @@ -45,10 +45,10 @@ public class ReplaceInCommandBlocksCommand { BlockState blockState = world.getBlockState(pos); if (!(blockState.getBlock() instanceof CommandBlock)) return; - BlockEntity tileEntity = world.getBlockEntity(pos); - if (!(tileEntity instanceof CommandBlockEntity)) + BlockEntity blockEntity = world.getBlockEntity(pos); + if (!(blockEntity instanceof CommandBlockEntity)) return; - CommandBlockEntity cb = (CommandBlockEntity) tileEntity; + CommandBlockEntity cb = (CommandBlockEntity) blockEntity; BaseCommandBlock commandBlockLogic = cb.getCommandBlock(); String command = commandBlockLogic.getCommand(); if (command.indexOf(toReplace) != -1) diff --git a/src/main/java/com/simibubi/create/foundation/config/CKinetics.java b/src/main/java/com/simibubi/create/foundation/config/CKinetics.java index d473b2777..8a6866249 100644 --- a/src/main/java/com/simibubi/create/foundation/config/CKinetics.java +++ b/src/main/java/com/simibubi/create/foundation/config/CKinetics.java @@ -68,7 +68,7 @@ public class CKinetics extends ConfigBase { static String maxBeltLength = "Maximum length in blocks of mechanical belts."; static String crushingDamage = "Damage dealt by active Crushing Wheels."; static String maxMotorSpeed = "Maximum allowed speed of a configurable motor."; - static String maxRotationSpeed = "Maximum allowed rotation speed for any Kinetic Tile."; + static String maxRotationSpeed = "Maximum allowed rotation speed for any Kinetic Block."; static String fanPushDistance = "Maximum distance in blocks Fans can push entities."; static String fanPullDistance = "Maximum distance in blocks from where Fans can pull entities."; static String fanBlockCheckRate = "Game ticks between Fans checking for anything blocking their air flow."; diff --git a/src/main/java/com/simibubi/create/foundation/config/ui/BaseConfigScreen.java b/src/main/java/com/simibubi/create/foundation/config/ui/BaseConfigScreen.java index a80623f38..883a35478 100644 --- a/src/main/java/com/simibubi/create/foundation/config/ui/BaseConfigScreen.java +++ b/src/main/java/com/simibubi/create/foundation/config/ui/BaseConfigScreen.java @@ -70,9 +70,9 @@ public class BaseConfigScreen extends ConfigScreen { ForgeConfigSpec clientSpec; ForgeConfigSpec commonSpec; ForgeConfigSpec serverSpec; - String clientTile = "Client Config"; - String commonTile = "Common Config"; - String serverTile = "Server Config"; + String clientTitle = "Client Config"; + String commonTitle = "Common Config"; + String serverTitle = "Server Config"; String modID; protected boolean returnOnClose; @@ -130,13 +130,13 @@ public class BaseConfigScreen extends ConfigScreen { public BaseConfigScreen withTitles(@Nullable String client, @Nullable String common, @Nullable String server) { if (client != null) - clientTile = client; + clientTitle = client; if (common != null) - commonTile = common; + commonTitle = common; if (server != null) - serverTile = server; + serverTitle = server; return this; } @@ -146,7 +146,7 @@ public class BaseConfigScreen extends ConfigScreen { super.init(); returnOnClose = true; - TextStencilElement clientText = new TextStencilElement(font, Components.literal(clientTile)).centered(true, true); + TextStencilElement clientText = new TextStencilElement(font, Components.literal(clientTitle)).centered(true, true); addRenderableWidget(clientConfigWidget = new BoxWidget(width / 2 - 100, height / 2 - 15 - 30, 200, 16).showingElement(clientText)); if (clientSpec != null) { @@ -158,7 +158,7 @@ public class BaseConfigScreen extends ConfigScreen { clientText.withElementRenderer(DISABLED_RENDERER); } - TextStencilElement commonText = new TextStencilElement(font, Components.literal(commonTile)).centered(true, true); + TextStencilElement commonText = new TextStencilElement(font, Components.literal(commonTitle)).centered(true, true); addRenderableWidget(commonConfigWidget = new BoxWidget(width / 2 - 100, height / 2 - 15, 200, 16).showingElement(commonText)); if (commonSpec != null) { @@ -170,7 +170,7 @@ public class BaseConfigScreen extends ConfigScreen { commonText.withElementRenderer(DISABLED_RENDERER); } - TextStencilElement serverText = new TextStencilElement(font, Components.literal(serverTile)).centered(true, true); + TextStencilElement serverText = new TextStencilElement(font, Components.literal(serverTitle)).centered(true, true); addRenderableWidget(serverConfigWidget = new BoxWidget(width / 2 - 100, height / 2 - 15 + 30, 200, 16).showingElement(serverText)); if (serverSpec == null) { diff --git a/src/main/java/com/simibubi/create/foundation/data/CreateTileEntityBuilder.java b/src/main/java/com/simibubi/create/foundation/data/CreateBlockEntityBuilder.java similarity index 72% rename from src/main/java/com/simibubi/create/foundation/data/CreateTileEntityBuilder.java rename to src/main/java/com/simibubi/create/foundation/data/CreateBlockEntityBuilder.java index d336936a8..8f964d489 100644 --- a/src/main/java/com/simibubi/create/foundation/data/CreateTileEntityBuilder.java +++ b/src/main/java/com/simibubi/create/foundation/data/CreateBlockEntityBuilder.java @@ -19,7 +19,7 @@ import net.minecraftforge.common.util.NonNullPredicate; import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -public class CreateTileEntityBuilder extends BlockEntityBuilder { +public class CreateBlockEntityBuilder extends BlockEntityBuilder { @Nullable private NonNullSupplier>> instanceFactory; @@ -27,23 +27,23 @@ public class CreateTileEntityBuilder extends BlockEnti public static BlockEntityBuilder create(AbstractRegistrate owner, P parent, String name, BuilderCallback callback, BlockEntityFactory factory) { - return new CreateTileEntityBuilder<>(owner, parent, name, callback, factory); + return new CreateBlockEntityBuilder<>(owner, parent, name, callback, factory); } - protected CreateTileEntityBuilder(AbstractRegistrate owner, P parent, String name, BuilderCallback callback, + protected CreateBlockEntityBuilder(AbstractRegistrate owner, P parent, String name, BuilderCallback callback, BlockEntityFactory factory) { super(owner, parent, name, callback, factory); } - public CreateTileEntityBuilder instance(NonNullSupplier>> instanceFactory) { + public CreateBlockEntityBuilder instance(NonNullSupplier>> instanceFactory) { return instance(instanceFactory, true); } - public CreateTileEntityBuilder instance(NonNullSupplier>> instanceFactory, boolean renderNormally) { + public CreateBlockEntityBuilder instance(NonNullSupplier>> instanceFactory, boolean renderNormally) { return instance(instanceFactory, be -> renderNormally); } - public CreateTileEntityBuilder instance(NonNullSupplier>> instanceFactory, NonNullPredicate renderNormally) { + public CreateBlockEntityBuilder instance(NonNullSupplier>> instanceFactory, NonNullPredicate renderNormally) { if (this.instanceFactory == null) { DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> this::registerInstance); } diff --git a/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java b/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java index 0647d8148..d8ac10e7f 100644 --- a/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java +++ b/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java @@ -54,15 +54,17 @@ public class CreateRegistrate extends AbstractRegistrate { return super.registerEventListeners(bus); } - public CreateTileEntityBuilder tileEntity(String name, + @Override + public CreateBlockEntityBuilder blockEntity(String name, BlockEntityFactory factory) { - return this.tileEntity(this.self(), name, factory); + return blockEntity(self(), name, factory); } - public CreateTileEntityBuilder tileEntity(P parent, String name, + @Override + public CreateBlockEntityBuilder blockEntity(P parent, String name, BlockEntityFactory factory) { - return (CreateTileEntityBuilder) this.entry(name, - (callback) -> CreateTileEntityBuilder.create(this, parent, name, callback, factory)); + return (CreateBlockEntityBuilder) entry(name, + (callback) -> CreateBlockEntityBuilder.create(this, parent, name, callback, factory)); } @Override diff --git a/src/main/java/com/simibubi/create/foundation/fluid/FluidHelper.java b/src/main/java/com/simibubi/create/foundation/fluid/FluidHelper.java index 16bbd3adb..5520c5108 100644 --- a/src/main/java/com/simibubi/create/foundation/fluid/FluidHelper.java +++ b/src/main/java/com/simibubi/create/foundation/fluid/FluidHelper.java @@ -8,9 +8,9 @@ import com.google.gson.JsonSyntaxException; import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.fluids.actors.GenericItemFilling; -import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity; +import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankBlockEntity; import com.simibubi.create.content.contraptions.processing.EmptyingByBasin; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.utility.Pair; import com.simibubi.create.foundation.utility.RegisteredObjects; @@ -134,12 +134,12 @@ public class FluidHelper { } public static boolean tryEmptyItemIntoTE(Level worldIn, Player player, InteractionHand handIn, ItemStack heldItem, - SmartTileEntity te) { + SmartBlockEntity be) { if (!EmptyingByBasin.canItemBeEmptied(worldIn, heldItem)) return false; Pair emptyingResult = EmptyingByBasin.emptyItem(worldIn, heldItem, true); - LazyOptional capability = te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); + LazyOptional capability = be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); IFluidHandler tank = capability.orElse(null); FluidStack fluidStack = emptyingResult.getFirst(); @@ -152,7 +152,7 @@ public class FluidHelper { emptyingResult = EmptyingByBasin.emptyItem(worldIn, copyOfHeld, false); tank.fill(fluidStack, FluidAction.EXECUTE); - if (!player.isCreative() && !(te instanceof CreativeFluidTankTileEntity)) { + if (!player.isCreative() && !(be instanceof CreativeFluidTankBlockEntity)) { if (copyOfHeld.isEmpty()) player.setItemInHand(handIn, emptyingResult.getSecond()); else { @@ -164,11 +164,11 @@ public class FluidHelper { } public static boolean tryFillItemFromTE(Level world, Player player, InteractionHand handIn, ItemStack heldItem, - SmartTileEntity te) { + SmartBlockEntity be) { if (!GenericItemFilling.canItemBeFilled(world, heldItem)) return false; - LazyOptional capability = te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); + LazyOptional capability = be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); IFluidHandler tank = capability.orElse(null); if (tank == null) @@ -187,7 +187,7 @@ public class FluidHelper { if (world.isClientSide) return true; - if (player.isCreative() || te instanceof CreativeFluidTankTileEntity) + if (player.isCreative() || be instanceof CreativeFluidTankBlockEntity) heldItem = heldItem.copy(); ItemStack out = GenericItemFilling.fillItem(world, requiredAmountForItem, heldItem, fluid.copy()); @@ -197,7 +197,7 @@ public class FluidHelper { if (!player.isCreative()) player.getInventory().placeItemBackInInventory(out); - te.notifyUpdate(); + be.notifyUpdate(); return true; } diff --git a/src/main/java/com/simibubi/create/foundation/gui/AllIcons.java b/src/main/java/com/simibubi/create/foundation/gui/AllIcons.java index 0051e041e..3514e3246 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/AllIcons.java +++ b/src/main/java/com/simibubi/create/foundation/gui/AllIcons.java @@ -82,7 +82,7 @@ public class AllIcons implements ScreenElement { public static final AllIcons I_TOOL_DEPLOY = newRow(), I_SKIP_MISSING = next(), - I_SKIP_TILES = next(), + I_SKIP_BLOCK_ENTITIES = next(), I_DICE = next(), I_TUNNEL_SPLIT = next(), I_TUNNEL_FORCED_SPLIT = next(), diff --git a/src/main/java/com/simibubi/create/foundation/gui/widget/ScrollInput.java b/src/main/java/com/simibubi/create/foundation/gui/widget/ScrollInput.java index 02589aa85..6635db7a9 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widget/ScrollInput.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widget/ScrollInput.java @@ -5,7 +5,7 @@ import java.util.function.Function; import com.simibubi.create.AllKeys; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour.StepContext; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueBehaviour.StepContext; import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Lang; diff --git a/src/main/java/com/simibubi/create/foundation/item/CountedItemStackList.java b/src/main/java/com/simibubi/create/foundation/item/CountedItemStackList.java index 2b964a7c6..224f6a0fc 100644 --- a/src/main/java/com/simibubi/create/foundation/item/CountedItemStackList.java +++ b/src/main/java/com/simibubi/create/foundation/item/CountedItemStackList.java @@ -7,7 +7,7 @@ import java.util.Map; import java.util.Set; import java.util.stream.Stream; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.utility.IntAttached; import net.minecraft.network.chat.MutableComponent; diff --git a/src/main/java/com/simibubi/create/foundation/item/SmartInventory.java b/src/main/java/com/simibubi/create/foundation/item/SmartInventory.java index 1fcd6d697..b743c1054 100644 --- a/src/main/java/com/simibubi/create/foundation/item/SmartInventory.java +++ b/src/main/java/com/simibubi/create/foundation/item/SmartInventory.java @@ -4,7 +4,7 @@ import java.util.function.Consumer; import javax.annotation.Nonnull; -import com.simibubi.create.foundation.tileEntity.SyncedTileEntity; +import com.simibubi.create.foundation.blockEntity.SyncedBlockEntity; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.item.ItemStack; @@ -21,12 +21,12 @@ public class SmartInventory extends RecipeWrapper protected SyncedStackHandler wrapped; protected int stackSize; - public SmartInventory(int slots, SyncedTileEntity te) { - this(slots, te, 64, false); + public SmartInventory(int slots, SyncedBlockEntity be) { + this(slots, be, 64, false); } - public SmartInventory(int slots, SyncedTileEntity te, int stackSize, boolean stackNonStackables) { - super(new SyncedStackHandler(slots, te, stackNonStackables, stackSize)); + public SmartInventory(int slots, SyncedBlockEntity be, int stackSize, boolean stackNonStackables) { + super(new SyncedStackHandler(slots, be, stackNonStackables, stackSize)); this.stackNonStackables = stackNonStackables; insertionAllowed = true; extractionAllowed = true; @@ -129,14 +129,14 @@ public class SmartInventory extends RecipeWrapper private static class SyncedStackHandler extends ItemStackHandler { - private SyncedTileEntity te; + private SyncedBlockEntity blockEntity; private boolean stackNonStackables; private int stackSize; private Consumer updateCallback; - public SyncedStackHandler(int slots, SyncedTileEntity te, boolean stackNonStackables, int stackSize) { + public SyncedStackHandler(int slots, SyncedBlockEntity be, boolean stackNonStackables, int stackSize) { super(slots); - this.te = te; + this.blockEntity = be; this.stackNonStackables = stackNonStackables; this.stackSize = stackSize; } @@ -146,7 +146,7 @@ public class SmartInventory extends RecipeWrapper super.onContentsChanged(slot); if (updateCallback != null) updateCallback.accept(slot); - te.notifyUpdate(); + blockEntity.notifyUpdate(); } @Override diff --git a/src/main/java/com/simibubi/create/foundation/mixin/MapItemSavedDataMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/MapItemSavedDataMixin.java index 203401f6c..152434953 100644 --- a/src/main/java/com/simibubi/create/foundation/mixin/MapItemSavedDataMixin.java +++ b/src/main/java/com/simibubi/create/foundation/mixin/MapItemSavedDataMixin.java @@ -15,9 +15,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import com.google.common.collect.Maps; +import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationBlockEntity; import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationMapData; import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationMarker; -import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationTileEntity; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; @@ -129,7 +129,7 @@ public class MapItemSavedDataMixin implements StationMapData { } @Override - public boolean toggleStation(LevelAccessor level, BlockPos pos, StationTileEntity stationTileEntity) { + public boolean toggleStation(LevelAccessor level, BlockPos pos, StationBlockEntity stationBlockEntity) { double xCenter = pos.getX() + 0.5D; double zCenter = pos.getZ() + 0.5D; int scaleMultiplier = 1 << scale; diff --git a/src/main/java/com/simibubi/create/foundation/mixin/ModelDataRefreshMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/ModelDataRefreshMixin.java index 8814dacff..516894522 100644 --- a/src/main/java/com/simibubi/create/foundation/mixin/ModelDataRefreshMixin.java +++ b/src/main/java/com/simibubi/create/foundation/mixin/ModelDataRefreshMixin.java @@ -19,15 +19,15 @@ import net.minecraftforge.client.model.ModelDataManager; public class ModelDataRefreshMixin { /** - * Normally ModelDataManager will throw an exception if a tile entity tries + * Normally ModelDataManager will throw an exception if a block entity tries * to refresh its model data from a world the client isn't currently in, - * but we need that to not happen for tile entities in fake schematic + * but we need that to not happen for block entities in fake schematic * worlds, so in those cases just do nothing instead. */ @Inject(at = @At("HEAD"), method = "requestModelDataRefresh", cancellable = true, remap = false) - private static void requestModelDataRefresh(BlockEntity te, CallbackInfo ci) { - if (te != null) { - Level world = te.getLevel(); + private static void requestModelDataRefresh(BlockEntity be, CallbackInfo ci) { + if (be != null) { + Level world = be.getLevel(); if (world != Minecraft.getInstance().level && world instanceof SchematicWorld) ci.cancel(); } diff --git a/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java b/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java index 50b49282a..14aee148a 100644 --- a/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java +++ b/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java @@ -79,14 +79,14 @@ import com.simibubi.create.content.schematics.packet.InstantSchematicPacket; import com.simibubi.create.content.schematics.packet.SchematicPlacePacket; import com.simibubi.create.content.schematics.packet.SchematicSyncPacket; import com.simibubi.create.content.schematics.packet.SchematicUploadPacket; +import com.simibubi.create.foundation.blockEntity.RemoveBlockEntityPacket; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringCountUpdatePacket; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollValueUpdatePacket; import com.simibubi.create.foundation.command.HighlightPacket; import com.simibubi.create.foundation.command.SConfigureConfigPacket; import com.simibubi.create.foundation.config.ui.CConfigureConfigPacket; import com.simibubi.create.foundation.gui.menu.ClearMenuPacket; import com.simibubi.create.foundation.gui.menu.GhostItemSubmitPacket; -import com.simibubi.create.foundation.tileEntity.RemoveTileEntityPacket; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringCountUpdatePacket; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueUpdatePacket; import com.simibubi.create.foundation.utility.ServerSpeedProvider; import net.minecraft.core.BlockPos; @@ -185,7 +185,7 @@ public enum AllPackets { SYNC_RAIL_GRAPH(TrackGraphSyncPacket.class, TrackGraphSyncPacket::new, PLAY_TO_CLIENT), SYNC_EDGE_GROUP(SignalEdgeGroupPacket.class, SignalEdgeGroupPacket::new, PLAY_TO_CLIENT), SYNC_TRAIN(TrainPacket.class, TrainPacket::new, PLAY_TO_CLIENT), - REMOVE_TE(RemoveTileEntityPacket.class, RemoveTileEntityPacket::new, PLAY_TO_CLIENT), + REMOVE_TE(RemoveBlockEntityPacket.class, RemoveBlockEntityPacket::new, PLAY_TO_CLIENT), S_CONFIGURE_TRAIN(TrainEditReturnPacket.class, TrainEditReturnPacket::new, PLAY_TO_CLIENT), CONTROLS_ABORT(ControlsStopControllingPacket.class, ControlsStopControllingPacket::new, PLAY_TO_CLIENT), S_TRAIN_HUD(TrainHUDUpdatePacket.class, TrainHUDUpdatePacket::new, PLAY_TO_CLIENT), diff --git a/src/main/java/com/simibubi/create/foundation/networking/TileEntityConfigurationPacket.java b/src/main/java/com/simibubi/create/foundation/networking/BlockEntityConfigurationPacket.java similarity index 66% rename from src/main/java/com/simibubi/create/foundation/networking/TileEntityConfigurationPacket.java rename to src/main/java/com/simibubi/create/foundation/networking/BlockEntityConfigurationPacket.java index 983c2d3e9..016208ce8 100644 --- a/src/main/java/com/simibubi/create/foundation/networking/TileEntityConfigurationPacket.java +++ b/src/main/java/com/simibubi/create/foundation/networking/BlockEntityConfigurationPacket.java @@ -2,7 +2,7 @@ package com.simibubi.create.foundation.networking; import java.util.function.Supplier; -import com.simibubi.create.foundation.tileEntity.SyncedTileEntity; +import com.simibubi.create.foundation.blockEntity.SyncedBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; @@ -11,16 +11,16 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.network.NetworkEvent.Context; -public abstract class TileEntityConfigurationPacket extends SimplePacketBase { +public abstract class BlockEntityConfigurationPacket extends SimplePacketBase { protected BlockPos pos; - public TileEntityConfigurationPacket(FriendlyByteBuf buffer) { + public BlockEntityConfigurationPacket(FriendlyByteBuf buffer) { pos = buffer.readBlockPos(); readSettings(buffer); } - public TileEntityConfigurationPacket(BlockPos pos) { + public BlockEntityConfigurationPacket(BlockPos pos) { this.pos = pos; } @@ -44,13 +44,13 @@ public abstract class TileEntityConfigurationPacket return; if (!pos.closerThan(player.blockPosition(), maxRange())) return; - BlockEntity tileEntity = world.getBlockEntity(pos); - if (tileEntity instanceof SyncedTileEntity) { - applySettings(player, (TE) tileEntity); + BlockEntity blockEntity = world.getBlockEntity(pos); + if (blockEntity instanceof SyncedBlockEntity) { + applySettings(player, (BE) blockEntity); if (!causeUpdate()) return; - ((SyncedTileEntity) tileEntity).sendData(); - tileEntity.setChanged(); + ((SyncedBlockEntity) blockEntity).sendData(); + blockEntity.setChanged(); } }); context.get() @@ -66,14 +66,14 @@ public abstract class TileEntityConfigurationPacket protected abstract void readSettings(FriendlyByteBuf buffer); - protected void applySettings(ServerPlayer player, TE te) { - applySettings(te); + protected void applySettings(ServerPlayer player, BE be) { + applySettings(be); } protected boolean causeUpdate() { return true; } - protected abstract void applySettings(TE te); + protected abstract void applySettings(BE be); } diff --git a/src/main/java/com/simibubi/create/foundation/networking/TileEntityDataPacket.java b/src/main/java/com/simibubi/create/foundation/networking/BlockEntityDataPacket.java similarity index 55% rename from src/main/java/com/simibubi/create/foundation/networking/TileEntityDataPacket.java rename to src/main/java/com/simibubi/create/foundation/networking/BlockEntityDataPacket.java index d1e8ec497..5cfe245f5 100644 --- a/src/main/java/com/simibubi/create/foundation/networking/TileEntityDataPacket.java +++ b/src/main/java/com/simibubi/create/foundation/networking/BlockEntityDataPacket.java @@ -2,7 +2,7 @@ package com.simibubi.create.foundation.networking; import java.util.function.Supplier; -import com.simibubi.create.foundation.tileEntity.SyncedTileEntity; +import com.simibubi.create.foundation.blockEntity.SyncedBlockEntity; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; @@ -12,25 +12,25 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.network.NetworkEvent; /** - * A server to client version of {@link TileEntityConfigurationPacket} + * A server to client version of {@link BlockEntityConfigurationPacket} * - * @param + * @param */ -public abstract class TileEntityDataPacket extends SimplePacketBase { +public abstract class BlockEntityDataPacket extends SimplePacketBase { - protected BlockPos tilePos; + protected BlockPos pos; - public TileEntityDataPacket(FriendlyByteBuf buffer) { - tilePos = buffer.readBlockPos(); + public BlockEntityDataPacket(FriendlyByteBuf buffer) { + pos = buffer.readBlockPos(); } - public TileEntityDataPacket(BlockPos pos) { - this.tilePos = pos; + public BlockEntityDataPacket(BlockPos pos) { + this.pos = pos; } @Override public void write(FriendlyByteBuf buffer) { - buffer.writeBlockPos(tilePos); + buffer.writeBlockPos(pos); writeData(buffer); } @@ -43,10 +43,10 @@ public abstract class TileEntityDataPacket extends if (world == null) return; - BlockEntity tile = world.getBlockEntity(tilePos); + BlockEntity blockEntity = world.getBlockEntity(pos); - if (tile instanceof SyncedTileEntity) { - handlePacket((TE) tile); + if (blockEntity instanceof SyncedBlockEntity) { + handlePacket((BE) blockEntity); } }); ctx.setPacketHandled(true); @@ -54,5 +54,5 @@ public abstract class TileEntityDataPacket extends protected abstract void writeData(FriendlyByteBuf buffer); - protected abstract void handlePacket(TE tile); + protected abstract void handlePacket(BE blockEntity); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/PonderWorld.java b/src/main/java/com/simibubi/create/foundation/ponder/PonderWorld.java index cf6955e22..37cea3bc5 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderWorld.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderWorld.java @@ -12,13 +12,13 @@ import javax.annotation.Nullable; import com.google.common.base.Suppliers; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; import com.simibubi.create.content.schematics.SchematicWorld; +import com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.mixin.accessor.ParticleEngineAccessor; import com.simibubi.create.foundation.ponder.element.WorldSectionElement; import com.simibubi.create.foundation.render.SuperRenderTypeBuffer; -import com.simibubi.create.foundation.tileEntity.IMultiTileContainer; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.utility.RegisteredObjects; import com.simibubi.create.foundation.utility.worldWrappers.WrappedClientWorld; @@ -55,7 +55,7 @@ public class PonderWorld extends SchematicWorld { public PonderScene scene; protected Map originalBlocks; - protected Map originalTileEntities; + protected Map originalBlockEntities; protected Map blockBreakingProgressions; protected List originalEntities; private Supplier asClientWorld = Suppliers.memoize(() -> WrappedClientWorld.of(this)); @@ -69,7 +69,7 @@ public class PonderWorld extends SchematicWorld { public PonderWorld(BlockPos anchor, Level original) { super(anchor, original); originalBlocks = new HashMap<>(); - originalTileEntities = new HashMap<>(); + originalBlockEntities = new HashMap<>(); blockBreakingProgressions = new HashMap<>(); originalEntities = new ArrayList<>(); particles = new PonderWorldParticles(this); @@ -78,9 +78,9 @@ public class PonderWorld extends SchematicWorld { public void createBackup() { originalBlocks.clear(); - originalTileEntities.clear(); + originalBlockEntities.clear(); blocks.forEach((k, v) -> originalBlocks.put(k, v)); - tileEntities.forEach((k, v) -> originalTileEntities.put(k, v.saveWithFullMetadata())); + blockEntities.forEach((k, v) -> originalBlockEntities.put(k, v.saveWithFullMetadata())); entities.forEach(e -> EntityType.create(e.serializeNBT(), this) .ifPresent(originalEntities::add)); } @@ -88,30 +88,30 @@ public class PonderWorld extends SchematicWorld { public void restore() { entities.clear(); blocks.clear(); - tileEntities.clear(); + blockEntities.clear(); blockBreakingProgressions.clear(); - renderedTileEntities.clear(); + renderedBlockEntities.clear(); originalBlocks.forEach((k, v) -> blocks.put(k, v)); - originalTileEntities.forEach((k, v) -> { - BlockEntity te = BlockEntity.loadStatic(k, originalBlocks.get(k), v); - onTEadded(te, te.getBlockPos()); - tileEntities.put(k, te); - renderedTileEntities.add(te); + originalBlockEntities.forEach((k, v) -> { + BlockEntity blockEntity = BlockEntity.loadStatic(k, originalBlocks.get(k), v); + onBEadded(blockEntity, blockEntity.getBlockPos()); + blockEntities.put(k, blockEntity); + renderedBlockEntities.add(blockEntity); }); originalEntities.forEach(e -> EntityType.create(e.serializeNBT(), this) .ifPresent(entities::add)); particles.clearEffects(); - fixControllerTileEntities(); + fixControllerBlockEntities(); } public void restoreBlocks(Selection selection) { selection.forEach(p -> { if (originalBlocks.containsKey(p)) blocks.put(p, originalBlocks.get(p)); - if (originalTileEntities.containsKey(p)) { - BlockEntity te = BlockEntity.loadStatic(p, originalBlocks.get(p), originalTileEntities.get(p)); - onTEadded(te, te.getBlockPos()); - tileEntities.put(p, te); + if (originalBlockEntities.containsKey(p)) { + BlockEntity blockEntity = BlockEntity.loadStatic(p, originalBlocks.get(p), originalBlockEntities.get(p)); + onBEadded(blockEntity, blockEntity.getBlockPos()); + blockEntities.put(p, blockEntity); } }); redraw(); @@ -244,43 +244,43 @@ public class PonderWorld extends SchematicWorld { } @Override - protected void onTEadded(BlockEntity tileEntity, BlockPos pos) { - super.onTEadded(tileEntity, pos); - if (!(tileEntity instanceof SmartTileEntity)) + protected void onBEadded(BlockEntity blockEntity, BlockPos pos) { + super.onBEadded(blockEntity, pos); + if (!(blockEntity instanceof SmartBlockEntity)) return; - SmartTileEntity smartTileEntity = (SmartTileEntity) tileEntity; - smartTileEntity.markVirtual(); + SmartBlockEntity smartBlockEntity = (SmartBlockEntity) blockEntity; + smartBlockEntity.markVirtual(); } - public void fixControllerTileEntities() { - for (BlockEntity tileEntity : tileEntities.values()) { + public void fixControllerBlockEntities() { + for (BlockEntity blockEntity : blockEntities.values()) { - if (tileEntity instanceof BeltTileEntity) { - BeltTileEntity beltTileEntity = (BeltTileEntity) tileEntity; - if (!beltTileEntity.isController()) + if (blockEntity instanceof BeltBlockEntity) { + BeltBlockEntity beltBlockEntity = (BeltBlockEntity) blockEntity; + if (!beltBlockEntity.isController()) continue; - BlockPos controllerPos = tileEntity.getBlockPos(); + BlockPos controllerPos = blockEntity.getBlockPos(); for (BlockPos blockPos : BeltBlock.getBeltChain(this, controllerPos)) { - BlockEntity tileEntity2 = getBlockEntity(blockPos); - if (!(tileEntity2 instanceof BeltTileEntity)) + BlockEntity blockEntity2 = getBlockEntity(blockPos); + if (!(blockEntity2 instanceof BeltBlockEntity)) continue; - BeltTileEntity belt2 = (BeltTileEntity) tileEntity2; + BeltBlockEntity belt2 = (BeltBlockEntity) blockEntity2; belt2.setController(controllerPos); } } - if (tileEntity instanceof IMultiTileContainer) { - IMultiTileContainer multiTile = (IMultiTileContainer) tileEntity; - BlockPos lastKnown = multiTile.getLastKnownPos(); - BlockPos current = tileEntity.getBlockPos(); + if (blockEntity instanceof IMultiBlockEntityContainer) { + IMultiBlockEntityContainer multiBlockEntity = (IMultiBlockEntityContainer) blockEntity; + BlockPos lastKnown = multiBlockEntity.getLastKnownPos(); + BlockPos current = blockEntity.getBlockPos(); if (lastKnown == null || current == null) continue; - if (multiTile.isController()) + if (multiBlockEntity.isController()) continue; if (!lastKnown.equals(current)) { - BlockPos newControllerPos = multiTile.getController() + BlockPos newControllerPos = multiBlockEntity.getController() .offset(current.subtract(lastKnown)); - multiTile.setController(newControllerPos); + multiBlockEntity.setController(newControllerPos); } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java b/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java index 890d8a2cd..a48cd5a18 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java @@ -10,23 +10,27 @@ import java.util.function.UnaryOperator; import com.mojang.math.Vector3f; import com.simibubi.create.content.contraptions.base.IRotate.SpeedLevel; import com.simibubi.create.content.contraptions.base.KineticBlock; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.content.contraptions.components.crafter.ConnectedInputHandler; -import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity; +import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueItem; import com.simibubi.create.content.contraptions.components.structureMovement.interaction.controls.ControlsBlock; -import com.simibubi.create.content.contraptions.fluids.PumpTileEntity; +import com.simibubi.create.content.contraptions.fluids.PumpBlockEntity; import com.simibubi.create.content.contraptions.particle.RotationIndicatorParticleData; -import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerTileEntity; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; -import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeTileEntity; -import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity; -import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity; -import com.simibubi.create.content.logistics.block.mechanicalArm.ArmTileEntity; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity.SignalState; -import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationTileEntity; +import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlockEntity; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; +import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeBlockEntity; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlockEntity; +import com.simibubi.create.content.logistics.block.funnel.FunnelBlockEntity; +import com.simibubi.create.content.logistics.block.mechanicalArm.ArmBlockEntity; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayBlockEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlockEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlockEntity.SignalState; +import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationBlockEntity; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.ponder.element.AnimatedSceneElement; import com.simibubi.create.foundation.ponder.element.BeltItemElement; import com.simibubi.create.foundation.ponder.element.EntityElement; @@ -38,10 +42,11 @@ import com.simibubi.create.foundation.ponder.element.ParrotElement.ParrotPose; import com.simibubi.create.foundation.ponder.element.ParrotElement.SpinOnComponentPose; import com.simibubi.create.foundation.ponder.element.TextWindowElement; import com.simibubi.create.foundation.ponder.element.WorldSectionElement; +import com.simibubi.create.foundation.ponder.instruction.AnimateBlockEntityInstruction; import com.simibubi.create.foundation.ponder.instruction.AnimateMinecartInstruction; import com.simibubi.create.foundation.ponder.instruction.AnimateParrotInstruction; -import com.simibubi.create.foundation.ponder.instruction.AnimateTileEntityInstruction; import com.simibubi.create.foundation.ponder.instruction.AnimateWorldSectionInstruction; +import com.simibubi.create.foundation.ponder.instruction.BlockEntityDataInstruction; import com.simibubi.create.foundation.ponder.instruction.ChaseAABBInstruction; import com.simibubi.create.foundation.ponder.instruction.CreateMinecartInstruction; import com.simibubi.create.foundation.ponder.instruction.CreateParrotInstruction; @@ -61,11 +66,6 @@ import com.simibubi.create.foundation.ponder.instruction.ReplaceBlocksInstructio import com.simibubi.create.foundation.ponder.instruction.RotateSceneInstruction; import com.simibubi.create.foundation.ponder.instruction.ShowInputInstruction; import com.simibubi.create.foundation.ponder.instruction.TextInstruction; -import com.simibubi.create.foundation.ponder.instruction.TileEntityDataInstruction; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.Color; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.VecHelper; @@ -293,19 +293,19 @@ public class SceneBuilder { addInstruction(scene -> { BlockState blockState = scene.getWorld() .getBlockState(pos); - BlockEntity tileEntity = scene.getWorld() + BlockEntity blockEntity = scene.getWorld() .getBlockEntity(pos); if (!(blockState.getBlock() instanceof KineticBlock)) return; - if (!(tileEntity instanceof KineticTileEntity)) + if (!(blockEntity instanceof KineticBlockEntity)) return; - KineticTileEntity kte = (KineticTileEntity) tileEntity; + KineticBlockEntity kbe = (KineticBlockEntity) blockEntity; KineticBlock kb = (KineticBlock) blockState.getBlock(); Axis rotationAxis = kb.getRotationAxis(blockState); - float speed = kte.getTheoreticalSpeed(); + float speed = kbe.getTheoreticalSpeed(); SpeedLevel speedLevel = SpeedLevel.of(speed); int color = direction ? speed > 0 ? 0xeb5e0b : 0x1687a7 : speedLevel.getColor(); int particleSpeed = speedLevel.getParticleSpeed(); @@ -588,19 +588,19 @@ public class SceneBuilder { } public void rotateBearing(BlockPos pos, float angle, int duration) { - addInstruction(AnimateTileEntityInstruction.bearing(pos, angle, duration)); + addInstruction(AnimateBlockEntityInstruction.bearing(pos, angle, duration)); } public void movePulley(BlockPos pos, float distance, int duration) { - addInstruction(AnimateTileEntityInstruction.pulley(pos, distance, duration)); + addInstruction(AnimateBlockEntityInstruction.pulley(pos, distance, duration)); } public void animateBogey(BlockPos pos, float distance, int duration) { - addInstruction(AnimateTileEntityInstruction.bogey(pos, distance, duration + 1)); + addInstruction(AnimateBlockEntityInstruction.bogey(pos, distance, duration + 1)); } public void moveDeployer(BlockPos pos, float distance, int duration) { - addInstruction(AnimateTileEntityInstruction.deployer(pos, distance, duration)); + addInstruction(AnimateBlockEntityInstruction.deployer(pos, distance, duration)); } public void setBlocks(Selection selection, BlockState state, boolean spawnParticles) { @@ -688,11 +688,11 @@ public class SceneBuilder { public void createItemOnBeltLike(BlockPos location, Direction insertionSide, ItemStack stack) { addInstruction(scene -> { PonderWorld world = scene.getWorld(); - BlockEntity tileEntity = world.getBlockEntity(location); - if (!(tileEntity instanceof SmartTileEntity)) + BlockEntity blockEntity = world.getBlockEntity(location); + if (!(blockEntity instanceof SmartBlockEntity)) return; - SmartTileEntity beltTileEntity = (SmartTileEntity) tileEntity; - DirectBeltInputBehaviour behaviour = beltTileEntity.getBehaviour(DirectBeltInputBehaviour.TYPE); + SmartBlockEntity beltBlockEntity = (SmartBlockEntity) blockEntity; + DirectBeltInputBehaviour behaviour = beltBlockEntity.getBehaviour(DirectBeltInputBehaviour.TYPE); if (behaviour == null) return; behaviour.handleInsertion(stack, insertionSide.getOpposite(), false); @@ -705,20 +705,20 @@ public class SceneBuilder { ElementLink link = new ElementLink<>(BeltItemElement.class); addInstruction(scene -> { PonderWorld world = scene.getWorld(); - BlockEntity tileEntity = world.getBlockEntity(beltLocation); - if (!(tileEntity instanceof BeltTileEntity)) + BlockEntity blockEntity = world.getBlockEntity(beltLocation); + if (!(blockEntity instanceof BeltBlockEntity)) return; - BeltTileEntity beltTileEntity = (BeltTileEntity) tileEntity; - DirectBeltInputBehaviour behaviour = beltTileEntity.getBehaviour(DirectBeltInputBehaviour.TYPE); + BeltBlockEntity beltBlockEntity = (BeltBlockEntity) blockEntity; + DirectBeltInputBehaviour behaviour = beltBlockEntity.getBehaviour(DirectBeltInputBehaviour.TYPE); behaviour.handleInsertion(stack, insertionSide.getOpposite(), false); - BeltTileEntity controllerTE = beltTileEntity.getControllerTE(); - if (controllerTE != null) - controllerTE.tick(); + BeltBlockEntity controllerBE = beltBlockEntity.getControllerBE(); + if (controllerBE != null) + controllerBE.tick(); TransportedItemStackHandlerBehaviour transporter = - beltTileEntity.getBehaviour(TransportedItemStackHandlerBehaviour.TYPE); + beltBlockEntity.getBehaviour(TransportedItemStackHandlerBehaviour.TYPE); transporter.handleProcessingOnAllItems(tis -> { BeltItemElement tracker = new BeltItemElement(tis); scene.addElement(tracker); @@ -733,12 +733,12 @@ public class SceneBuilder { public void removeItemsFromBelt(BlockPos beltLocation) { addInstruction(scene -> { PonderWorld world = scene.getWorld(); - BlockEntity tileEntity = world.getBlockEntity(beltLocation); - if (!(tileEntity instanceof SmartTileEntity)) + BlockEntity blockEntity = world.getBlockEntity(beltLocation); + if (!(blockEntity instanceof SmartBlockEntity)) return; - SmartTileEntity beltTileEntity = (SmartTileEntity) tileEntity; + SmartBlockEntity beltBlockEntity = (SmartBlockEntity) blockEntity; TransportedItemStackHandlerBehaviour transporter = - beltTileEntity.getBehaviour(TransportedItemStackHandlerBehaviour.TYPE); + beltBlockEntity.getBehaviour(TransportedItemStackHandlerBehaviour.TYPE); if (transporter == null) return; transporter.handleCenteredProcessingOnAllItems(.52f, tis -> TransportedResult.removeItem()); @@ -770,50 +770,50 @@ public class SceneBuilder { } public void modifyKineticSpeed(Selection selection, UnaryOperator speedFunc) { - modifyTileNBT(selection, SpeedGaugeTileEntity.class, nbt -> { + modifyBlockEntityNBT(selection, SpeedGaugeBlockEntity.class, nbt -> { float newSpeed = speedFunc.apply(nbt.getFloat("Speed")); - nbt.putFloat("Value", SpeedGaugeTileEntity.getDialTarget(newSpeed)); + nbt.putFloat("Value", SpeedGaugeBlockEntity.getDialTarget(newSpeed)); }); - modifyTileNBT(selection, KineticTileEntity.class, nbt -> { + modifyBlockEntityNBT(selection, KineticBlockEntity.class, nbt -> { nbt.putFloat("Speed", speedFunc.apply(nbt.getFloat("Speed"))); }); } public void propagatePipeChange(BlockPos pos) { - modifyTileEntity(pos, PumpTileEntity.class, te -> te.onSpeedChanged(0)); + modifyBlockEntity(pos, PumpBlockEntity.class, be -> be.onSpeedChanged(0)); } public void setFilterData(Selection selection, Class teType, ItemStack filter) { - modifyTileNBT(selection, teType, nbt -> { + modifyBlockEntityNBT(selection, teType, nbt -> { nbt.put("Filter", filter.serializeNBT()); }); } - public void modifyTileNBT(Selection selection, Class teType, + public void modifyBlockEntityNBT(Selection selection, Class beType, Consumer consumer) { - modifyTileNBT(selection, teType, consumer, false); + modifyBlockEntityNBT(selection, beType, consumer, false); } - public void modifyTileEntity(BlockPos position, Class teType, Consumer consumer) { + public void modifyBlockEntity(BlockPos position, Class beType, Consumer consumer) { addInstruction(scene -> { - BlockEntity tileEntity = scene.getWorld() + BlockEntity blockEntity = scene.getWorld() .getBlockEntity(position); - if (teType.isInstance(tileEntity)) - consumer.accept(teType.cast(tileEntity)); + if (beType.isInstance(blockEntity)) + consumer.accept(beType.cast(blockEntity)); }); } - public void modifyTileNBT(Selection selection, Class teType, + public void modifyBlockEntityNBT(Selection selection, Class teType, Consumer consumer, boolean reDrawBlocks) { - addInstruction(new TileEntityDataInstruction(selection, teType, nbt -> { + addInstruction(new BlockEntityDataInstruction(selection, teType, nbt -> { consumer.accept(nbt); return nbt; }, reDrawBlocks)); } - public void instructArm(BlockPos armLocation, ArmTileEntity.Phase phase, ItemStack heldItem, + public void instructArm(BlockPos armLocation, ArmBlockEntity.Phase phase, ItemStack heldItem, int targetedPoint) { - modifyTileNBT(scene.getSceneBuildingUtil().select.position(armLocation), ArmTileEntity.class, compound -> { + modifyBlockEntityNBT(scene.getSceneBuildingUtil().select.position(armLocation), ArmBlockEntity.class, compound -> { NBTHelper.writeEnum(compound, "Phase", phase); compound.put("HeldItem", heldItem.serializeNBT()); compound.putInt("TargetPointIndex", targetedPoint); @@ -822,11 +822,11 @@ public class SceneBuilder { } public void flapFunnel(BlockPos position, boolean outward) { - modifyTileEntity(position, FunnelTileEntity.class, funnel -> funnel.flap(!outward)); + modifyBlockEntity(position, FunnelBlockEntity.class, funnel -> funnel.flap(!outward)); } public void setCraftingResult(BlockPos crafter, ItemStack output) { - modifyTileEntity(crafter, MechanicalCrafterTileEntity.class, mct -> mct.setScriptedResult(output)); + modifyBlockEntity(crafter, MechanicalCrafterBlockEntity.class, mct -> mct.setScriptedResult(output)); } public void connectCrafterInvs(BlockPos position1, BlockPos position2) { @@ -841,31 +841,31 @@ public class SceneBuilder { } public void animateTrainStation(BlockPos position, boolean trainPresent) { - modifyTileNBT(scene.getSceneBuildingUtil().select.position(position), StationTileEntity.class, + modifyBlockEntityNBT(scene.getSceneBuildingUtil().select.position(position), StationBlockEntity.class, c -> c.putBoolean("ForceFlag", trainPresent)); } public void conductorBlaze(BlockPos position, boolean conductor) { - modifyTileNBT(scene.getSceneBuildingUtil().select.position(position), BlazeBurnerTileEntity.class, + modifyBlockEntityNBT(scene.getSceneBuildingUtil().select.position(position), BlazeBurnerBlockEntity.class, c -> c.putBoolean("TrainHat", conductor)); } public void changeSignalState(BlockPos position, SignalState state) { - modifyTileNBT(scene.getSceneBuildingUtil().select.position(position), SignalTileEntity.class, + modifyBlockEntityNBT(scene.getSceneBuildingUtil().select.position(position), SignalBlockEntity.class, c -> NBTHelper.writeEnum(c, "State", state)); } public void setDisplayBoardText(BlockPos position, int line, Component text) { - modifyTileEntity(position, FlapDisplayTileEntity.class, + modifyBlockEntity(position, FlapDisplayBlockEntity.class, t -> t.applyTextManually(line, Component.Serializer.toJson(text))); } public void dyeDisplayBoard(BlockPos position, int line, DyeColor color) { - modifyTileEntity(position, FlapDisplayTileEntity.class, t -> t.setColour(line, color)); + modifyBlockEntity(position, FlapDisplayBlockEntity.class, t -> t.setColour(line, color)); } public void flashDisplayLink(BlockPos position) { - modifyTileEntity(position, DisplayLinkTileEntity.class, linkTile -> linkTile.glow.setValue(2)); + modifyBlockEntity(position, DisplayLinkBlockEntity.class, linkBlockEntity -> linkBlockEntity.glow.setValue(2)); } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/ArmScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/ArmScenes.java index ee25578c2..da53ce913 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/ArmScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/ArmScenes.java @@ -2,9 +2,9 @@ package com.simibubi.create.foundation.ponder.content; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity; -import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity; -import com.simibubi.create.content.logistics.block.mechanicalArm.ArmTileEntity.Phase; +import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterBlockEntity; +import com.simibubi.create.content.logistics.block.funnel.FunnelBlockEntity; +import com.simibubi.create.content.logistics.block.mechanicalArm.ArmBlockEntity.Phase; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -322,7 +322,7 @@ public class ArmScenes { .showControls(new InputWindowElement(filterSlot.add(2 - x, -y, 0), Pointing.LEFT).rightClick() .withItem(item), 5); scene.idle(7); - scene.world.setFilterData(util.select.position(5 - x, 3 - y, 2), FunnelTileEntity.class, item); + scene.world.setFilterData(util.select.position(5 - x, 3 - y, 2), FunnelBlockEntity.class, item); scene.idle(4); } } @@ -352,7 +352,7 @@ public class ArmScenes { BlockPos funnelPos = util.grid.at(5 - index % 3, 1 + index / 3, 2); scene.world.flapFunnel(funnelPos, false); scene.world.instructArm(armPos, Phase.SEARCH_INPUTS, i == 3 ? ItemStack.EMPTY : sand, -1); - scene.world.modifyTileEntity(funnelPos.north(), MechanicalCrafterTileEntity.class, mct -> mct.getInventory() + scene.world.modifyBlockEntity(funnelPos.north(), MechanicalCrafterBlockEntity.class, mct -> mct.getInventory() .insertItem(0, sand.copy(), false)); scene.idle(10); } @@ -372,7 +372,7 @@ public class ArmScenes { BlockPos funnelPos = util.grid.at(3 + index % 3, 1 + index / 3, 2); scene.world.flapFunnel(funnelPos, false); scene.world.instructArm(armPos, Phase.SEARCH_INPUTS, i == 4 ? ItemStack.EMPTY : sulphur, -1); - scene.world.modifyTileEntity(funnelPos.north(), MechanicalCrafterTileEntity.class, mct -> mct.getInventory() + scene.world.modifyBlockEntity(funnelPos.north(), MechanicalCrafterBlockEntity.class, mct -> mct.getInventory() .insertItem(0, sulphur.copy(), false)); scene.idle(10); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/BearingScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/BearingScenes.java index a15bcc77c..317cc8b39 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/BearingScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/BearingScenes.java @@ -2,7 +2,7 @@ package com.simibubi.create.foundation.ponder.content; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; -import com.simibubi.create.content.contraptions.components.actors.HarvesterTileEntity; +import com.simibubi.create.content.contraptions.components.actors.HarvesterBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.SailBlock; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity; import com.simibubi.create.foundation.ponder.ElementLink; @@ -226,10 +226,10 @@ public class BearingScenes { scene.markAsFinished(); scene.world.rotateBearing(bearingPos, -720, 400); scene.world.rotateSection(contraption, 0, -720, 0, 400); - scene.world.modifyTileEntity(util.grid.at(2, 1, 5), HarvesterTileEntity.class, + scene.world.modifyBlockEntity(util.grid.at(2, 1, 5), HarvesterBlockEntity.class, hte -> hte.setAnimatedSpeed(-150)); scene.idle(400); - scene.world.modifyTileEntity(util.grid.at(2, 1, 5), HarvesterTileEntity.class, hte -> hte.setAnimatedSpeed(0)); + scene.world.modifyBlockEntity(util.grid.at(2, 1, 5), HarvesterBlockEntity.class, hte -> hte.setAnimatedSpeed(0)); } public static void mechanicalBearing(SceneBuilder scene, SceneBuildingUtil util) { diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/BeltScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/BeltScenes.java index 9739f37ca..8e464433b 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/BeltScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/BeltScenes.java @@ -6,14 +6,14 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; -import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity; +import com.simibubi.create.content.contraptions.components.press.MechanicalPressBlockEntity; import com.simibubi.create.content.contraptions.components.press.PressingBehaviour.Mode; -import com.simibubi.create.content.contraptions.fluids.actors.SpoutTileEntity; +import com.simibubi.create.content.contraptions.fluids.actors.SpoutBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltPart; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; -import com.simibubi.create.content.logistics.block.mechanicalArm.ArmTileEntity.Phase; +import com.simibubi.create.content.logistics.block.mechanicalArm.ArmBlockEntity.Phase; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -160,7 +160,7 @@ public class BeltScenes { .showControls(new InputWindowElement(util.vector.topOf(shaftLocation.east()), Pointing.DOWN).rightClick() .withItem(new ItemStack(Items.BLUE_DYE)), 50); scene.idle(7); - scene.world.modifyTileNBT(util.select.fromTo(0, 1, 2, 4, 1, 2), BeltTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.fromTo(0, 1, 2, 4, 1, 2), BeltBlockEntity.class, nbt -> NBTHelper.writeEnum(nbt, "Dye", DyeColor.BLUE)); scene.idle(20); scene.overlay.showText(80) @@ -422,8 +422,8 @@ public class BeltScenes { .withItem(andesiteCasingItem), 20); scene.idle(7); scene.world.modifyBlock(beltPos2, s -> s.setValue(BeltBlock.CASING, true), true); - scene.world.modifyTileNBT(util.select.position(beltPos2), BeltTileEntity.class, nbt -> { - NBTHelper.writeEnum(nbt, "Casing", BeltTileEntity.CasingType.ANDESITE); + scene.world.modifyBlockEntityNBT(util.select.position(beltPos2), BeltBlockEntity.class, nbt -> { + NBTHelper.writeEnum(nbt, "Casing", BeltBlockEntity.CasingType.ANDESITE); }); scene.idle(20); @@ -459,8 +459,8 @@ public class BeltScenes { for (BlockPos pos : andesiteBelts) { scene.idle(4); scene.world.modifyBlock(pos, s -> s.setValue(BeltBlock.CASING, true), true); - scene.world.modifyTileNBT(util.select.position(pos), BeltTileEntity.class, nbt -> { - NBTHelper.writeEnum(nbt, "Casing", BeltTileEntity.CasingType.ANDESITE); + scene.world.modifyBlockEntityNBT(util.select.position(pos), BeltBlockEntity.class, nbt -> { + NBTHelper.writeEnum(nbt, "Casing", BeltBlockEntity.CasingType.ANDESITE); }); } for (BlockPos pos : brassBelts) { @@ -525,12 +525,12 @@ public class BeltScenes { ItemStack bottle = new ItemStack(Items.BUCKET); scene.world.createItemOnBeltLike(depotPos, Direction.NORTH, bottle); scene.idle(20); - scene.world.modifyTileNBT(util.select.position(depotPos.above(2)), SpoutTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(depotPos.above(2)), SpoutBlockEntity.class, nbt -> nbt.putInt("ProcessingTicks", 20)); scene.idle(20); scene.world.removeItemsFromBelt(depotPos); scene.world.createItemOnBeltLike(depotPos, Direction.UP, new ItemStack(Items.WATER_BUCKET)); - scene.world.modifyTileNBT(util.select.position(depotPos.above(2)), SpoutTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(depotPos.above(2)), SpoutBlockEntity.class, nbt -> nbt.putBoolean("Splash", true)); scene.idle(30); scene.world.removeItemsFromBelt(depotPos); @@ -548,11 +548,11 @@ public class BeltScenes { Vec3 depotCenter = util.vector.centerOf(depotPos); scene.idle(10); - Class type = MechanicalPressTileEntity.class; - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + Class type = MechanicalPressBlockEntity.class; + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .start(Mode.BELT)); scene.idle(15); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .makePressingParticleEffect(depotCenter.add(0, 8 / 16f, 0), copper)); scene.world.removeItemsFromBelt(depotPos); ItemStack sheet = AllItems.COPPER_SHEET.asStack(); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/ChainDriveScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/ChainDriveScenes.java index 73984829c..2fbab78ac 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/ChainDriveScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/ChainDriveScenes.java @@ -1,7 +1,7 @@ package com.simibubi.create.foundation.ponder.content; import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock; -import com.simibubi.create.content.logistics.block.redstone.AnalogLeverTileEntity; +import com.simibubi.create.content.logistics.block.redstone.AnalogLeverBlockEntity; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -236,7 +236,7 @@ public class ChainDriveScenes { scene.world.showSection(util.select.fromTo(analogPos, analogPos.south()), Direction.DOWN); scene.idle(15); - scene.world.modifyTileNBT(util.select.position(analogPos), AnalogLeverTileEntity.class, nbt -> { + scene.world.modifyBlockEntityNBT(util.select.position(analogPos), AnalogLeverBlockEntity.class, nbt -> { nbt.putInt("State", 8); }); scene.world.modifyBlock(analogPos.south(), s -> s.setValue(RedStoneWireBlock.POWER, 8), false); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/ChuteScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/ChuteScenes.java index 61f607240..9e322de8a 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/ChuteScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/ChuteScenes.java @@ -6,7 +6,7 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.content.logistics.block.chute.ChuteBlock; import com.simibubi.create.content.logistics.block.chute.ChuteBlock.Shape; -import com.simibubi.create.content.logistics.block.chute.SmartChuteTileEntity; +import com.simibubi.create.content.logistics.block.chute.SmartChuteBlockEntity; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -219,7 +219,7 @@ public class ChuteScenes { scene.overlay.showControls(new InputWindowElement(filter, Pointing.DOWN).rightClick() .withItem(copper), 40); scene.idle(7); - scene.world.setFilterData(util.select.position(smarty), SmartChuteTileEntity.class, copper); + scene.world.setFilterData(util.select.position(smarty), SmartChuteBlockEntity.class, copper); scene.idle(10); scene.rotateCameraY(20); scene.overlay.showText(60) diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/CrafterScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/CrafterScenes.java index 7bfe68a54..52a48d434 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/CrafterScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/CrafterScenes.java @@ -5,7 +5,7 @@ import java.util.Collection; import com.google.common.collect.ImmutableList; import com.simibubi.create.AllItems; import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterBlock; -import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity; +import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterBlockEntity; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -149,8 +149,8 @@ public class CrafterScenes { .withItem(planks), 40); scene.idle(7); - Class type = MechanicalCrafterTileEntity.class; - scene.world.modifyTileEntity(util.grid.at(1, 3, 2), type, mct -> mct.getInventory() + Class type = MechanicalCrafterBlockEntity.class; + scene.world.modifyBlockEntity(util.grid.at(1, 3, 2), type, mct -> mct.getInventory() .insertItem(0, planks.copy(), false)); scene.idle(10); @@ -167,28 +167,28 @@ public class CrafterScenes { scene.world.setCraftingResult(util.grid.at(1, 1, 2), new ItemStack(Items.PISTON)); - scene.world.modifyTileEntity(util.grid.at(2, 3, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(2, 3, 2), type, mct -> mct.getInventory() .insertItem(0, planks.copy(), false)); scene.idle(5); - scene.world.modifyTileEntity(util.grid.at(3, 3, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(3, 3, 2), type, mct -> mct.getInventory() .insertItem(0, planks.copy(), false)); scene.idle(5); - scene.world.modifyTileEntity(util.grid.at(3, 2, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(3, 2, 2), type, mct -> mct.getInventory() .insertItem(0, cobble.copy(), false)); scene.idle(5); - scene.world.modifyTileEntity(util.grid.at(2, 2, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(2, 2, 2), type, mct -> mct.getInventory() .insertItem(0, iron.copy(), false)); scene.idle(5); - scene.world.modifyTileEntity(util.grid.at(1, 2, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(1, 2, 2), type, mct -> mct.getInventory() .insertItem(0, cobble.copy(), false)); scene.idle(5); - scene.world.modifyTileEntity(util.grid.at(1, 1, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(1, 1, 2), type, mct -> mct.getInventory() .insertItem(0, cobble.copy(), false)); scene.idle(5); - scene.world.modifyTileEntity(util.grid.at(2, 1, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(2, 1, 2), type, mct -> mct.getInventory() .insertItem(0, redstoneDust.copy(), false)); scene.idle(5); - scene.world.modifyTileEntity(util.grid.at(3, 1, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(3, 1, 2), type, mct -> mct.getInventory() .insertItem(0, cobble.copy(), false)); scene.overlay.showText(80) @@ -204,19 +204,19 @@ public class CrafterScenes { scene.world.setCraftingResult(util.grid.at(1, 1, 2), new ItemStack(Items.IRON_PICKAXE)); - scene.world.modifyTileEntity(util.grid.at(1, 3, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(1, 3, 2), type, mct -> mct.getInventory() .insertItem(0, iron.copy(), false)); scene.idle(2); - scene.world.modifyTileEntity(util.grid.at(2, 3, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(2, 3, 2), type, mct -> mct.getInventory() .insertItem(0, iron.copy(), false)); scene.idle(2); - scene.world.modifyTileEntity(util.grid.at(3, 3, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(3, 3, 2), type, mct -> mct.getInventory() .insertItem(0, iron.copy(), false)); scene.idle(2); - scene.world.modifyTileEntity(util.grid.at(2, 2, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(2, 2, 2), type, mct -> mct.getInventory() .insertItem(0, stick.copy(), false)); scene.idle(2); - scene.world.modifyTileEntity(util.grid.at(2, 1, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(2, 1, 2), type, mct -> mct.getInventory() .insertItem(0, stick.copy(), false)); scene.world.showSection(redstone, Direction.SOUTH); scene.idle(10); @@ -246,7 +246,7 @@ public class CrafterScenes { } } - Class type = MechanicalCrafterTileEntity.class; + Class type = MechanicalCrafterBlockEntity.class; BlockPos depotPos = util.grid.at(0, 1, 2); Selection funnel = util.select.fromTo(4, 1, 5, 4, 1, 2) .add(util.select.fromTo(3, 2, 2, 3, 1, 2)); @@ -264,7 +264,7 @@ public class CrafterScenes { scene.world.createItemOnBelt(util.grid.at(4, 1, 2), Direction.EAST, planks.copy()); scene.idle(22); - scene.world.modifyTileEntity(util.grid.at(2, 2, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(2, 2, 2), type, mct -> mct.getInventory() .insertItem(0, planks.copy(), false)); scene.world.removeItemsFromBelt(util.grid.at(3, 1, 2)); scene.world.flapFunnel(util.grid.at(3, 2, 2), false); @@ -336,7 +336,7 @@ public class CrafterScenes { scene.world.setCraftingResult(util.grid.at(1, 1, 2), new ItemStack(Items.OAK_DOOR, 3)); for (BlockPos pos : positions) { - scene.world.modifyTileEntity(pos, type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(pos, type, mct -> mct.getInventory() .insertItem(0, planks.copy(), false)); scene.idle(1); } @@ -362,14 +362,14 @@ public class CrafterScenes { ItemStack iron = new ItemStack(Items.IRON_INGOT); - Class type = MechanicalCrafterTileEntity.class; - scene.world.modifyTileEntity(util.grid.at(3, 2, 2), type, mct -> mct.getInventory() + Class type = MechanicalCrafterBlockEntity.class; + scene.world.modifyBlockEntity(util.grid.at(3, 2, 2), type, mct -> mct.getInventory() .insertItem(0, iron.copy(), false)); scene.idle(5); - scene.world.modifyTileEntity(util.grid.at(2, 1, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(2, 1, 2), type, mct -> mct.getInventory() .insertItem(0, iron.copy(), false)); scene.idle(5); - scene.world.modifyTileEntity(util.grid.at(1, 2, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(1, 2, 2), type, mct -> mct.getInventory() .insertItem(0, iron.copy(), false)); scene.idle(5); @@ -406,7 +406,7 @@ public class CrafterScenes { .rightClick(), 50); scene.idle(7); - scene.world.modifyTileNBT(emptyCrafter, type, compound -> compound.putBoolean("Cover", true)); + scene.world.modifyBlockEntityNBT(emptyCrafter, type, compound -> compound.putBoolean("Cover", true)); scene.idle(130); scene.overlay.showControls( @@ -435,17 +435,17 @@ public class CrafterScenes { scene.world.createItemEntity(util.vector.centerOf(4, 4, 2), util.vector.of(0, 0.2, 0), iron); scene.idle(17); scene.world.modifyEntity(ingot, Entity::discard); - scene.world.modifyTileEntity(util.grid.at(3, 2, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(3, 2, 2), type, mct -> mct.getInventory() .insertItem(0, iron.copy(), false)); ingot = scene.world.createItemEntity(util.vector.centerOf(4, 4, 2), util.vector.of(0, 0.2, 0), iron); scene.idle(17); scene.world.modifyEntity(ingot, Entity::discard); - scene.world.modifyTileEntity(util.grid.at(2, 1, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(2, 1, 2), type, mct -> mct.getInventory() .insertItem(0, iron.copy(), false)); ingot = scene.world.createItemEntity(util.vector.centerOf(4, 4, 2), util.vector.of(0, 0.2, 0), iron); scene.idle(17); scene.world.modifyEntity(ingot, Entity::discard); - scene.world.modifyTileEntity(util.grid.at(1, 2, 2), type, mct -> mct.getInventory() + scene.world.modifyBlockEntity(util.grid.at(1, 2, 2), type, mct -> mct.getInventory() .insertItem(0, iron.copy(), false)); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/DeployerScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/DeployerScenes.java index 82205e5b7..68924fd08 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/DeployerScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/DeployerScenes.java @@ -1,7 +1,7 @@ package com.simibubi.create.foundation.ponder.content; import com.simibubi.create.AllItems; -import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity; +import com.simibubi.create.content.contraptions.components.deployer.DeployerBlockEntity; import com.simibubi.create.content.curiosities.tools.SandPaperItem; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; @@ -109,8 +109,8 @@ public class DeployerScenes { scene.overlay.showControls(new InputWindowElement(frontVec, Pointing.DOWN).rightClick() .withItem(pot), 40); scene.idle(7); - Class teType = DeployerTileEntity.class; - scene.world.modifyTileNBT(deployerSelection, teType, nbt -> nbt.put("HeldItem", pot.serializeNBT())); + Class teType = DeployerBlockEntity.class; + scene.world.modifyBlockEntityNBT(deployerSelection, teType, nbt -> nbt.put("HeldItem", pot.serializeNBT())); scene.idle(10); scene.overlay.showText(40) @@ -122,7 +122,7 @@ public class DeployerScenes { scene.world.moveDeployer(deployerPos, 1, 25); scene.idle(26); scene.world.restoreBlocks(util.select.position(potPosition)); - scene.world.modifyTileNBT(deployerSelection, teType, + scene.world.modifyBlockEntityNBT(deployerSelection, teType, nbt -> nbt.put("HeldItem", ItemStack.EMPTY.serializeNBT())); scene.world.moveDeployer(deployerPos, -1, 25); scene.idle(20); @@ -136,7 +136,7 @@ public class DeployerScenes { scene.world.createItemEntity(entitySpawn, util.vector.of(0, 0.2, 0), tulip); scene.idle(17); scene.world.modifyEntity(entity1, Entity::discard); - scene.world.modifyTileNBT(deployerSelection, teType, nbt -> nbt.put("HeldItem", tulip.serializeNBT())); + scene.world.modifyBlockEntityNBT(deployerSelection, teType, nbt -> nbt.put("HeldItem", tulip.serializeNBT())); scene.idle(10); scene.overlay.showText(40) .placeNearTarget() @@ -146,7 +146,7 @@ public class DeployerScenes { scene.world.moveDeployer(deployerPos, 1, 25); scene.idle(26); scene.world.setBlock(potPosition, Blocks.POTTED_RED_TULIP.defaultBlockState(), false); - scene.world.modifyTileNBT(deployerSelection, teType, + scene.world.modifyBlockEntityNBT(deployerSelection, teType, nbt -> nbt.put("HeldItem", ItemStack.EMPTY.serializeNBT())); scene.world.moveDeployer(deployerPos, -1, 25); scene.idle(25); @@ -195,7 +195,7 @@ public class DeployerScenes { entity1 = scene.world.createItemEntity(entitySpawn, util.vector.of(0, 0.2, 0), shears); scene.idle(17); scene.world.modifyEntity(entity1, Entity::discard); - scene.world.modifyTileNBT(deployerSelection, teType, nbt -> nbt.put("HeldItem", shears.serializeNBT())); + scene.world.modifyBlockEntityNBT(deployerSelection, teType, nbt -> nbt.put("HeldItem", shears.serializeNBT())); scene.idle(10); scene.overlay.showText(60) @@ -257,7 +257,7 @@ public class DeployerScenes { scene.overlay.showControls(new InputWindowElement(util.vector.topOf(deployerPos), Pointing.DOWN).withItem(tool), 30); scene.idle(7); - scene.world.modifyTileNBT(deployerSelection, DeployerTileEntity.class, + scene.world.modifyBlockEntityNBT(deployerSelection, DeployerBlockEntity.class, nbt -> nbt.put("HeldItem", tool.serializeNBT())); scene.idle(45); @@ -279,7 +279,7 @@ public class DeployerScenes { scene.overlay.showControls(new InputWindowElement(frontVec, Pointing.LEFT).rightClick() .withWrench(), 40); scene.idle(7); - scene.world.modifyTileNBT(deployerSelection, DeployerTileEntity.class, nbt -> nbt.putString("Mode", "PUNCH")); + scene.world.modifyBlockEntityNBT(deployerSelection, DeployerBlockEntity.class, nbt -> nbt.putString("Mode", "PUNCH")); scene.idle(45); scene.overlay.showText(60) @@ -338,7 +338,7 @@ public class DeployerScenes { scene.overlay.showControls(new InputWindowElement(util.vector.blockSurface(pressPos.below(), Direction.EAST) .add(0, 0.15, 0), Pointing.RIGHT).withItem(tool), 30); scene.idle(7); - scene.world.modifyTileNBT(pressS, DeployerTileEntity.class, nbt -> nbt.put("HeldItem", tool.serializeNBT())); + scene.world.modifyBlockEntityNBT(pressS, DeployerBlockEntity.class, nbt -> nbt.put("HeldItem", tool.serializeNBT())); scene.idle(25); Vec3 pressSide = util.vector.blockSurface(pressPos, Direction.WEST); @@ -560,7 +560,7 @@ public class DeployerScenes { ItemStack poppy = new ItemStack(Items.POPPY); scene.overlay.showControls(new InputWindowElement(filterSlot, Pointing.DOWN).withItem(poppy), 30); scene.idle(7); - scene.world.setFilterData(deployerSelection, DeployerTileEntity.class, poppy); + scene.world.setFilterData(deployerSelection, DeployerBlockEntity.class, poppy); scene.idle(25); scene.world.setKineticSpeed(util.select.position(4, 0, 6), 8); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/EjectorScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/EjectorScenes.java index 08a978e0c..6373bb419 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/EjectorScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/EjectorScenes.java @@ -1,7 +1,7 @@ package com.simibubi.create.foundation.ponder.content; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.logistics.block.depot.EjectorTileEntity; +import com.simibubi.create.content.logistics.block.depot.EjectorBlockEntity; import com.simibubi.create.foundation.gui.AllIcons; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; @@ -60,8 +60,8 @@ public class EjectorScenes { .withItem(asStack), 50); scene.idle(7); scene.world.setKineticSpeed(ejectorS, 0); - scene.world.modifyTileNBT(ejectorS, EjectorTileEntity.class, nbt -> { - NBTHelper.writeEnum(nbt, "State", EjectorTileEntity.State.RETRACTING); + scene.world.modifyBlockEntityNBT(ejectorS, EjectorBlockEntity.class, nbt -> { + NBTHelper.writeEnum(nbt, "State", EjectorBlockEntity.State.RETRACTING); nbt.putFloat("ForceAngle", 1); }); scene.world.showSection(ejectorS, Direction.DOWN); @@ -162,7 +162,7 @@ public class EjectorScenes { .text("Using the Wrench, a required Stack Size can be configured") .pointAt(topOfSlot) .placeNearTarget(); - scene.world.modifyTileNBT(ejectorS, EjectorTileEntity.class, nbt -> { + scene.world.modifyBlockEntityNBT(ejectorS, EjectorBlockEntity.class, nbt -> { nbt.putInt("ScrollValue", 10); }); scene.idle(90); @@ -194,7 +194,7 @@ public class EjectorScenes { ElementLink birb = scene.special.createBirb(util.vector.topOf(ejectorPos) .add(0, -3 / 16f, 0), ParrotElement.FlappyPose::new); scene.idle(15); - scene.world.modifyTileEntity(ejectorPos, EjectorTileEntity.class, ejector -> ejector.activateDeferred()); + scene.world.modifyBlockEntity(ejectorPos, EjectorBlockEntity.class, ejector -> ejector.activateDeferred()); scene.special.moveParrot(birb, util.vector.of(-2, 3, 0), 5); scene.special.rotateParrot(birb, 0, 360 * 2, 0, 21); scene.idle(5); @@ -265,7 +265,7 @@ public class EjectorScenes { .text("The Stack Size set on the Ejector now determines the amount to be split off") .pointAt(topOfSlot) .placeNearTarget(); - scene.world.modifyTileNBT(util.select.position(2, 1, 2), EjectorTileEntity.class, nbt -> { + scene.world.modifyBlockEntityNBT(util.select.position(2, 1, 2), EjectorBlockEntity.class, nbt -> { nbt.putInt("ScrollValue", 10); }); scene.idle(90); @@ -317,7 +317,7 @@ public class EjectorScenes { if (i == 1) { scene.world.toggleRedstonePower(redstone); scene.effects.indicateRedstone(util.grid.at(2, 1, 2)); - scene.world.modifyTileNBT(util.select.position(4, 1, 2), EjectorTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(4, 1, 2), EjectorBlockEntity.class, nbt -> nbt.putBoolean("Powered", true)); } } @@ -333,7 +333,7 @@ public class EjectorScenes { scene.world.toggleRedstonePower(redstone); scene.idle(2); - scene.world.modifyTileNBT(util.select.position(4, 1, 2), EjectorTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(4, 1, 2), EjectorBlockEntity.class, nbt -> nbt.putBoolean("Powered", false)); scene.idle(5); scene.world.hideSection(redstone, Direction.WEST); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/FanScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/FanScenes.java index fb01d35ad..9c0a90c7d 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/FanScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/FanScenes.java @@ -1,7 +1,7 @@ package com.simibubi.create.foundation.ponder.content; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; -import com.simibubi.create.content.logistics.block.depot.DepotTileEntity; +import com.simibubi.create.content.logistics.block.depot.DepotBlockEntity; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -238,7 +238,7 @@ public class FanScenes { .add(0, 0.25, 0); scene.effects.emitParticles(depotTop, Emitter.simple(ParticleTypes.SPIT, Vec3.ZERO), .5f, 30); scene.idle(30); - scene.world.modifyTileNBT(util.select.position(depos), DepotTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(depos), DepotBlockEntity.class, nbt -> nbt.put("HeldItem", new TransportedItemStack(clay).serializeNBT())); scene.effects.emitParticles(depotTop, Emitter.simple(ParticleTypes.SPIT, Vec3.ZERO), .5f, 30); scene.overlay.showText(90) diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/FunnelScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/FunnelScenes.java index 554883d2f..2490018f6 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/FunnelScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/FunnelScenes.java @@ -4,7 +4,7 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; -import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity; +import com.simibubi.create.content.logistics.block.funnel.FunnelBlockEntity; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -449,7 +449,7 @@ public class FunnelScenes { .attachKeyFrame() .pointAt(filterSlot.getCenter()) .placeNearTarget(); - scene.world.setFilterData(util.select.position(brassFunnel), FunnelTileEntity.class, emerald); + scene.world.setFilterData(util.select.position(brassFunnel), FunnelBlockEntity.class, emerald); } else scene.idle(10); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/KineticsScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/KineticsScenes.java index 71cac5317..46eb1ddde 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/KineticsScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/KineticsScenes.java @@ -11,8 +11,8 @@ import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.content.contraptions.relays.encased.EncasedCogwheelBlock; import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock; import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock; -import com.simibubi.create.content.contraptions.relays.gauge.StressGaugeTileEntity; -import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity; +import com.simibubi.create.content.contraptions.relays.gauge.StressGaugeBlockEntity; +import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlockEntity; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -935,7 +935,7 @@ public class KineticsScenes { scene.world.moveSection(comparator, util.vector.of(-2, 0, 0), 0); scene.world.toggleRedstonePower(util.select.position(5, 1, 1)); scene.world.cycleBlockProperty(wire, RedStoneWireBlock.POWER); - scene.world.modifyTileNBT(nixie, NixieTubeTileEntity.class, nbt -> nbt.putInt("RedstoneStrength", 1)); + scene.world.modifyBlockEntityNBT(nixie, NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 1)); scene.idle(5); @@ -945,13 +945,13 @@ public class KineticsScenes { scene.world.rotateSection(contraption, -180, 0, 0, 40); scene.effects.rotationDirectionIndicator(gearshiftPos.west()); scene.world.cycleBlockProperty(wire, RedStoneWireBlock.POWER); - scene.world.modifyTileNBT(nixie, NixieTubeTileEntity.class, nbt -> nbt.putInt("RedstoneStrength", 2)); + scene.world.modifyBlockEntityNBT(nixie, NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 2)); scene.idle(40); scene.world.cycleBlockProperty(gearshiftPos, SequencedGearshiftBlock.STATE); scene.world.setKineticSpeed(outputKinetics, 0); scene.world.cycleBlockProperty(wire, RedStoneWireBlock.POWER); - scene.world.modifyTileNBT(nixie, NixieTubeTileEntity.class, nbt -> nbt.putInt("RedstoneStrength", 3)); + scene.world.modifyBlockEntityNBT(nixie, NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 3)); scene.idle(20); scene.world.cycleBlockProperty(gearshiftPos, SequencedGearshiftBlock.STATE); @@ -960,14 +960,14 @@ public class KineticsScenes { scene.world.rotateSection(contraption, 90, 0, 0, 40); scene.effects.rotationDirectionIndicator(gearshiftPos.west()); scene.world.cycleBlockProperty(wire, RedStoneWireBlock.POWER); - scene.world.modifyTileNBT(nixie, NixieTubeTileEntity.class, nbt -> nbt.putInt("RedstoneStrength", 4)); + scene.world.modifyBlockEntityNBT(nixie, NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 4)); scene.idle(40); scene.world.cycleBlockProperty(gearshiftPos, SequencedGearshiftBlock.STATE); scene.world.cycleBlockProperty(gearshiftPos, SequencedGearshiftBlock.STATE); scene.world.modifyBlock(wire, s -> s.setValue(RedStoneWireBlock.POWER, 0), false); scene.world.toggleRedstonePower(util.select.position(5, 1, 1)); - scene.world.modifyTileNBT(nixie, NixieTubeTileEntity.class, nbt -> nbt.putInt("RedstoneStrength", 0)); + scene.world.modifyBlockEntityNBT(nixie, NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 0)); scene.world.setKineticSpeed(outputKinetics, 0); } @@ -1090,13 +1090,13 @@ public class KineticsScenes { .setValue(CrushingWheelBlock.AXIS, Axis.X); scene.world.setBlock(util.grid.at(5, 1, 3), state, true); scene.world.setKineticSpeed(util.select.position(5, 1, 3), 32); - scene.world.modifyTileNBT(util.select.position(gaugePos), StressGaugeTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(gaugePos), StressGaugeBlockEntity.class, nbt -> nbt.putFloat("Value", .5f)); scene.effects.indicateRedstone(gaugePos); scene.idle(20); scene.world.setBlock(util.grid.at(4, 1, 3), state, true); scene.world.setKineticSpeed(util.select.position(4, 1, 3), 32); - scene.world.modifyTileNBT(util.select.position(gaugePos), StressGaugeTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(gaugePos), StressGaugeBlockEntity.class, nbt -> nbt.putFloat("Value", .9f)); scene.effects.indicateRedstone(gaugePos); scene.idle(10); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/MechanicalSawScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/MechanicalSawScenes.java index 29715ce43..976c4e5f9 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/MechanicalSawScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/MechanicalSawScenes.java @@ -1,7 +1,7 @@ package com.simibubi.create.foundation.ponder.content; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.components.saw.SawTileEntity; +import com.simibubi.create.content.contraptions.components.saw.SawBlockEntity; import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; @@ -36,7 +36,7 @@ public class MechanicalSawScenes { BlockPos sawPos = util.grid.at(2, 1, 2); Selection sawSelect = util.select.position(sawPos); - scene.world.modifyTileNBT(sawSelect, SawTileEntity.class, nbt -> nbt.putInt("RecipeIndex", 0)); + scene.world.modifyBlockEntityNBT(sawSelect, SawBlockEntity.class, nbt -> nbt.putInt("RecipeIndex", 0)); scene.idle(5); scene.world.showSection(util.select.fromTo(2, 1, 3, 2, 1, 5), Direction.DOWN); @@ -147,7 +147,7 @@ public class MechanicalSawScenes { scene.overlay.showControls(new InputWindowElement(filter, Pointing.DOWN).withItem(bricks), 80); scene.world.modifyEntities(ItemEntity.class, Entity::discard); scene.idle(7); - scene.world.setFilterData(util.select.position(sawPos), SawTileEntity.class, bricks); + scene.world.setFilterData(util.select.position(sawPos), SawBlockEntity.class, bricks); scene.idle(10); scene.overlay.showText(80) diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/MovementActorScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/MovementActorScenes.java index 0cd882d02..afd381948 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/MovementActorScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/MovementActorScenes.java @@ -1,8 +1,8 @@ package com.simibubi.create.foundation.ponder.content; -import com.simibubi.create.content.contraptions.components.actors.HarvesterTileEntity; -import com.simibubi.create.content.contraptions.components.actors.PortableItemInterfaceTileEntity; -import com.simibubi.create.content.contraptions.components.actors.PortableStorageInterfaceTileEntity; +import com.simibubi.create.content.contraptions.components.actors.HarvesterBlockEntity; +import com.simibubi.create.content.contraptions.components.actors.PortableItemInterfaceBlockEntity; +import com.simibubi.create.content.contraptions.components.actors.PortableStorageInterfaceBlockEntity; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.LinearChassisBlock; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; @@ -87,9 +87,9 @@ public class MovementActorScenes { scene.idle(35); Selection both = util.select.fromTo(2, 2, 2, 4, 2, 2); - Class psiClass = PortableItemInterfaceTileEntity.class; + Class psiClass = PortableItemInterfaceBlockEntity.class; - scene.world.modifyTileNBT(both, psiClass, nbt -> { + scene.world.modifyBlockEntityNBT(both, psiClass, nbt -> { nbt.putFloat("Distance", 1); nbt.putFloat("Timer", 40); }); @@ -154,7 +154,7 @@ public class MovementActorScenes { .placeNearTarget() .pointAt(util.vector.topOf(psi2)) .text("After no items have been exchanged for a while, the contraption will continue on its way"); - scene.world.modifyTileNBT(both, psiClass, nbt -> nbt.putFloat("Timer", 9)); + scene.world.modifyBlockEntityNBT(both, psiClass, nbt -> nbt.putFloat("Timer", 9)); scene.idle(15); scene.markAsFinished(); @@ -167,9 +167,9 @@ public class MovementActorScenes { scene.configureBasePlate(0, 0, 5); scene.setSceneOffsetY(-1); - Class psiClass = PortableStorageInterfaceTileEntity.class; + Class psiClass = PortableStorageInterfaceBlockEntity.class; Selection psis = util.select.fromTo(1, 1, 3, 1, 3, 3); - scene.world.modifyTileNBT(psis, psiClass, nbt -> { + scene.world.modifyBlockEntityNBT(psis, psiClass, nbt -> { nbt.putFloat("Distance", 1); nbt.putFloat("Timer", 40); }); @@ -184,7 +184,7 @@ public class MovementActorScenes { BlockPos bearing = util.grid.at(3, 1, 3); scene.world.configureCenterOfRotation(contraption, util.vector.topOf(bearing)); scene.idle(20); - scene.world.modifyTileNBT(psis, psiClass, nbt -> nbt.putFloat("Timer", 9)); + scene.world.modifyBlockEntityNBT(psis, psiClass, nbt -> nbt.putFloat("Timer", 9)); scene.idle(20); scene.world.rotateBearing(bearing, 360 * 3 + 270, 240 + 60); scene.world.rotateSection(contraption, 0, 360 * 3 + 270, 0, 240 + 60); @@ -242,7 +242,7 @@ public class MovementActorScenes { scene.idle(70); for (int i = 0; i < 3; i++) - scene.world.modifyTileEntity(util.grid.at(i, 1, 4), HarvesterTileEntity.class, + scene.world.modifyBlockEntity(util.grid.at(i, 1, 4), HarvesterBlockEntity.class, hte -> hte.setAnimatedSpeed(-150)); scene.world.rotateBearing(bearingPos, -360, 140); scene.world.rotateSection(contraption, 0, -360, 0, 140); @@ -288,7 +288,7 @@ public class MovementActorScenes { scene.world.showSection(crops, Direction.UP); for (int i = 0; i < 3; i++) - scene.world.modifyTileEntity(util.grid.at(i, 1, 4), HarvesterTileEntity.class, + scene.world.modifyBlockEntity(util.grid.at(i, 1, 4), HarvesterBlockEntity.class, hte -> hte.setAnimatedSpeed(0)); scene.idle(10); @@ -303,7 +303,7 @@ public class MovementActorScenes { scene.idle(70); for (int i = 0; i < 3; i++) - scene.world.modifyTileEntity(util.grid.at(i, 1, 4), HarvesterTileEntity.class, + scene.world.modifyBlockEntity(util.grid.at(i, 1, 4), HarvesterBlockEntity.class, hte -> hte.setAnimatedSpeed(-150)); scene.world.rotateBearing(bearingPos, -360, 140); scene.world.rotateSection(contraption, 0, -360, 0, 140); @@ -330,7 +330,7 @@ public class MovementActorScenes { scene.overlay .showControls(new InputWindowElement(util.vector.topOf(1, 2, 5), Pointing.DOWN).withItem(wheatItem), 50); for (int i = 0; i < 3; i++) - scene.world.modifyTileEntity(util.grid.at(i, 1, 4), HarvesterTileEntity.class, + scene.world.modifyBlockEntity(util.grid.at(i, 1, 4), HarvesterBlockEntity.class, hte -> hte.setAnimatedSpeed(0)); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/ProcessingScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/ProcessingScenes.java index bd20d9bbe..018636dd7 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/ProcessingScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/ProcessingScenes.java @@ -3,13 +3,13 @@ package com.simibubi.create.foundation.ponder.content; import com.google.common.collect.ImmutableList; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; -import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity; -import com.simibubi.create.content.contraptions.components.millstone.MillstoneTileEntity; -import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerTileEntity; -import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity; +import com.simibubi.create.content.contraptions.components.deployer.DeployerBlockEntity; +import com.simibubi.create.content.contraptions.components.millstone.MillstoneBlockEntity; +import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerBlockEntity; +import com.simibubi.create.content.contraptions.components.press.MechanicalPressBlockEntity; import com.simibubi.create.content.contraptions.components.press.PressingBehaviour.Mode; import com.simibubi.create.content.contraptions.processing.BasinBlock; -import com.simibubi.create.content.contraptions.processing.BasinTileEntity; +import com.simibubi.create.content.contraptions.processing.BasinBlockEntity; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel; import com.simibubi.create.content.contraptions.processing.burner.LitBlazeBurnerBlock; @@ -94,7 +94,7 @@ public class ProcessingScenes { scene.world.createItemEntity(entitySpawn, util.vector.of(0, 0.2, 0), itemStack); scene.idle(18); scene.world.modifyEntity(entity1, Entity::discard); - scene.world.modifyTileEntity(millstone, MillstoneTileEntity.class, + scene.world.modifyBlockEntity(millstone, MillstoneBlockEntity.class, ms -> ms.inputInv.setStackInSlot(0, itemStack)); scene.idle(10); scene.overlay.showControls(new InputWindowElement(millstoneTop, Pointing.DOWN).withItem(itemStack), 30); @@ -107,7 +107,7 @@ public class ProcessingScenes { .placeNearTarget(); scene.idle(60); - scene.world.modifyTileEntity(millstone, MillstoneTileEntity.class, + scene.world.modifyBlockEntity(millstone, MillstoneBlockEntity.class, ms -> ms.inputInv.setStackInSlot(0, ItemStack.EMPTY)); scene.overlay.showText(50) @@ -313,11 +313,11 @@ public class ProcessingScenes { scene.overlay.showControls(new InputWindowElement(depotCenter, Pointing.UP).withItem(copper), 30); scene.idle(10); - Class type = MechanicalPressTileEntity.class; - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + Class type = MechanicalPressBlockEntity.class; + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .start(Mode.BELT)); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .makePressingParticleEffect(depotCenter.add(0, 8 / 16f, 0), copper)); scene.world.removeItemsFromBelt(depotPos); ItemStack sheet = AllItems.COPPER_SHEET.asStack(); @@ -345,7 +345,7 @@ public class ProcessingScenes { ElementLink ingot2 = scene.world.createItemOnBelt(beltPos, Direction.SOUTH, copper); scene.idle(15); scene.world.stallBeltItem(ingot, true); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .start(Mode.BELT)); scene.overlay.showText(50) @@ -355,7 +355,7 @@ public class ProcessingScenes { .text("The Press will hold and process them automatically"); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .makePressingParticleEffect(depotCenter.add(0, 8 / 16f, 0), copper)); scene.world.removeItemsFromBelt(pressPos.below(2)); ingot = scene.world.createItemOnBelt(pressPos.below(2), Direction.UP, sheet); @@ -364,10 +364,10 @@ public class ProcessingScenes { scene.world.stallBeltItem(ingot, false); scene.idle(15); scene.world.stallBeltItem(ingot2, true); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .start(Mode.BELT)); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .makePressingParticleEffect(depotCenter.add(0, 8 / 16f, 0), copper)); scene.world.removeItemsFromBelt(pressPos.below(2)); ingot2 = scene.world.createItemOnBelt(pressPos.below(2), Direction.UP, sheet); @@ -413,12 +413,12 @@ public class ProcessingScenes { scene.overlay.showControls(new InputWindowElement(util.vector.topOf(basin), Pointing.LEFT).withItem(blue), 30); scene.overlay.showControls(new InputWindowElement(util.vector.topOf(basin), Pointing.RIGHT).withItem(red), 30); scene.idle(30); - Class type = MechanicalMixerTileEntity.class; - scene.world.modifyTileEntity(pressPos, type, pte -> pte.startProcessingBasin()); + Class type = MechanicalMixerBlockEntity.class; + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.startProcessingBasin()); scene.world.createItemOnBeltLike(basin, Direction.UP, red); scene.world.createItemOnBeltLike(basin, Direction.UP, blue); scene.idle(80); - scene.world.modifyTileNBT(util.select.position(basin), BasinTileEntity.class, nbt -> { + scene.world.modifyBlockEntityNBT(util.select.position(basin), BasinBlockEntity.class, nbt -> { nbt.put("VisualizedItems", NBTHelper.writeCompoundList(ImmutableList.of(IntAttached.with(1, purple)), ia -> ia.getValue() .serializeNBT())); @@ -494,13 +494,13 @@ public class ProcessingScenes { scene.overlay.showControls(new InputWindowElement(util.vector.topOf(basin), Pointing.DOWN).withItem(copper), 30); scene.idle(30); - Class type = MechanicalPressTileEntity.class; - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + Class type = MechanicalPressBlockEntity.class; + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .start(Mode.BASIN)); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .makeCompactingParticleEffect(util.vector.centerOf(basin), copper)); - scene.world.modifyTileNBT(util.select.position(basin), BasinTileEntity.class, nbt -> { + scene.world.modifyBlockEntityNBT(util.select.position(basin), BasinBlockEntity.class, nbt -> { nbt.put("VisualizedItems", NBTHelper.writeCompoundList(ImmutableList.of(IntAttached.with(1, copperBlock)), ia -> ia.getValue() .serializeNBT())); @@ -521,12 +521,12 @@ public class ProcessingScenes { scene.overlay.showControls(new InputWindowElement(util.vector.topOf(basin), Pointing.DOWN).withItem(log), 30); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .start(Mode.BASIN)); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .makeCompactingParticleEffect(util.vector.centerOf(basin), log)); - scene.world.modifyTileNBT(util.select.position(basin), BasinTileEntity.class, nbt -> { + scene.world.modifyBlockEntityNBT(util.select.position(basin), BasinBlockEntity.class, nbt -> { nbt.put("VisualizedItems", NBTHelper.writeCompoundList(ImmutableList.of(IntAttached.with(1, bark)), ia -> ia.getValue() .serializeNBT())); @@ -709,8 +709,8 @@ public class ProcessingScenes { .placeNearTarget(); scene.idle(90); - Class teType = DeployerTileEntity.class; - scene.world.modifyTileNBT(util.select.position(4, 1, 2), teType, + Class teType = DeployerBlockEntity.class; + scene.world.modifyBlockEntityNBT(util.select.position(4, 1, 2), teType, nbt -> nbt.put("HeldItem", AllItems.BLAZE_CAKE.asStack() .serializeNBT())); @@ -825,13 +825,13 @@ public class ProcessingScenes { scene.world.showSection(util.select.fromTo(1, 4, 3, 1, 1, 5), Direction.NORTH); scene.idle(10); - Class type = MechanicalPressTileEntity.class; - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + Class type = MechanicalPressBlockEntity.class; + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .start(Mode.BASIN)); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .makeCompactingParticleEffect(util.vector.centerOf(basinPos), stack)); - scene.world.modifyTileNBT(util.select.position(basinPos), BasinTileEntity.class, nbt -> { + scene.world.modifyBlockEntityNBT(util.select.position(basinPos), BasinBlockEntity.class, nbt -> { nbt.put("VisualizedItems", NBTHelper.writeCompoundList(ImmutableList.of(IntAttached.with(1, new ItemStack(Blocks.BRICKS))), ia -> ia.getValue() @@ -865,10 +865,10 @@ public class ProcessingScenes { scene.overlay.showControls(new InputWindowElement(util.vector.topOf(basinPos), Pointing.RIGHT).withItem(nugget), 30); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .start(Mode.BASIN)); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .makeCompactingParticleEffect(util.vector.centerOf(basinPos), nugget)); ItemStack ingot = new ItemStack(Items.COPPER_INGOT); @@ -876,10 +876,10 @@ public class ProcessingScenes { scene.overlay.showControls(new InputWindowElement(util.vector.topOf(basinPos), Pointing.RIGHT).withItem(ingot), 30); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .start(Mode.BASIN)); scene.idle(30); - scene.world.modifyTileEntity(pressPos, type, pte -> pte.getPressingBehaviour() + scene.world.modifyBlockEntity(pressPos, type, pte -> pte.getPressingBehaviour() .makeCompactingParticleEffect(util.vector.centerOf(basinPos), ingot)); ItemStack block = new ItemStack(Items.COPPER_BLOCK); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/RedstoneScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/RedstoneScenes.java index ae6bf1945..8648fae58 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/RedstoneScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/RedstoneScenes.java @@ -2,17 +2,17 @@ package com.simibubi.create.foundation.ponder.content; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerBlock; -import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerBlockEntity; import com.simibubi.create.content.logistics.block.diodes.BrassDiodeBlock; import com.simibubi.create.content.logistics.block.diodes.PoweredLatchBlock; -import com.simibubi.create.content.logistics.block.diodes.PulseExtenderTileEntity; -import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterTileEntity; +import com.simibubi.create.content.logistics.block.diodes.PulseExtenderBlockEntity; +import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterBlockEntity; import com.simibubi.create.content.logistics.block.diodes.ToggleLatchBlock; -import com.simibubi.create.content.logistics.block.redstone.AnalogLeverTileEntity; +import com.simibubi.create.content.logistics.block.redstone.AnalogLeverBlockEntity; import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlock; -import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity; +import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlockEntity; import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkBlock; -import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkTileEntity; +import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkBlockEntity; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -69,7 +69,7 @@ public class RedstoneScenes { scene.world.toggleRedstonePower(redstone); scene.world.modifyBlock(stickerPos, s -> s.setValue(StickerBlock.EXTENDED, true), false); scene.effects.indicateRedstone(buttonPos); - scene.world.modifyTileNBT(stickerSelect, StickerTileEntity.class, nbt -> { + scene.world.modifyBlockEntityNBT(stickerSelect, StickerBlockEntity.class, nbt -> { }); scene.idle(20); @@ -95,7 +95,7 @@ public class RedstoneScenes { scene.world.toggleRedstonePower(redstone); scene.world.modifyBlock(stickerPos, s -> s.setValue(StickerBlock.EXTENDED, false), false); scene.effects.indicateRedstone(buttonPos); - scene.world.modifyTileNBT(stickerSelect, StickerTileEntity.class, nbt -> { + scene.world.modifyBlockEntityNBT(stickerSelect, StickerBlockEntity.class, nbt -> { }); scene.idle(20); @@ -199,7 +199,7 @@ public class RedstoneScenes { BlockPos circuitPos = util.grid.at(2, 1, 2); BlockPos leverPos = util.grid.at(4, 1, 2); - scene.world.modifyTileNBT(util.select.position(circuitPos), PulseExtenderTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(circuitPos), PulseExtenderBlockEntity.class, nbt -> nbt.putInt("ScrollValue", 30)); scene.world.showSection(util.select.layersFrom(1) .substract(util.select.position(circuitPos)), Direction.UP); @@ -251,7 +251,7 @@ public class RedstoneScenes { .attachKeyFrame() .placeNearTarget() .pointAt(circuitTop); - scene.world.modifyTileNBT(util.select.position(circuitPos), PulseExtenderTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(circuitPos), PulseExtenderBlockEntity.class, nbt -> nbt.putInt("ScrollValue", 120)); scene.idle(70); @@ -284,7 +284,7 @@ public class RedstoneScenes { BlockPos circuitPos = util.grid.at(2, 1, 2); BlockPos leverPos = util.grid.at(4, 1, 2); - scene.world.modifyTileNBT(util.select.position(circuitPos), PulseRepeaterTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(circuitPos), PulseRepeaterBlockEntity.class, nbt -> nbt.putInt("ScrollValue", 30)); scene.world.showSection(util.select.layersFrom(1) .substract(util.select.position(circuitPos)), Direction.UP); @@ -324,7 +324,7 @@ public class RedstoneScenes { .attachKeyFrame() .placeNearTarget() .pointAt(circuitTop); - scene.world.modifyTileNBT(util.select.position(circuitPos), PulseRepeaterTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(circuitPos), PulseRepeaterBlockEntity.class, nbt -> nbt.putInt("ScrollValue", 120)); scene.idle(70); @@ -536,7 +536,7 @@ public class RedstoneScenes { for (int i = 0; i < 7; i++) { scene.idle(2); final int state = i + 1; - scene.world.modifyTileNBT(leverSelection, AnalogLeverTileEntity.class, nbt -> nbt.putInt("State", state)); + scene.world.modifyBlockEntityNBT(leverSelection, AnalogLeverBlockEntity.class, nbt -> nbt.putInt("State", state)); scene.world.modifyBlock(wireLocations[i], s -> s.setValue(power, 7 - state), false); scene.effects.indicateRedstone(wireLocations[i]); } @@ -556,7 +556,7 @@ public class RedstoneScenes { scene.idle(2); final int state = i - 1; if (i > 3) { - scene.world.modifyTileNBT(leverSelection, AnalogLeverTileEntity.class, + scene.world.modifyBlockEntityNBT(leverSelection, AnalogLeverBlockEntity.class, nbt -> nbt.putInt("State", state)); scene.effects.indicateRedstone(wireLocations[i]); } @@ -578,7 +578,7 @@ public class RedstoneScenes { scene.idle(2); final int state = i + 1; if (i >= 4) { - scene.world.modifyTileNBT(leverSelection, AnalogLeverTileEntity.class, + scene.world.modifyBlockEntityNBT(leverSelection, AnalogLeverBlockEntity.class, nbt -> nbt.putInt("State", state)); scene.effects.indicateRedstone(wireLocations[i]); } @@ -603,10 +603,10 @@ public class RedstoneScenes { Selection tubes = util.select.fromTo(3, 1, 3, 1, 1, 3); scene.effects.indicateRedstone(util.grid.at(2, 1, 1)); - scene.world.modifyTileNBT(util.select.position(2, 1, 1), AnalogLeverTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(2, 1, 1), AnalogLeverBlockEntity.class, nbt -> nbt.putInt("State", 11)); scene.world.modifyBlock(util.grid.at(2, 1, 2), s -> s.setValue(RedStoneWireBlock.POWER, 11), false); - scene.world.modifyTileNBT(tubes, NixieTubeTileEntity.class, nbt -> nbt.putInt("RedstoneStrength", 11)); + scene.world.modifyBlockEntityNBT(tubes, NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 11)); scene.idle(20); Vec3 centerTube = util.vector.centerOf(2, 1, 3); @@ -622,7 +622,7 @@ public class RedstoneScenes { scene.idle(5); scene.world.hideSection(util.select.fromTo(2, 1, 1, 2, 1, 2), Direction.NORTH); scene.idle(10); - scene.world.modifyTileNBT(tubes, NixieTubeTileEntity.class, nbt -> nbt.putInt("RedstoneStrength", 0)); + scene.world.modifyBlockEntityNBT(tubes, NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 0)); scene.world.showSection(tubes, Direction.DOWN); scene.idle(20); @@ -633,7 +633,7 @@ public class RedstoneScenes { Component component = Components.literal("CREATE"); for (int i = 0; i < 3; i++) { final int index = i; - scene.world.modifyTileNBT(util.select.position(3 - i, 1, 3), NixieTubeTileEntity.class, nbt -> { + scene.world.modifyBlockEntityNBT(util.select.position(3 - i, 1, 3), NixieTubeBlockEntity.class, nbt -> { nbt.putString("RawCustomText", component.getString()); nbt.putString("CustomText", Component.Serializer.toJson(component)); nbt.putInt("CustomTextIndex", index); @@ -780,30 +780,30 @@ public class RedstoneScenes { scene.overlay.showControls(new InputWindowElement(backSlot, Pointing.DOWN).withItem(iron), 40); scene.idle(7); scene.overlay.showControls(new InputWindowElement(frontSlot, Pointing.UP).withItem(sapling), 40); - scene.world.modifyTileNBT(link1Select, RedstoneLinkTileEntity.class, + scene.world.modifyBlockEntityNBT(link1Select, RedstoneLinkBlockEntity.class, nbt -> nbt.put("FrequencyLast", iron.save(new CompoundTag()))); scene.idle(7); - scene.world.modifyTileNBT(link1Select, RedstoneLinkTileEntity.class, + scene.world.modifyBlockEntityNBT(link1Select, RedstoneLinkBlockEntity.class, nbt -> nbt.put("FrequencyFirst", sapling.save(new CompoundTag()))); scene.idle(20); scene.overlay.showControls(new InputWindowElement(top2Slot, Pointing.DOWN).withItem(iron), 40); scene.idle(7); scene.overlay.showControls(new InputWindowElement(bottom2Slot, Pointing.UP).withItem(sapling), 40); - scene.world.modifyTileNBT(link2Select, RedstoneLinkTileEntity.class, + scene.world.modifyBlockEntityNBT(link2Select, RedstoneLinkBlockEntity.class, nbt -> nbt.put("FrequencyLast", iron.save(new CompoundTag()))); scene.idle(7); - scene.world.modifyTileNBT(link2Select, RedstoneLinkTileEntity.class, + scene.world.modifyBlockEntityNBT(link2Select, RedstoneLinkBlockEntity.class, nbt -> nbt.put("FrequencyFirst", sapling.save(new CompoundTag()))); scene.idle(20); scene.overlay.showControls(new InputWindowElement(top3Slot, Pointing.DOWN).withItem(gold), 40); scene.idle(7); scene.overlay.showControls(new InputWindowElement(bottom3Slot, Pointing.UP).withItem(sapling), 40); - scene.world.modifyTileNBT(link3Select, RedstoneLinkTileEntity.class, + scene.world.modifyBlockEntityNBT(link3Select, RedstoneLinkBlockEntity.class, nbt -> nbt.put("FrequencyLast", gold.save(new CompoundTag()))); scene.idle(7); - scene.world.modifyTileNBT(link3Select, RedstoneLinkTileEntity.class, + scene.world.modifyBlockEntityNBT(link3Select, RedstoneLinkBlockEntity.class, nbt -> nbt.put("FrequencyFirst", sapling.save(new CompoundTag()))); scene.idle(20); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/RedstoneScenes2.java b/src/main/java/com/simibubi/create/foundation/ponder/content/RedstoneScenes2.java index fc79d5297..821891120 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/RedstoneScenes2.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/RedstoneScenes2.java @@ -1,6 +1,6 @@ package com.simibubi.create.foundation.ponder.content; -import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity; +import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlockEntity; import com.simibubi.create.content.logistics.block.redstone.RoseQuartzLampBlock; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -102,7 +102,7 @@ public class RedstoneScenes2 { scene.world.showSectionAndMerge(comparator, Direction.EAST, rowElement); scene.idle(15); scene.world.toggleRedstonePower(comparator); - scene.world.modifyTileNBT(comparator, NixieTubeTileEntity.class, nbt -> nbt.putInt("RedstoneStrength", 13)); + scene.world.modifyBlockEntityNBT(comparator, NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 13)); scene.idle(25); scene.overlay.showText(80) @@ -118,7 +118,7 @@ public class RedstoneScenes2 { scene.idle(6); scene.world.cycleBlockProperty(centerLamp.east(), RoseQuartzLampBlock.POWERING); scene.world.toggleRedstonePower(comparator); - scene.world.modifyTileNBT(comparator, NixieTubeTileEntity.class, nbt -> nbt.putInt("RedstoneStrength", 0)); + scene.world.modifyBlockEntityNBT(comparator, NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 0)); scene.idle(20); scene.overlay.showControls(new InputWindowElement(util.vector.topOf(centerLamp), Pointing.DOWN).rightClick() @@ -126,7 +126,7 @@ public class RedstoneScenes2 { scene.idle(6); scene.world.cycleBlockProperty(centerLamp.west(), RoseQuartzLampBlock.POWERING); scene.world.toggleRedstonePower(comparator); - scene.world.modifyTileNBT(comparator, NixieTubeTileEntity.class, nbt -> nbt.putInt("RedstoneStrength", 15)); + scene.world.modifyBlockEntityNBT(comparator, NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 15)); scene.idle(20); scene.overlay.showText(80) diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/TunnelScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/TunnelScenes.java index 076a44f0e..ea222d0d4 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/TunnelScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/TunnelScenes.java @@ -4,8 +4,10 @@ import java.util.Vector; import com.simibubi.create.AllItems; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; -import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; -import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelTileEntity; +import com.simibubi.create.content.contraptions.relays.belt.BeltBlockEntity; +import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.SidedFilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.gui.AllIcons; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; @@ -13,8 +15,6 @@ import com.simibubi.create.foundation.ponder.SceneBuilder; import com.simibubi.create.foundation.ponder.SceneBuildingUtil; import com.simibubi.create.foundation.ponder.element.InputWindowElement; import com.simibubi.create.foundation.ponder.element.WorldSectionElement; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.SidedFilteringBehaviour; -import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.Pointing; @@ -54,8 +54,8 @@ public class TunnelScenes { for (int i = 0; i < 3; i++) { scene.world.cycleBlockProperty(util.grid.at(1 + i, 1, 2), BeltBlock.CASING); - scene.world.modifyTileNBT(util.select.position(1 + i, 1, 2), BeltTileEntity.class, - nbt -> NBTHelper.writeEnum(nbt, "Casing", BeltTileEntity.CasingType.ANDESITE), true); + scene.world.modifyBlockEntityNBT(util.select.position(1 + i, 1, 2), BeltBlockEntity.class, + nbt -> NBTHelper.writeEnum(nbt, "Casing", BeltBlockEntity.CasingType.ANDESITE), true); scene.idle(4); } @@ -126,8 +126,8 @@ public class TunnelScenes { for (int i = 0; i < 3; i++) { scene.world.cycleBlockProperty(util.grid.at(2 + i, 1, 2), BeltBlock.CASING); - scene.world.modifyTileNBT(util.select.position(2 + i, 1, 2), BeltTileEntity.class, - nbt -> NBTHelper.writeEnum(nbt, "Casing", BeltTileEntity.CasingType.BRASS), true); + scene.world.modifyBlockEntityNBT(util.select.position(2 + i, 1, 2), BeltBlockEntity.class, + nbt -> NBTHelper.writeEnum(nbt, "Casing", BeltBlockEntity.CasingType.BRASS), true); scene.idle(4); } @@ -178,8 +178,8 @@ public class TunnelScenes { .placeNearTarget() .text("Filters on inbound connections simply block non-matching items"); ItemStack copper = new ItemStack(Items.COPPER_INGOT); - Class tunnelClass = BrassTunnelTileEntity.class; - scene.world.modifyTileEntity(tunnelPos, tunnelClass, te -> te.getBehaviour(SidedFilteringBehaviour.TYPE) + Class tunnelClass = BrassTunnelBlockEntity.class; + scene.world.modifyBlockEntity(tunnelPos, tunnelClass, be -> be.getBehaviour(SidedFilteringBehaviour.TYPE) .setFilter(Direction.EAST, copper)); scene.overlay.showControls(new InputWindowElement(tunnelFilterVec, Pointing.DOWN).withItem(copper), 30); ItemStack zinc = AllItems.ZINC_INGOT.asStack(); @@ -190,7 +190,7 @@ public class TunnelScenes { scene.rotateCameraY(-70); scene.world.multiplyKineticSpeed(util.select.everywhere(), -.5f); scene.idle(20); - scene.world.modifyTileEntity(tunnelPos, tunnelClass, te -> te.getBehaviour(SidedFilteringBehaviour.TYPE) + scene.world.modifyBlockEntity(tunnelPos, tunnelClass, be -> be.getBehaviour(SidedFilteringBehaviour.TYPE) .setFilter(Direction.EAST, ItemStack.EMPTY)); tunnelFilterVec = getTunnelFilterVec(tunnelPos, Direction.NORTH); @@ -205,12 +205,12 @@ public class TunnelScenes { scene.idle(70); scene.overlay.showControls(new InputWindowElement(tunnelFilterVec, Pointing.LEFT).withItem(copper), 30); - scene.world.modifyTileEntity(tunnelPos, tunnelClass, te -> te.getBehaviour(SidedFilteringBehaviour.TYPE) + scene.world.modifyBlockEntity(tunnelPos, tunnelClass, be -> be.getBehaviour(SidedFilteringBehaviour.TYPE) .setFilter(Direction.WEST, copper)); scene.idle(4); tunnelFilterVec = getTunnelFilterVec(tunnelPos, Direction.NORTH); scene.overlay.showControls(new InputWindowElement(tunnelFilterVec, Pointing.RIGHT).withItem(zinc), 30); - scene.world.modifyTileEntity(tunnelPos, tunnelClass, te -> te.getBehaviour(SidedFilteringBehaviour.TYPE) + scene.world.modifyBlockEntity(tunnelPos, tunnelClass, be -> be.getBehaviour(SidedFilteringBehaviour.TYPE) .setFilter(Direction.NORTH, zinc)); scene.world.multiplyKineticSpeed(util.select.everywhere(), 1.5f); @@ -220,9 +220,9 @@ public class TunnelScenes { } scene.idle(30); - scene.world.modifyTileEntity(tunnelPos, tunnelClass, te -> te.getBehaviour(SidedFilteringBehaviour.TYPE) + scene.world.modifyBlockEntity(tunnelPos, tunnelClass, be -> be.getBehaviour(SidedFilteringBehaviour.TYPE) .setFilter(Direction.NORTH, ItemStack.EMPTY)); - scene.world.modifyTileEntity(tunnelPos, tunnelClass, te -> te.getBehaviour(SidedFilteringBehaviour.TYPE) + scene.world.modifyBlockEntity(tunnelPos, tunnelClass, be -> be.getBehaviour(SidedFilteringBehaviour.TYPE) .setFilter(Direction.WEST, ItemStack.EMPTY)); scene.idle(10); @@ -273,18 +273,18 @@ public class TunnelScenes { .south(); scene.overlay .showControls(new InputWindowElement(tunnelFilterVec.add(0, 0, -1), Pointing.RIGHT).withItem(item1), 20); - scene.world.modifyTileEntity(newTunnelPos.north(), tunnelClass, - te -> te.getBehaviour(SidedFilteringBehaviour.TYPE) + scene.world.modifyBlockEntity(newTunnelPos.north(), tunnelClass, + be -> be.getBehaviour(SidedFilteringBehaviour.TYPE) .setFilter(Direction.WEST, item1)); scene.idle(4); scene.overlay.showControls(new InputWindowElement(tunnelFilterVec, Pointing.DOWN).withItem(item2), 20); - scene.world.modifyTileEntity(newTunnelPos, tunnelClass, te -> te.getBehaviour(SidedFilteringBehaviour.TYPE) + scene.world.modifyBlockEntity(newTunnelPos, tunnelClass, be -> be.getBehaviour(SidedFilteringBehaviour.TYPE) .setFilter(Direction.WEST, item2)); scene.idle(4); scene.overlay.showControls(new InputWindowElement(tunnelFilterVec.add(0, 0, 1), Pointing.LEFT).withItem(item3), 20); - scene.world.modifyTileEntity(newTunnelPos.south(), tunnelClass, - te -> te.getBehaviour(SidedFilteringBehaviour.TYPE) + scene.world.modifyBlockEntity(newTunnelPos.south(), tunnelClass, + be -> be.getBehaviour(SidedFilteringBehaviour.TYPE) .setFilter(Direction.WEST, item3)); scene.idle(30); @@ -371,7 +371,7 @@ public class TunnelScenes { .text("Using a Wrench, the distribution behaviour of Brass Tunnels can be configured"); scene.idle(130); - Class tunnelClass = BrassTunnelTileEntity.class; + Class tunnelClass = BrassTunnelBlockEntity.class; ElementLink blockage = scene.world.showIndependentSection(util.select.position(4, 1, 0), Direction.UP); scene.world.moveSection(blockage, util.vector.of(-3, 0, 0), 0); @@ -406,9 +406,9 @@ public class TunnelScenes { if (i == 4) { scene.overlay.showControls( new InputWindowElement(modeVec, Pointing.RIGHT).showing(AllIcons.I_TUNNEL_FORCED_SPLIT), 140); - scene.world.modifyTileEntity(util.grid.at(1, 2, 3), tunnelClass, - te -> te.getBehaviour(ScrollOptionBehaviour.TYPE) - .setValue(BrassTunnelTileEntity.SelectionMode.FORCED_SPLIT.ordinal())); + scene.world.modifyBlockEntity(util.grid.at(1, 2, 3), tunnelClass, + be -> be.getBehaviour(ScrollOptionBehaviour.TYPE) + .setValue(BrassTunnelBlockEntity.SelectionMode.FORCED_SPLIT.ordinal())); } if (i == 5) { @@ -425,9 +425,9 @@ public class TunnelScenes { } if (i == 7) { - scene.world.modifyTileEntity(util.grid.at(1, 2, 3), tunnelClass, - te -> te.getBehaviour(ScrollOptionBehaviour.TYPE) - .setValue(BrassTunnelTileEntity.SelectionMode.ROUND_ROBIN.ordinal())); + scene.world.modifyBlockEntity(util.grid.at(1, 2, 3), tunnelClass, + be -> be.getBehaviour(ScrollOptionBehaviour.TYPE) + .setValue(BrassTunnelBlockEntity.SelectionMode.ROUND_ROBIN.ordinal())); scene.overlay.showControls( new InputWindowElement(modeVec, Pointing.RIGHT).showing(AllIcons.I_TUNNEL_ROUND_ROBIN), 140); scene.overlay.showText(80) @@ -453,9 +453,9 @@ public class TunnelScenes { if (i == 15) { scene.overlay.showControls( new InputWindowElement(modeVec, Pointing.RIGHT).showing(AllIcons.I_TUNNEL_FORCED_ROUND_ROBIN), 140); - scene.world.modifyTileEntity(util.grid.at(1, 2, 3), tunnelClass, - te -> te.getBehaviour(ScrollOptionBehaviour.TYPE) - .setValue(BrassTunnelTileEntity.SelectionMode.FORCED_ROUND_ROBIN.ordinal())); + scene.world.modifyBlockEntity(util.grid.at(1, 2, 3), tunnelClass, + be -> be.getBehaviour(ScrollOptionBehaviour.TYPE) + .setValue(BrassTunnelBlockEntity.SelectionMode.FORCED_ROUND_ROBIN.ordinal())); } if (i == 16) { @@ -473,9 +473,9 @@ public class TunnelScenes { if (i == 19) { scene.overlay.showControls( new InputWindowElement(modeVec, Pointing.RIGHT).showing(AllIcons.I_TUNNEL_PREFER_NEAREST), 140); - scene.world.modifyTileEntity(util.grid.at(1, 2, 3), tunnelClass, - te -> te.getBehaviour(ScrollOptionBehaviour.TYPE) - .setValue(BrassTunnelTileEntity.SelectionMode.PREFER_NEAREST.ordinal())); + scene.world.modifyBlockEntity(util.grid.at(1, 2, 3), tunnelClass, + be -> be.getBehaviour(ScrollOptionBehaviour.TYPE) + .setValue(BrassTunnelBlockEntity.SelectionMode.PREFER_NEAREST.ordinal())); scene.world.moveSection(blockage, util.vector.of(1, 0, 0), 10); scene.world.setBlock(util.grid.at(1, 1, 0), barrier, false); scene.overlay.showText(70) @@ -502,9 +502,9 @@ public class TunnelScenes { if (i == 26) { scene.overlay.showControls( new InputWindowElement(modeVec, Pointing.RIGHT).showing(AllIcons.I_TUNNEL_RANDOMIZE), 140); - scene.world.modifyTileEntity(util.grid.at(1, 2, 3), tunnelClass, - te -> te.getBehaviour(ScrollOptionBehaviour.TYPE) - .setValue(BrassTunnelTileEntity.SelectionMode.RANDOMIZE.ordinal())); + scene.world.modifyBlockEntity(util.grid.at(1, 2, 3), tunnelClass, + be -> be.getBehaviour(ScrollOptionBehaviour.TYPE) + .setValue(BrassTunnelBlockEntity.SelectionMode.RANDOMIZE.ordinal())); } if (i == 27) { @@ -520,9 +520,9 @@ public class TunnelScenes { scene.idle(10); scene.overlay .showControls(new InputWindowElement(modeVec, Pointing.RIGHT).showing(AllIcons.I_TUNNEL_SYNCHRONIZE), 140); - scene.world.modifyTileEntity(util.grid.at(1, 2, 3), tunnelClass, - te -> te.getBehaviour(ScrollOptionBehaviour.TYPE) - .setValue(BrassTunnelTileEntity.SelectionMode.SYNCHRONIZE.ordinal())); + scene.world.modifyBlockEntity(util.grid.at(1, 2, 3), tunnelClass, + be -> be.getBehaviour(ScrollOptionBehaviour.TYPE) + .setValue(BrassTunnelBlockEntity.SelectionMode.SYNCHRONIZE.ordinal())); scene.idle(30); scene.overlay.showText(70) .attachKeyFrame() diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/DrainScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/DrainScenes.java index a5553a79d..4375fd412 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/DrainScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/DrainScenes.java @@ -1,13 +1,13 @@ package com.simibubi.create.foundation.ponder.content.fluid; -import com.simibubi.create.content.contraptions.fluids.actors.ItemDrainTileEntity; +import com.simibubi.create.content.contraptions.fluids.actors.ItemDrainBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.SceneBuilder; import com.simibubi.create.foundation.ponder.SceneBuildingUtil; import com.simibubi.create.foundation.ponder.Selection; import com.simibubi.create.foundation.ponder.element.InputWindowElement; import com.simibubi.create.foundation.ponder.element.WorldSectionElement; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; import com.simibubi.create.foundation.utility.Pointing; import net.minecraft.core.BlockPos; @@ -54,11 +54,11 @@ public class DrainScenes { .withItem(lavaBucket), 40); scene.idle(7); - scene.world.modifyTileEntity(drainPos, ItemDrainTileEntity.class, te -> { - te.getBehaviour(SmartFluidTankBehaviour.TYPE) + scene.world.modifyBlockEntity(drainPos, ItemDrainBlockEntity.class, be -> { + be.getBehaviour(SmartFluidTankBehaviour.TYPE) .allowInsertion(); - te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) - .ifPresent(ifh -> ifh.fill(new FluidStack(Fluids.LAVA, 1000), FluidAction.EXECUTE)); + be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + .ifPresent(fh -> fh.fill(new FluidStack(Fluids.LAVA, 1000), FluidAction.EXECUTE)); }); scene.idle(10); @@ -69,9 +69,9 @@ public class DrainScenes { .pointAt(util.vector.blockSurface(drainPos.west(), Direction.WEST)); scene.idle(60); - scene.world.modifyTileEntity(drainPos, ItemDrainTileEntity.class, - te -> te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) - .ifPresent(ifh -> ifh.drain(500, FluidAction.EXECUTE))); + scene.world.modifyBlockEntity(drainPos, ItemDrainBlockEntity.class, + be -> be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + .ifPresent(fh -> fh.drain(500, FluidAction.EXECUTE))); scene.world.moveSection(drainLink, util.vector.of(1, 0, 0), 7); scene.world.showSection(largeCog, Direction.UP); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidMovementActorScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidMovementActorScenes.java index a0f01576d..dc685b561 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidMovementActorScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidMovementActorScenes.java @@ -1,8 +1,8 @@ package com.simibubi.create.foundation.ponder.content.fluid; import com.simibubi.create.AllFluids; -import com.simibubi.create.content.contraptions.components.actors.PortableFluidInterfaceTileEntity; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; +import com.simibubi.create.content.contraptions.components.actors.PortableFluidInterfaceBlockEntity; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; @@ -43,12 +43,12 @@ public class FluidMovementActorScenes { BlockPos ct2 = util.grid.at(6, 3, 2); BlockPos st = util.grid.at(0, 1, 5); Capability fhc = CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY; - Class type = FluidTankTileEntity.class; + Class type = FluidTankBlockEntity.class; ItemStack bucket = AllFluids.CHOCOLATE.get() .getAttributes() .getBucket(chocolate); - scene.world.modifyTileEntity(st, type, te -> te.getCapability(fhc) + scene.world.modifyBlockEntity(st, type, be -> be.getCapability(fhc) .ifPresent(ifh -> ifh.fill(FluidHelper.copyStackWithAmount(chocolate, 10000), FluidAction.EXECUTE))); BlockPos bearing = util.grid.at(5, 1, 2); @@ -101,9 +101,9 @@ public class FluidMovementActorScenes { scene.idle(35); Selection both = util.select.fromTo(2, 2, 2, 4, 2, 2); - Class psiClass = PortableFluidInterfaceTileEntity.class; + Class psiClass = PortableFluidInterfaceBlockEntity.class; - scene.world.modifyTileNBT(both, psiClass, nbt -> { + scene.world.modifyBlockEntityNBT(both, psiClass, nbt -> { nbt.putFloat("Distance", 1); nbt.putFloat("Timer", 40); }); @@ -140,16 +140,16 @@ public class FluidMovementActorScenes { scene.overlay .showControls(new InputWindowElement(util.vector.blockSurface(util.grid.at(5, 3, 2), Direction.WEST) .add(0, 0.5, 0), Pointing.LEFT).withItem(bucket), 30); - scene.world.modifyTileEntity(st, type, te -> te.getCapability(fhc) + scene.world.modifyBlockEntity(st, type, be -> be.getCapability(fhc) .ifPresent(ifh -> ifh.drain(1000, FluidAction.EXECUTE))); - scene.world.modifyTileEntity(ct1, type, te -> te.getCapability(fhc) + scene.world.modifyBlockEntity(ct1, type, be -> be.getCapability(fhc) .ifPresent(ifh -> ifh.fill(chocolate, FluidAction.EXECUTE))); scene.idle(2); } for (int i = 0; i < 8; i++) { - scene.world.modifyTileEntity(st, type, te -> te.getCapability(fhc) + scene.world.modifyBlockEntity(st, type, be -> be.getCapability(fhc) .ifPresent(ifh -> ifh.drain(1000, FluidAction.EXECUTE))); - scene.world.modifyTileEntity(ct2, type, te -> te.getCapability(fhc) + scene.world.modifyBlockEntity(ct2, type, be -> be.getCapability(fhc) .ifPresent(ifh -> ifh.fill(chocolate, FluidAction.EXECUTE))); scene.idle(2); } @@ -165,21 +165,21 @@ public class FluidMovementActorScenes { scene.idle(30); for (int i = 0; i < 8; i++) { - scene.world.modifyTileEntity(ct2, type, te -> te.getCapability(fhc) + scene.world.modifyBlockEntity(ct2, type, be -> be.getCapability(fhc) .ifPresent(ifh -> ifh.drain(1000, FluidAction.EXECUTE))); - scene.world.modifyTileEntity(st, type, te -> te.getCapability(fhc) + scene.world.modifyBlockEntity(st, type, be -> be.getCapability(fhc) .ifPresent(ifh -> ifh.fill(chocolate, FluidAction.EXECUTE))); scene.idle(2); } for (int i = 0; i < 16; i++) { - scene.world.modifyTileEntity(ct1, type, te -> te.getCapability(fhc) + scene.world.modifyBlockEntity(ct1, type, be -> be.getCapability(fhc) .ifPresent(ifh -> ifh.drain(1000, FluidAction.EXECUTE))); - scene.world.modifyTileEntity(st, type, te -> te.getCapability(fhc) + scene.world.modifyBlockEntity(st, type, be -> be.getCapability(fhc) .ifPresent(ifh -> ifh.fill(chocolate, FluidAction.EXECUTE))); scene.idle(2); } - scene.world.modifyTileEntity(util.grid.at(2, 2, 3), type, te -> te.getCapability(fhc) + scene.world.modifyBlockEntity(util.grid.at(2, 2, 3), type, be -> be.getCapability(fhc) .ifPresent(ifh -> ifh.drain(8000, FluidAction.EXECUTE))); scene.idle(50); @@ -188,7 +188,7 @@ public class FluidMovementActorScenes { .attachKeyFrame() .pointAt(util.vector.topOf(psi2)) .text("After no contents have been exchanged for a while, the contraption will continue on its way"); - scene.world.modifyTileNBT(both, psiClass, nbt -> nbt.putFloat("Timer", 9)); + scene.world.modifyBlockEntityNBT(both, psiClass, nbt -> nbt.putFloat("Timer", 9)); scene.idle(15); scene.world.rotateBearing(bearing, 270, 120); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidTankScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidTankScenes.java index aca6c625e..b3320bdfb 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidTankScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidTankScenes.java @@ -4,12 +4,12 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllFluids; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.fluids.FluidFX; -import com.simibubi.create.content.contraptions.fluids.actors.SpoutTileEntity; -import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity; -import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity.CreativeSmartFluidTank; +import com.simibubi.create.content.contraptions.fluids.actors.SpoutBlockEntity; +import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankBlockEntity; +import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankBlockEntity.CreativeSmartFluidTank; import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlock; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; -import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlockEntity; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.gui.AllIcons; import com.simibubi.create.foundation.ponder.ElementLink; @@ -83,7 +83,7 @@ public class FluidTankScenes { scene.idle(5); FluidStack content = new FluidStack(AllFluids.CHOCOLATE.get() .getSource(), 16000); - scene.world.modifyTileEntity(tankPos, FluidTankTileEntity.class, te -> te.getTankInventory() + scene.world.modifyBlockEntity(tankPos, FluidTankBlockEntity.class, be -> be.getTankInventory() .fill(content, FluidAction.EXECUTE)); scene.idle(25); @@ -105,12 +105,12 @@ public class FluidTankScenes { scene.world.multiplyKineticSpeed(pumpCogs, -1); scene.world.propagatePipeChange(pumpPos); scene.effects.rotationDirectionIndicator(pumpPos); - scene.world.modifyTileEntity(util.grid.at(2, 0, 5), FluidTankTileEntity.class, te -> te.getTankInventory() + scene.world.modifyBlockEntity(util.grid.at(2, 0, 5), FluidTankBlockEntity.class, be -> be.getTankInventory() .fill(content, FluidAction.EXECUTE)); scene.idle(20); for (int i = 0; i < 4; i++) { - scene.world.modifyTileEntity(tankPos, FluidTankTileEntity.class, te -> te.getTankInventory() + scene.world.modifyBlockEntity(tankPos, FluidTankBlockEntity.class, be -> be.getTankInventory() .drain(2000, FluidAction.EXECUTE)); scene.idle(5); } @@ -127,7 +127,7 @@ public class FluidTankScenes { scene.world.propagatePipeChange(pumpPos); scene.effects.rotationDirectionIndicator(pumpPos); for (int i = 0; i < 4; i++) { - scene.world.modifyTileEntity(tankPos, FluidTankTileEntity.class, te -> te.getTankInventory() + scene.world.modifyBlockEntity(tankPos, FluidTankBlockEntity.class, be -> be.getTankInventory() .fill(FluidHelper.copyStackWithAmount(content, 2000), FluidAction.EXECUTE)); scene.idle(5); } @@ -142,7 +142,7 @@ public class FluidTankScenes { scene.world.moveSection(tankLink, util.vector.of(-1, 0, 0), 10); scene.idle(10); scene.world.toggleRedstonePower(comparatorStuff); - scene.world.modifyTileNBT(util.select.position(2, 1, 0), NixieTubeTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(2, 1, 0), NixieTubeBlockEntity.class, nbt -> nbt.putInt("RedstoneStrength", 15)); scene.overlay.showText(50) @@ -170,8 +170,8 @@ public class FluidTankScenes { .placeNearTarget() .pointAt(util.vector.blockSurface(util.grid.at(2, 2, 2), Direction.WEST)); scene.idle(80); - scene.world.modifyTileEntity(util.grid.at(4, 3, 0), SpoutTileEntity.class, - te -> te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + scene.world.modifyBlockEntity(util.grid.at(4, 3, 0), SpoutBlockEntity.class, + be -> be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) .ifPresent(ifh -> ifh.fill(content, FluidAction.EXECUTE))); scene.world.moveSection(tankLink, util.vector.of(0, 0, 1), 7); @@ -201,7 +201,7 @@ public class FluidTankScenes { .getBucket(new FluidStack(FluidHelper.convertToStill(AllFluids.CHOCOLATE.get()), 1000)); scene.world.createItemOnBeltLike(util.grid.at(3, 1, 0), Direction.WEST, chocBucket); scene.idle(40); - scene.world.modifyTileNBT(util.select.position(util.grid.at(4, 3, 0)), SpoutTileEntity.class, + scene.world.modifyBlockEntityNBT(util.select.position(util.grid.at(4, 3, 0)), SpoutBlockEntity.class, nbt -> nbt.putInt("ProcessingTicks", 20)); scene.idle(20); scene.world.removeItemsFromBelt(util.grid.at(4, 1, 0)); @@ -380,8 +380,8 @@ public class FluidTankScenes { .withItem(bucket), 40); scene.idle(7); - scene.world.modifyTileEntity(cTankPos, CreativeFluidTankTileEntity.class, - te -> ((CreativeSmartFluidTank) te.getTankInventory()) + scene.world.modifyBlockEntity(cTankPos, CreativeFluidTankBlockEntity.class, + be -> ((CreativeSmartFluidTank) be.getTankInventory()) .setContainedFluid(new FluidStack(Fluids.FLOWING_LAVA, 1000))); scene.idle(5); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/HosePulleyScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/HosePulleyScenes.java index 9fdfa78f8..eea561dab 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/HosePulleyScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/HosePulleyScenes.java @@ -4,8 +4,8 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; +import com.simibubi.create.content.contraptions.fluids.actors.HosePulleyBlockEntity; import com.simibubi.create.content.contraptions.fluids.actors.HosePulleyFluidHandler; -import com.simibubi.create.content.contraptions.fluids.actors.HosePulleyTileEntity; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -121,7 +121,7 @@ public class HosePulleyScenes { } scene.world.multiplyKineticSpeed(util.select.fromTo(3, 1, 2, 3, 2, 1), -1); - scene.world.modifyTileEntity(util.grid.at(1, 5, 1), HosePulleyTileEntity.class, te -> te + scene.world.modifyBlockEntity(util.grid.at(1, 5, 1), HosePulleyBlockEntity.class, be -> be .getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) .ifPresent( ifh -> ((HosePulleyFluidHandler) ifh).fill(new FluidStack(Fluids.WATER, 100), FluidAction.EXECUTE))); @@ -221,10 +221,10 @@ public class HosePulleyScenes { scene.world.showSectionAndMerge(cogs, Direction.NORTH, hoselink); scene.world.showSectionAndMerge(pipes, Direction.WEST, hoselink); scene.world.multiplyKineticSpeed(util.select.fromTo(3, 1, 2, 3, 2, 1), -1); - scene.world.modifyTileEntity(util.grid.at(1, 6, 1), HosePulleyTileEntity.class, te -> te + scene.world.modifyBlockEntity(util.grid.at(1, 6, 1), HosePulleyBlockEntity.class, be -> be .getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) .ifPresent( - ifh -> ((HosePulleyFluidHandler) ifh).fill(new FluidStack(Fluids.WATER, 100), FluidAction.EXECUTE))); + fh -> ((HosePulleyFluidHandler) fh).fill(new FluidStack(Fluids.WATER, 100), FluidAction.EXECUTE))); scene.world.propagatePipeChange(util.grid.at(3, 2, 1)); Vec3 surface = util.vector.topOf(1, 3, 1) diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PipeScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PipeScenes.java index 891b07235..c6fd711dc 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PipeScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PipeScenes.java @@ -3,15 +3,16 @@ package com.simibubi.create.foundation.ponder.content.fluid; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllFluids; import com.simibubi.create.content.contraptions.fluids.PumpBlock; -import com.simibubi.create.content.contraptions.fluids.actors.ItemDrainTileEntity; +import com.simibubi.create.content.contraptions.fluids.actors.ItemDrainBlockEntity; import com.simibubi.create.content.contraptions.fluids.pipes.AxisPipeBlock; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; import com.simibubi.create.content.contraptions.fluids.pipes.FluidValveBlock; -import com.simibubi.create.content.contraptions.fluids.pipes.FluidValveTileEntity; +import com.simibubi.create.content.contraptions.fluids.pipes.FluidValveBlockEntity; import com.simibubi.create.content.contraptions.fluids.pipes.GlassFluidPipeBlock; -import com.simibubi.create.content.contraptions.fluids.pipes.SmartFluidPipeTileEntity; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; -import com.simibubi.create.content.contraptions.processing.BasinTileEntity; +import com.simibubi.create.content.contraptions.fluids.pipes.SmartFluidPipeBlockEntity; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.content.contraptions.processing.BasinBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; @@ -20,7 +21,6 @@ import com.simibubi.create.foundation.ponder.SceneBuildingUtil; import com.simibubi.create.foundation.ponder.Selection; import com.simibubi.create.foundation.ponder.element.InputWindowElement; import com.simibubi.create.foundation.ponder.element.WorldSectionElement; -import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; import com.simibubi.create.foundation.utility.Pointing; import net.minecraft.core.BlockPos; @@ -69,7 +69,7 @@ public class PipeScenes { scene.idle(5); scene.world.showSection(tank2, Direction.DOWN); FluidStack content = new FluidStack(Fluids.LAVA, 10000); - scene.world.modifyTileEntity(util.grid.at(4, 1, 2), FluidTankTileEntity.class, te -> te.getTankInventory() + scene.world.modifyBlockEntity(util.grid.at(4, 1, 2), FluidTankBlockEntity.class, be -> be.getTankInventory() .fill(content, FluidAction.EXECUTE)); scene.idle(10); @@ -218,8 +218,8 @@ public class PipeScenes { scene.idle(10); scene.world.setKineticSpeed(util.select.position(pumpPos), 64); BlockPos drainPos = util.grid.at(1, 1, 2); - scene.world.modifyTileEntity(drainPos, ItemDrainTileEntity.class, - te -> te.getBehaviour(SmartFluidTankBehaviour.TYPE) + scene.world.modifyBlockEntity(drainPos, ItemDrainBlockEntity.class, + be -> be.getBehaviour(SmartFluidTankBehaviour.TYPE) .allowInsertion() .getPrimaryHandler() .fill(new FluidStack(Fluids.WATER, 1500), FluidAction.EXECUTE)); @@ -433,7 +433,7 @@ public class PipeScenes { Selection valveKinetics = util.select.fromTo(2, 1, 1, 2, 2, 1); scene.world.setKineticSpeed(valveKinetics, 16); scene.effects.rotationSpeedIndicator(handlePos); - scene.world.modifyTileEntity(valvePos, FluidValveTileEntity.class, te -> te.onSpeedChanged(0)); + scene.world.modifyBlockEntity(valvePos, FluidValveBlockEntity.class, be -> be.onSpeedChanged(0)); scene.idle(22); scene.world.modifyBlock(valvePos, s -> s.setValue(FluidValveBlock.ENABLED, true), false); scene.effects.indicateSuccess(valvePos); @@ -456,7 +456,7 @@ public class PipeScenes { scene.world.setKineticSpeed(valveKinetics, -16); scene.effects.rotationSpeedIndicator(handlePos); - scene.world.modifyTileEntity(valvePos, FluidValveTileEntity.class, te -> te.onSpeedChanged(0)); + scene.world.modifyBlockEntity(valvePos, FluidValveBlockEntity.class, be -> be.onSpeedChanged(0)); scene.idle(22); scene.world.modifyBlock(valvePos, s -> s.setValue(FluidValveBlock.ENABLED, false), false); scene.effects.indicateRedstone(valvePos); @@ -483,9 +483,9 @@ public class PipeScenes { Selection basin = util.select.position(basinPos); BlockPos smartPos = util.grid.at(3, 1, 1); - scene.world.modifyTileEntity(basinPos, BasinTileEntity.class, - te -> te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) - .ifPresent(ifh -> ifh.fill(new FluidStack(ForgeMod.MILK.get(), 1000), FluidAction.EXECUTE))); + scene.world.modifyBlockEntity(basinPos, BasinBlockEntity.class, + be -> be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + .ifPresent(fh -> fh.fill(new FluidStack(ForgeMod.MILK.get(), 1000), FluidAction.EXECUTE))); scene.world.setBlock(util.grid.at(3, 1, 3), AllBlocks.FLUID_PIPE.get() .getAxisState(Axis.X), false); @@ -533,7 +533,7 @@ public class PipeScenes { scene.overlay.showControls(new InputWindowElement(filterVec, Pointing.DOWN).rightClick() .withItem(bucket), 80); scene.idle(7); - scene.world.setFilterData(util.select.position(3, 1, 1), SmartFluidPipeTileEntity.class, bucket); + scene.world.setFilterData(util.select.position(3, 1, 1), SmartFluidPipeBlockEntity.class, bucket); scene.idle(10); scene.overlay.showText(60) .placeNearTarget() @@ -567,9 +567,9 @@ public class PipeScenes { scene.idle(2); } scene.idle(15); - scene.world.modifyTileEntity(basinPos, BasinTileEntity.class, - te -> te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) - .ifPresent(ifh -> ifh.fill(chocolate, FluidAction.EXECUTE))); + scene.world.modifyBlockEntity(basinPos, BasinBlockEntity.class, + be -> be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + .ifPresent(fh -> fh.fill(chocolate, FluidAction.EXECUTE))); scene.idle(10); scene.overlay.showText(80) @@ -583,13 +583,13 @@ public class PipeScenes { scene.overlay.showControls(new InputWindowElement(filterVec.add(-1, 0, 3), Pointing.DOWN).rightClick() .withItem(milkBucket), 30); scene.idle(7); - scene.world.setFilterData(util.select.position(2, 1, 4), SmartFluidPipeTileEntity.class, milkBucket); + scene.world.setFilterData(util.select.position(2, 1, 4), SmartFluidPipeBlockEntity.class, milkBucket); scene.idle(30); scene.overlay.showControls(new InputWindowElement(filterVec.add(-1, 0, 2), Pointing.DOWN).rightClick() .withItem(bucket), 30); scene.idle(7); - scene.world.setFilterData(util.select.position(2, 1, 3), SmartFluidPipeTileEntity.class, bucket); + scene.world.setFilterData(util.select.position(2, 1, 3), SmartFluidPipeBlockEntity.class, bucket); scene.idle(30); scene.world.setKineticSpeed(kinetics2, 64); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PumpScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PumpScenes.java index 298af869f..52b5ecfb1 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PumpScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PumpScenes.java @@ -4,7 +4,7 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.fluids.PumpBlock; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; import com.simibubi.create.content.contraptions.fluids.pipes.GlassFluidPipeBlock; -import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; @@ -183,7 +183,7 @@ public class PumpScenes { Selection megapipe1 = util.select.fromTo(0, 3, 5, 1, 4, 2); Selection megapipe2 = util.select.fromTo(3, 3, 1, 5, 6, 2); - scene.world.modifyTileEntity(util.grid.at(0, 1, 2), FluidTankTileEntity.class, te -> te.getTankInventory() + scene.world.modifyBlockEntity(util.grid.at(0, 1, 2), FluidTankBlockEntity.class, be -> be.getTankInventory() .drain(3000, FluidAction.EXECUTE)); BlockPos east = pumpPos.east(); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/SpoutScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/SpoutScenes.java index 8f86f5d70..3002654b7 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/SpoutScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/SpoutScenes.java @@ -3,7 +3,7 @@ package com.simibubi.create.foundation.ponder.content.fluid; import com.simibubi.create.AllFluids; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.fluids.FluidFX; -import com.simibubi.create.content.contraptions.fluids.actors.SpoutTileEntity; +import com.simibubi.create.content.contraptions.fluids.actors.SpoutBlockEntity; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.gui.AllIcons; import com.simibubi.create.foundation.ponder.ElementLink; @@ -103,7 +103,7 @@ public class SpoutScenes { scene.idle(10); scene.idle(20); - scene.world.modifyTileNBT(spoutS, SpoutTileEntity.class, nbt -> nbt.putInt("ProcessingTicks", 20)); + scene.world.modifyBlockEntityNBT(spoutS, SpoutBlockEntity.class, nbt -> nbt.putInt("ProcessingTicks", 20)); scene.idle(20); scene.world.removeItemsFromBelt(depotPos); ItemStack potion = new ItemStack(Items.HONEY_BOTTLE); @@ -137,7 +137,7 @@ public class SpoutScenes { ElementLink ingot2 = scene.world.createItemOnBelt(beltPos, Direction.SOUTH, bottle); scene.idle(15); scene.world.stallBeltItem(ingot, true); - scene.world.modifyTileNBT(spoutS, SpoutTileEntity.class, nbt -> nbt.putInt("ProcessingTicks", 20)); + scene.world.modifyBlockEntityNBT(spoutS, SpoutBlockEntity.class, nbt -> nbt.putInt("ProcessingTicks", 20)); scene.overlay.showText(50) .pointAt(spoutSide) @@ -158,7 +158,7 @@ public class SpoutScenes { scene.world.stallBeltItem(ingot, false); scene.idle(15); scene.world.stallBeltItem(ingot2, true); - scene.world.modifyTileNBT(spoutS, SpoutTileEntity.class, nbt -> nbt.putInt("ProcessingTicks", 20)); + scene.world.modifyBlockEntityNBT(spoutS, SpoutBlockEntity.class, nbt -> nbt.putInt("ProcessingTicks", 20)); scene.idle(20); for (int i = 0; i < 10; i++) { scene.effects.emitParticles(util.vector.topOf(depotPos.south()) diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrackObserverScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrackObserverScenes.java index ddf08e405..0742889fb 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrackObserverScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrackObserverScenes.java @@ -1,7 +1,7 @@ package com.simibubi.create.foundation.ponder.content.trains; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.logistics.trains.management.edgePoint.observer.TrackObserverTileEntity; +import com.simibubi.create.content.logistics.trains.management.edgePoint.observer.TrackObserverBlockEntity; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -120,7 +120,7 @@ public class TrackObserverScenes { ItemStack waterBucket = new ItemStack(Items.WATER_BUCKET); scene.overlay.showControls(new InputWindowElement(target, Pointing.DOWN).withItem(waterBucket), 30); scene.idle(6); - scene.world.setFilterData(observer, TrackObserverTileEntity.class, waterBucket); + scene.world.setFilterData(observer, TrackObserverBlockEntity.class, waterBucket); scene.idle(50); trainInstance1 = scene.world.showIndependentSection(train1, Direction.WEST); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrainSignalScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrainSignalScenes.java index 6c35b21d3..74f8575cb 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrainSignalScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrainSignalScenes.java @@ -3,7 +3,7 @@ package com.simibubi.create.foundation.ponder.content.trains; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlock; -import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity.SignalState; +import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalBlockEntity.SignalState; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; diff --git a/src/main/java/com/simibubi/create/foundation/ponder/element/ParrotElement.java b/src/main/java/com/simibubi/create/foundation/ponder/element/ParrotElement.java index 0c4c8fe7a..74683c1fb 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/element/ParrotElement.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/element/ParrotElement.java @@ -6,7 +6,7 @@ import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.platform.Window; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.Create; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; import com.simibubi.create.foundation.ponder.PonderScene; import com.simibubi.create.foundation.ponder.PonderWorld; import com.simibubi.create.foundation.ponder.ui.PonderUI; @@ -214,11 +214,11 @@ public class ParrotElement extends AnimatedSceneElement { @Override void tick(PonderScene scene, Parrot entity, Vec3 location) { - BlockEntity tileEntity = scene.getWorld() + BlockEntity blockEntity = scene.getWorld() .getBlockEntity(componentPos); - if (!(tileEntity instanceof KineticTileEntity)) + if (!(blockEntity instanceof KineticBlockEntity)) return; - float rpm = ((KineticTileEntity) tileEntity).getSpeed(); + float rpm = ((KineticBlockEntity) blockEntity).getSpeed(); entity.yRotO = entity.getYRot(); entity.setYRot(entity.getYRot() + (rpm * .3f)); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/element/WorldSectionElement.java b/src/main/java/com/simibubi/create/foundation/ponder/element/WorldSectionElement.java index a4bfb3537..9fed1d5a6 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/element/WorldSectionElement.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/element/WorldSectionElement.java @@ -21,10 +21,10 @@ import com.simibubi.create.CreateClient; import com.simibubi.create.foundation.ponder.PonderScene; import com.simibubi.create.foundation.ponder.PonderWorld; import com.simibubi.create.foundation.ponder.Selection; +import com.simibubi.create.foundation.render.BlockEntityRenderHelper; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.render.SuperByteBufferCache; import com.simibubi.create.foundation.render.SuperRenderTypeBuffer; -import com.simibubi.create.foundation.render.TileEntityRenderHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.Pair; import com.simibubi.create.foundation.utility.VecHelper; @@ -63,8 +63,8 @@ public class WorldSectionElement extends AnimatedSceneElement { private static final ThreadLocal THREAD_LOCAL_OBJECTS = ThreadLocal.withInitial(ThreadLocalObjects::new); - List renderedTileEntities; - List>> tickableTileEntities; + List renderedBlockEntities; + List>> tickableBlockEntities; Selection section; boolean redraw; @@ -259,49 +259,49 @@ public class WorldSectionElement extends AnimatedSceneElement { if (!isVisible()) return; loadTEsIfMissing(scene.getWorld()); - renderedTileEntities.removeIf(te -> scene.getWorld() - .getBlockEntity(te.getBlockPos()) != te); - tickableTileEntities.removeIf(te -> scene.getWorld() - .getBlockEntity(te.getFirst() - .getBlockPos()) != te.getFirst()); - tickableTileEntities.forEach(te -> te.getSecond() + renderedBlockEntities.removeIf(be -> scene.getWorld() + .getBlockEntity(be.getBlockPos()) != be); + tickableBlockEntities.removeIf(be -> scene.getWorld() + .getBlockEntity(be.getFirst() + .getBlockPos()) != be.getFirst()); + tickableBlockEntities.forEach(be -> be.getSecond() .accept(scene.getWorld())); } @Override public void whileSkipping(PonderScene scene) { if (redraw) { - renderedTileEntities = null; - tickableTileEntities = null; + renderedBlockEntities = null; + tickableBlockEntities = null; } redraw = false; } protected void loadTEsIfMissing(PonderWorld world) { - if (renderedTileEntities != null) + if (renderedBlockEntities != null) return; - tickableTileEntities = new ArrayList<>(); - renderedTileEntities = new ArrayList<>(); + tickableBlockEntities = new ArrayList<>(); + renderedBlockEntities = new ArrayList<>(); section.forEach(pos -> { - BlockEntity tileEntity = world.getBlockEntity(pos); + BlockEntity blockEntity = world.getBlockEntity(pos); BlockState blockState = world.getBlockState(pos); Block block = blockState.getBlock(); - if (tileEntity == null) + if (blockEntity == null) return; if (!(block instanceof EntityBlock)) return; - tileEntity.setBlockState(world.getBlockState(pos)); - BlockEntityTicker ticker = ((EntityBlock) block).getTicker(world, blockState, tileEntity.getType()); + blockEntity.setBlockState(world.getBlockState(pos)); + BlockEntityTicker ticker = ((EntityBlock) block).getTicker(world, blockState, blockEntity.getType()); if (ticker != null) - addTicker(tileEntity, ticker); - renderedTileEntities.add(tileEntity); + addTicker(blockEntity, ticker); + renderedBlockEntities.add(blockEntity); }); } @SuppressWarnings("unchecked") - private void addTicker(T tileEntity, BlockEntityTicker ticker) { - tickableTileEntities.add(Pair.of(tileEntity, w -> ((BlockEntityTicker) ticker).tick(w, - tileEntity.getBlockPos(), tileEntity.getBlockState(), tileEntity))); + private void addTicker(T blockEntity, BlockEntityTicker ticker) { + tickableBlockEntities.add(Pair.of(blockEntity, w -> ((BlockEntityTicker) ticker).tick(w, + blockEntity.getBlockPos(), blockEntity.getBlockState(), blockEntity))); } @Override @@ -310,14 +310,14 @@ public class WorldSectionElement extends AnimatedSceneElement { if (fade != 1) light = (int) (Mth.lerp(fade, 5, 14)); if (redraw) { - renderedTileEntities = null; - tickableTileEntities = null; + renderedBlockEntities = null; + tickableBlockEntities = null; } ms.pushPose(); transformMS(ms, pt); world.pushFakeLight(light); - renderTileEntities(world, ms, buffer, pt); + renderBlockEntities(world, ms, buffer, pt); world.popLight(); Map blockBreakingProgressions = world.getBlockBreakingProgressions(); @@ -404,9 +404,9 @@ public class WorldSectionElement extends AnimatedSceneElement { ms.popPose(); } - private void renderTileEntities(PonderWorld world, PoseStack ms, MultiBufferSource buffer, float pt) { + private void renderBlockEntities(PonderWorld world, PoseStack ms, MultiBufferSource buffer, float pt) { loadTEsIfMissing(world); - TileEntityRenderHelper.renderTileEntities(world, renderedTileEntities, ms, buffer, pt); + BlockEntityRenderHelper.renderBlockEntities(world, renderedBlockEntities, ms, buffer, pt); } private SuperByteBuffer buildStructureBuffer(PonderWorld world, RenderType layer) { @@ -434,9 +434,9 @@ public class WorldSectionElement extends AnimatedSceneElement { poseStack.translate(pos.getX(), pos.getY(), pos.getZ()); if (state.getRenderShape() == RenderShape.MODEL && ItemBlockRenderTypes.canRenderInLayer(state, layer)) { - BlockEntity tileEntity = world.getBlockEntity(pos); + BlockEntity blockEntity = world.getBlockEntity(pos); dispatcher.renderBatched(state, pos, world, poseStack, shadeSeparatingWrapper, true, random, - tileEntity != null ? tileEntity.getModelData() : EmptyModelData.INSTANCE); + blockEntity != null ? blockEntity.getModelData() : EmptyModelData.INSTANCE); } if (!fluidState.isEmpty() && ItemBlockRenderTypes.canRenderInLayer(fluidState, layer)) diff --git a/src/main/java/com/simibubi/create/foundation/ponder/instruction/AnimateTileEntityInstruction.java b/src/main/java/com/simibubi/create/foundation/ponder/instruction/AnimateBlockEntityInstruction.java similarity index 55% rename from src/main/java/com/simibubi/create/foundation/ponder/instruction/AnimateTileEntityInstruction.java rename to src/main/java/com/simibubi/create/foundation/ponder/instruction/AnimateBlockEntityInstruction.java index cd65b8a36..64d6d4321 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/instruction/AnimateTileEntityInstruction.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/instruction/AnimateBlockEntityInstruction.java @@ -4,17 +4,17 @@ import java.util.Optional; import java.util.function.BiConsumer; import java.util.function.Function; -import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity; -import com.simibubi.create.content.contraptions.components.structureMovement.bearing.IBearingTileEntity; -import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity; -import com.simibubi.create.content.logistics.trains.track.StandardBogeyTileEntity; +import com.simibubi.create.content.contraptions.components.deployer.DeployerBlockEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.bearing.IBearingBlockEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlockEntity; +import com.simibubi.create.content.logistics.trains.track.StandardBogeyBlockEntity; import com.simibubi.create.foundation.ponder.PonderScene; import com.simibubi.create.foundation.ponder.PonderWorld; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntity; -public class AnimateTileEntityInstruction extends TickingInstruction { +public class AnimateBlockEntityInstruction extends TickingInstruction { protected double deltaPerTick; protected double totalDelta; @@ -24,37 +24,37 @@ public class AnimateTileEntityInstruction extends TickingInstruction { private BiConsumer setter; private Function getter; - public static AnimateTileEntityInstruction bearing(BlockPos location, float totalDelta, int ticks) { - return new AnimateTileEntityInstruction(location, totalDelta, ticks, - (w, f) -> castIfPresent(w, location, IBearingTileEntity.class).ifPresent(bte -> bte.setAngle(f)), - (w) -> castIfPresent(w, location, IBearingTileEntity.class).map(bte -> bte.getInterpolatedAngle(0)) + public static AnimateBlockEntityInstruction bearing(BlockPos location, float totalDelta, int ticks) { + return new AnimateBlockEntityInstruction(location, totalDelta, ticks, + (w, f) -> castIfPresent(w, location, IBearingBlockEntity.class).ifPresent(bte -> bte.setAngle(f)), + (w) -> castIfPresent(w, location, IBearingBlockEntity.class).map(bte -> bte.getInterpolatedAngle(0)) .orElse(0f)); } - public static AnimateTileEntityInstruction bogey(BlockPos location, float totalDelta, int ticks) { + public static AnimateBlockEntityInstruction bogey(BlockPos location, float totalDelta, int ticks) { float movedPerTick = totalDelta / ticks; - return new AnimateTileEntityInstruction(location, totalDelta, ticks, - (w, f) -> castIfPresent(w, location, StandardBogeyTileEntity.class) + return new AnimateBlockEntityInstruction(location, totalDelta, ticks, + (w, f) -> castIfPresent(w, location, StandardBogeyBlockEntity.class) .ifPresent(bte -> bte.animate(f.equals(totalDelta) ? 0 : movedPerTick)), (w) -> 0f); } - public static AnimateTileEntityInstruction pulley(BlockPos location, float totalDelta, int ticks) { - return new AnimateTileEntityInstruction(location, totalDelta, ticks, - (w, f) -> castIfPresent(w, location, PulleyTileEntity.class).ifPresent(pulley -> pulley.animateOffset(f)), - (w) -> castIfPresent(w, location, PulleyTileEntity.class).map(pulley -> pulley.offset) + public static AnimateBlockEntityInstruction pulley(BlockPos location, float totalDelta, int ticks) { + return new AnimateBlockEntityInstruction(location, totalDelta, ticks, + (w, f) -> castIfPresent(w, location, PulleyBlockEntity.class).ifPresent(pulley -> pulley.animateOffset(f)), + (w) -> castIfPresent(w, location, PulleyBlockEntity.class).map(pulley -> pulley.offset) .orElse(0f)); } - public static AnimateTileEntityInstruction deployer(BlockPos location, float totalDelta, int ticks) { - return new AnimateTileEntityInstruction(location, totalDelta, ticks, - (w, f) -> castIfPresent(w, location, DeployerTileEntity.class) + public static AnimateBlockEntityInstruction deployer(BlockPos location, float totalDelta, int ticks) { + return new AnimateBlockEntityInstruction(location, totalDelta, ticks, + (w, f) -> castIfPresent(w, location, DeployerBlockEntity.class) .ifPresent(deployer -> deployer.setAnimatedOffset(f)), - (w) -> castIfPresent(w, location, DeployerTileEntity.class).map(deployer -> deployer.getHandOffset(1)) + (w) -> castIfPresent(w, location, DeployerBlockEntity.class).map(deployer -> deployer.getHandOffset(1)) .orElse(0f)); } - protected AnimateTileEntityInstruction(BlockPos location, float totalDelta, int ticks, + protected AnimateBlockEntityInstruction(BlockPos location, float totalDelta, int ticks, BiConsumer setter, Function getter) { super(false, ticks); this.location = location; @@ -82,10 +82,10 @@ public class AnimateTileEntityInstruction extends TickingInstruction { setter.accept(world, next); } - private static Optional castIfPresent(PonderWorld world, BlockPos pos, Class teType) { - BlockEntity tileEntity = world.getBlockEntity(pos); - if (teType.isInstance(tileEntity)) - return Optional.of(teType.cast(tileEntity)); + private static Optional castIfPresent(PonderWorld world, BlockPos pos, Class beType) { + BlockEntity blockEntity = world.getBlockEntity(pos); + if (beType.isInstance(blockEntity)) + return Optional.of(beType.cast(blockEntity)); return Optional.empty(); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/instruction/TileEntityDataInstruction.java b/src/main/java/com/simibubi/create/foundation/ponder/instruction/BlockEntityDataInstruction.java similarity index 63% rename from src/main/java/com/simibubi/create/foundation/ponder/instruction/TileEntityDataInstruction.java rename to src/main/java/com/simibubi/create/foundation/ponder/instruction/BlockEntityDataInstruction.java index e42ef5ddf..ea26323ba 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/instruction/TileEntityDataInstruction.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/instruction/BlockEntityDataInstruction.java @@ -2,21 +2,21 @@ package com.simibubi.create.foundation.ponder.instruction; import java.util.function.UnaryOperator; +import com.simibubi.create.foundation.blockEntity.SyncedBlockEntity; import com.simibubi.create.foundation.ponder.PonderScene; import com.simibubi.create.foundation.ponder.PonderWorld; import com.simibubi.create.foundation.ponder.Selection; -import com.simibubi.create.foundation.tileEntity.SyncedTileEntity; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.entity.BlockEntity; -public class TileEntityDataInstruction extends WorldModifyInstruction { +public class BlockEntityDataInstruction extends WorldModifyInstruction { private boolean redraw; private UnaryOperator data; private Class type; - public TileEntityDataInstruction(Selection selection, Class type, + public BlockEntityDataInstruction(Selection selection, Class type, UnaryOperator data, boolean redraw) { super(selection); this.type = type; @@ -31,13 +31,13 @@ public class TileEntityDataInstruction extends WorldModifyInstruction { if (!world.getBounds() .isInside(pos)) return; - BlockEntity tileEntity = world.getBlockEntity(pos); - if (!type.isInstance(tileEntity)) + BlockEntity blockEntity = world.getBlockEntity(pos); + if (!type.isInstance(blockEntity)) return; - CompoundTag apply = data.apply(tileEntity.saveWithFullMetadata()); - if (tileEntity instanceof SyncedTileEntity) - ((SyncedTileEntity) tileEntity).readClient(apply); - tileEntity.load(apply); + CompoundTag apply = data.apply(blockEntity.saveWithFullMetadata()); + if (blockEntity instanceof SyncedBlockEntity) + ((SyncedBlockEntity) blockEntity).readClient(apply); + blockEntity.load(apply); }); } diff --git a/src/main/java/com/simibubi/create/foundation/render/TileEntityRenderHelper.java b/src/main/java/com/simibubi/create/foundation/render/BlockEntityRenderHelper.java similarity index 70% rename from src/main/java/com/simibubi/create/foundation/render/TileEntityRenderHelper.java rename to src/main/java/com/simibubi/create/foundation/render/BlockEntityRenderHelper.java index 7615afb36..e3765289e 100644 --- a/src/main/java/com/simibubi/create/foundation/render/TileEntityRenderHelper.java +++ b/src/main/java/com/simibubi/create/foundation/render/BlockEntityRenderHelper.java @@ -26,40 +26,40 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; -public class TileEntityRenderHelper { +public class BlockEntityRenderHelper { - public static void renderTileEntities(Level world, Iterable customRenderTEs, PoseStack ms, + public static void renderBlockEntities(Level world, Iterable customRenderBEs, PoseStack ms, MultiBufferSource buffer) { - renderTileEntities(world, null, customRenderTEs, ms, null, buffer); + renderBlockEntities(world, null, customRenderBEs, ms, null, buffer); } - public static void renderTileEntities(Level world, Iterable customRenderTEs, PoseStack ms, + public static void renderBlockEntities(Level world, Iterable customRenderBEs, PoseStack ms, MultiBufferSource buffer, float pt) { - renderTileEntities(world, null, customRenderTEs, ms, null, buffer, pt); + renderBlockEntities(world, null, customRenderBEs, ms, null, buffer, pt); } - public static void renderTileEntities(Level world, @Nullable VirtualRenderWorld renderWorld, - Iterable customRenderTEs, PoseStack ms, @Nullable Matrix4f lightTransform, MultiBufferSource buffer) { - renderTileEntities(world, renderWorld, customRenderTEs, ms, lightTransform, buffer, + public static void renderBlockEntities(Level world, @Nullable VirtualRenderWorld renderWorld, + Iterable customRenderBEs, PoseStack ms, @Nullable Matrix4f lightTransform, MultiBufferSource buffer) { + renderBlockEntities(world, renderWorld, customRenderBEs, ms, lightTransform, buffer, AnimationTickHolder.getPartialTicks()); } - public static void renderTileEntities(Level world, @Nullable VirtualRenderWorld renderWorld, - Iterable customRenderTEs, PoseStack ms, @Nullable Matrix4f lightTransform, MultiBufferSource buffer, + public static void renderBlockEntities(Level world, @Nullable VirtualRenderWorld renderWorld, + Iterable customRenderBEs, PoseStack ms, @Nullable Matrix4f lightTransform, MultiBufferSource buffer, float pt) { - Iterator iterator = customRenderTEs.iterator(); + Iterator iterator = customRenderBEs.iterator(); while (iterator.hasNext()) { - BlockEntity tileEntity = iterator.next(); - if (Backend.getBackendType() == BackendType.INSTANCING && Backend.isFlywheelWorld(renderWorld) && InstancedRenderRegistry.shouldSkipRender(tileEntity)) + BlockEntity blockEntity = iterator.next(); + if (Backend.getBackendType() == BackendType.INSTANCING && Backend.isFlywheelWorld(renderWorld) && InstancedRenderRegistry.shouldSkipRender(blockEntity)) continue; - BlockEntityRenderer renderer = Minecraft.getInstance().getBlockEntityRenderDispatcher().getRenderer(tileEntity); + BlockEntityRenderer renderer = Minecraft.getInstance().getBlockEntityRenderDispatcher().getRenderer(blockEntity); if (renderer == null) { iterator.remove(); continue; } - BlockPos pos = tileEntity.getBlockPos(); + BlockPos pos = blockEntity.getBlockPos(); ms.pushPose(); TransformStack.cast(ms) .translate(pos); @@ -69,17 +69,17 @@ public class TileEntityRenderHelper { if (renderWorld != null) { // Swap the real world for the render world so that the renderer gets contraption-local information - tileEntity.setLevel(renderWorld); - renderer.render(tileEntity, pt, ms, buffer, worldLight, OverlayTexture.NO_OVERLAY); - tileEntity.setLevel(world); + blockEntity.setLevel(renderWorld); + renderer.render(blockEntity, pt, ms, buffer, worldLight, OverlayTexture.NO_OVERLAY); + blockEntity.setLevel(world); } else { - renderer.render(tileEntity, pt, ms, buffer, worldLight, OverlayTexture.NO_OVERLAY); + renderer.render(blockEntity, pt, ms, buffer, worldLight, OverlayTexture.NO_OVERLAY); } } catch (Exception e) { iterator.remove(); - String message = "BlockEntity " + RegisteredObjects.getKeyOrThrow(tileEntity.getType()) + String message = "BlockEntity " + RegisteredObjects.getKeyOrThrow(blockEntity.getType()) .toString() + " could not be rendered virtually."; if (AllConfigs.CLIENT.explainRenderErrors.get()) Create.LOGGER.error(message, e); diff --git a/src/main/java/com/simibubi/create/foundation/render/CachedBufferer.java b/src/main/java/com/simibubi/create/foundation/render/CachedBufferer.java index 278f51c43..791bf137e 100644 --- a/src/main/java/com/simibubi/create/foundation/render/CachedBufferer.java +++ b/src/main/java/com/simibubi/create/foundation/render/CachedBufferer.java @@ -18,12 +18,12 @@ import net.minecraft.world.level.block.state.BlockState; public class CachedBufferer { - public static final Compartment GENERIC_TILE = new Compartment<>(); + public static final Compartment GENERIC_BLOCK = new Compartment<>(); public static final Compartment PARTIAL = new Compartment<>(); public static final Compartment> DIRECTIONAL_PARTIAL = new Compartment<>(); public static SuperByteBuffer block(BlockState toRender) { - return block(GENERIC_TILE, toRender); + return block(GENERIC_BLOCK, toRender); } public static SuperByteBuffer block(Compartment compartment, BlockState toRender) { diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/RemoveTileEntityPacket.java b/src/main/java/com/simibubi/create/foundation/tileEntity/RemoveTileEntityPacket.java deleted file mode 100644 index cd883c34b..000000000 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/RemoveTileEntityPacket.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.simibubi.create.foundation.tileEntity; - -import com.simibubi.create.foundation.networking.TileEntityDataPacket; - -import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; - -public class RemoveTileEntityPacket extends TileEntityDataPacket { - - public RemoveTileEntityPacket(BlockPos pos) { - super(pos); - } - - public RemoveTileEntityPacket(FriendlyByteBuf buffer) { - super(buffer); - } - - @Override - protected void writeData(FriendlyByteBuf buffer) {} - - @Override - protected void handlePacket(SyncedTileEntity tile) { - if (!tile.hasLevel()) { - tile.setRemoved(); - return; - } - - tile.getLevel() - .removeBlockEntity(tilePos); - } - -} diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/BulkScrollValueBehaviour.java b/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/BulkScrollValueBehaviour.java deleted file mode 100644 index 8f5285100..000000000 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/scrollvalue/BulkScrollValueBehaviour.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue; - -import java.util.List; -import java.util.function.Function; - -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; - -import net.minecraft.network.chat.Component; - -public class BulkScrollValueBehaviour extends ScrollValueBehaviour { - - Function> groupGetter; - - public BulkScrollValueBehaviour(Component label, SmartTileEntity te, ValueBoxTransform slot, - Function> groupGetter) { - super(label, te, slot); - this.groupGetter = groupGetter; - } - - List getBulk() { - return groupGetter.apply(tileEntity); - } - -} diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/renderer/SmartTileEntityRenderer.java b/src/main/java/com/simibubi/create/foundation/tileEntity/renderer/SmartTileEntityRenderer.java deleted file mode 100644 index ee9da7390..000000000 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/renderer/SmartTileEntityRenderer.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.simibubi.create.foundation.tileEntity.renderer; - -import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringRenderer; -import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkRenderer; - -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; - -public class SmartTileEntityRenderer extends SafeTileEntityRenderer { - - public SmartTileEntityRenderer(BlockEntityRendererProvider.Context context) { - } - - @Override - protected void renderSafe(T tileEntityIn, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, - int overlay) { - FilteringRenderer.renderOnTileEntity(tileEntityIn, partialTicks, ms, buffer, light, overlay); - LinkRenderer.renderOnTileEntity(tileEntityIn, partialTicks, ms, buffer, light, overlay); - } - -} diff --git a/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java b/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java index 9023920d9..b093f4f30 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java @@ -5,8 +5,8 @@ import java.util.function.Consumer; import javax.annotation.Nullable; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.foundation.tileEntity.IMergeableTE; +import com.simibubi.create.content.contraptions.base.KineticBlockEntity; +import com.simibubi.create.foundation.blockEntity.IMergeableBE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -162,7 +162,7 @@ public class BlockHelper { if (world.random.nextFloat() < effectChance) world.levelEvent(2001, pos, Block.getId(state)); - BlockEntity tileentity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null; + BlockEntity blockEntity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null; if (player != null) { BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(world, pos, state, player); @@ -181,7 +181,7 @@ public class BlockHelper { if (world instanceof ServerLevel && world.getGameRules() .getBoolean(GameRules.RULE_DOBLOCKDROPS) && !world.restoringBlockSnapshots && (player == null || !player.isCreative())) { - for (ItemStack itemStack : Block.getDrops(state, (ServerLevel) world, pos, tileentity, player, usedTool)) + for (ItemStack itemStack : Block.getDrops(state, (ServerLevel) world, pos, blockEntity, player, usedTool)) droppedItemCallback.accept(itemStack); // Simulating IceBlock#playerDestroy. Not calling method directly as it would drop item @@ -237,7 +237,7 @@ public class BlockHelper { public static void placeSchematicBlock(Level world, BlockState state, BlockPos target, ItemStack stack, @Nullable CompoundTag data) { - BlockEntity existingTile = world.getBlockEntity(target); + BlockEntity existingBlockEntity = world.getBlockEntity(target); // Piston if (state.hasProperty(BlockStateProperties.EXTENDED)) @@ -278,22 +278,22 @@ public class BlockHelper { } if (data != null) { - if (existingTile instanceof IMergeableTE mergeable) { + if (existingBlockEntity instanceof IMergeableBE mergeable) { BlockEntity loaded = BlockEntity.loadStatic(target, state, data); - if (existingTile.getType() + if (existingBlockEntity.getType() .equals(loaded.getType())) { mergeable.accept(loaded); return; } } - BlockEntity tile = world.getBlockEntity(target); - if (tile != null) { + BlockEntity blockEntity = world.getBlockEntity(target); + if (blockEntity != null) { data.putInt("x", target.getX()); data.putInt("y", target.getY()); data.putInt("z", target.getZ()); - if (tile instanceof KineticTileEntity) - ((KineticTileEntity) tile).warnOfMovement(); - tile.load(data); + if (blockEntity instanceof KineticBlockEntity) + ((KineticBlockEntity) blockEntity).warnOfMovement(); + blockEntity.load(data); } } diff --git a/src/main/java/com/simibubi/create/foundation/utility/NBTProcessors.java b/src/main/java/com/simibubi/create/foundation/utility/NBTProcessors.java index 54a447d63..81a9357a4 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/NBTProcessors.java +++ b/src/main/java/com/simibubi/create/foundation/utility/NBTProcessors.java @@ -65,19 +65,19 @@ public final class NBTProcessors { } @Nullable - public static CompoundTag process(BlockEntity tileEntity, CompoundTag compound, boolean survival) { + public static CompoundTag process(BlockEntity blockEntity, CompoundTag compound, boolean survival) { if (compound == null) return null; - BlockEntityType type = tileEntity.getType(); + BlockEntityType type = blockEntity.getType(); if (survival && survivalProcessors.containsKey(type)) compound = survivalProcessors.get(type) .apply(compound); if (compound != null && processors.containsKey(type)) return processors.get(type) .apply(compound); - if (tileEntity instanceof SpawnerBlockEntity) + if (blockEntity instanceof SpawnerBlockEntity) return compound; - if (tileEntity.onlyOpCanSetNbt()) + if (blockEntity.onlyOpCanSetNbt()) return null; return compound; } diff --git a/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java b/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java index b9d0b7d28..ed53d8ea8 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java @@ -53,7 +53,7 @@ import static com.simibubi.create.content.palettes.AllPaletteBlocks.SPRUCE_WINDO import java.util.HashMap; import java.util.Map; -import com.simibubi.create.AllTileEntities; +import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.Create; import net.minecraft.resources.ResourceLocation; @@ -287,7 +287,7 @@ public class RemapHelper { String path = key.getPath(); if (path.equals("copper_backtank")) { - mapping.remap(AllTileEntities.BACKTANK.get()); + mapping.remap(AllBlockEntityTypes.BACKTANK.get()); } } } diff --git a/src/main/java/com/simibubi/create/foundation/utility/outliner/Outliner.java b/src/main/java/com/simibubi/create/foundation/utility/outliner/Outliner.java index c6f061cec..462d34a73 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/outliner/Outliner.java +++ b/src/main/java/com/simibubi/create/foundation/utility/outliner/Outliner.java @@ -7,8 +7,8 @@ import java.util.Map; import java.util.Optional; import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBox; import com.simibubi.create.foundation.render.SuperRenderTypeBuffer; -import com.simibubi.create.foundation.tileEntity.behaviour.ValueBox; import com.simibubi.create.foundation.utility.outliner.LineOutline.EndChasingLineOutline; import com.simibubi.create.foundation.utility.outliner.Outline.OutlineParams; diff --git a/src/main/java/com/simibubi/create/foundation/utility/recipe/RecipeConditions.java b/src/main/java/com/simibubi/create/foundation/utility/recipe/RecipeConditions.java index 9a21b9777..d605b09f9 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/recipe/RecipeConditions.java +++ b/src/main/java/com/simibubi/create/foundation/utility/recipe/RecipeConditions.java @@ -2,7 +2,7 @@ package com.simibubi.create.foundation.utility.recipe; import java.util.function.Predicate; -import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Recipe; diff --git a/src/main/resources/assets/create/lang/default/interface.json b/src/main/resources/assets/create/lang/default/interface.json index 791f99267..5edce6b5d 100644 --- a/src/main/resources/assets/create/lang/default/interface.json +++ b/src/main/resources/assets/create/lang/default/interface.json @@ -342,14 +342,14 @@ "create.gui.schematicannon.option.replaceWithAny": "Replace Solid with Any", "create.gui.schematicannon.option.replaceWithEmpty": "Replace Solid with Empty", "create.gui.schematicannon.option.skipMissing": "Skip missing Blocks", - "create.gui.schematicannon.option.skipTileEntities": "Protect Tile Entities", + "create.gui.schematicannon.option.skipBlockEntities": "Protect Block Entities", "create.gui.schematicannon.slot.gunpowder": "Add gunpowder to fuel the cannon", "create.gui.schematicannon.slot.listPrinter": "Place books here to print a Checklist for your Schematic", "create.gui.schematicannon.slot.schematic": "Add your Schematic here. Make sure it is deployed at a specific location.", "create.gui.schematicannon.option.skipMissing.description": "If the cannon cannot find a required Block for placement, it will continue at the next Location.", - "create.gui.schematicannon.option.skipTileEntities.description": "The cannon will avoid replacing data holding blocks such as Chests.", + "create.gui.schematicannon.option.skipBlockEntities.description": "The cannon will avoid replacing data holding blocks such as Chests.", "create.gui.schematicannon.option.dontReplaceSolid.description": "The cannon will never replace any Solid blocks in its working area, only non-Solid and Air.", "create.gui.schematicannon.option.replaceWithSolid.description": "The cannon will only replace Solid blocks in its working area if the Schematic contains a solid Block at the Location.", "create.gui.schematicannon.option.replaceWithAny.description": "The cannon will replace Solid blocks in its working area if the Schematic contains any Block at the Location.",