From f5412152a4b592fa0d7ecd1ea21ec52726c320f9 Mon Sep 17 00:00:00 2001 From: Sebastian Hartte Date: Sun, 28 Jun 2020 15:47:44 +0200 Subject: [PATCH] Utils ported --- api/src/main/java/appeng/api/parts/IPart.java | 6 +- .../java/appeng/helpers/AEGlassMaterial.java | 0 .../crafting/AbstractCraftingUnitBlock.java | 16 ++-- .../crafting/MolecularAssemblerBlock.java | 12 +-- .../appeng/block/grindstone/CrankBlock.java | 10 +-- .../appeng/block/grindstone/GrinderBlock.java | 2 +- .../appeng/block/misc/CellWorkbenchBlock.java | 2 +- .../java/appeng/block/misc/ChargerBlock.java | 25 +++---- .../appeng/block/misc/CondenserBlock.java | 4 +- .../appeng/block/misc/InscriberBlock.java | 2 +- .../appeng/block/misc/InscriberRendering.java | 2 +- .../appeng/block/misc/InterfaceBlock.java | 14 ++-- .../appeng/block/misc/LightDetectorBlock.java | 74 ++++++++----------- .../appeng/block/misc/QuartzFixtureBlock.java | 47 ++++++------ .../misc/QuartzGrowthAcceleratorBlock.java | 24 +++--- .../block/misc/SecurityStationBlock.java | 14 ++-- .../appeng/block/misc/SkyCompassBlock.java | 12 +-- .../block/misc/SkyCompassRendering.java | 2 +- .../java/appeng/block/misc/TinyTNTBlock.java | 53 ++++++------- .../block/misc/VibrationChamberBlock.java | 68 ++++++++--------- .../block/networking/CableBusBlock.java | 26 ++++--- .../block/networking/ControllerBlock.java | 12 +-- .../block/networking/EnergyAcceptorBlock.java | 2 +- .../block/networking/EnergyCellBlock.java | 6 +- .../block/networking/WirelessBlock.java | 14 ++-- .../block/paint/PaintSplotchesBlock.java | 6 +- .../appeng/block/qnb/QuantumBaseBlock.java | 16 ++-- .../block/qnb/QuantumLinkChamberBlock.java | 6 +- .../appeng/block/qnb/QuantumRingBlock.java | 6 +- .../block/spatial/MatrixFrameBlock.java | 8 +- .../block/spatial/SpatialIOPortBlock.java | 6 +- .../block/spatial/SpatialPylonBlock.java | 4 +- .../java/appeng/block/storage/ChestBlock.java | 10 +-- .../java/appeng/block/storage/DriveBlock.java | 2 +- .../appeng/block/storage/IOPortBlock.java | 6 +- .../appeng/block/storage/SkyChestBlock.java | 4 +- src/main/java/appeng/client/ClientHelper.java | 8 +- .../client/render/DelegateBakedModel.java | 2 +- .../DummyFluidDispatcherBakedModel.java | 4 +- .../client/render/FacingToRotation.java | 2 +- .../client/render/StackSizeRenderer.java | 6 +- .../client/render/TesrRenderHelper.java | 4 +- .../cablebus/CableBusBreakingParticle.java | 4 +- .../client/render/cablebus/CubeBuilder.java | 2 +- .../client/render/cablebus/QuadRotator.java | 2 +- .../crafting/EncodedPatternBakedModel.java | 12 +-- .../client/render/effects/ChargedOreFX.java | 8 +- .../client/render/effects/CraftingFx.java | 14 ++-- .../client/render/effects/EnergyFx.java | 2 +- .../render/effects/EnergyParticleData.java | 12 +-- .../client/render/effects/LightningArcFX.java | 4 +- .../effects/LightningArcParticleData.java | 14 ++-- .../client/render/effects/LightningFX.java | 12 +-- .../client/render/effects/MatterCannonFX.java | 10 +-- .../client/render/effects/ParticleTypes.java | 19 ++--- .../client/render/effects/VibrantFX.java | 12 +-- .../render/model/BiometricCardBakedModel.java | 2 +- .../model/ColorApplicatorBakedModel.java | 2 +- .../render/model/MemoryCardBakedModel.java | 2 +- .../client/render/model/UVLModelLoader.java | 4 +- .../render/renderable/ItemRenderable.java | 20 +++-- .../tesr/DriveLedTileEntityRenderer.java | 2 +- .../client/render/tesr/InscriberTESR.java | 4 +- .../client/render/tesr/SkyChestTESR.java | 2 +- .../implementations/QuartzKnifeContainer.java | 2 +- src/main/java/appeng/core/AppEng.java | 2 +- src/main/java/appeng/core/Registration.java | 2 +- .../core/api/definitions/ApiBlocks.java | 8 +- .../packets/BlockTransitionEffectPacket.java | 8 +- .../packets/ItemTransitionEffectPacket.java | 2 +- .../core/sync/packets/MatterCannonPacket.java | 2 +- .../sync/packets/MockExplosionPacket.java | 4 +- .../java/appeng/debug/ChunkLoaderBlock.java | 2 +- .../appeng/debug/ChunkLoaderBlockEntity.java | 4 +- .../java/appeng/debug/CubeGeneratorBlock.java | 2 +- .../debug/CubeGeneratorBlockEntity.java | 4 +- .../appeng/debug/EnergyGeneratorBlock.java | 2 +- .../debug/EnergyGeneratorBlockEntity.java | 4 +- src/main/java/appeng/debug/EraserItem.java | 2 +- src/main/java/appeng/debug/ItemGenBlock.java | 2 +- .../java/appeng/debug/PhantomNodeBlock.java | 2 +- .../solid/ChargedQuartzOreBlock.java | 4 +- .../decorative/solid/QuartzLampBlock.java | 2 +- .../decorative/solid/QuartzOreBlock.java | 2 +- .../decorative/solid/QuartzPillarBlock.java | 10 +-- .../decorative/solid/SkyStoneBlock.java | 4 +- .../appeng/entity/TinyTNTPrimedEntity.java | 18 ++--- .../appeng/entity/TinyTNTPrimedRenderer.java | 2 +- .../fluids/block/FluidInterfaceBlock.java | 4 +- .../parts/FluidAnnihilationPlanePart.java | 6 +- .../fluids/parts/FluidLevelEmitterPart.java | 2 +- .../fluids/parts/SharedFluidBusPart.java | 2 +- .../java/appeng/helpers/DualityInterface.java | 2 +- .../java/appeng/helpers/MetaRotation.java | 10 +-- .../java/appeng/items/parts/FacadeItem.java | 4 +- .../appeng/items/tools/MemoryCardItem.java | 4 +- .../appeng/items/tools/NetworkToolItem.java | 6 +- .../tools/powered/ColorApplicatorItem.java | 12 +-- .../tools/powered/EntropyManipulatorItem.java | 7 +- src/main/java/appeng/parts/AEBasePart.java | 4 +- .../java/appeng/parts/CableBusContainer.java | 12 +-- .../java/appeng/parts/ICableBusContainer.java | 4 +- .../appeng/parts/NullCableBusContainer.java | 4 +- src/main/java/appeng/parts/PartPlacement.java | 4 +- .../AbstractFormationPlanePart.java | 2 +- .../automation/AnnihilationPlanePart.java | 7 +- .../parts/automation/LevelEmitterPart.java | 2 +- .../parts/automation/SharedItemBusPart.java | 2 +- .../appeng/parts/misc/CableAnchorPart.java | 4 +- .../parts/misc/SharedStorageBusPart.java | 2 +- .../appeng/parts/misc/StorageBusPart.java | 2 +- .../java/appeng/parts/misc/ToggleBusPart.java | 2 +- .../appeng/parts/p2p/FluidP2PTunnelPart.java | 2 +- .../appeng/parts/p2p/ItemP2PTunnelPart.java | 2 +- .../appeng/parts/p2p/LightP2PTunnelPart.java | 6 +- .../parts/p2p/RedstoneP2PTunnelPart.java | 6 +- .../reporting/AbstractReportingPart.java | 2 +- src/main/java/appeng/spatial/CachedPlane.java | 4 +- .../java/appeng/spatial/StorageCellBiome.java | 8 +- .../java/appeng/spatial/StorageHelper.java | 2 +- .../codechicken/lib/model/Quad.java | 2 +- .../crafting/MolecularAssemblerRenderer.java | 4 +- .../tile/grindstone/CrankBlockEntity.java | 6 +- .../tile/grindstone/GrinderBlockEntity.java | 2 +- .../tile/misc/LightDetectorBlockEntity.java | 6 +- .../tile/misc/PaintSplotchesBlockEntity.java | 6 +- .../tile/qnb/QuantumBridgeBlockEntity.java | 6 +- .../tile/spatial/SpatialPylonBlockEntity.java | 4 +- .../appeng/tile/storage/ChestBlockEntity.java | 4 +- .../tile/storage/SkyChestBlockEntity.java | 8 +- .../meteorite/MeteoriteStructureStart.java | 4 +- .../meteorite/debug/MeteoriteSpawner.java | 12 +-- 132 files changed, 488 insertions(+), 528 deletions(-) rename {src => core/src}/main/java/appeng/helpers/AEGlassMaterial.java (100%) diff --git a/api/src/main/java/appeng/api/parts/IPart.java b/api/src/main/java/appeng/api/parts/IPart.java index 6ed58a021..c7f6d519e 100644 --- a/api/src/main/java/appeng/api/parts/IPart.java +++ b/api/src/main/java/appeng/api/parts/IPart.java @@ -133,7 +133,7 @@ public interface IPart extends ICustomCableConnection { /** * a block around the bus's host has been changed. */ - void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor); + void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor); /** * @return output redstone on facing side @@ -278,13 +278,13 @@ public interface IPart extends ICustomCableConnection { public float getCableConnectionLength(AECableType cable); /** - * same as Block.animateTick, for but parts. + * same as Block.randomDisplayTick, for but parts. * * @param world world of block * @param pos location of block * @param r random */ - void animateTick(World world, BlockPos pos, Random r); + void randomDisplayTick(World world, BlockPos pos, Random r); /** * Called when placed in the world by a player, this happens before addWorld. diff --git a/src/main/java/appeng/helpers/AEGlassMaterial.java b/core/src/main/java/appeng/helpers/AEGlassMaterial.java similarity index 100% rename from src/main/java/appeng/helpers/AEGlassMaterial.java rename to core/src/main/java/appeng/helpers/AEGlassMaterial.java diff --git a/src/main/java/appeng/block/crafting/AbstractCraftingUnitBlock.java b/src/main/java/appeng/block/crafting/AbstractCraftingUnitBlock.java index 8d8f6346b..049ed2959 100644 --- a/src/main/java/appeng/block/crafting/AbstractCraftingUnitBlock.java +++ b/src/main/java/appeng/block/crafting/AbstractCraftingUnitBlock.java @@ -21,8 +21,8 @@ package appeng.block.crafting; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.state.BooleanProperty; -import net.minecraft.state.StateContainer; +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.state.StateManager; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; @@ -36,8 +36,8 @@ import appeng.container.implementations.CraftingCPUContainer; import appeng.tile.crafting.CraftingBlockEntity; public abstract class AbstractCraftingUnitBlock extends AEBaseTileBlock { - public static final BooleanProperty FORMED = BooleanProperty.create("formed"); - public static final BooleanProperty POWERED = BooleanProperty.create("powered"); + public static final BooleanProperty FORMED = BooleanProperty.of("formed"); + public static final BooleanProperty POWERED = BooleanProperty.of("powered"); public final CraftingUnitType type; @@ -48,14 +48,14 @@ public abstract class AbstractCraftingUnitBlock e } @Override - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(POWERED); builder.add(FORMED); } @Override - public void neighborChanged(final BlockState state, final World worldIn, final BlockPos pos, final Block blockIn, + public void neighborUpdate(final BlockState state, final World worldIn, final BlockPos pos, final Block blockIn, final BlockPos fromPos, boolean isMoving) { final CraftingBlockEntity cp = this.getBlockEntity(worldIn, pos); if (cp != null) { @@ -85,7 +85,7 @@ public abstract class AbstractCraftingUnitBlock e if (tg != null && !p.isInSneakingPose() && tg.isFormed() && tg.isActive()) { if (!w.isClient()) { ContainerOpener.openContainer(CraftingCPUContainer.TYPE, p, - ContainerLocator.forTileEntitySide(tg, hit.getFace())); + ContainerLocator.forTileEntitySide(tg, hit.getSide())); } return ActionResult.SUCCESS; diff --git a/src/main/java/appeng/block/crafting/MolecularAssemblerBlock.java b/src/main/java/appeng/block/crafting/MolecularAssemblerBlock.java index 88df50258..26ad70102 100644 --- a/src/main/java/appeng/block/crafting/MolecularAssemblerBlock.java +++ b/src/main/java/appeng/block/crafting/MolecularAssemblerBlock.java @@ -21,8 +21,8 @@ package appeng.block.crafting; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.state.BooleanProperty; -import net.minecraft.state.StateContainer; +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.state.StateManager; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.hit.BlockHitResult; @@ -37,7 +37,7 @@ import appeng.tile.crafting.MolecularAssemblerBlockEntity; public class MolecularAssemblerBlock extends AEBaseTileBlock { - public static final BooleanProperty POWERED = BooleanProperty.create("powered"); + public static final BooleanProperty POWERED = BooleanProperty.of("powered"); public MolecularAssemblerBlock(Settings props) { super(props); @@ -45,8 +45,8 @@ public class MolecularAssemblerBlock extends AEBaseTileBlock builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(POWERED); } @@ -62,7 +62,7 @@ public class MolecularAssemblerBlock extends AEBaseTileBlock { } @Override - public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { final AEBaseBlockEntity tile = this.getBlockEntity(world, pos); if (tile != null) { @@ -135,7 +135,7 @@ public class CrankBlock extends AEBaseTileBlock { } @Override - public boolean isValidPosition(BlockState state, IWorldReader w, BlockPos pos) { + public boolean canPlaceAt(BlockState state, WorldView w, BlockPos pos) { return this.findCrankable(w, pos) != null; } @@ -145,7 +145,7 @@ public class CrankBlock extends AEBaseTileBlock { } @Override - public VoxelShape getShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { Direction up = getUp(world, pos); if (up == null) { @@ -155,7 +155,7 @@ public class CrankBlock extends AEBaseTileBlock { final double xOff = -0.15 * up.getOffsetX(); final double yOff = -0.15 * up.getOffsetY(); final double zOff = -0.15 * up.getOffsetZ(); - return VoxelShapes.create( + return VoxelShapes.cuboid( new Box(xOff + 0.15, yOff + 0.15, zOff + 0.15, xOff + 0.85, yOff + 0.85, zOff + 0.85)); } diff --git a/src/main/java/appeng/block/grindstone/GrinderBlock.java b/src/main/java/appeng/block/grindstone/GrinderBlock.java index cd3937011..d10b70c10 100644 --- a/src/main/java/appeng/block/grindstone/GrinderBlock.java +++ b/src/main/java/appeng/block/grindstone/GrinderBlock.java @@ -48,7 +48,7 @@ public class GrinderBlock extends AEBaseTileBlock { if (tg != null && !p.isInSneakingPose()) { if (p instanceof ServerPlayerEntity) { ContainerOpener.openContainer(GrinderContainer.TYPE, p, - ContainerLocator.forTileEntitySide(tg, hit.getFace())); + ContainerLocator.forTileEntitySide(tg, hit.getSide())); } return ActionResult.SUCCESS; } diff --git a/src/main/java/appeng/block/misc/CellWorkbenchBlock.java b/src/main/java/appeng/block/misc/CellWorkbenchBlock.java index eaccab156..c04136f86 100644 --- a/src/main/java/appeng/block/misc/CellWorkbenchBlock.java +++ b/src/main/java/appeng/block/misc/CellWorkbenchBlock.java @@ -38,7 +38,7 @@ import appeng.util.Platform; public class CellWorkbenchBlock extends AEBaseTileBlock { public CellWorkbenchBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } @Override diff --git a/src/main/java/appeng/block/misc/ChargerBlock.java b/src/main/java/appeng/block/misc/ChargerBlock.java index c2fe85103..aee096ca6 100644 --- a/src/main/java/appeng/block/misc/ChargerBlock.java +++ b/src/main/java/appeng/block/misc/ChargerBlock.java @@ -25,6 +25,8 @@ import javax.annotation.Nullable; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.render.model.json.Transformation; +import net.minecraft.client.util.math.AffineTransformation; import net.minecraft.util.math.Box; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; @@ -32,8 +34,7 @@ import org.apache.commons.lang3.tuple.Pair; import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.renderer.TransformationMatrix; -import net.minecraft.client.renderer.Vector3f; +import net.minecraft.client.util.math.Vector3f; import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; import net.minecraft.entity.player.PlayerEntity; @@ -63,9 +64,7 @@ import appeng.util.Platform; public class ChargerBlock extends AEBaseTileBlock { public ChargerBlock() { - super(defaultProps(Material.IRON).notSolid()); - - this.setFullSize(this.setOpaque(false)); + super(defaultProps(Material.METAL)); } @Override @@ -92,7 +91,7 @@ public class ChargerBlock extends AEBaseTileBlock { @Override @Environment(EnvType.CLIENT) - public void animateTick(final BlockState state, final World w, final BlockPos pos, final Random r) { + public void randomDisplayTick(final BlockState state, final World w, final BlockPos pos, final Random r) { if (!AEConfig.instance().isEnableEffects()) { return; } @@ -111,7 +110,7 @@ public class ChargerBlock extends AEBaseTileBlock { for (int bolts = 0; bolts < 3; bolts++) { if (AppEng.proxy.shouldAddParticles(r)) { - MinecraftClient.getInstance().particles.addParticle(ParticleTypes.LIGHTNING, xOff + 0.5 + pos.getX(), + MinecraftClient.getInstance().particleManager.addParticle(ParticleTypes.LIGHTNING, xOff + 0.5 + pos.getX(), yOff + 0.5 + pos.getY(), zOff + 0.5 + pos.getZ(), 0.0, 0.0, 0.0); } } @@ -120,7 +119,7 @@ public class ChargerBlock extends AEBaseTileBlock { } @Override - public VoxelShape getShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { + public VoxelShape getOutlineShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { final ChargerBlockEntity tile = this.getBlockEntity(w, pos); if (tile != null) { @@ -166,15 +165,15 @@ public class ChargerBlock extends AEBaseTileBlock { break; } - return VoxelShapes.create(bb.getBoundingBox()); + return VoxelShapes.cuboid(bb.getBoundingBox()); } - return VoxelShapes.create(new Box(0.0, 0, 0.0, 1.0, 1.0, 1.0)); + return VoxelShapes.cuboid(new Box(0.0, 0, 0.0, 1.0, 1.0, 1.0)); } @Override public VoxelShape getCollisionShape(BlockState state, BlockView worldIn, BlockPos pos, ShapeContext context) { - return VoxelShapes.create(new Box(0.0, 0.0, 0.0, 1.0, 1.0, 1.0)); + return VoxelShapes.cuboid(new Box(0.0, 0.0, 0.0, 1.0, 1.0, 1.0)); } @Environment(EnvType.CLIENT) @@ -183,8 +182,8 @@ public class ChargerBlock extends AEBaseTileBlock { } @Environment(EnvType.CLIENT) - private static Pair getRenderedItem(ChargerBlockEntity tile) { - TransformationMatrix transform = new TransformationMatrix(new Vector3f(0.5f, 0.375f, 0.5f), null, null, null); + private static Pair getRenderedItem(ChargerBlockEntity tile) { + Transformation transform = new Transformation(new Vector3f(), new Vector3f(0.5f, 0.375f, 0.5f), new Vector3f(1f, 1f, 1f)); return new ImmutablePair<>(tile.getInternalInventory().getInvStack(0), transform); } diff --git a/src/main/java/appeng/block/misc/CondenserBlock.java b/src/main/java/appeng/block/misc/CondenserBlock.java index ea1557af0..ebd62fb7a 100644 --- a/src/main/java/appeng/block/misc/CondenserBlock.java +++ b/src/main/java/appeng/block/misc/CondenserBlock.java @@ -39,7 +39,7 @@ import appeng.util.Platform; public class CondenserBlock extends AEBaseTileBlock { public CondenserBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } @Override @@ -53,7 +53,7 @@ public class CondenserBlock extends AEBaseTileBlock { final CondenserBlockEntity tc = this.getBlockEntity(w, pos); if (tc != null && !player.isInSneakingPose()) { ContainerOpener.openContainer(CondenserContainer.TYPE, player, - ContainerLocator.forTileEntitySide(tc, hit.getFace())); + ContainerLocator.forTileEntitySide(tc, hit.getSide())); return ActionResult.SUCCESS; } } diff --git a/src/main/java/appeng/block/misc/InscriberBlock.java b/src/main/java/appeng/block/misc/InscriberBlock.java index 50fa7bb4d..175c955b2 100644 --- a/src/main/java/appeng/block/misc/InscriberBlock.java +++ b/src/main/java/appeng/block/misc/InscriberBlock.java @@ -56,7 +56,7 @@ public class InscriberBlock extends AEBaseTileBlock { if (tg != null) { if (!tg.isClient()) { ContainerOpener.openContainer(InscriberContainer.TYPE, p, - ContainerLocator.forTileEntitySide(tg, hit.getFace())); + ContainerLocator.forTileEntitySide(tg, hit.getSide())); } return ActionResult.SUCCESS; } diff --git a/src/main/java/appeng/block/misc/InscriberRendering.java b/src/main/java/appeng/block/misc/InscriberRendering.java index 815261dd5..1e3b6cd6c 100644 --- a/src/main/java/appeng/block/misc/InscriberRendering.java +++ b/src/main/java/appeng/block/misc/InscriberRendering.java @@ -9,7 +9,7 @@ import appeng.bootstrap.TileEntityRenderingCustomizer; import appeng.client.render.tesr.InscriberTESR; import appeng.tile.misc.InscriberBlockEntity; -public class InscriberRendering extends TileEntityRenderingCustomizer { +public class InscriberRendering implements TileEntityRenderingCustomizer { @Environment(EnvType.CLIENT) @Override diff --git a/src/main/java/appeng/block/misc/InterfaceBlock.java b/src/main/java/appeng/block/misc/InterfaceBlock.java index 26414f3da..daae28158 100644 --- a/src/main/java/appeng/block/misc/InterfaceBlock.java +++ b/src/main/java/appeng/block/misc/InterfaceBlock.java @@ -25,8 +25,8 @@ import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.state.BooleanProperty; -import net.minecraft.state.StateContainer; +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.state.StateManager; import net.minecraft.util.ActionResult; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.Direction; @@ -44,15 +44,15 @@ import appeng.util.Platform; public class InterfaceBlock extends AEBaseTileBlock { - private static final BooleanProperty OMNIDIRECTIONAL = BooleanProperty.create("omnidirectional"); + private static final BooleanProperty OMNIDIRECTIONAL = BooleanProperty.of("omnidirectional"); public InterfaceBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } @Override - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(OMNIDIRECTIONAL); } @@ -72,7 +72,7 @@ public class InterfaceBlock extends AEBaseTileBlock { if (tg != null) { if (Platform.isServer()) { ContainerOpener.openContainer(InterfaceContainer.TYPE, p, - ContainerLocator.forTileEntitySide(tg, hit.getFace())); + ContainerLocator.forTileEntitySide(tg, hit.getSide())); } return ActionResult.SUCCESS; } diff --git a/src/main/java/appeng/block/misc/LightDetectorBlock.java b/src/main/java/appeng/block/misc/LightDetectorBlock.java index 6f3f2e6db..bf090f08a 100644 --- a/src/main/java/appeng/block/misc/LightDetectorBlock.java +++ b/src/main/java/appeng/block/misc/LightDetectorBlock.java @@ -18,23 +18,18 @@ package appeng.block.misc; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.block.Material; -import net.minecraft.state.BooleanProperty; -import net.minecraft.state.StateContainer; -import net.minecraft.state.properties.BlockStateProperties; +import net.minecraft.block.*; +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.Properties; import net.minecraft.util.math.Box; import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.block.ShapeContext; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; import net.minecraft.world.BlockView; import net.minecraft.world.WorldAccess; -import net.minecraft.world.IWorldReader; +import net.minecraft.world.WorldView; import net.minecraft.world.World; import appeng.api.util.IOrientable; @@ -46,44 +41,48 @@ import appeng.tile.misc.LightDetectorBlockEntity; public class LightDetectorBlock extends AEBaseTileBlock implements IOrientableBlock { // Used to alternate between two variants of the fixture on adjacent blocks - public static final BooleanProperty ODD = BooleanProperty.create("odd"); + public static final BooleanProperty ODD = BooleanProperty.of("odd"); public LightDetectorBlock() { - super(defaultProps(Material.MISCELLANEOUS).notSolid()); - - this.setDefaultState(this.getDefaultState().with(BlockStateProperties.FACING, Direction.UP).with(ODD, false)); + super(defaultProps(Material.SUPPORTED)); + this.setDefaultState(this.getDefaultState().with(Properties.FACING, Direction.UP).with(ODD, false)); } @Override - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); - builder.add(BlockStateProperties.FACING); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); + builder.add(Properties.FACING); builder.add(ODD); } @Override - public int getWeakPower(final BlockState state, final BlockView w, final BlockPos pos, final Direction side) { + public int getWeakRedstonePower(final BlockState state, final BlockView w, final BlockPos pos, final Direction side) { if (w instanceof World && this.getBlockEntity(w, pos).isReady()) { // FIXME: This is ... uhm... fishy - return ((World) w).getLight(pos) - 6; + return ((World) w).getLightLevel(pos) - 6; } return 0; } @Override - public void onNeighborChange(BlockState state, IWorldReader world, BlockPos pos, BlockPos neighbor) { - super.onNeighborChange(state, world, pos, neighbor); + public boolean emitsRedstonePower(BlockState state) { + return true; + } + + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState newState, WorldAccess world, BlockPos pos, BlockPos posFrom) { + final Direction up = this.getOrientable(world, pos).getUp(); + if (!this.canPlaceAt(world, pos, up.getOpposite())) { + // FIXME: Double check that this actually updates neighbors + return Blocks.AIR.getDefaultState(); + } final LightDetectorBlockEntity tld = this.getBlockEntity(world, pos); if (tld != null) { tld.updateLight(); } - } - @Override - public void animateTick(final BlockState state, final World worldIn, final BlockPos pos, final Random rand) { - // cancel out lightning + return state; } @Override @@ -94,11 +93,11 @@ public class LightDetectorBlock extends AEBaseTileBlock builder) { + protected void appendProperties(StateManager.Builder builder) { builder.add(FACING, ODD); } // For reference, see WallTorchBlock @Override @Nullable - public BlockState getStateForPlacement(ItemPlacementContext context) { - BlockState blockstate = super.getStateForPlacement(context); + public BlockState getPlacementState(ItemPlacementContext context) { + BlockState blockstate = super.getPlacementState(context); BlockPos pos = context.getBlockPos(); // Set the even/odd property boolean oddPlacement = ((pos.getX() + pos.getY() + pos.getZ()) % 2) != 0; blockstate = blockstate.with(ODD, oddPlacement); - IWorldReader iworldreader = context.getWorld(); - Direction[] adirection = context.getNearestLookingDirections(); + WorldView iworldreader = context.getWorld(); + Direction[] adirection = context.getPlacementDirections(); for (Direction direction : adirection) { if (canPlaceAt(iworldreader, pos, direction)) { @@ -117,7 +117,7 @@ public class QuartzFixtureBlock extends AEBaseBlock implements IOrientableBlock // Break the fixture if the block it is attached to is changed so that it could // no longer be placed @Override - public BlockState updatePostPlacement(BlockState state, Direction facing, BlockState facingState, WorldAccess worldIn, + public BlockState getStateForNeighborUpdate(BlockState state, Direction facing, BlockState facingState, WorldAccess worldIn, BlockPos pos, BlockPos facingPos) { Direction fixtureFacing = state.get(FACING); if (facing.getOpposite() == fixtureFacing && !canPlaceAt(worldIn, pos, facing)) { @@ -133,21 +133,21 @@ public class QuartzFixtureBlock extends AEBaseBlock implements IOrientableBlock return this.canPlaceAt(w, pos, up.getOpposite()); } - private boolean canPlaceAt(final IWorldReader w, final BlockPos pos, final Direction dir) { + private boolean canPlaceAt(final WorldView w, final BlockPos pos, final Direction dir) { final BlockPos test = pos.offset(dir); BlockState blockstate = w.getBlockState(test); - return blockstate.isSolidSide(w, test, dir.getOpposite()); + return blockstate.isSideSolidFullSquare(w, test, dir.getOpposite()); } @Override - public VoxelShape getShape(BlockState state, BlockView worldIn, BlockPos pos, ShapeContext context) { + public VoxelShape getOutlineShape(BlockState state, BlockView worldIn, BlockPos pos, ShapeContext context) { Direction facing = state.get(FACING); return SHAPES.get(facing); } @Override @Environment(EnvType.CLIENT) - public void animateTick(final BlockState state, final World w, final BlockPos pos, final Random r) { + public void randomDisplayTick(final BlockState state, final World w, final BlockPos pos, final Random r) { if (!AEConfig.instance().isEnableEffects()) { return; } @@ -170,7 +170,7 @@ public class QuartzFixtureBlock extends AEBaseBlock implements IOrientableBlock // FIXME: Replaced by the postPlaceupdate stuff above, but check item drops! @Override - public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { final Direction up = this.getOrientable(world, pos).getUp(); if (!this.canPlaceAt(world, pos, up.getOpposite())) { @@ -185,7 +185,7 @@ public class QuartzFixtureBlock extends AEBaseBlock implements IOrientableBlock } @Override - public boolean isValidPosition(BlockState state, IWorldReader w, BlockPos pos) { + public boolean canPlaceAt(BlockState state, WorldView w, BlockPos pos) { for (final Direction dir : Direction.values()) { if (this.canPlaceAt(w, pos, dir)) { return true; @@ -199,9 +199,4 @@ public class QuartzFixtureBlock extends AEBaseBlock implements IOrientableBlock return new MetaRotation(w, pos, FACING); } - @Override - public boolean isOpaque() { - return false; - } - } diff --git a/src/main/java/appeng/block/misc/QuartzGrowthAcceleratorBlock.java b/src/main/java/appeng/block/misc/QuartzGrowthAcceleratorBlock.java index 05ddee253..26aca0f34 100644 --- a/src/main/java/appeng/block/misc/QuartzGrowthAcceleratorBlock.java +++ b/src/main/java/appeng/block/misc/QuartzGrowthAcceleratorBlock.java @@ -26,8 +26,8 @@ import net.minecraft.block.BlockState; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.block.Material; import net.minecraft.client.MinecraftClient; -import net.minecraft.state.BooleanProperty; -import net.minecraft.state.StateContainer; +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.state.StateManager; import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -44,7 +44,7 @@ import appeng.util.Platform; public class QuartzGrowthAcceleratorBlock extends AEBaseTileBlock implements IOrientableBlock { - private static final BooleanProperty POWERED = BooleanProperty.create("powered"); + private static final BooleanProperty POWERED = BooleanProperty.of("powered"); public QuartzGrowthAcceleratorBlock() { super(defaultProps(Material.STONE).sounds(BlockSoundGroup.METAL)); @@ -57,14 +57,14 @@ public class QuartzGrowthAcceleratorBlock extends AEBaseTileBlock builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(POWERED); } @Environment(EnvType.CLIENT) @Override - public void animateTick(final BlockState state, final World w, final BlockPos pos, final Random r) { + public void randomDisplayTick(final BlockState state, final World w, final BlockPos pos, final Random r) { if (!AEConfig.instance().isEnableEffects()) { return; } @@ -99,30 +99,30 @@ public class QuartzGrowthAcceleratorBlock extends AEBaseTileBlock { - private static final BooleanProperty POWERED = BooleanProperty.create("powered"); + private static final BooleanProperty POWERED = BooleanProperty.of("powered"); public SecurityStationBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); this.setDefaultState(this.getDefaultState().with(POWERED, false)); } @Override - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(POWERED); } @@ -74,7 +74,7 @@ public class SecurityStationBlock extends AEBaseTileBlock { private boolean canPlaceAt(final BlockView w, final BlockPos pos, final Direction dir) { final BlockPos test = pos.offset(dir); BlockState blockstate = w.getBlockState(test); - return blockstate.isSolidSide(w, test, dir.getOpposite()); + return blockstate.isSideSolidFullSquare(w, test, dir.getOpposite()); } @Override - public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { final SkyCompassBlockEntity sc = this.getBlockEntity(world, pos); final Direction forward = sc.getForward(); @@ -73,7 +73,7 @@ public class SkyCompassBlock extends AEBaseTileBlock { } @Override - public boolean isValidPosition(BlockState state, IWorldReader w, BlockPos pos) { + public boolean canPlaceAt(BlockState state, WorldView w, BlockPos pos) { for (final Direction dir : Direction.values()) { if (this.canPlaceAt(w, pos, dir)) { return true; @@ -83,7 +83,7 @@ public class SkyCompassBlock extends AEBaseTileBlock { } @Override - public VoxelShape getShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { + public VoxelShape getOutlineShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { // TODO: This definitely needs to be memoized @@ -139,7 +139,7 @@ public class SkyCompassBlock extends AEBaseTileBlock { break; } - return VoxelShapes.create(new Box(minX, minY, minZ, maxX, maxY, maxZ)); + return VoxelShapes.cuboid(new Box(minX, minY, minZ, maxX, maxY, maxZ)); } return VoxelShapes.empty(); } diff --git a/src/main/java/appeng/block/misc/SkyCompassRendering.java b/src/main/java/appeng/block/misc/SkyCompassRendering.java index c0369991d..899f82ae4 100644 --- a/src/main/java/appeng/block/misc/SkyCompassRendering.java +++ b/src/main/java/appeng/block/misc/SkyCompassRendering.java @@ -26,7 +26,7 @@ import appeng.bootstrap.TileEntityRenderingCustomizer; import appeng.client.render.tesr.SkyCompassTESR; import appeng.tile.misc.SkyCompassBlockEntity; -public class SkyCompassRendering extends TileEntityRenderingCustomizer { +public class SkyCompassRendering implements TileEntityRenderingCustomizer { @Override @Environment(EnvType.CLIENT) diff --git a/src/main/java/appeng/block/misc/TinyTNTBlock.java b/src/main/java/appeng/block/misc/TinyTNTBlock.java index 9a757f962..eb8d9f61b 100644 --- a/src/main/java/appeng/block/misc/TinyTNTBlock.java +++ b/src/main/java/appeng/block/misc/TinyTNTBlock.java @@ -25,23 +25,22 @@ import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.projectile.AbstractArrowEntity; +import net.minecraft.entity.projectile.PersistentProjectileEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; +import net.minecraft.sound.SoundEvents; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; -import net.minecraft.util.SoundCategory; -import net.minecraft.util.SoundEvents; +import net.minecraft.sound.SoundCategory; import net.minecraft.util.math.Box; import net.minecraft.util.math.BlockPos; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.block.ShapeContext; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; -import net.minecraft.world.Explosion; +import net.minecraft.world.explosion.Explosion; import net.minecraft.world.BlockView; import net.minecraft.world.World; -import net.minecraft.server.world.ServerWorld; import appeng.block.AEBaseBlock; import appeng.entity.TinyTNTPrimedEntity; @@ -49,11 +48,10 @@ import appeng.entity.TinyTNTPrimedEntity; public class TinyTNTBlock extends AEBaseBlock { private static final VoxelShape SHAPE = VoxelShapes - .create(new Box(0.25f, 0.0f, 0.25f, 0.75f, 0.5f, 0.75f)); + .cuboid(new Box(0.25f, 0.0f, 0.25f, 0.75f, 0.5f, 0.75f)); public TinyTNTBlock(Settings props) { super(props); - setFullSize(setOpaque(false)); } @Override @@ -62,7 +60,7 @@ public class TinyTNTBlock extends AEBaseBlock { } @Override - public VoxelShape getShape(BlockState state, BlockView worldIn, BlockPos pos, ShapeContext context) { + public VoxelShape getOutlineShape(BlockState state, BlockView worldIn, BlockPos pos, ShapeContext context) { return SHAPE; } @@ -72,8 +70,8 @@ public class TinyTNTBlock extends AEBaseBlock { if (heldItem != null && heldItem.getItem() == Items.FLINT_AND_STEEL) { this.startFuse(w, pos, player); w.removeBlock(pos, false); - heldItem.damageItem(1, player, p -> { - p.sendBreakAnimation(hand); + heldItem.damage(1, player, p -> { + p.sendToolBreakStatus(hand); }); // FIXME Check if onBroken is equivalent return ActionResult.SUCCESS; } else { @@ -92,9 +90,8 @@ public class TinyTNTBlock extends AEBaseBlock { } @Override - public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, - boolean isMoving) { - if (world.getRedstonePowerFromNeighbors(pos) > 0) { + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block block, BlockPos fromPos, boolean notify) { + if (world.isReceivingRedstonePower(pos)) { this.startFuse(world, pos, null); world.removeBlock(pos, false); } @@ -104,27 +101,23 @@ public class TinyTNTBlock extends AEBaseBlock { public void onBlockAdded(BlockState state, World w, BlockPos pos, BlockState oldState, boolean isMoving) { super.onBlockAdded(state, w, pos, oldState, isMoving); - if (w.getRedstonePowerFromNeighbors(pos) > 0) { + if (w.getReceivedStrongRedstonePower(pos) > 0) { this.startFuse(w, pos, null); w.removeBlock(pos, false); } } @Override - public void onEntityWalk(final World w, final BlockPos pos, final Entity entity) { - if (entity instanceof AbstractArrowEntity && !w.isClient) { - final AbstractArrowEntity entityarrow = (AbstractArrowEntity) entity; + public void onSteppedOn(final World w, final BlockPos pos, final Entity entity) { + if (entity instanceof PersistentProjectileEntity && !w.isClient) { + final PersistentProjectileEntity entityarrow = (PersistentProjectileEntity) entity; - if (entityarrow.isBurning()) { + if (entityarrow.isOnFire()) { LivingEntity igniter = null; // Check if the shooter still exists - if (w instanceof ServerWorld) { - ServerWorld serverWorld = (ServerWorld) w; - Entity shooter = serverWorld.getEntityByUuid(entityarrow.shootingEntity); - if (shooter instanceof LivingEntity) { - igniter = (LivingEntity) shooter; - } - + Entity shooter = entityarrow.getOwner(); + if (shooter instanceof LivingEntity) { + igniter = (LivingEntity) shooter; } this.startFuse(w, pos, igniter); w.removeBlock(pos, false); @@ -133,18 +126,18 @@ public class TinyTNTBlock extends AEBaseBlock { } @Override - public boolean canDropFromExplosion(final Explosion exp) { + public boolean shouldDropItemsOnExplosion(final Explosion exp) { return false; } @Override - public void onExplosionDestroy(final World w, final BlockPos pos, final Explosion exp) { - super.onExplosionDestroy(w, pos, exp); + public void onDestroyedByExplosion(final World w, final BlockPos pos, final Explosion exp) { + super.onDestroyedByExplosion(w, pos, exp); if (!w.isClient) { final TinyTNTPrimedEntity primedTinyTNTEntity = new TinyTNTPrimedEntity(w, pos.getX() + 0.5F, - pos.getY() + 0.5F, pos.getZ() + 0.5F, exp.getExplosivePlacedBy()); + pos.getY() + 0.5F, pos.getZ() + 0.5F, exp.getCausingEntity()); primedTinyTNTEntity - .setFuse(w.rand.nextInt(primedTinyTNTEntity.getFuse() / 4) + primedTinyTNTEntity.getFuse() / 8); + .setFuse(w.random.nextInt(primedTinyTNTEntity.getFuse() / 4) + primedTinyTNTEntity.getFuse() / 8); w.spawnEntity(primedTinyTNTEntity); } } diff --git a/src/main/java/appeng/block/misc/VibrationChamberBlock.java b/src/main/java/appeng/block/misc/VibrationChamberBlock.java index b4add17b8..9abfc635d 100644 --- a/src/main/java/appeng/block/misc/VibrationChamberBlock.java +++ b/src/main/java/appeng/block/misc/VibrationChamberBlock.java @@ -27,9 +27,9 @@ import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.particles.ParticleTypes; -import net.minecraft.state.BooleanProperty; -import net.minecraft.state.StateContainer; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.state.StateManager; import net.minecraft.util.ActionResult; import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; @@ -42,17 +42,16 @@ import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.VibrationChamberContainer; import appeng.core.AEConfig; -import appeng.tile.AEBaseBlockEntity; import appeng.tile.misc.VibrationChamberBlockEntity; import appeng.util.Platform; public final class VibrationChamberBlock extends AEBaseTileBlock { // Indicates that the vibration chamber is currently working - private static final BooleanProperty ACTIVE = BooleanProperty.create("active"); + private static final BooleanProperty ACTIVE = BooleanProperty.of("active"); public VibrationChamberBlock() { - super(defaultProps(Material.IRON).strength(4.2F)); + super(defaultProps(Material.METAL).strength(4.2F)); this.setDefaultState(this.getDefaultState().with(ACTIVE, false)); } @@ -62,8 +61,8 @@ public final class VibrationChamberBlock extends AEBaseTileBlock builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(ACTIVE); } @@ -78,7 +77,7 @@ public final class VibrationChamberBlock extends AEBaseTileBlock implemen private static final ICableBusContainer NULL_CABLE_BUS = new NullCableBusContainer(); public CableBusBlock() { - super(defaultProps(AEGlassMaterial.INSTANCE).notSolid().noDrops()); + super(defaultProps(AEGlassMaterial.INSTANCE) + .nonOpaque() + .dropsNothing()); } @Override @@ -90,17 +92,17 @@ public class CableBusBlock extends AEBaseTileBlock implemen } @Override - public void animateTick(final BlockState state, final World worldIn, final BlockPos pos, final Random rand) { - this.cb(worldIn, pos).animateTick(worldIn, pos, rand); + public void randomDisplayTick(final BlockState state, final World worldIn, final BlockPos pos, final Random rand) { + this.cb(worldIn, pos).randomDisplayTick(worldIn, pos, rand); } @Override - public void onNeighborChange(BlockState state, IWorldReader w, BlockPos pos, BlockPos neighbor) { - this.cb(w, pos).onNeighborChanged(w, pos, neighbor); + public void onNeighborChange(BlockState state, WorldView w, BlockPos pos, BlockPos neighbor) { + this.cb(w, pos).onneighborUpdate(w, pos, neighbor); } @Override - public int getWeakPower(final BlockState state, final BlockView w, final BlockPos pos, final Direction side) { + public int getWeakRedstonePower(final BlockState state, final BlockView w, final BlockPos pos, final Direction side) { return this.cb(w, pos).isProvidingWeakPower(side.getOpposite()); // TODO: // IS // OPPOSITE!? @@ -126,13 +128,13 @@ public class CableBusBlock extends AEBaseTileBlock implemen @Override public int getLightValue(final BlockState state, final BlockView world, final BlockPos pos) { if (state.getBlock() != this) { - return state.getBlock().getLightValue(state, world, pos); + return state.getLuminance(); } return this.cb(world, pos).getLightValue(); } @Override - public boolean isLadder(BlockState state, IWorldReader world, BlockPos pos, LivingEntity entity) { + public boolean isLadder(BlockState state, WorldView world, BlockPos pos, LivingEntity entity) { return this.cb(world, pos).isLadder(entity); } @@ -273,10 +275,10 @@ public class CableBusBlock extends AEBaseTileBlock implemen } @Override - public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { if (Platform.isServer()) { - this.cb(world, pos).onNeighborChanged(world, pos, fromPos); + this.cb(world, pos).onneighborUpdate(world, pos, fromPos); } } @@ -364,7 +366,7 @@ public class CableBusBlock extends AEBaseTileBlock implemen } @Override - public VoxelShape getShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { + public VoxelShape getOutlineShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { CableBusBlockEntity te = getBlockEntity(w, pos); if (te == null) { return VoxelShapes.empty(); diff --git a/src/main/java/appeng/block/networking/ControllerBlock.java b/src/main/java/appeng/block/networking/ControllerBlock.java index d40ee004a..5b96d8ba6 100644 --- a/src/main/java/appeng/block/networking/ControllerBlock.java +++ b/src/main/java/appeng/block/networking/ControllerBlock.java @@ -22,7 +22,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.state.EnumProperty; -import net.minecraft.state.StateContainer; +import net.minecraft.state.StateManager; import net.minecraft.util.math.Direction; import net.minecraft.util.IStringSerializable; import net.minecraft.util.math.BlockPos; @@ -67,14 +67,14 @@ public class ControllerBlock extends AEBaseTileBlock { ControllerRenderType.class); public ControllerBlock() { - super(defaultProps(Material.IRON).strength(6)); + super(defaultProps(Material.METAL).strength(6)); this.setDefaultState(this.getDefaultState().with(CONTROLLER_STATE, ControllerBlockState.offline) .with(CONTROLLER_TYPE, ControllerRenderType.block)); } @Override - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(CONTROLLER_STATE); builder.add(CONTROLLER_TYPE); } @@ -86,7 +86,7 @@ public class ControllerBlock extends AEBaseTileBlock { * texture feel for the controller based on how it is placed. */ @Override - public BlockState updatePostPlacement(BlockState state, Direction facing, BlockState facingState, WorldAccess world, + public BlockState getStateForNeighborUpdate(BlockState state, Direction facing, BlockState facingState, WorldAccess world, BlockPos pos, BlockPos facingPos) { // FIXME: this might work, or might _NOT_ work, but needs to be investigated @@ -130,7 +130,7 @@ public class ControllerBlock extends AEBaseTileBlock { } @Override - public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { final ControllerBlockEntity tc = this.getBlockEntity(world, pos); if (tc != null) { diff --git a/src/main/java/appeng/block/networking/EnergyAcceptorBlock.java b/src/main/java/appeng/block/networking/EnergyAcceptorBlock.java index 55056b199..b7c336925 100644 --- a/src/main/java/appeng/block/networking/EnergyAcceptorBlock.java +++ b/src/main/java/appeng/block/networking/EnergyAcceptorBlock.java @@ -26,6 +26,6 @@ import appeng.tile.networking.EnergyAcceptorBlockEntity; public class EnergyAcceptorBlock extends AEBaseTileBlock { public EnergyAcceptorBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } } diff --git a/src/main/java/appeng/block/networking/EnergyCellBlock.java b/src/main/java/appeng/block/networking/EnergyCellBlock.java index dd5bc1128..05229bde9 100644 --- a/src/main/java/appeng/block/networking/EnergyCellBlock.java +++ b/src/main/java/appeng/block/networking/EnergyCellBlock.java @@ -26,7 +26,7 @@ import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.state.IntegerProperty; -import net.minecraft.state.StateContainer; +import net.minecraft.state.StateManager; import net.minecraft.util.NonNullList; import appeng.block.AEBaseTileBlock; @@ -59,8 +59,8 @@ public class EnergyCellBlock extends AEBaseTileBlock { } @Override - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(ENERGY_STORAGE); } diff --git a/src/main/java/appeng/block/networking/WirelessBlock.java b/src/main/java/appeng/block/networking/WirelessBlock.java index 9af9782dd..e82a65bab 100644 --- a/src/main/java/appeng/block/networking/WirelessBlock.java +++ b/src/main/java/appeng/block/networking/WirelessBlock.java @@ -22,7 +22,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.state.EnumProperty; -import net.minecraft.state.StateContainer; +import net.minecraft.state.StateManager; import net.minecraft.util.ActionResult; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.Direction; @@ -79,8 +79,8 @@ public class WirelessBlock extends AEBaseTileBlock { } @Override - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(STATE); } @@ -92,7 +92,7 @@ public class WirelessBlock extends AEBaseTileBlock { if (tg != null && !player.isInSneakingPose()) { if (Platform.isServer()) { ContainerOpener.openContainer(WirelessContainer.TYPE, player, - ContainerLocator.forTileEntitySide(tg, hit.getFace())); + ContainerLocator.forTileEntitySide(tg, hit.getSide())); } return ActionResult.SUCCESS; } @@ -101,7 +101,7 @@ public class WirelessBlock extends AEBaseTileBlock { } @Override - public VoxelShape getShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { + public VoxelShape getOutlineShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { final WirelessBlockEntity tile = this.getBlockEntity(w, pos); if (tile != null) { final Direction forward = tile.getForward(); @@ -154,7 +154,7 @@ public class WirelessBlock extends AEBaseTileBlock { break; } - return VoxelShapes.create(new Box(minX, minY, minZ, maxX, maxY, maxZ)); + return VoxelShapes.cuboid(new Box(minX, minY, minZ, maxX, maxY, maxZ)); } return VoxelShapes.empty(); } @@ -214,7 +214,7 @@ public class WirelessBlock extends AEBaseTileBlock { break; } - return VoxelShapes.create(new Box(minX, minY, minZ, maxX, maxY, maxZ)); + return VoxelShapes.cuboid(new Box(minX, minY, minZ, maxX, maxY, maxZ)); } else { return VoxelShapes.empty(); } diff --git a/src/main/java/appeng/block/paint/PaintSplotchesBlock.java b/src/main/java/appeng/block/paint/PaintSplotchesBlock.java index 8a12e75f5..2f330cc8d 100644 --- a/src/main/java/appeng/block/paint/PaintSplotchesBlock.java +++ b/src/main/java/appeng/block/paint/PaintSplotchesBlock.java @@ -54,17 +54,17 @@ public class PaintSplotchesBlock extends AEBaseTileBlock { - public static final BooleanProperty FORMED = BooleanProperty.create("formed"); + public static final BooleanProperty FORMED = BooleanProperty.of("formed"); private static final VoxelShape SHAPE; static { final float shave = 2.0f / 16.0f; - SHAPE = VoxelShapes.create(new Box(shave, shave, shave, 1.0f - shave, 1.0f - shave, 1.0f - shave)); + SHAPE = VoxelShapes.cuboid(new Box(shave, shave, shave, 1.0f - shave, 1.0f - shave, 1.0f - shave)); } public QuantumBaseBlock(Settings props) { @@ -51,13 +51,13 @@ public abstract class QuantumBaseBlock extends AEBaseTileBlock builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(FORMED); } @@ -67,7 +67,7 @@ public abstract class QuantumBaseBlock extends AEBaseTileBlock { public SpatialIOPortBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } @Override - public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { final SpatialIOPortBlockEntity te = this.getBlockEntity(world, pos); if (te != null) { @@ -64,7 +64,7 @@ public class SpatialIOPortBlock extends AEBaseTileBlock } @Override - public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { final SpatialPylonBlockEntity tsp = this.getBlockEntity(world, pos); if (tsp != null) { - tsp.neighborChanged(); + tsp.neighborUpdate(); } } diff --git a/src/main/java/appeng/block/storage/ChestBlock.java b/src/main/java/appeng/block/storage/ChestBlock.java index 11bbe3b0b..d6c6b79ee 100644 --- a/src/main/java/appeng/block/storage/ChestBlock.java +++ b/src/main/java/appeng/block/storage/ChestBlock.java @@ -26,7 +26,7 @@ import net.minecraft.block.Material; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.state.EnumProperty; -import net.minecraft.state.StateContainer; +import net.minecraft.state.StateManager; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.Util; @@ -47,13 +47,13 @@ public class ChestBlock extends AEBaseTileBlock { DriveSlotState.class); public ChestBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); this.setDefaultState(this.getDefaultState().with(SLOT_STATE, DriveSlotState.EMPTY)); } @Override - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(SLOT_STATE); } @@ -87,7 +87,7 @@ public class ChestBlock extends AEBaseTileBlock { } } else { ContainerOpener.openContainer(ChestContainer.TYPE, p, - ContainerLocator.forTileEntitySide(tg, hit.getFace())); + ContainerLocator.forTileEntitySide(tg, hit.getSide())); } return ActionResult.SUCCESS; diff --git a/src/main/java/appeng/block/storage/DriveBlock.java b/src/main/java/appeng/block/storage/DriveBlock.java index e8dd94f4d..0351b10a4 100644 --- a/src/main/java/appeng/block/storage/DriveBlock.java +++ b/src/main/java/appeng/block/storage/DriveBlock.java @@ -39,7 +39,7 @@ import appeng.util.Platform; public class DriveBlock extends AEBaseTileBlock { public DriveBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } @Override diff --git a/src/main/java/appeng/block/storage/IOPortBlock.java b/src/main/java/appeng/block/storage/IOPortBlock.java index 2a2498c0d..8fb497389 100644 --- a/src/main/java/appeng/block/storage/IOPortBlock.java +++ b/src/main/java/appeng/block/storage/IOPortBlock.java @@ -41,11 +41,11 @@ import appeng.util.Platform; public class IOPortBlock extends AEBaseTileBlock { public IOPortBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } @Override - public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { final IOPortBlockEntity te = this.getBlockEntity(world, pos); if (te != null) { @@ -64,7 +64,7 @@ public class IOPortBlock extends AEBaseTileBlock { if (tg != null) { if (Platform.isServer()) { ContainerOpener.openContainer(IOPortContainer.TYPE, p, - ContainerLocator.forTileEntitySide(tg, hit.getFace())); + ContainerLocator.forTileEntitySide(tg, hit.getSide())); } return ActionResult.SUCCESS; } diff --git a/src/main/java/appeng/block/storage/SkyChestBlock.java b/src/main/java/appeng/block/storage/SkyChestBlock.java index 4bed392e8..8cb5ed06e 100644 --- a/src/main/java/appeng/block/storage/SkyChestBlock.java +++ b/src/main/java/appeng/block/storage/SkyChestBlock.java @@ -86,10 +86,10 @@ public class SkyChestBlock extends AEBaseTileBlock { } @Override - public VoxelShape getShape(BlockState state, BlockView worldIn, BlockPos pos, ShapeContext context) { + public VoxelShape getOutlineShape(BlockState state, BlockView worldIn, BlockPos pos, ShapeContext context) { // TODO Cache this! It can't be that hard! Box aabb = computeAABB(worldIn, pos); - return VoxelShapes.create(aabb); + return VoxelShapes.cuboid(aabb); } private Box computeAABB(final BlockView w, final BlockPos pos) { diff --git a/src/main/java/appeng/client/ClientHelper.java b/src/main/java/appeng/client/ClientHelper.java index 4ca9c417c..98d610b84 100644 --- a/src/main/java/appeng/client/ClientHelper.java +++ b/src/main/java/appeng/client/ClientHelper.java @@ -174,7 +174,7 @@ public class ClientHelper extends ServerHelper { final double d1 = (Platform.getRandomFloat() - 0.5F) * 0.26D; final double d2 = (Platform.getRandomFloat() - 0.5F) * 0.26D; - MinecraftClient.getInstance().particles.addParticle(ParticleTypes.VIBRANT, x + d0, y + d1, z + d2, 0.0D, 0.0D, + MinecraftClient.getInstance().particleManager.addParticle(ParticleTypes.VIBRANT, x + d0, y + d1, z + d2, 0.0D, 0.0D, 0.0D); } } @@ -184,12 +184,12 @@ public class ClientHelper extends ServerHelper { final float y = (float) (((Platform.getRandomInt() % 100) * 0.01) - 0.5) * 0.7f; final float z = (float) (((Platform.getRandomInt() % 100) * 0.01) - 0.5) * 0.7f; - MinecraftClient.getInstance().particles.addParticle(EnergyParticleData.FOR_BLOCK, posX + x, posY + y, posZ + z, + MinecraftClient.getInstance().particleManager.addParticle(EnergyParticleData.FOR_BLOCK, posX + x, posY + y, posZ + z, -x * 0.1, -y * 0.1, -z * 0.1); } private void spawnLightning(final World world, final double posX, final double posY, final double posZ) { - MinecraftClient.getInstance().particles.addParticle(ParticleTypes.LIGHTNING, posX, posY + 0.3f, posZ, 0.0f, 0.0f, + MinecraftClient.getInstance().particleManager.addParticle(ParticleTypes.LIGHTNING, posX, posY + 0.3f, posZ, 0.0f, 0.0f, 0.0f); } @@ -197,7 +197,7 @@ public class ClientHelper extends ServerHelper { final Vec3d second) { final LightningFX fx = new LightningArcFX(world, posX, posY, posZ, second.x, second.y, second.z, 0.0f, 0.0f, 0.0f); - MinecraftClient.getInstance().particles.addEffect(fx); + MinecraftClient.getInstance().particleManager.addParticle(fx); } private void wheelEvent(final InputEvent.MouseScrollEvent me) { diff --git a/src/main/java/appeng/client/render/DelegateBakedModel.java b/src/main/java/appeng/client/render/DelegateBakedModel.java index a854f2834..27677a1a2 100644 --- a/src/main/java/appeng/client/render/DelegateBakedModel.java +++ b/src/main/java/appeng/client/render/DelegateBakedModel.java @@ -57,7 +57,7 @@ public abstract class DelegateBakedModel implements BakedModel { } @Override - public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) { baseModel.handlePerspective(cameraTransformType, mat); return this; } diff --git a/src/main/java/appeng/client/render/DummyFluidDispatcherBakedModel.java b/src/main/java/appeng/client/render/DummyFluidDispatcherBakedModel.java index 030866aff..282272ef0 100644 --- a/src/main/java/appeng/client/render/DummyFluidDispatcherBakedModel.java +++ b/src/main/java/appeng/client/render/DummyFluidDispatcherBakedModel.java @@ -30,7 +30,7 @@ import com.google.common.collect.ImmutableList; import net.minecraft.block.BlockState; import net.minecraft.client.render.model.json.ModelOverrideList; -import net.minecraft.client.renderer.TransformationMatrix; +import net.minecraft.client.util.math.AffineTransformation; import net.minecraft.client.render.model.BakedQuad; import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.Material; @@ -108,7 +108,7 @@ public class DummyFluidDispatcherBakedModel extends DelegateBakedModel { } return new DummyFluidBakedModel( - ItemLayerModel.getQuadsForSprite(0, sprite, TransformationMatrix.identity())); + ItemLayerModel.getQuadsForSprite(0, sprite, AffineTransformation.identity())); } }; } diff --git a/src/main/java/appeng/client/render/FacingToRotation.java b/src/main/java/appeng/client/render/FacingToRotation.java index fa19ad4bc..3ec87772b 100644 --- a/src/main/java/appeng/client/render/FacingToRotation.java +++ b/src/main/java/appeng/client/render/FacingToRotation.java @@ -22,7 +22,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.renderer.Matrix4f; import net.minecraft.client.renderer.Quaternion; -import net.minecraft.client.renderer.Vector3f; +import net.minecraft.client.util.math.Vector3f; import net.minecraft.client.renderer.Vector4f; import net.minecraft.util.math.Direction; import net.minecraft.util.IStringSerializable; diff --git a/src/main/java/appeng/client/render/StackSizeRenderer.java b/src/main/java/appeng/client/render/StackSizeRenderer.java index 82abd5e71..ebd85a11b 100644 --- a/src/main/java/appeng/client/render/StackSizeRenderer.java +++ b/src/main/java/appeng/client/render/StackSizeRenderer.java @@ -22,9 +22,9 @@ import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.util.math.AffineTransformation; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.TransformationMatrix; -import net.minecraft.client.renderer.Vector3f; +import net.minecraft.client.util.math.Vector3f; import appeng.api.storage.data.IAEItemStack; import appeng.core.AEConfig; @@ -67,7 +67,7 @@ public class StackSizeRenderer { final float inverseScaleFactor = 1.0f / scaleFactor; final int offset = AEConfig.instance().isUseLargeFonts() ? 0 : -1; - TransformationMatrix tm = new TransformationMatrix(new Vector3f(0, 0, 300), // Taken from + AffineTransformation tm = new AffineTransformation(new Vector3f(0, 0, 300), // Taken from // ItemRenderer.renderItemOverlayIntoGUI null, new Vector3f(scaleFactor, scaleFactor, scaleFactor), null); diff --git a/src/main/java/appeng/client/render/TesrRenderHelper.java b/src/main/java/appeng/client/render/TesrRenderHelper.java index 7a6be96fc..1b044a560 100644 --- a/src/main/java/appeng/client/render/TesrRenderHelper.java +++ b/src/main/java/appeng/client/render/TesrRenderHelper.java @@ -23,7 +23,7 @@ import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.Vector3f; +import net.minecraft.client.util.math.Vector3f; import net.minecraft.client.render.model.json.ModelTransformation; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.item.ItemStack; @@ -92,7 +92,7 @@ public class TesrRenderHelper { // effect at least from head-on matrixStack.scale(scale, scale, 0.0002f); - MinecraftClient.getInstance().getItemRenderer().renderItem(itemStack, ModelTransformation.TransformType.GUI, + MinecraftClient.getInstance().getItemRenderer().renderItem(itemStack, ModelTransformation.Mode.GUI, combinedLightIn, OverlayTexture.NO_OVERLAY, matrixStack, buffers); matrixStack.pop(); diff --git a/src/main/java/appeng/client/render/cablebus/CableBusBreakingParticle.java b/src/main/java/appeng/client/render/cablebus/CableBusBreakingParticle.java index 85d83e87e..0a8b1b4fc 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBusBreakingParticle.java +++ b/src/main/java/appeng/client/render/cablebus/CableBusBreakingParticle.java @@ -1,7 +1,7 @@ package appeng.client.render.cablebus; import net.minecraft.client.particle.IParticleRenderType; -import net.minecraft.client.particle.SpriteTexturedParticle; +import net.minecraft.client.particle.SpriteBillboardParticle; import net.minecraft.client.texture.Sprite; import net.minecraft.world.World; import net.fabricmc.api.EnvType; @@ -10,7 +10,7 @@ import net.fabricmc.api.Environment; // Derived from Vanilla's BreakingParticle, but allows // a texture to be specified directly rather than via an itemstack @Environment(EnvType.CLIENT) -public class CableBusBreakingParticle extends SpriteTexturedParticle { +public class CableBusBreakingParticle extends SpriteBillboardParticle { private final float field_217571_C; private final float field_217572_F; diff --git a/src/main/java/appeng/client/render/cablebus/CubeBuilder.java b/src/main/java/appeng/client/render/cablebus/CubeBuilder.java index af003b1bc..81e00fc32 100644 --- a/src/main/java/appeng/client/render/cablebus/CubeBuilder.java +++ b/src/main/java/appeng/client/render/cablebus/CubeBuilder.java @@ -365,7 +365,7 @@ public class CubeBuilder { builder.put(i, x, y, z); break; case NORMAL: - builder.put(i, face.getOffsetX(), face.getOffsetY(), face.getZOffset()); + builder.put(i, face.getOffsetX(), face.getOffsetY(), face.getOffsetZ()); break; case COLOR: // Color format is RGBA diff --git a/src/main/java/appeng/client/render/cablebus/QuadRotator.java b/src/main/java/appeng/client/render/cablebus/QuadRotator.java index bc93c8f98..7cb01b540 100644 --- a/src/main/java/appeng/client/render/cablebus/QuadRotator.java +++ b/src/main/java/appeng/client/render/cablebus/QuadRotator.java @@ -22,7 +22,7 @@ import java.util.ArrayList; import java.util.List; import net.minecraft.client.renderer.Matrix4f; -import net.minecraft.client.renderer.Vector3f; +import net.minecraft.client.util.math.Vector3f; import net.minecraft.client.render.model.BakedQuad; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.util.math.Direction; diff --git a/src/main/java/appeng/client/render/crafting/EncodedPatternBakedModel.java b/src/main/java/appeng/client/render/crafting/EncodedPatternBakedModel.java index b4d051249..efb025950 100644 --- a/src/main/java/appeng/client/render/crafting/EncodedPatternBakedModel.java +++ b/src/main/java/appeng/client/render/crafting/EncodedPatternBakedModel.java @@ -10,7 +10,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.renderer.TransformationMatrix; +import net.minecraft.client.util.math.AffineTransformation; import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -30,7 +30,7 @@ import appeng.items.misc.EncodedPatternItem; * a custom IBakedModel ({@link ShiftHoldingModelWrapper} if the player is * holding down shift from the override list. This custom baked model implements * {@link #doesHandlePerspectives()} and returns the crafting result model if - * the model for {@link ModelTransformation.TransformType#GUI} is requested. + * the model for {@link ModelTransformation.Mode#GUI} is requested. */ public class EncodedPatternBakedModel extends DelegateBakedModel { @@ -71,11 +71,11 @@ public class EncodedPatternBakedModel extends DelegateBakedModel { } @Override - public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) { // No need to re-check for shift being held since this model is only handed out // in that case - if (cameraTransformType == ModelTransformation.TransformType.GUI) { - ImmutableMap transforms = PerspectiveMapWrapper + if (cameraTransformType == ModelTransformation.Mode.GUI) { + ImmutableMap transforms = PerspectiveMapWrapper .getTransforms(outputModel.getTransformation()); return PerspectiveMapWrapper.handlePerspective(this.outputModel, transforms, cameraTransformType, mat); } else { @@ -98,7 +98,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel { } @Override - public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) { return getBaseModel().handlePerspective(cameraTransformType, mat); } diff --git a/src/main/java/appeng/client/render/effects/ChargedOreFX.java b/src/main/java/appeng/client/render/effects/ChargedOreFX.java index 20adc908f..96c050bf0 100644 --- a/src/main/java/appeng/client/render/effects/ChargedOreFX.java +++ b/src/main/java/appeng/client/render/effects/ChargedOreFX.java @@ -23,7 +23,7 @@ import net.minecraft.client.particle.IAnimatedSprite; import net.minecraft.client.particle.IParticleFactory; import net.minecraft.client.particle.Particle; import net.minecraft.client.particle.RedstoneParticle; -import net.minecraft.particles.BasicParticleType; +import net.minecraft.particle.DefaultParticleType; import net.minecraft.particles.RedstoneParticleData; import net.minecraft.world.World; import net.fabricmc.api.EnvType; @@ -50,7 +50,7 @@ public class ChargedOreFX extends RedstoneParticle { } @Environment(EnvType.CLIENT) - public static class Factory implements IParticleFactory { + public static class Factory implements IParticleFactory { private final IAnimatedSprite spriteSet; public Factory(IAnimatedSprite p_i50477_1_) { @@ -58,8 +58,8 @@ public class ChargedOreFX extends RedstoneParticle { } @Override - public Particle makeParticle(BasicParticleType typeIn, World worldIn, double x, double y, double z, - double xSpeed, double ySpeed, double zSpeed) { + public Particle makeParticle(DefaultParticleType typeIn, World worldIn, double x, double y, double z, + double xSpeed, double ySpeed, double zSpeed) { return new ChargedOreFX(worldIn, x, y, z, xSpeed, ySpeed, zSpeed, this.spriteSet); } } diff --git a/src/main/java/appeng/client/render/effects/CraftingFx.java b/src/main/java/appeng/client/render/effects/CraftingFx.java index 3d0dd3678..76a47a117 100644 --- a/src/main/java/appeng/client/render/effects/CraftingFx.java +++ b/src/main/java/appeng/client/render/effects/CraftingFx.java @@ -25,17 +25,17 @@ import net.minecraft.client.particle.IAnimatedSprite; import net.minecraft.client.particle.IParticleFactory; import net.minecraft.client.particle.IParticleRenderType; import net.minecraft.client.particle.Particle; -import net.minecraft.client.particle.SpriteTexturedParticle; +import net.minecraft.client.particle.SpriteBillboardParticle; import net.minecraft.client.renderer.ActiveRenderInfo; -import net.minecraft.client.renderer.Vector3f; -import net.minecraft.particles.BasicParticleType; +import net.minecraft.client.util.math.Vector3f; +import net.minecraft.particle.DefaultParticleType; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import net.fabricmc.api.Environment; @Environment(EnvType.CLIENT) -public class CraftingFx extends SpriteTexturedParticle { +public class CraftingFx extends SpriteBillboardParticle { // Offset relative to center of block, is the starting point of the particle // movement @@ -126,7 +126,7 @@ public class CraftingFx extends SpriteTexturedParticle { } @Environment(EnvType.CLIENT) - public static class Factory implements IParticleFactory { + public static class Factory implements IParticleFactory { private final IAnimatedSprite spriteSet; public Factory(IAnimatedSprite p_i50477_1_) { @@ -134,8 +134,8 @@ public class CraftingFx extends SpriteTexturedParticle { } @Override - public Particle makeParticle(BasicParticleType data, World worldIn, double x, double y, double z, double xSpeed, - double ySpeed, double zSpeed) { + public Particle makeParticle(DefaultParticleType data, World worldIn, double x, double y, double z, double xSpeed, + double ySpeed, double zSpeed) { return new CraftingFx(worldIn, x, y, z, spriteSet); } } diff --git a/src/main/java/appeng/client/render/effects/EnergyFx.java b/src/main/java/appeng/client/render/effects/EnergyFx.java index 70f910bac..0de0ef655 100644 --- a/src/main/java/appeng/client/render/effects/EnergyFx.java +++ b/src/main/java/appeng/client/render/effects/EnergyFx.java @@ -28,7 +28,7 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.world.World; @Environment(EnvType.CLIENT) -public class EnergyFx extends SpriteTexturedParticle { +public class EnergyFx extends SpriteBillboardParticle { private final int startBlkX; private final int startBlkY; diff --git a/src/main/java/appeng/client/render/effects/EnergyParticleData.java b/src/main/java/appeng/client/render/effects/EnergyParticleData.java index 8e3cc63f4..192f731c5 100644 --- a/src/main/java/appeng/client/render/effects/EnergyParticleData.java +++ b/src/main/java/appeng/client/render/effects/EnergyParticleData.java @@ -24,12 +24,12 @@ import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.network.PacketByteBuf; -import net.minecraft.particles.IParticleData; -import net.minecraft.particles.ParticleType; +import net.minecraft.particle.ParticleEffect; +import net.minecraft.particle.ParticleType; import appeng.api.util.AEPartLocation; -public class EnergyParticleData implements IParticleData { +public class EnergyParticleData implements ParticleEffect { public static final EnergyParticleData FOR_BLOCK = new EnergyParticleData(false, AEPartLocation.INTERNAL); @@ -42,9 +42,9 @@ public class EnergyParticleData implements IParticleData { this.direction = direction; } - public static final IDeserializer DESERIALIZER = new IDeserializer() { + public static final Factory DESERIALIZER = new Factory() { @Override - public EnergyParticleData deserialize(ParticleType particleTypeIn, StringReader reader) + public EnergyParticleData read(ParticleType particleTypeIn, StringReader reader) throws CommandSyntaxException { reader.expect(' '); boolean forItem = reader.readBoolean(); @@ -73,7 +73,7 @@ public class EnergyParticleData implements IParticleData { } @Override - public String getParameters() { + public String asString() { return String.format(Locale.ROOT, "%s %s", forItem ? "true" : "false", direction.name().toLowerCase()); } diff --git a/src/main/java/appeng/client/render/effects/LightningArcFX.java b/src/main/java/appeng/client/render/effects/LightningArcFX.java index cd0b6573b..0c9b3d6f1 100644 --- a/src/main/java/appeng/client/render/effects/LightningArcFX.java +++ b/src/main/java/appeng/client/render/effects/LightningArcFX.java @@ -24,7 +24,7 @@ import net.fabricmc.api.Environment; import net.minecraft.client.particle.IAnimatedSprite; import net.minecraft.client.particle.IParticleFactory; import net.minecraft.client.particle.Particle; -import net.minecraft.client.particle.SpriteTexturedParticle; +import net.minecraft.client.particle.SpriteBillboardParticle; import net.minecraft.world.World; import net.fabricmc.api.EnvType; @@ -77,7 +77,7 @@ public class LightningArcFX extends LightningFX { @Override public Particle makeParticle(LightningArcParticleData data, World worldIn, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) { - SpriteTexturedParticle lightningFX = new LightningArcFX(worldIn, x, y, z, data.target.x, data.target.y, + SpriteBillboardParticle lightningFX = new LightningArcFX(worldIn, x, y, z, data.target.x, data.target.y, data.target.z, 0, 0, 0); lightningFX.selectSpriteRandomly(this.spriteSet); return lightningFX; diff --git a/src/main/java/appeng/client/render/effects/LightningArcParticleData.java b/src/main/java/appeng/client/render/effects/LightningArcParticleData.java index 2b290dd81..4471a3f03 100644 --- a/src/main/java/appeng/client/render/effects/LightningArcParticleData.java +++ b/src/main/java/appeng/client/render/effects/LightningArcParticleData.java @@ -6,15 +6,15 @@ import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.network.PacketByteBuf; -import net.minecraft.particles.IParticleData; -import net.minecraft.particles.ParticleType; +import net.minecraft.particle.ParticleEffect; +import net.minecraft.particle.ParticleType; import net.minecraft.util.math.Vec3d; /** * Contains the target point of the lightning arc (the source point is infered * from the particle starting position). */ -public class LightningArcParticleData implements IParticleData { +public class LightningArcParticleData implements ParticleEffect { public final Vec3d target; @@ -22,10 +22,10 @@ public class LightningArcParticleData implements IParticleData { this.target = target; } - public static final IDeserializer DESERIALIZER = new IDeserializer() { + public static final Factory DESERIALIZER = new Factory() { @Override - public LightningArcParticleData deserialize(ParticleType particleTypeIn, - StringReader reader) throws CommandSyntaxException { + public LightningArcParticleData read(ParticleType particleTypeIn, + StringReader reader) throws CommandSyntaxException { reader.expect(' '); float x = reader.readFloat(); reader.expect(' '); @@ -58,7 +58,7 @@ public class LightningArcParticleData implements IParticleData { } @Override - public String getParameters() { + public String asString() { return String.format(Locale.ROOT, "%.2f %.2f %.2f", target.x, target.y, target.z); } diff --git a/src/main/java/appeng/client/render/effects/LightningFX.java b/src/main/java/appeng/client/render/effects/LightningFX.java index b60b671f9..30e1cf78f 100644 --- a/src/main/java/appeng/client/render/effects/LightningFX.java +++ b/src/main/java/appeng/client/render/effects/LightningFX.java @@ -29,16 +29,16 @@ import net.minecraft.client.particle.IAnimatedSprite; import net.minecraft.client.particle.IParticleFactory; import net.minecraft.client.particle.IParticleRenderType; import net.minecraft.client.particle.Particle; -import net.minecraft.client.particle.SpriteTexturedParticle; +import net.minecraft.client.particle.SpriteBillboardParticle; import net.minecraft.client.renderer.ActiveRenderInfo; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.particles.BasicParticleType; +import net.minecraft.particle.DefaultParticleType; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; @Environment(EnvType.CLIENT) -public class LightningFX extends SpriteTexturedParticle { +public class LightningFX extends SpriteBillboardParticle { private static final Random RANDOM_GENERATOR = new Random(); private static final int STEPS = 5; @@ -245,7 +245,7 @@ public class LightningFX extends SpriteTexturedParticle { } @Environment(EnvType.CLIENT) - public static class Factory implements IParticleFactory { + public static class Factory implements IParticleFactory { private final IAnimatedSprite spriteSet; public Factory(IAnimatedSprite spriteSet) { @@ -253,8 +253,8 @@ public class LightningFX extends SpriteTexturedParticle { } @Override - public Particle makeParticle(BasicParticleType typeIn, World worldIn, double x, double y, double z, - double xSpeed, double ySpeed, double zSpeed) { + public Particle makeParticle(DefaultParticleType typeIn, World worldIn, double x, double y, double z, + double xSpeed, double ySpeed, double zSpeed) { LightningFX lightningFX = new LightningFX(worldIn, x, y, z, xSpeed, ySpeed, zSpeed); lightningFX.selectSpriteRandomly(this.spriteSet); return lightningFX; diff --git a/src/main/java/appeng/client/render/effects/MatterCannonFX.java b/src/main/java/appeng/client/render/effects/MatterCannonFX.java index 732971bb6..5bceee490 100644 --- a/src/main/java/appeng/client/render/effects/MatterCannonFX.java +++ b/src/main/java/appeng/client/render/effects/MatterCannonFX.java @@ -20,13 +20,13 @@ package appeng.client.render.effects; import net.fabricmc.api.EnvType; import net.minecraft.client.particle.*; -import net.minecraft.particles.BasicParticleType; +import net.minecraft.particle.DefaultParticleType; import net.minecraft.world.World; import net.fabricmc.api.Environment; import appeng.api.util.AEPartLocation; -public class MatterCannonFX extends SpriteTexturedParticle { +public class MatterCannonFX extends SpriteBillboardParticle { public MatterCannonFX(final World par1World, final double x, final double y, final double z, IAnimatedSprite sprite) { @@ -73,7 +73,7 @@ public class MatterCannonFX extends SpriteTexturedParticle { } @Environment(EnvType.CLIENT) - public static class Factory implements IParticleFactory { + public static class Factory implements IParticleFactory { private final IAnimatedSprite spriteSet; public Factory(IAnimatedSprite spriteSet) { @@ -81,8 +81,8 @@ public class MatterCannonFX extends SpriteTexturedParticle { } @Override - public Particle makeParticle(BasicParticleType data, World world, double x, double y, double z, double xSpeed, - double ySpeed, double zSpeed) { + public Particle makeParticle(DefaultParticleType data, World world, double x, double y, double z, double xSpeed, + double ySpeed, double zSpeed) { return new MatterCannonFX(world, x, y, z, spriteSet); } } diff --git a/src/main/java/appeng/client/render/effects/ParticleTypes.java b/src/main/java/appeng/client/render/effects/ParticleTypes.java index 5cddafdbc..91373f130 100644 --- a/src/main/java/appeng/client/render/effects/ParticleTypes.java +++ b/src/main/java/appeng/client/render/effects/ParticleTypes.java @@ -1,7 +1,8 @@ package appeng.client.render.effects; -import net.minecraft.particles.BasicParticleType; -import net.minecraft.particles.ParticleType; +import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes; +import net.minecraft.particle.DefaultParticleType; +import net.minecraft.particle.ParticleType; import appeng.core.AppEng; @@ -10,15 +11,15 @@ public final class ParticleTypes { private ParticleTypes() { } - public static final BasicParticleType CHARGED_ORE = new BasicParticleType(false); - public static final BasicParticleType CRAFTING = new BasicParticleType(false); - public static final ParticleType ENERGY = new ParticleType<>(false, + public static final DefaultParticleType CHARGED_ORE = FabricParticleTypes.simple(false); + public static final DefaultParticleType CRAFTING = FabricParticleTypes.simple(false); + public static final ParticleType ENERGY = FabricParticleTypes.complex(false, EnergyParticleData.DESERIALIZER); - public static final ParticleType LIGHTNING_ARC = new ParticleType<>(false, + public static final ParticleType LIGHTNING_ARC = FabricParticleTypes.complex(false, LightningArcParticleData.DESERIALIZER); - public static final BasicParticleType LIGHTNING = new BasicParticleType(false); - public static final BasicParticleType MATTER_CANNON = new BasicParticleType(false); - public static final BasicParticleType VIBRANT = new BasicParticleType(false); + public static final DefaultParticleType LIGHTNING = FabricParticleTypes.simple(false); + public static final DefaultParticleType MATTER_CANNON = FabricParticleTypes.simple(false); + public static final DefaultParticleType VIBRANT = FabricParticleTypes.simple(false); static { CHARGED_ORE.setRegistryName(AppEng.MOD_ID, "charged_ore_fx"); diff --git a/src/main/java/appeng/client/render/effects/VibrantFX.java b/src/main/java/appeng/client/render/effects/VibrantFX.java index 20383f3f6..828e40411 100644 --- a/src/main/java/appeng/client/render/effects/VibrantFX.java +++ b/src/main/java/appeng/client/render/effects/VibrantFX.java @@ -24,12 +24,12 @@ import net.minecraft.client.particle.IAnimatedSprite; import net.minecraft.client.particle.IParticleFactory; import net.minecraft.client.particle.IParticleRenderType; import net.minecraft.client.particle.Particle; -import net.minecraft.client.particle.SpriteTexturedParticle; -import net.minecraft.particles.BasicParticleType; +import net.minecraft.client.particle.SpriteBillboardParticle; +import net.minecraft.particle.DefaultParticleType; import net.minecraft.world.World; @Environment(EnvType.CLIENT) -public class VibrantFX extends SpriteTexturedParticle { +public class VibrantFX extends SpriteBillboardParticle { public VibrantFX(final World par1World, final double x, final double y, final double z, final double par8, final double par10, final double par12, IAnimatedSprite sprite) { @@ -80,7 +80,7 @@ public class VibrantFX extends SpriteTexturedParticle { } @Environment(EnvType.CLIENT) - public static class Factory implements IParticleFactory { + public static class Factory implements IParticleFactory { private final IAnimatedSprite spriteSet; public Factory(IAnimatedSprite spriteSet) { @@ -88,8 +88,8 @@ public class VibrantFX extends SpriteTexturedParticle { } @Override - public Particle makeParticle(BasicParticleType typeIn, World worldIn, double x, double y, double z, - double xSpeed, double ySpeed, double zSpeed) { + public Particle makeParticle(DefaultParticleType typeIn, World worldIn, double x, double y, double z, + double xSpeed, double ySpeed, double zSpeed) { return new VibrantFX(worldIn, x, y, z, xSpeed, ySpeed, zSpeed, spriteSet); } } diff --git a/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java b/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java index 06fb2441f..469f5195e 100644 --- a/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java +++ b/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java @@ -182,7 +182,7 @@ class BiometricCardBakedModel implements BakedModel { } @Override - public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) { baseModel.handlePerspective(cameraTransformType, mat); return this; } diff --git a/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java b/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java index 8633bc041..47650b195 100644 --- a/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java +++ b/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java @@ -113,7 +113,7 @@ class ColorApplicatorBakedModel implements BakedModel { } @Override - public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) { return PerspectiveMapWrapper.handlePerspective(this, transforms, cameraTransformType, mat); } } diff --git a/src/main/java/appeng/client/render/model/MemoryCardBakedModel.java b/src/main/java/appeng/client/render/model/MemoryCardBakedModel.java index 9838ae991..3e9f7cc2e 100644 --- a/src/main/java/appeng/client/render/model/MemoryCardBakedModel.java +++ b/src/main/java/appeng/client/render/model/MemoryCardBakedModel.java @@ -150,7 +150,7 @@ class MemoryCardBakedModel implements BakedModel { } @Override - public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) { baseModel.handlePerspective(cameraTransformType, mat); return this; } diff --git a/src/main/java/appeng/client/render/model/UVLModelLoader.java b/src/main/java/appeng/client/render/model/UVLModelLoader.java index fb8b97a82..d6c28e8a8 100644 --- a/src/main/java/appeng/client/render/model/UVLModelLoader.java +++ b/src/main/java/appeng/client/render/model/UVLModelLoader.java @@ -35,6 +35,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.render.model.json.ModelTransformation; +import net.minecraft.client.util.math.AffineTransformation; import net.minecraft.client.texture.Sprite; import net.minecraft.client.util.math.MatrixStack; @@ -42,7 +43,6 @@ import net.minecraft.util.Identifier; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; -import net.minecraft.client.renderer.TransformationMatrix; import net.minecraft.client.render.model.BakedQuad; import net.minecraft.client.render.model.BlockFaceUV; import net.minecraft.client.render.model.BlockModel; @@ -89,7 +89,7 @@ public class UVLModelLoader implements IModelLoader implements Renderable { - private final Function> f; + private final Function> f; - public ItemRenderable(Function> f) { + public ItemRenderable(Function> f) { this.f = f; } @Override public void renderTileEntityAt(T te, float partialTicks, net.minecraft.client.util.math.MatrixStack matrixStack, VertexConsumerProvider buffers, int combinedLight, int combinedOverlay) { - Pair pair = this.f.apply(te); + Pair pair = this.f.apply(te); if (pair != null && pair.getLeft() != null) { + matrixStack.push(); if (pair.getRight() != null) { - pair.getRight().push(matrixStack); - } else { - matrixStack.push(); + pair.getRight().apply(true, matrixStack); // FIXME: check left handed } MinecraftClient.getInstance().getItemRenderer().renderItem(pair.getLeft(), - ModelTransformation.TransformType.GROUND, combinedLight, combinedOverlay, matrixStack, buffers); + ModelTransformation.Mode.GROUND, combinedLight, combinedOverlay, matrixStack, buffers); matrixStack.pop(); } } diff --git a/src/main/java/appeng/client/render/tesr/DriveLedTileEntityRenderer.java b/src/main/java/appeng/client/render/tesr/DriveLedTileEntityRenderer.java index 61f4eec9c..285879ba6 100644 --- a/src/main/java/appeng/client/render/tesr/DriveLedTileEntityRenderer.java +++ b/src/main/java/appeng/client/render/tesr/DriveLedTileEntityRenderer.java @@ -10,7 +10,7 @@ import com.mojang.blaze3d.vertex.IVertexBuilder; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.renderer.RenderState; -import net.minecraft.client.renderer.Vector3f; +import net.minecraft.client.util.math.Vector3f; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; diff --git a/src/main/java/appeng/client/render/tesr/InscriberTESR.java b/src/main/java/appeng/client/render/tesr/InscriberTESR.java index 738390a04..1f101de5e 100644 --- a/src/main/java/appeng/client/render/tesr/InscriberTESR.java +++ b/src/main/java/appeng/client/render/tesr/InscriberTESR.java @@ -178,7 +178,7 @@ public final class InscriberTESR extends BlockEntityRenderer { + item.damage(1, QuartzKnifeContainer.this.getPlayerInv().player, p -> { QuartzKnifeContainer.this.getPlayerInv().setStack( QuartzKnifeContainer.this.getPlayerInv().currentItem, ItemStack.EMPTY); MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent( diff --git a/src/main/java/appeng/core/AppEng.java b/src/main/java/appeng/core/AppEng.java index 09c2ac94b..6da100e50 100644 --- a/src/main/java/appeng/core/AppEng.java +++ b/src/main/java/appeng/core/AppEng.java @@ -33,7 +33,7 @@ import net.minecraft.entity.EntityType; import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.Item; import net.minecraft.recipe.RecipeSerializer; -import net.minecraft.particles.ParticleType; +import net.minecraft.particle.ParticleType; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.util.Identifier; import net.minecraft.world.biome.Biome; diff --git a/src/main/java/appeng/core/Registration.java b/src/main/java/appeng/core/Registration.java index 5d00679d1..1d3bcd39e 100644 --- a/src/main/java/appeng/core/Registration.java +++ b/src/main/java/appeng/core/Registration.java @@ -30,8 +30,8 @@ import net.minecraft.client.gui.ScreenManager; import net.minecraft.client.particle.ParticleManager; import net.minecraft.client.render.model.BakedModel; import net.minecraft.inventory.container.ContainerType; +import net.minecraft.particle.ParticleType; import net.minecraft.recipe.RecipeSerializer; -import net.minecraft.particles.ParticleType; import net.minecraft.util.Identifier; import net.minecraft.world.biome.Biome; import net.minecraft.world.dimension.DimensionType; diff --git a/src/main/java/appeng/core/api/definitions/ApiBlocks.java b/src/main/java/appeng/core/api/definitions/ApiBlocks.java index 92d672080..7a0e06989 100644 --- a/src/main/java/appeng/core/api/definitions/ApiBlocks.java +++ b/src/main/java/appeng/core/api/definitions/ApiBlocks.java @@ -329,7 +329,7 @@ public final class ApiBlocks implements IBlocks { () -> new SkyChestBlock(SkyChestBlock.SkyChestType.BLOCK, skyStoneChestProps)) .features(AEFeature.SKY_STONE, AEFeature.SKY_STONE_CHESTS).tileEntity(skyChestTile).build(); - this.skyCompass = registry.block("sky_compass", () -> new SkyCompassBlock(defaultProps(Material.MISCELLANEOUS))) + this.skyCompass = registry.block("sky_compass", () -> new SkyCompassBlock(defaultProps(Material.SUPPORTED))) .features(AEFeature.METEORITE_COMPASS) .tileEntity(registry.tileEntity("sky_compass", SkyCompassBlockEntity.class, SkyCompassBlockEntity::new) .rendering(new SkyCompassRendering()).build()) @@ -353,7 +353,7 @@ public final class ApiBlocks implements IBlocks { } }).build()) .build(); - this.inscriber = registry.block("inscriber", () -> new InscriberBlock(defaultProps(Material.IRON).notSolid())) + this.inscriber = registry.block("inscriber", () -> new InscriberBlock(defaultProps(Material.METAL).notSolid())) .features(AEFeature.INSCRIBER) .tileEntity(registry.tileEntity("inscriber", InscriberBlockEntity.class, InscriberBlockEntity::new) .rendering(new InscriberRendering()).build()) @@ -481,7 +481,7 @@ public final class ApiBlocks implements IBlocks { .tileEntity("crafting_unit", CraftingBlockEntity.class, CraftingBlockEntity::new).build(); FeatureFactory crafting = registry.features(AEFeature.CRAFTING_CPU); - AbstractBlock.Settings craftingBlockProps = defaultProps(Material.IRON); + AbstractBlock.Settings craftingBlockProps = defaultProps(Material.METAL); this.craftingUnit = crafting .block("crafting_unit", () -> new CraftingUnitBlock(craftingBlockProps, CraftingUnitType.UNIT)) .rendering(new CraftingCubeRendering()).tileEntity(craftingUnit).build(); @@ -539,7 +539,7 @@ public final class ApiBlocks implements IBlocks { }).build(); this.molecularAssembler = registry - .block("molecular_assembler", () -> new MolecularAssemblerBlock(defaultProps(Material.IRON).notSolid())) + .block("molecular_assembler", () -> new MolecularAssemblerBlock(defaultProps(Material.METAL).notSolid())) .features(AEFeature.MOLECULAR_ASSEMBLER).rendering(new BlockRenderingCustomizer() { @Environment(EnvType.CLIENT) @Override diff --git a/src/main/java/appeng/core/sync/packets/BlockTransitionEffectPacket.java b/src/main/java/appeng/core/sync/packets/BlockTransitionEffectPacket.java index 4502638ca..1200114c1 100644 --- a/src/main/java/appeng/core/sync/packets/BlockTransitionEffectPacket.java +++ b/src/main/java/appeng/core/sync/packets/BlockTransitionEffectPacket.java @@ -29,10 +29,10 @@ import net.minecraft.sound.BlockSoundGroup; import net.minecraft.client.audio.SimpleSound; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.fluid.Fluid; -import net.minecraft.tags.FluidTags; -import net.minecraft.util.SoundCategory; +import net.minecraft.sound.SoundEvents; +import net.minecraft.tag.FluidTags; +import net.minecraft.sound.SoundCategory; import net.minecraft.util.SoundEvent; -import net.minecraft.util.SoundEvents; import net.minecraft.util.math.BlockPos; import net.fabricmc.api.EnvType; import net.minecraftforge.registries.GameData; @@ -116,7 +116,7 @@ public class BlockTransitionEffectPacket extends BasePacket { double speedY = 0.1f * this.direction.yOffset; double speedZ = 0.1f * this.direction.zOffset; - MinecraftClient.getInstance().particles.addParticle(data, x, y, z, speedX, speedY, speedZ); + MinecraftClient.getInstance().particleManager.addParticle(data, x, y, z, speedX, speedY, speedZ); } } } diff --git a/src/main/java/appeng/core/sync/packets/ItemTransitionEffectPacket.java b/src/main/java/appeng/core/sync/packets/ItemTransitionEffectPacket.java index c4e111d05..7a7be96a3 100644 --- a/src/main/java/appeng/core/sync/packets/ItemTransitionEffectPacket.java +++ b/src/main/java/appeng/core/sync/packets/ItemTransitionEffectPacket.java @@ -82,7 +82,7 @@ public class ItemTransitionEffectPacket extends BasePacket { double speedX = 0.1f * this.d.xOffset; double speedY = 0.1f * this.d.yOffset; double speedZ = 0.1f * this.d.zOffset; - MinecraftClient.getInstance().particles.addParticle(data, x, y, z, speedX, speedY, speedZ); + MinecraftClient.getInstance().particleManager.addParticle(data, x, y, z, speedX, speedY, speedZ); } } } diff --git a/src/main/java/appeng/core/sync/packets/MatterCannonPacket.java b/src/main/java/appeng/core/sync/packets/MatterCannonPacket.java index c2b206ce5..42979ee67 100644 --- a/src/main/java/appeng/core/sync/packets/MatterCannonPacket.java +++ b/src/main/java/appeng/core/sync/packets/MatterCannonPacket.java @@ -83,7 +83,7 @@ public class MatterCannonPacket extends BasePacket { public void clientPacketData(final INetworkInfo network, final PlayerEntity player) { try { for (int a = 1; a < this.len; a++) { - MinecraftClient.getInstance().particles.addParticle(ParticleTypes.MATTER_CANNON, this.x + this.dx * a, + MinecraftClient.getInstance().particleManager.addParticle(ParticleTypes.MATTER_CANNON, this.x + this.dx * a, this.y + this.dy * a, this.z + this.dz * a, 0, 0, 0); } } catch (final Exception ignored) { diff --git a/src/main/java/appeng/core/sync/packets/MockExplosionPacket.java b/src/main/java/appeng/core/sync/packets/MockExplosionPacket.java index 0bb62cfec..3c5e5cbee 100644 --- a/src/main/java/appeng/core/sync/packets/MockExplosionPacket.java +++ b/src/main/java/appeng/core/sync/packets/MockExplosionPacket.java @@ -23,11 +23,9 @@ import io.netty.buffer.Unpooled; import net.fabricmc.api.Environment; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; -import net.minecraft.particles.ParticleTypes; -import net.minecraft.world.World; +import net.minecraft.particle.ParticleTypes; import net.fabricmc.api.EnvType; -import appeng.core.AppEng; import appeng.core.sync.BasePacket; import appeng.core.sync.network.INetworkInfo; diff --git a/src/main/java/appeng/debug/ChunkLoaderBlock.java b/src/main/java/appeng/debug/ChunkLoaderBlock.java index 9945d57c1..c4bbb2d1e 100644 --- a/src/main/java/appeng/debug/ChunkLoaderBlock.java +++ b/src/main/java/appeng/debug/ChunkLoaderBlock.java @@ -25,7 +25,7 @@ import appeng.block.AEBaseTileBlock; public class ChunkLoaderBlock extends AEBaseTileBlock { public ChunkLoaderBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } } diff --git a/src/main/java/appeng/debug/ChunkLoaderBlockEntity.java b/src/main/java/appeng/debug/ChunkLoaderBlockEntity.java index 414d3b4ef..d18849360 100644 --- a/src/main/java/appeng/debug/ChunkLoaderBlockEntity.java +++ b/src/main/java/appeng/debug/ChunkLoaderBlockEntity.java @@ -18,7 +18,7 @@ package appeng.debug; -import net.minecraft.tileentity.ITickableTileEntity; +import net.minecraft.util.Tickable; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.util.math.ChunkPos; import net.minecraft.world.World; @@ -27,7 +27,7 @@ import net.minecraft.server.world.ServerWorld; import appeng.core.AELog; import appeng.tile.AEBaseBlockEntity; -public class ChunkLoaderBlockEntity extends AEBaseBlockEntity implements ITickableTileEntity { +public class ChunkLoaderBlockEntity extends AEBaseBlockEntity implements Tickable { public ChunkLoaderBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); diff --git a/src/main/java/appeng/debug/CubeGeneratorBlock.java b/src/main/java/appeng/debug/CubeGeneratorBlock.java index 978d07d57..d091e6ad6 100644 --- a/src/main/java/appeng/debug/CubeGeneratorBlock.java +++ b/src/main/java/appeng/debug/CubeGeneratorBlock.java @@ -34,7 +34,7 @@ import appeng.block.AEBaseTileBlock; public class CubeGeneratorBlock extends AEBaseTileBlock { public CubeGeneratorBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } @Override diff --git a/src/main/java/appeng/debug/CubeGeneratorBlockEntity.java b/src/main/java/appeng/debug/CubeGeneratorBlockEntity.java index 33d26646e..3ea77f781 100644 --- a/src/main/java/appeng/debug/CubeGeneratorBlockEntity.java +++ b/src/main/java/appeng/debug/CubeGeneratorBlockEntity.java @@ -23,7 +23,7 @@ import net.minecraft.item.DirectionalPlaceContext; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemUsageContext; -import net.minecraft.tileentity.ITickableTileEntity; +import net.minecraft.util.Tickable; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos; @@ -33,7 +33,7 @@ import appeng.core.AppEng; import appeng.tile.AEBaseBlockEntity; import appeng.util.Platform; -public class CubeGeneratorBlockEntity extends AEBaseBlockEntity implements ITickableTileEntity { +public class CubeGeneratorBlockEntity extends AEBaseBlockEntity implements Tickable { private int size = 3; private ItemStack is = ItemStack.EMPTY; diff --git a/src/main/java/appeng/debug/EnergyGeneratorBlock.java b/src/main/java/appeng/debug/EnergyGeneratorBlock.java index 01c691952..85a8743f1 100644 --- a/src/main/java/appeng/debug/EnergyGeneratorBlock.java +++ b/src/main/java/appeng/debug/EnergyGeneratorBlock.java @@ -25,7 +25,7 @@ import appeng.block.AEBaseTileBlock; public class EnergyGeneratorBlock extends AEBaseTileBlock { public EnergyGeneratorBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } } diff --git a/src/main/java/appeng/debug/EnergyGeneratorBlockEntity.java b/src/main/java/appeng/debug/EnergyGeneratorBlockEntity.java index 6083bc284..382c5f702 100644 --- a/src/main/java/appeng/debug/EnergyGeneratorBlockEntity.java +++ b/src/main/java/appeng/debug/EnergyGeneratorBlockEntity.java @@ -24,7 +24,7 @@ import com.google.common.math.IntMath; import net.minecraft.block.entity.BlockEntity; import net.minecraft.block.entity.BlockEntityType; -import net.minecraft.tileentity.ITickableTileEntity; +import net.minecraft.util.Tickable; import net.minecraft.util.math.Direction; import net.minecraft.world.World; import net.minecraftforge.common.capabilities.Capability; @@ -34,7 +34,7 @@ import net.minecraftforge.energy.IEnergyStorage; import appeng.tile.AEBaseBlockEntity; -public class EnergyGeneratorBlockEntity extends AEBaseBlockEntity implements ITickableTileEntity, IEnergyStorage { +public class EnergyGeneratorBlockEntity extends AEBaseBlockEntity implements Tickable, IEnergyStorage { /** * The base energy injected each tick. Adjacent TileEnergyGenerators will * increase it to pow(base, #generators). diff --git a/src/main/java/appeng/debug/EraserItem.java b/src/main/java/appeng/debug/EraserItem.java index ce218ce22..c3c8b406d 100644 --- a/src/main/java/appeng/debug/EraserItem.java +++ b/src/main/java/appeng/debug/EraserItem.java @@ -28,7 +28,7 @@ import net.minecraft.block.Blocks; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemUsageContext; -import net.minecraft.tags.BlockTags; +import net.minecraft.tag.BlockTags; import net.minecraft.util.ActionResult; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; diff --git a/src/main/java/appeng/debug/ItemGenBlock.java b/src/main/java/appeng/debug/ItemGenBlock.java index 78dd484b6..eb59f0b81 100644 --- a/src/main/java/appeng/debug/ItemGenBlock.java +++ b/src/main/java/appeng/debug/ItemGenBlock.java @@ -25,7 +25,7 @@ import appeng.block.AEBaseTileBlock; public class ItemGenBlock extends AEBaseTileBlock { public ItemGenBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } } diff --git a/src/main/java/appeng/debug/PhantomNodeBlock.java b/src/main/java/appeng/debug/PhantomNodeBlock.java index 6ed667850..34eb57a98 100644 --- a/src/main/java/appeng/debug/PhantomNodeBlock.java +++ b/src/main/java/appeng/debug/PhantomNodeBlock.java @@ -34,7 +34,7 @@ import appeng.block.AEBaseTileBlock; public class PhantomNodeBlock extends AEBaseTileBlock { public PhantomNodeBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } @Override diff --git a/src/main/java/appeng/decorative/solid/ChargedQuartzOreBlock.java b/src/main/java/appeng/decorative/solid/ChargedQuartzOreBlock.java index 9c37d6413..69308e902 100644 --- a/src/main/java/appeng/decorative/solid/ChargedQuartzOreBlock.java +++ b/src/main/java/appeng/decorative/solid/ChargedQuartzOreBlock.java @@ -38,7 +38,7 @@ public class ChargedQuartzOreBlock extends QuartzOreBlock { @Override @Environment(EnvType.CLIENT) - public void animateTick(final BlockState state, final World w, final BlockPos pos, final Random r) { + public void randomDisplayTick(final BlockState state, final World w, final BlockPos pos, final Random r) { if (!AEConfig.instance().isEnableEffects()) { return; } @@ -72,7 +72,7 @@ public class ChargedQuartzOreBlock extends QuartzOreBlock { } if (AppEng.proxy.shouldAddParticles(r)) { - MinecraftClient.getInstance().particles.addParticle(ParticleTypes.CHARGED_ORE, pos.getX() + xOff, + MinecraftClient.getInstance().particleManager.addParticle(ParticleTypes.CHARGED_ORE, pos.getX() + xOff, pos.getY() + yOff, pos.getZ() + zOff, 0.0f, 0.0f, 0.0f); } } diff --git a/src/main/java/appeng/decorative/solid/QuartzLampBlock.java b/src/main/java/appeng/decorative/solid/QuartzLampBlock.java index f1fdd5176..069cebad4 100644 --- a/src/main/java/appeng/decorative/solid/QuartzLampBlock.java +++ b/src/main/java/appeng/decorative/solid/QuartzLampBlock.java @@ -38,7 +38,7 @@ public class QuartzLampBlock extends QuartzGlassBlock { @Override @Environment(EnvType.CLIENT) - public void animateTick(final BlockState state, final World w, final BlockPos pos, final Random r) { + public void randomDisplayTick(final BlockState state, final World w, final BlockPos pos, final Random r) { if (!AEConfig.instance().isEnableEffects()) { return; } diff --git a/src/main/java/appeng/decorative/solid/QuartzOreBlock.java b/src/main/java/appeng/decorative/solid/QuartzOreBlock.java index 35822eff6..afeda7220 100644 --- a/src/main/java/appeng/decorative/solid/QuartzOreBlock.java +++ b/src/main/java/appeng/decorative/solid/QuartzOreBlock.java @@ -30,7 +30,7 @@ public class QuartzOreBlock extends AEBaseBlock { } @Override - public int getExpDrop(BlockState state, net.minecraft.world.IWorldReader reader, BlockPos pos, int fortune, + public int getExpDrop(BlockState state, net.minecraft.world.WorldView reader, BlockPos pos, int fortune, int silktouch) { return silktouch == 0 ? MathHelper.nextInt(RANDOM, 2, 5) : 0; } diff --git a/src/main/java/appeng/decorative/solid/QuartzPillarBlock.java b/src/main/java/appeng/decorative/solid/QuartzPillarBlock.java index 8dca366b9..87721227e 100644 --- a/src/main/java/appeng/decorative/solid/QuartzPillarBlock.java +++ b/src/main/java/appeng/decorative/solid/QuartzPillarBlock.java @@ -21,8 +21,8 @@ package appeng.decorative.solid; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.state.EnumProperty; -import net.minecraft.state.StateContainer; -import net.minecraft.state.properties.BlockStateProperties; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.Properties; import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.world.BlockView; @@ -33,7 +33,7 @@ import appeng.decorative.AEDecorativeBlock; import appeng.helpers.MetaRotation; public class QuartzPillarBlock extends AEDecorativeBlock implements IOrientableBlock { - public static final EnumProperty AXIS = BlockStateProperties.AXIS; + public static final EnumProperty AXIS = Properties.AXIS; public QuartzPillarBlock(Properties props) { super(props); @@ -43,8 +43,8 @@ public class QuartzPillarBlock extends AEDecorativeBlock implements IOrientableB } @Override - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); builder.add(AXIS); } diff --git a/src/main/java/appeng/decorative/solid/SkyStoneBlock.java b/src/main/java/appeng/decorative/solid/SkyStoneBlock.java index e9a8050a3..ec200f862 100644 --- a/src/main/java/appeng/decorative/solid/SkyStoneBlock.java +++ b/src/main/java/appeng/decorative/solid/SkyStoneBlock.java @@ -64,14 +64,14 @@ public class SkyStoneBlock extends AEBaseBlock { } @Override - public BlockState updatePostPlacement(BlockState stateIn, Direction facing, BlockState facingState, WorldAccess worldIn, + public BlockState getStateForNeighborUpdate(BlockState stateIn, Direction facing, BlockState facingState, WorldAccess worldIn, BlockPos currentPos, BlockPos facingPos) { if (worldIn instanceof ServerWorld) { WorldData.instance().compassData().service().updateArea(worldIn, new ChunkPos(currentPos), currentPos.getY()); } - return super.updatePostPlacement(stateIn, facing, facingState, worldIn, currentPos, facingPos); + return super.getStateForNeighborUpdate(stateIn, facing, facingState, worldIn, currentPos, facingPos); } @Override diff --git a/src/main/java/appeng/entity/TinyTNTPrimedEntity.java b/src/main/java/appeng/entity/TinyTNTPrimedEntity.java index 6bb91ecc2..44423eb38 100644 --- a/src/main/java/appeng/entity/TinyTNTPrimedEntity.java +++ b/src/main/java/appeng/entity/TinyTNTPrimedEntity.java @@ -23,21 +23,17 @@ import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Material; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityType; -import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.*; import net.minecraft.entity.MoverType; -import net.minecraft.entity.ItemEntity; -import net.minecraft.entity.item.TNTEntity; import net.minecraft.network.PacketByteBuf; -import net.minecraft.particles.ParticleTypes; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.sound.SoundEvents; import net.minecraft.util.DamageSource; -import net.minecraft.util.SoundCategory; -import net.minecraft.util.SoundEvents; +import net.minecraft.sound.SoundCategory; import net.minecraft.util.math.Box; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.Explosion; -import net.minecraft.world.Explosion.Mode; +import net.minecraft.world.explosion.Explosion; +import net.minecraft.world.explosion.Explosion.Mode; import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.IEntityAdditionalSpawnData; @@ -48,7 +44,7 @@ import appeng.core.AppEng; import appeng.core.sync.packets.MockExplosionPacket; import appeng.util.Platform; -public final class TinyTNTPrimedEntity extends TNTEntity implements IEntityAdditionalSpawnData { +public final class TinyTNTPrimedEntity extends TntEntity implements IEntityAdditionalSpawnData { public static EntityType TYPE; diff --git a/src/main/java/appeng/entity/TinyTNTPrimedRenderer.java b/src/main/java/appeng/entity/TinyTNTPrimedRenderer.java index a465f82ff..c622c4dba 100644 --- a/src/main/java/appeng/entity/TinyTNTPrimedRenderer.java +++ b/src/main/java/appeng/entity/TinyTNTPrimedRenderer.java @@ -24,7 +24,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.renderer.BlockRendererDispatcher; -import net.minecraft.client.renderer.Vector3f; +import net.minecraft.client.util.math.Vector3f; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererManager; import net.minecraft.client.renderer.entity.TNTMinecartRenderer; diff --git a/src/main/java/appeng/fluids/block/FluidInterfaceBlock.java b/src/main/java/appeng/fluids/block/FluidInterfaceBlock.java index 093e51c9f..0d6ba5221 100644 --- a/src/main/java/appeng/fluids/block/FluidInterfaceBlock.java +++ b/src/main/java/appeng/fluids/block/FluidInterfaceBlock.java @@ -39,7 +39,7 @@ import appeng.util.Platform; public class FluidInterfaceBlock extends AEBaseTileBlock { public FluidInterfaceBlock() { - super(defaultProps(Material.IRON)); + super(defaultProps(Material.METAL)); } @Override @@ -53,7 +53,7 @@ public class FluidInterfaceBlock extends AEBaseTileBlock facingProp; + private final DirectionProperty facingProp; private final BlockView w; private final BlockPos pos; - public MetaRotation(final BlockView world, final BlockPos pos, final Property facingProp) { + public MetaRotation(final BlockView world, final BlockPos pos, final DirectionProperty facingProp) { this.w = world; this.pos = pos; this.facingProp = facingProp; @@ -58,12 +58,12 @@ public class MetaRotation implements IOrientable { public Direction getUp() { final BlockState state = this.w.getBlockState(this.pos); - if (this.facingProp != null && state.has(this.facingProp)) { + if (this.facingProp != null && state.contains(this.facingProp)) { return state.get(this.facingProp); } // TODO 1.10.2-R - Temp - if (state.has(QuartzPillarBlock.AXIS)) { + if (state.contains(QuartzPillarBlock.AXIS)) { Axis a = state.get(QuartzPillarBlock.AXIS); switch (a) { case X: diff --git a/src/main/java/appeng/items/parts/FacadeItem.java b/src/main/java/appeng/items/parts/FacadeItem.java index c0b0a7d25..60289cde9 100644 --- a/src/main/java/appeng/items/parts/FacadeItem.java +++ b/src/main/java/appeng/items/parts/FacadeItem.java @@ -26,8 +26,8 @@ import net.minecraft.client.render.RenderLayer; import net.minecraft.client.renderer.RenderTypeLookup; import net.minecraft.item.*; import net.minecraft.nbt.CompoundTag; -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.Tag; +import net.minecraft.tag.BlockTags; +import net.minecraft.tag.Tag; import net.minecraft.util.ActionResult; import net.minecraft.util.Identifier; import net.minecraft.util.NonNullList; diff --git a/src/main/java/appeng/items/tools/MemoryCardItem.java b/src/main/java/appeng/items/tools/MemoryCardItem.java index ef9b35f4f..634a2de99 100644 --- a/src/main/java/appeng/items/tools/MemoryCardItem.java +++ b/src/main/java/appeng/items/tools/MemoryCardItem.java @@ -31,7 +31,7 @@ import net.minecraft.text.TranslatableText; import net.minecraft.util.*; import net.minecraft.util.math.BlockPos; import net.minecraft.text.Text; -import net.minecraft.world.IWorldReader; +import net.minecraft.world.WorldView; import net.minecraft.world.World; import net.fabricmc.api.Environment; @@ -184,7 +184,7 @@ public class MemoryCardItem extends AEBaseItem implements IMemoryCard { } @Override - public boolean doesSneakBypassUse(ItemStack stack, IWorldReader world, BlockPos pos, PlayerEntity player) { + public boolean doesSneakBypassUse(ItemStack stack, WorldView world, BlockPos pos, PlayerEntity player) { return true; } diff --git a/src/main/java/appeng/items/tools/NetworkToolItem.java b/src/main/java/appeng/items/tools/NetworkToolItem.java index 81f7a7323..255993107 100644 --- a/src/main/java/appeng/items/tools/NetworkToolItem.java +++ b/src/main/java/appeng/items/tools/NetworkToolItem.java @@ -32,7 +32,7 @@ import net.minecraft.util.Hand; import net.minecraft.util.Rotation; import net.minecraft.util.math.BlockPos; import net.minecraft.util.hit.HitResult; -import net.minecraft.world.IWorldReader; +import net.minecraft.world.WorldView; import net.minecraft.world.World; import appeng.api.implementations.guiobjects.IGuiItem; @@ -112,7 +112,7 @@ public class NetworkToolItem extends AEBaseItem implements IGuiItem, IAEWrench { } @Override - public boolean doesSneakBypassUse(ItemStack stack, IWorldReader world, BlockPos pos, PlayerEntity player) { + public boolean doesSneakBypassUse(ItemStack stack, WorldView world, BlockPos pos, PlayerEntity player) { return true; } @@ -132,7 +132,7 @@ public class NetworkToolItem extends AEBaseItem implements IGuiItem, IAEWrench { final BlockEntity te = w.getBlockEntity(pos); if (!(te instanceof IGridHost)) { if (bs.rotate(w, pos, Rotation.CLOCKWISE_90) != bs) { - bs.neighborChanged(w, pos, Blocks.AIR, pos, false); + bs.neighborUpdate(w, pos, Blocks.AIR, pos, false); p.swingArm(hand); return !w.isClient; } diff --git a/src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java b/src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java index 6ec8e1aff..18d75b220 100644 --- a/src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java +++ b/src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java @@ -64,9 +64,9 @@ import net.minecraft.item.ItemUsageContext; import net.minecraft.item.SnowballItem; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.world.ServerWorld; -import net.minecraft.state.IProperty; -import net.minecraft.tags.ItemTags; -import net.minecraft.tags.Tag; +import net.minecraft.state.property.Property; +import net.minecraft.tag.ItemTags; +import net.minecraft.tag.Tag; import net.minecraft.text.Text; import net.minecraft.text.TranslatableText; import net.minecraft.util.ActionResult; @@ -327,7 +327,7 @@ public class ColorApplicatorItem extends AEBasePoweredItem Block recolored = BlockRecolorer.recolor(blk, newColor); if (recolored != blk) { BlockState newState = recolored.getDefaultState(); - for (IProperty prop : newState.getProperties()) { + for (Property prop : newState.getProperties()) { newState = copyProp(state, newState, prop); } @@ -353,8 +353,8 @@ public class ColorApplicatorItem extends AEBasePoweredItem } private static > BlockState copyProp(BlockState oldState, BlockState newState, - IProperty prop) { - if (newState.has(prop)) { + Property prop) { + if (newState.contains(prop)) { return newState.with(prop, oldState.get(prop)); } return newState; diff --git a/src/main/java/appeng/items/tools/powered/EntropyManipulatorItem.java b/src/main/java/appeng/items/tools/powered/EntropyManipulatorItem.java index ba2ec37b3..a2df35462 100644 --- a/src/main/java/appeng/items/tools/powered/EntropyManipulatorItem.java +++ b/src/main/java/appeng/items/tools/powered/EntropyManipulatorItem.java @@ -34,8 +34,9 @@ import net.minecraft.inventory.CraftingInventory; import net.minecraft.item.*; import net.minecraft.item.crafting.FurnaceRecipe; import net.minecraft.recipe.RecipeType; -import net.minecraft.particles.ParticleTypes; -import net.minecraft.state.properties.BlockStateProperties; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.sound.SoundEvents; +import net.minecraft.state.property.Properties; import net.minecraft.util.*; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; @@ -89,7 +90,7 @@ public class EntropyManipulatorItem extends AEBasePoweredItem implements IBlockT this.heatUp.put(new InWorldToolOperationIngredient(Blocks.WATER, Fluids.FLOWING_WATER), new InWorldToolOperationResult()); this.heatUp.put(new InWorldToolOperationIngredient(Blocks.SNOW), new InWorldToolOperationResult( - Blocks.WATER.getDefaultState().with(BlockStateProperties.LEVEL_0_15, 7), Fluids.FLOWING_WATER)); + Blocks.WATER.getDefaultState().with(Properties.LEVEL_0_15, 7), Fluids.FLOWING_WATER)); } private static class InWorldToolOperationIngredient { diff --git a/src/main/java/appeng/parts/AEBasePart.java b/src/main/java/appeng/parts/AEBasePart.java index c89abacd5..6bfcf5668 100644 --- a/src/main/java/appeng/parts/AEBasePart.java +++ b/src/main/java/appeng/parts/AEBasePart.java @@ -202,7 +202,7 @@ public abstract class AEBasePart implements IPart, IGridProxyable, IActionHost, } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { } @@ -275,7 +275,7 @@ public abstract class AEBasePart implements IPart, IGridProxyable, IActionHost, @Override @Environment(EnvType.CLIENT) - public void animateTick(final World world, final BlockPos pos, final Random r) { + public void randomDisplayTick(final World world, final BlockPos pos, final Random r) { } diff --git a/src/main/java/appeng/parts/CableBusContainer.java b/src/main/java/appeng/parts/CableBusContainer.java index aa76c80d3..aaca9b99d 100644 --- a/src/main/java/appeng/parts/CableBusContainer.java +++ b/src/main/java/appeng/parts/CableBusContainer.java @@ -671,13 +671,13 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { this.hasRedstone = YesNo.UNDECIDED; for (final AEPartLocation s : AEPartLocation.values()) { final IPart part = this.getPart(s); if (part != null) { - part.onNeighborChanged(w, pos, neighbor); + part.onneighborUpdate(w, pos, neighbor); } } @@ -700,11 +700,11 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I } @Override - public void animateTick(final World world, final BlockPos pos, final Random r) { + public void randomDisplayTick(final World world, final BlockPos pos, final Random r) { for (final AEPartLocation side : AEPartLocation.values()) { final IPart p = this.getPart(side); if (p != null) { - p.animateTick(world, pos, r); + p.randomDisplayTick(world, pos, r); } } } @@ -1039,7 +1039,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I /** * See {@link net.minecraft.block.Block#getShape} */ - public VoxelShape getShape() { + public VoxelShape getOutlineShape() { if (cachedShape == null) { cachedShape = createShape(false, false); } @@ -1091,7 +1091,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I VoxelShape shape = VoxelShapes.empty(); for (final Box bx : boxes) { - shape = VoxelShapes.or(shape, VoxelShapes.create(bx)); + shape = VoxelShapes.or(shape, VoxelShapes.cuboid(bx)); } return shape; } diff --git a/src/main/java/appeng/parts/ICableBusContainer.java b/src/main/java/appeng/parts/ICableBusContainer.java index bbf1683f0..bcd0e9a19 100644 --- a/src/main/java/appeng/parts/ICableBusContainer.java +++ b/src/main/java/appeng/parts/ICableBusContainer.java @@ -51,7 +51,7 @@ public interface ICableBusContainer { boolean clicked(PlayerEntity player, Hand hand, Vec3d hitVec); - void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor); + void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor); boolean isEmpty(); @@ -62,7 +62,7 @@ public interface ICableBusContainer { boolean isLadder(LivingEntity entity); @Environment(EnvType.CLIENT) - void animateTick(World world, BlockPos pos, Random r); + void randomDisplayTick(World world, BlockPos pos, Random r); int getLightValue(); diff --git a/src/main/java/appeng/parts/NullCableBusContainer.java b/src/main/java/appeng/parts/NullCableBusContainer.java index 7cdbc599d..3fff89778 100644 --- a/src/main/java/appeng/parts/NullCableBusContainer.java +++ b/src/main/java/appeng/parts/NullCableBusContainer.java @@ -63,7 +63,7 @@ public class NullCableBusContainer implements ICableBusContainer { } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { } @@ -88,7 +88,7 @@ public class NullCableBusContainer implements ICableBusContainer { } @Override - public void animateTick(final World world, final BlockPos pos, final Random r) { + public void randomDisplayTick(final World world, final BlockPos pos, final Random r) { } diff --git a/src/main/java/appeng/parts/PartPlacement.java b/src/main/java/appeng/parts/PartPlacement.java index 7c062682d..1185ccfbe 100644 --- a/src/main/java/appeng/parts/PartPlacement.java +++ b/src/main/java/appeng/parts/PartPlacement.java @@ -37,7 +37,7 @@ import net.minecraft.util.ActionResult; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; -import net.minecraft.util.SoundCategory; +import net.minecraft.sound.SoundCategory; import net.minecraft.util.math.BlockPos; import net.minecraft.world.RayTraceContext; import net.minecraft.util.hit.HitResult; @@ -233,7 +233,7 @@ public class PartPlacement { final boolean multiPartPresent = maybeMultiPartBlock.isPresent() && maybeMultiPartStack.isPresent() && maybeMultiPartBlockItem.isPresent(); BlockState multiPartBlockState = maybeMultiPartBlock.get().getDefaultState(); - final boolean canMultiPartBePlaced = multiPartBlockState.isValidPosition(world, te_pos); + final boolean canMultiPartBePlaced = multiPartBlockState.canPlaceAt(world, te_pos); // We cannot override the item stack of normal use context, so we use this hack ItemPlacementContext mpUseCtx = new ItemPlacementContext( diff --git a/src/main/java/appeng/parts/automation/AbstractFormationPlanePart.java b/src/main/java/appeng/parts/automation/AbstractFormationPlanePart.java index 4689f3ec3..b85ee477c 100644 --- a/src/main/java/appeng/parts/automation/AbstractFormationPlanePart.java +++ b/src/main/java/appeng/parts/automation/AbstractFormationPlanePart.java @@ -164,7 +164,7 @@ public abstract class AbstractFormationPlanePart> extends } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { if (pos.offset(this.getSide().getFacing()).equals(neighbor)) { final BlockEntity te = this.getHost().getTile(); final AEPartLocation side = this.getSide(); diff --git a/src/main/java/appeng/parts/automation/AnnihilationPlanePart.java b/src/main/java/appeng/parts/automation/AnnihilationPlanePart.java index 8597f2f34..cc0fe1345 100644 --- a/src/main/java/appeng/parts/automation/AnnihilationPlanePart.java +++ b/src/main/java/appeng/parts/automation/AnnihilationPlanePart.java @@ -36,9 +36,8 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.tag.Tag; -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.ItemTags; -import net.minecraft.tags.Tag; +import net.minecraft.tag.BlockTags; +import net.minecraft.tag.ItemTags; import net.minecraft.util.Identifier; import net.minecraft.util.math.Box; import net.minecraft.util.math.Direction; @@ -217,7 +216,7 @@ public class AnnihilationPlanePart extends BasicStatePart implements IGridTickab } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { if (pos.offset(this.getSide().getFacing()).equals(neighbor)) { this.refresh(); } diff --git a/src/main/java/appeng/parts/automation/LevelEmitterPart.java b/src/main/java/appeng/parts/automation/LevelEmitterPart.java index 024517937..8a62e71a8 100644 --- a/src/main/java/appeng/parts/automation/LevelEmitterPart.java +++ b/src/main/java/appeng/parts/automation/LevelEmitterPart.java @@ -385,7 +385,7 @@ public class LevelEmitterPart extends UpgradeablePart implements IEnergyWatcherH } @Override - public void animateTick(final World world, final BlockPos pos, final Random r) { + public void randomDisplayTick(final World world, final BlockPos pos, final Random r) { if (this.isLevelEmitterOn()) { final AEPartLocation d = this.getSide(); diff --git a/src/main/java/appeng/parts/automation/SharedItemBusPart.java b/src/main/java/appeng/parts/automation/SharedItemBusPart.java index 0167e8a62..ff75375d0 100644 --- a/src/main/java/appeng/parts/automation/SharedItemBusPart.java +++ b/src/main/java/appeng/parts/automation/SharedItemBusPart.java @@ -70,7 +70,7 @@ public abstract class SharedItemBusPart extends UpgradeablePart implements IGrid } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { this.updateState(); if (this.lastRedstone != this.getHost().hasRedstone(this.getSide())) { this.lastRedstone = !this.lastRedstone; diff --git a/src/main/java/appeng/parts/misc/CableAnchorPart.java b/src/main/java/appeng/parts/misc/CableAnchorPart.java index 2a7c14701..a0067653f 100644 --- a/src/main/java/appeng/parts/misc/CableAnchorPart.java +++ b/src/main/java/appeng/parts/misc/CableAnchorPart.java @@ -117,7 +117,7 @@ public class CableAnchorPart implements IPart { } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { } @@ -193,7 +193,7 @@ public class CableAnchorPart implements IPart { } @Override - public void animateTick(final World world, final BlockPos pos, final Random r) { + public void randomDisplayTick(final World world, final BlockPos pos, final Random r) { } diff --git a/src/main/java/appeng/parts/misc/SharedStorageBusPart.java b/src/main/java/appeng/parts/misc/SharedStorageBusPart.java index 4c5b462b0..4d3065ebc 100644 --- a/src/main/java/appeng/parts/misc/SharedStorageBusPart.java +++ b/src/main/java/appeng/parts/misc/SharedStorageBusPart.java @@ -134,7 +134,7 @@ public abstract class SharedStorageBusPart extends UpgradeablePart } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { if (pos.offset(this.getSide().getFacing()).equals(neighbor)) { this.resetCache(false); } diff --git a/src/main/java/appeng/parts/misc/StorageBusPart.java b/src/main/java/appeng/parts/misc/StorageBusPart.java index 18f9652fc..a5cea7b1a 100644 --- a/src/main/java/appeng/parts/misc/StorageBusPart.java +++ b/src/main/java/appeng/parts/misc/StorageBusPart.java @@ -255,7 +255,7 @@ public class StorageBusPart extends UpgradeablePart } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { if (pos.offset(this.getSide().getFacing()).equals(neighbor)) { final BlockEntity te = w.getBlockEntity(neighbor); diff --git a/src/main/java/appeng/parts/misc/ToggleBusPart.java b/src/main/java/appeng/parts/misc/ToggleBusPart.java index 8d3f7a16f..2ce6f989a 100644 --- a/src/main/java/appeng/parts/misc/ToggleBusPart.java +++ b/src/main/java/appeng/parts/misc/ToggleBusPart.java @@ -103,7 +103,7 @@ public class ToggleBusPart extends BasicStatePart { } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { final boolean oldHasRedstone = this.hasRedstone; this.hasRedstone = this.getHost().hasRedstone(this.getSide()); diff --git a/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java b/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java index 3b55b485e..d16f96186 100644 --- a/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java +++ b/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java @@ -69,7 +69,7 @@ public class FluidP2PTunnelPart extends P2PTunnelPart implem } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { this.cachedTank = null; if (this.isOutput()) { diff --git a/src/main/java/appeng/parts/p2p/ItemP2PTunnelPart.java b/src/main/java/appeng/parts/p2p/ItemP2PTunnelPart.java index 3e5db4cdd..a727c437f 100644 --- a/src/main/java/appeng/parts/p2p/ItemP2PTunnelPart.java +++ b/src/main/java/appeng/parts/p2p/ItemP2PTunnelPart.java @@ -69,7 +69,7 @@ public class ItemP2PTunnelPart extends P2PTunnelPart implemen } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { this.cachedInv = null; final ItemP2PTunnelPart input = this.getInput(); if (input != null && this.isOutput()) { diff --git a/src/main/java/appeng/parts/p2p/LightP2PTunnelPart.java b/src/main/java/appeng/parts/p2p/LightP2PTunnelPart.java index 3e14165a8..44c88276a 100644 --- a/src/main/java/appeng/parts/p2p/LightP2PTunnelPart.java +++ b/src/main/java/appeng/parts/p2p/LightP2PTunnelPart.java @@ -96,7 +96,7 @@ public class LightP2PTunnelPart extends P2PTunnelPart implem final BlockEntity te = this.getTile(); final World w = te.getWorld(); - final int newLevel = w.getLight(te.getPos().offset(this.getSide().getFacing())); + final int newLevel = w.getLightLevel(te.getPos().offset(this.getSide().getFacing())); if (this.lastValue != newLevel && this.getProxy().isActive()) { this.lastValue = newLevel; @@ -113,7 +113,7 @@ public class LightP2PTunnelPart extends P2PTunnelPart implem } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { if (this.isOutput() && pos.offset(this.getSide().getFacing()).equals(neighbor)) { this.opacity = -1; this.getHost().markForUpdate(); @@ -139,7 +139,7 @@ public class LightP2PTunnelPart extends P2PTunnelPart implem private int blockLight(final int emit) { if (this.opacity < 0) { final BlockEntity te = this.getTile(); - this.opacity = 255 - te.getWorld().getLight(te.getPos().offset(this.getSide().getFacing())); + this.opacity = 255 - te.getWorld().getLightLevel(te.getPos().offset(this.getSide().getFacing())); } return (int) (emit * (this.opacity / 255.0f)); diff --git a/src/main/java/appeng/parts/p2p/RedstoneP2PTunnelPart.java b/src/main/java/appeng/parts/p2p/RedstoneP2PTunnelPart.java index 0051d00f3..3720ff114 100644 --- a/src/main/java/appeng/parts/p2p/RedstoneP2PTunnelPart.java +++ b/src/main/java/appeng/parts/p2p/RedstoneP2PTunnelPart.java @@ -128,7 +128,7 @@ public class RedstoneP2PTunnelPart extends P2PTunnelPart } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { if (!this.isOutput()) { final BlockPos target = this.getTile().getPos().offset(this.getSide().getFacing()); @@ -140,8 +140,8 @@ public class RedstoneP2PTunnelPart extends P2PTunnelPart srcSide = Direction.UP; } - this.power = b.getWeakPower(state, this.getTile().getWorld(), target, srcSide); - this.power = Math.max(this.power, b.getWeakPower(state, this.getTile().getWorld(), target, srcSide)); + this.power = b.getWeakRedstonePower(state, this.getTile().getWorld(), target, srcSide); + this.power = Math.max(this.power, b.getWeakRedstonePower(state, this.getTile().getWorld(), target, srcSide)); this.sendToOutput(this.power); } else { this.sendToOutput(0); diff --git a/src/main/java/appeng/parts/reporting/AbstractReportingPart.java b/src/main/java/appeng/parts/reporting/AbstractReportingPart.java index ae1a83d85..c2e14cc04 100644 --- a/src/main/java/appeng/parts/reporting/AbstractReportingPart.java +++ b/src/main/java/appeng/parts/reporting/AbstractReportingPart.java @@ -105,7 +105,7 @@ public abstract class AbstractReportingPart extends AEBasePart implements IMonit } @Override - public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { + public void onneighborUpdate(BlockView w, BlockPos pos, BlockPos neighbor) { if (pos.offset(this.getSide().getFacing()).equals(neighbor)) { this.opacity = -1; this.getHost().markForUpdate(); diff --git a/src/main/java/appeng/spatial/CachedPlane.java b/src/main/java/appeng/spatial/CachedPlane.java index 16cb8110c..2e4a28ca1 100644 --- a/src/main/java/appeng/spatial/CachedPlane.java +++ b/src/main/java/appeng/spatial/CachedPlane.java @@ -27,7 +27,7 @@ import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.entity.BlockEntity; import net.minecraft.network.play.server.SChunkDataPacket; -import net.minecraft.tileentity.ITickableTileEntity; +import net.minecraft.util.Tickable; import net.minecraft.util.math.BlockPos; import net.minecraft.world.EmptyBlockReader; import net.minecraft.world.ITickList; @@ -169,7 +169,7 @@ public class CachedPlane { for (final BlockEntity te : this.tiles) { try { this.getWorld().loadedTileEntityList.remove(te); - if (te instanceof ITickableTileEntity) { + if (te instanceof Tickable) { this.getWorld().tickableTileEntities.remove(te); } } catch (final Exception e) { diff --git a/src/main/java/appeng/spatial/StorageCellBiome.java b/src/main/java/appeng/spatial/StorageCellBiome.java index 0bcc3eede..3cb646b90 100644 --- a/src/main/java/appeng/spatial/StorageCellBiome.java +++ b/src/main/java/appeng/spatial/StorageCellBiome.java @@ -21,7 +21,7 @@ package appeng.spatial; import net.minecraft.util.SharedSeedRandom; import net.minecraft.util.math.BlockPos; import net.minecraft.world.WorldAccess; -import net.minecraft.world.IWorldReader; +import net.minecraft.world.WorldView; import net.minecraft.world.biome.Biome; import net.minecraft.world.gen.ChunkGenerator; import net.minecraft.world.gen.GenerationSettings; @@ -52,17 +52,17 @@ public class StorageCellBiome extends Biome { } @Override - public boolean doesWaterFreeze(IWorldReader worldIn, BlockPos pos) { + public boolean doesWaterFreeze(WorldView worldIn, BlockPos pos) { return false; } @Override - public boolean doesWaterFreeze(IWorldReader worldIn, BlockPos water, boolean mustBeAtEdge) { + public boolean doesWaterFreeze(WorldView worldIn, BlockPos water, boolean mustBeAtEdge) { return false; } @Override - public boolean doesSnowGenerate(IWorldReader worldIn, BlockPos pos) { + public boolean doesSnowGenerate(WorldView worldIn, BlockPos pos) { return false; } diff --git a/src/main/java/appeng/spatial/StorageHelper.java b/src/main/java/appeng/spatial/StorageHelper.java index 348e33657..e24b15458 100644 --- a/src/main/java/appeng/spatial/StorageHelper.java +++ b/src/main/java/appeng/spatial/StorageHelper.java @@ -201,7 +201,7 @@ public class StorageHelper { public void visit(final BlockPos pos) { final BlockState state = this.dst.getBlockState(pos); final Block blk = state.getBlock(); - blk.neighborChanged(state, this.dst, pos, blk, pos, false); + blk.neighborUpdate(state, this.dst, pos, blk, pos, false); } } diff --git a/src/main/java/appeng/thirdparty/codechicken/lib/model/Quad.java b/src/main/java/appeng/thirdparty/codechicken/lib/model/Quad.java index 49a5651e7..446656074 100644 --- a/src/main/java/appeng/thirdparty/codechicken/lib/model/Quad.java +++ b/src/main/java/appeng/thirdparty/codechicken/lib/model/Quad.java @@ -18,7 +18,7 @@ package appeng.thirdparty.codechicken.lib.model; -import net.minecraft.client.renderer.Vector3f; +import net.minecraft.client.util.math.Vector3f; import net.minecraft.client.render.model.BakedQuad; import net.minecraft.client.texture.Sprite; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; diff --git a/src/main/java/appeng/tile/crafting/MolecularAssemblerRenderer.java b/src/main/java/appeng/tile/crafting/MolecularAssemblerRenderer.java index b440837a7..562a15374 100644 --- a/src/main/java/appeng/tile/crafting/MolecularAssemblerRenderer.java +++ b/src/main/java/appeng/tile/crafting/MolecularAssemblerRenderer.java @@ -118,7 +118,7 @@ public class MolecularAssemblerRenderer extends BlockEntityRenderer FORMED_STATE = new ModelProperty<>(); diff --git a/src/main/java/appeng/tile/spatial/SpatialPylonBlockEntity.java b/src/main/java/appeng/tile/spatial/SpatialPylonBlockEntity.java index 7679d8a32..f4124bb1a 100644 --- a/src/main/java/appeng/tile/spatial/SpatialPylonBlockEntity.java +++ b/src/main/java/appeng/tile/spatial/SpatialPylonBlockEntity.java @@ -87,7 +87,7 @@ public class SpatialPylonBlockEntity extends AENetworkBlockEntity implements IAE @Override public void onReady() { super.onReady(); - this.neighborChanged(); + this.neighborUpdate(); } @Override @@ -96,7 +96,7 @@ public class SpatialPylonBlockEntity extends AENetworkBlockEntity implements IAE super.remove(); } - public void neighborChanged() { + public void neighborUpdate() { this.calc.calculateMultiblock(this.world, this.getLocation()); } diff --git a/src/main/java/appeng/tile/storage/ChestBlockEntity.java b/src/main/java/appeng/tile/storage/ChestBlockEntity.java index bae244826..b88e0843e 100644 --- a/src/main/java/appeng/tile/storage/ChestBlockEntity.java +++ b/src/main/java/appeng/tile/storage/ChestBlockEntity.java @@ -34,7 +34,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.PacketByteBuf; -import net.minecraft.tileentity.ITickableTileEntity; +import net.minecraft.util.Tickable; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.util.math.Direction; import net.minecraftforge.common.capabilities.Capability; @@ -110,7 +110,7 @@ import appeng.util.inv.filter.IAEItemFilter; import appeng.util.item.AEItemStack; public class ChestBlockEntity extends AENetworkPowerBlockEntity - implements IMEChest, ITerminalHost, IPriorityHost, IConfigManagerHost, IColorableTile, ITickableTileEntity { + implements IMEChest, ITerminalHost, IPriorityHost, IConfigManagerHost, IColorableTile, Tickable { private final AppEngInternalInventory inputInventory = new AppEngInternalInventory(this, 1); private final AppEngInternalInventory cellInventory = new AppEngInternalInventory(this, 1); private final FixedItemInv internalInventory = new WrapperChainedItemHandler(this.inputInventory, diff --git a/src/main/java/appeng/tile/storage/SkyChestBlockEntity.java b/src/main/java/appeng/tile/storage/SkyChestBlockEntity.java index 48d2da3d0..02d8e4bdf 100644 --- a/src/main/java/appeng/tile/storage/SkyChestBlockEntity.java +++ b/src/main/java/appeng/tile/storage/SkyChestBlockEntity.java @@ -24,11 +24,11 @@ import net.minecraft.block.Block; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketByteBuf; +import net.minecraft.sound.SoundEvents; import net.minecraft.tileentity.IChestLid; -import net.minecraft.tileentity.ITickableTileEntity; +import net.minecraft.util.Tickable; import net.minecraft.block.entity.BlockEntityType; -import net.minecraft.util.SoundCategory; -import net.minecraft.util.SoundEvents; +import net.minecraft.sound.SoundCategory; import net.minecraft.util.math.MathHelper; import alexiil.mc.lib.attributes.item.FixedItemInv; @@ -37,7 +37,7 @@ import appeng.tile.AEBaseInvBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.inv.InvOperation; -public class SkyChestBlockEntity extends AEBaseInvBlockEntity implements ITickableTileEntity, IChestLid { +public class SkyChestBlockEntity extends AEBaseInvBlockEntity implements Tickable, IChestLid { private final AppEngInternalInventory inv = new AppEngInternalInventory(this, 9 * 4); diff --git a/src/main/java/appeng/worldgen/meteorite/MeteoriteStructureStart.java b/src/main/java/appeng/worldgen/meteorite/MeteoriteStructureStart.java index 273d9e600..a09daa0fc 100644 --- a/src/main/java/appeng/worldgen/meteorite/MeteoriteStructureStart.java +++ b/src/main/java/appeng/worldgen/meteorite/MeteoriteStructureStart.java @@ -7,8 +7,8 @@ import com.google.common.math.StatsAccumulator; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.Tag; +import net.minecraft.tag.BlockTags; +import net.minecraft.tag.Tag; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MutableBoundingBox; diff --git a/src/main/java/appeng/worldgen/meteorite/debug/MeteoriteSpawner.java b/src/main/java/appeng/worldgen/meteorite/debug/MeteoriteSpawner.java index 93298d54c..026ce7d00 100644 --- a/src/main/java/appeng/worldgen/meteorite/debug/MeteoriteSpawner.java +++ b/src/main/java/appeng/worldgen/meteorite/debug/MeteoriteSpawner.java @@ -22,7 +22,7 @@ import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IWorldReader; +import net.minecraft.world.WorldView; import appeng.worldgen.meteorite.CraterType; import appeng.worldgen.meteorite.PlacedMeteoriteSettings; @@ -35,7 +35,7 @@ public class MeteoriteSpawner { public MeteoriteSpawner() { } - public PlacedMeteoriteSettings trySpawnMeteoriteAtSuitableHeight(IWorldReader world, BlockPos startPos, + public PlacedMeteoriteSettings trySpawnMeteoriteAtSuitableHeight(WorldView world, BlockPos startPos, float coreRadius, CraterType craterType, boolean pureCrater, boolean worldGen) { int stepSize = Math.min(5, (int) Math.ceil(coreRadius) + 1); int minY = 10 + stepSize; @@ -56,7 +56,7 @@ public class MeteoriteSpawner { } @Nullable - public PlacedMeteoriteSettings trySpawnMeteorite(IWorldReader world, BlockPos pos, float coreRadius, + public PlacedMeteoriteSettings trySpawnMeteorite(WorldView world, BlockPos pos, float coreRadius, CraterType craterType, boolean pureCrater) { if (!areSurroundingsSuitable(world, pos)) { return null; @@ -79,7 +79,7 @@ public class MeteoriteSpawner { return new PlacedMeteoriteSettings(pos, coreRadius, craterType, null, pureCrater, craterLake); } - private static boolean isAirBelowSpawnPoint(IWorldReader w, BlockPos pos) { + private static boolean isAirBelowSpawnPoint(WorldView w, BlockPos pos) { BlockPos.Mutable testPos = new BlockPos.Mutable(pos); for (int j = pos.getY() - 15; j < pos.getY() - 1; j++) { testPos.setY(j); @@ -90,7 +90,7 @@ public class MeteoriteSpawner { return false; } - private int countBlockWithSkyLight(IWorldReader w, BlockPos pos) { + private int countBlockWithSkyLight(WorldView w, BlockPos pos) { int skyMode = 0; BlockPos.Mutable testPos = new BlockPos.Mutable(); @@ -109,7 +109,7 @@ public class MeteoriteSpawner { return skyMode; } - private boolean areSurroundingsSuitable(IWorldReader w, BlockPos pos) { + private boolean areSurroundingsSuitable(WorldView w, BlockPos pos) { int realValidBlocks = 0; BlockPos.Mutable testPos = new BlockPos.Mutable();