diff --git a/build.gradle b/build.gradle index 35cd62f67..0ef02db17 100644 --- a/build.gradle +++ b/build.gradle @@ -76,6 +76,10 @@ allprojects { } } +dependencies { + compile project(":api") +} + subprojects { apply plugin: 'kotlin-platform-jvm' diff --git a/src/main/java/appeng/block/AEBaseBlock.java b/src/main/java/appeng/block/AEBaseBlock.java index 07f6e065b..466805873 100644 --- a/src/main/java/appeng/block/AEBaseBlock.java +++ b/src/main/java/appeng/block/AEBaseBlock.java @@ -20,7 +20,7 @@ package appeng.block; import javax.annotation.Nullable; -import net.minecraft.block.AbstractBlock; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.sound.BlockSoundGroup; @@ -28,18 +28,17 @@ import net.minecraft.block.Material; import net.minecraft.block.MaterialColor; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.sound.BlockSoundGroup; import net.minecraft.util.ActionResult; +import net.minecraft.util.Identifier; import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; -import net.minecraft.util.shape.VoxelShape; -import net.minecraft.util.shape.VoxelShapes; +import net.minecraft.util.hit.BlockHitResult; +import net.minecraft.util.registry.Registry; import net.minecraft.world.BlockView; import net.minecraft.world.WorldAccess; import net.minecraft.world.World; -import net.minecraftforge.common.ToolType; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import appeng.api.util.IOrientable; import appeng.api.util.IOrientableBlock; @@ -48,8 +47,6 @@ import appeng.util.Platform; public abstract class AEBaseBlock extends Block { - private boolean isOpaque = true; - private boolean isFullSize = true; private boolean isInventory = false; protected AEBaseBlock(final Settings props) { @@ -60,7 +57,7 @@ public abstract class AEBaseBlock extends Block { * Utility function to create block properties with some sensible defaults for * AE blocks. */ - public static Settings defaultProps(Material material) { + public static FabricBlockSettings defaultProps(Material material) { return defaultProps(material, material.getColor()); } @@ -68,17 +65,18 @@ public abstract class AEBaseBlock extends Block { * Utility function to create block properties with some sensible defaults for * AE blocks. */ - public static Settings defaultProps(Material material, MaterialColor color) { - return Settings.create(material, color) + public static FabricBlockSettings defaultProps(Material material, MaterialColor color) { + return FabricBlockSettings.of(material, color) // These values previousls were encoded in AEBaseBlock - .hardnessAndResistance(2.2f, 11.f).harvestTool(ToolType.PICKAXE).harvestLevel(0) - .sound(getDefaultSoundByMaterial(material)); + .strength(2.2f, 11.f) + .breakByTool(FabricToolTags.PICKAXES, 0) + .sounds(getDefaultSoundByMaterial(material)); } private static BlockSoundGroup getDefaultSoundByMaterial(Material mat) { if (mat == AEGlassMaterial.INSTANCE || mat == Material.GLASS) { return BlockSoundGroup.GLASS; - } else if (mat == Material.ROCK) { + } else if (mat == Material.STONE) { return BlockSoundGroup.STONE; } else if (mat == Material.WOOD) { return BlockSoundGroup.WOOD; @@ -87,11 +85,6 @@ public abstract class AEBaseBlock extends Block { } } - @Override - public boolean isNormalCube(BlockState state, BlockView worldIn, BlockPos pos) { - return this.isFullSize() && this.isOpaque(); - } - @Override public boolean hasComparatorOutput(BlockState state) { return this.isInventory(); @@ -132,7 +125,7 @@ public abstract class AEBaseBlock extends Block { } public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { return ActionResult.PASS; } @@ -151,13 +144,13 @@ public abstract class AEBaseBlock extends Block { return dir; } - final int west_x = forward.getYOffset() * up.getZOffset() - forward.getZOffset() * up.getYOffset(); - final int west_y = forward.getZOffset() * up.getXOffset() - forward.getXOffset() * up.getZOffset(); - final int west_z = forward.getXOffset() * up.getYOffset() - forward.getYOffset() * up.getXOffset(); + final int west_x = forward.getOffsetY() * up.getOffsetZ() - forward.getOffsetZ() * up.getOffsetY(); + final int west_y = forward.getOffsetZ() * up.getOffsetX() - forward.getOffsetX() * up.getOffsetZ(); + final int west_z = forward.getOffsetX() * up.getOffsetY() - forward.getOffsetY() * up.getOffsetX(); Direction west = null; for (final Direction dx : Direction.values()) { - if (dx.getXOffset() == west_x && dx.getYOffset() == west_y && dx.getZOffset() == west_z) { + if (dx.getOffsetX() == west_x && dx.getOffsetY() == west_y && dx.getOffsetZ() == west_z) { west = dx; } } @@ -192,7 +185,8 @@ public abstract class AEBaseBlock extends Block { @Override public String toString() { - String regName = this.getRegistryName() != null ? this.getRegistryName().getPath() : "unregistered"; + Identifier id = Registry.BLOCK.getId(this); + String regName = id == Registry.BLOCK.getDefaultId() ? "unregistered" : id.getPath(); return this.getClass().getSimpleName() + "[" + regName + "]"; } @@ -221,24 +215,6 @@ public abstract class AEBaseBlock extends Block { return true; } - protected boolean isOpaque() { - return this.isOpaque; - } - - protected boolean setOpaque(final boolean isOpaque) { - this.isOpaque = isOpaque; - return isOpaque; - } - - protected boolean isFullSize() { - return this.isFullSize; - } - - protected boolean setFullSize(final boolean isFullSize) { - this.isFullSize = isFullSize; - return isFullSize; - } - protected boolean isInventory() { return this.isInventory; } diff --git a/src/main/java/appeng/block/AEBaseBlockItem.java b/src/main/java/appeng/block/AEBaseBlockItem.java index 4299a3120..20162e750 100644 --- a/src/main/java/appeng/block/AEBaseBlockItem.java +++ b/src/main/java/appeng/block/AEBaseBlockItem.java @@ -22,11 +22,10 @@ import java.util.List; import net.fabricmc.api.EnvType; import net.minecraft.block.Block; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.BlockItem; -import net.minecraft.item.BlockItemUseContext; -import net.minecraft.item.Item; +import net.minecraft.item.ItemPlacementContext; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.math.Direction; @@ -40,33 +39,28 @@ import appeng.block.misc.LightDetectorBlock; import appeng.block.misc.SkyCompassBlock; import appeng.block.networking.WirelessBlock; import appeng.me.helpers.IGridProxyable; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; public class AEBaseBlockItem extends BlockItem { private final AEBaseBlock blockType; - public AEBaseBlockItem(final Block id, Item.Properties props) { + public AEBaseBlockItem(final Block id, Settings props) { super(id, props); this.blockType = (AEBaseBlock) id; } @Override @Environment(EnvType.CLIENT) - public final void addInformation(final ItemStack itemStack, final World world, final List toolTip, - final ITooltipFlag advancedTooltips) { + public final void appendTooltip(final ItemStack itemStack, final World world, final List toolTip, + final TooltipContext advancedTooltips) { this.addCheckedInformation(itemStack, world, toolTip, advancedTooltips); } @Environment(EnvType.CLIENT) public void addCheckedInformation(final ItemStack itemStack, final World world, final List toolTip, - final ITooltipFlag advancedTooltips) { - this.blockType.addInformation(itemStack, world, toolTip, advancedTooltips); - } - - @Override - public boolean isBookEnchantable(final ItemStack itemstack1, final ItemStack itemstack2) { - return false; + final TooltipContext advancedTooltips) { + this.blockType.buildTooltip(itemStack, world, toolTip, advancedTooltips); } @Override @@ -75,12 +69,12 @@ public class AEBaseBlockItem extends BlockItem { } @Override - public ActionResult tryPlace(BlockItemUseContext context) { + public ActionResult place(ItemPlacementContext context) { Direction up = null; Direction forward = null; - Direction side = context.getFace(); + Direction side = context.getSide(); PlayerEntity player = context.getPlayer(); if (this.blockType instanceof AEBaseTileBlock) { @@ -100,13 +94,13 @@ public class AEBaseBlockItem extends BlockItem { } } else { up = Direction.UP; - forward = context.getPlacementHorizontalFacing().getOpposite(); + forward = context.getPlayerFacing().getOpposite(); if (player != null) { - if (player.rotationPitch > 65) { + if (player.pitch > 65) { up = forward.getOpposite(); forward = Direction.UP; - } else if (player.rotationPitch < -65) { + } else if (player.pitch < -65) { up = forward.getOpposite(); forward = Direction.DOWN; } @@ -116,26 +110,26 @@ public class AEBaseBlockItem extends BlockItem { IOrientable ori = null; if (this.blockType instanceof IOrientableBlock) { - ori = ((IOrientableBlock) this.blockType).getOrientable(context.getWorld(), context.getPos()); + ori = ((IOrientableBlock) this.blockType).getOrientable(context.getWorld(), context.getBlockPos()); up = side; forward = Direction.SOUTH; - if (up.getYOffset() == 0) { + if (up.getOffsetY() == 0) { forward = Direction.UP; } } - if (!this.blockType.isValidOrientation(context.getWorld(), context.getPos(), forward, up)) { + if (!this.blockType.isValidOrientation(context.getWorld(), context.getBlockPos(), forward, up)) { return ActionResult.FAIL; } - ActionResult result = super.tryPlace(context); + ActionResult result = super.place(context); if (result != ActionResult.SUCCESS) { return result; } if (this.blockType instanceof AEBaseTileBlock && !(this.blockType instanceof LightDetectorBlock)) { - final AEBaseTileEntity tile = ((AEBaseTileBlock) this.blockType).getTileEntity(context.getWorld(), - context.getPos()); + final AEBaseBlockEntity tile = ((AEBaseTileBlock) this.blockType).getBlockEntity(context.getWorld(), + context.getBlockPos()); ori = tile; if (tile == null) { diff --git a/src/main/java/appeng/block/AEBaseBlockItemChargeable.java b/src/main/java/appeng/block/AEBaseBlockItemChargeable.java index b0a49531e..ff7f2c742 100644 --- a/src/main/java/appeng/block/AEBaseBlockItemChargeable.java +++ b/src/main/java/appeng/block/AEBaseBlockItemChargeable.java @@ -18,45 +18,50 @@ package appeng.block; -import java.text.MessageFormat; -import java.util.List; - -import net.fabricmc.api.EnvType; -import net.minecraft.block.Block; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.util.Identifier; -import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; -import net.minecraft.world.World; -import net.fabricmc.api.Environment; - import appeng.api.AEApi; import appeng.api.config.AccessRestriction; import appeng.api.config.Actionable; import appeng.api.config.PowerUnits; import appeng.api.definitions.IBlockDefinition; import appeng.api.implementations.items.IAEItemPowerStorage; +import appeng.core.AppEng; import appeng.core.localization.GuiText; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; +import net.minecraft.block.Block; +import net.minecraft.client.item.TooltipContext; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; +import net.minecraft.util.Identifier; +import net.minecraft.world.World; + +import java.text.MessageFormat; +import java.util.List; public class AEBaseBlockItemChargeable extends AEBaseBlockItem implements IAEItemPowerStorage { - public AEBaseBlockItemChargeable(Block id, Properties props) { + public AEBaseBlockItemChargeable(Block id, Settings props) { super(id, props); - addPropertyOverride(new Identifier("appliedenergistics2:fill_level"), (is, world, entity) -> { - double curPower = getAECurrentPower(is); - double maxPower = getAEMaxPower(is); + FabricModelPredicateProviderRegistry.register( + this, + new Identifier(AppEng.MOD_ID, "fill_level"), + (is, world, entity) -> { + double curPower = getAECurrentPower(is); + double maxPower = getAEMaxPower(is); - return (int) Math.round(100 * curPower / maxPower); - }); + return (int) Math.round(100 * curPower / maxPower); + } + ); } @Override @Environment(EnvType.CLIENT) public void addCheckedInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { + final TooltipContext advancedTooltips) { double internalCurrentPower = 0; final double internalMaxPower = this.getMaxEnergyCapacity(); @@ -69,9 +74,10 @@ public class AEBaseBlockItemChargeable extends AEBaseBlockItem implements IAEIte final double percent = internalCurrentPower / internalMaxPower; lines.add(GuiText.StoredEnergy.textComponent() - .appendText(':' + MessageFormat.format(" {0,number,#} ", internalCurrentPower)) - .appendSibling(new TranslatableText(PowerUnits.AE.unlocalizedName)) - .appendText(" - " + MessageFormat.format("{0,number,#.##%}", percent))); + .copy() + .append(':' + MessageFormat.format(" {0,number,#} ", internalCurrentPower)) + .append(new TranslatableText(PowerUnits.AE.unlocalizedName)) + .append(" - " + MessageFormat.format("{0,number,#.##%}", percent))); } } diff --git a/src/main/java/appeng/block/AEBaseTileBlock.java b/src/main/java/appeng/block/AEBaseTileBlock.java index dc52f42d6..6b69d8523 100644 --- a/src/main/java/appeng/block/AEBaseTileBlock.java +++ b/src/main/java/appeng/block/AEBaseTileBlock.java @@ -25,45 +25,42 @@ import java.util.function.Supplier; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import alexiil.mc.lib.attributes.item.FixedItemInv; import com.google.common.collect.Lists; import net.minecraft.block.Block; +import net.minecraft.block.BlockEntityProvider; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.util.DyeColor; +import net.minecraft.text.LiteralText; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.ActionResult; -import net.minecraft.util.math.Direction; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; +import net.minecraft.util.math.MathHelper; import net.minecraft.world.BlockView; -import net.minecraft.world.WorldAccess; import net.minecraft.world.World; -import net.minecraftforge.items.ItemHandlerHelper; import appeng.api.implementations.items.IMemoryCard; import appeng.api.implementations.items.MemoryCardMessages; -import appeng.api.implementations.tiles.IColorableTile; -import appeng.api.util.AEColor; import appeng.api.util.IOrientable; import appeng.block.networking.CableBusBlock; -import appeng.tile.AEBaseInvTileEntity; -import appeng.tile.AEBaseTileEntity; -import appeng.tile.networking.CableBusTileEntity; -import appeng.tile.storage.SkyChestTileEntity; +import appeng.tile.AEBaseInvBlockEntity; +import appeng.tile.AEBaseBlockEntity; +import appeng.tile.networking.CableBusBlockEntity; +import appeng.tile.storage.SkyChestBlockEntity; import appeng.util.Platform; import appeng.util.SettingsFrom; -public abstract class AEBaseTileBlock extends AEBaseBlock { +public abstract class AEBaseTileBlock extends AEBaseBlock implements BlockEntityProvider { @Nonnull - private Class tileEntityClass; + private Class blockEntityClass; @Nonnull private Supplier tileEntityFactory; @@ -73,61 +70,45 @@ public abstract class AEBaseTileBlock extends AEBase // TODO : Was this change needed? public void setTileEntity(final Class tileEntityClass, Supplier factory) { - this.tileEntityClass = tileEntityClass; + this.blockEntityClass = tileEntityClass; this.tileEntityFactory = factory; - this.setInventory(AEBaseInvTileEntity.class.isAssignableFrom(tileEntityClass)); + this.setInventory(AEBaseInvBlockEntity.class.isAssignableFrom(tileEntityClass)); } - @Override - public boolean hasTileEntity(BlockState state) { - return this.hasBlockTileEntity(); - } - - private boolean hasBlockTileEntity() { - return true; - } - - public Class getTileEntityClass() { - return this.tileEntityClass; + public Class getBlockEntityClass() { + return this.blockEntityClass; } @Nullable - public T getTileEntity(final BlockView w, final int x, final int y, final int z) { - return this.getTileEntity(w, new BlockPos(x, y, z)); + public T getBlockEntity(final BlockView w, final int x, final int y, final int z) { + return this.getBlockEntity(w, new BlockPos(x, y, z)); } @Nullable - public T getTileEntity(final BlockView w, final BlockPos pos) { - if (!this.hasBlockTileEntity()) { - return null; - } + public T getBlockEntity(final BlockView w, final BlockPos pos) { - final BlockEntity te = w.getTileEntity(pos); + final BlockEntity te = w.getBlockEntity(pos); // FIXME: This gets called as part of building the block state cache - if (this.tileEntityClass != null && this.tileEntityClass.isInstance(te)) { - return this.tileEntityClass.cast(te); + if (this.blockEntityClass != null && this.blockEntityClass.isInstance(te)) { + return this.blockEntityClass.cast(te); } return null; } + @Nullable @Override - public final BlockEntity createTileEntity(BlockState state, BlockView world) { + public BlockEntity createBlockEntity(BlockView world) { return this.tileEntityFactory.get(); } @Override - public void dropXpOnBlockBreak(World worldIn, BlockPos pos, int amount) { - super.dropXpOnBlockBreak(worldIn, pos, amount); - } - - @Override - public void onReplaced(BlockState state, World w, BlockPos pos, BlockState newState, boolean isMoving) { + public void onStateReplaced(BlockState state, World w, BlockPos pos, BlockState newState, boolean isMoving) { if (newState.getBlock() == state.getBlock()) { return; // Just a block state change } - final AEBaseTileEntity te = this.getTileEntity(w, pos); + final AEBaseBlockEntity te = this.getBlockEntity(w, pos); if (te != null) { final ArrayList drops = new ArrayList<>(); if (te.dropItems()) { @@ -141,84 +122,90 @@ public abstract class AEBaseTileBlock extends AEBase } // super will remove the TE, as it is not an instance of BlockContainer - super.onReplaced(state, w, pos, newState, isMoving); - } - - @Override - public boolean recolorBlock(BlockState state, final WorldAccess world, final BlockPos pos, final Direction side, - final DyeColor color) { - final BlockEntity te = this.getTileEntity(world, pos); - - if (te instanceof IColorableTile) { - final IColorableTile ct = (IColorableTile) te; - final AEColor c = ct.getColor(); - final AEColor newColor = AEColor.values()[color.ordinal()]; - - if (c != newColor) { - ct.recolourBlock(side, newColor, null); - return true; - } - return false; - } - - return super.recolorBlock(state, world, pos, side, color); + super.onStateReplaced(state, w, pos, newState, isMoving); } @Override public int getComparatorOutput(BlockState state, final World w, final BlockPos pos) { - final BlockEntity te = this.getTileEntity(w, pos); - if (te instanceof AEBaseInvTileEntity) { - AEBaseInvTileEntity invTile = (AEBaseInvTileEntity) te; - if (invTile.getInternalInventory().getSlots() > 0) { - return ItemHandlerHelper.calcRedstoneFromInventory(invTile.getInternalInventory()); + final BlockEntity te = this.getBlockEntity(w, pos); + if (te instanceof AEBaseInvBlockEntity) { + AEBaseInvBlockEntity invTile = (AEBaseInvBlockEntity) te; + if (invTile.getInternalInventory().getSlotCount() > 0) { + return getRedstoneFromFixedItemInv(invTile.getInternalInventory()); } } return 0; } - @Override - public boolean eventReceived(final BlockState state, final World worldIn, final BlockPos pos, final int eventID, - final int eventParam) { - super.eventReceived(state, worldIn, pos, eventID, eventParam); - final BlockEntity tileentity = worldIn.getTileEntity(pos); - return tileentity != null ? tileentity.receiveClientEvent(eventID, eventParam) : false; + /** + * Calculate redstone output level. + * 0 if completely empty, 1 if _any_ item is present, up to 15 if all slots are full. + */ + private int getRedstoneFromFixedItemInv(FixedItemInv inv) { + boolean foundAnything = false; // ANY slots non-empty? + float fillRatio = 0; + + for (int i = 0; i < inv.getSlotCount(); ++i) + { + ItemStack stack = inv.getInvStack(i); + if (stack.isEmpty()) { + continue; + } + + int slotMaxCount = inv.getMaxAmount(i, stack); + fillRatio += stack.getCount() / (float)Math.min(slotMaxCount, stack.getMaxCount()); + foundAnything = true; + } + + // Average the ratio across all slots + fillRatio /= inv.getSlotCount(); + + // Always return at least non-zero if _any_ slots are non-empty + return (foundAnything ? 1 : 0) + MathHelper.floor(fillRatio * 14.0f); } @Override - public void onBlockPlacedBy(final World w, final BlockPos pos, final BlockState state, final LivingEntity placer, + public boolean onSyncedBlockEvent(BlockState state, World world, BlockPos pos, int type, int data) { + super.onSyncedBlockEvent(state, world, pos, type, data); + final BlockEntity tileentity = world.getBlockEntity(pos); + return tileentity != null && tileentity.onSyncedBlockEvent(type, data); + } + + @Override + public void onPlaced(final World w, final BlockPos pos, final BlockState state, final LivingEntity placer, final ItemStack is) { // Inherit the item stack's display name, but only if it's a user defined string // rather // than a translation component, since our custom naming cannot handle // untranslated // I18N strings and we would translate it using the server's locale :-( - AEBaseTileEntity te = this.getTileEntity(w, pos); - if (te != null && is.hasDisplayName()) { - Text displayName = is.getDisplayName(); - if (displayName instanceof StringTextComponent) { - te.setName(((StringTextComponent) displayName).getText()); + AEBaseBlockEntity te = this.getBlockEntity(w, pos); + if (te != null && is.hasCustomName()) { + Text displayName = is.getName(); + if (displayName instanceof LiteralText) { + te.setName(((LiteralText) displayName).getRawString()); } } } @Override - public ActionResult onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, - Hand hand, BlockRayTraceResult hit) { + public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, + Hand hand, BlockHitResult hit) { ItemStack heldItem; - if (player != null && !player.getHeldItem(hand).isEmpty()) { - heldItem = player.getHeldItem(hand); + if (player != null && !player.getStackInHand(hand).isEmpty()) { + heldItem = player.getStackInHand(hand); - if (Platform.isWrench(player, heldItem, pos) && player.isCrouching()) { + if (Platform.isWrench(player, heldItem, pos) && player.isInSneakingPose()) { final BlockState blockState = world.getBlockState(pos); final Block block = blockState.getBlock(); - final AEBaseTileEntity tile = this.getTileEntity(world, pos); + final AEBaseBlockEntity tile = this.getBlockEntity(world, pos); if (tile == null) { return ActionResult.FAIL; } - if (tile instanceof CableBusTileEntity || tile instanceof SkyChestTileEntity) { + if (tile instanceof CableBusBlockEntity || tile instanceof SkyChestBlockEntity) { return ActionResult.FAIL; } @@ -234,10 +221,12 @@ public abstract class AEBaseTileBlock extends AEBase } } - if (block.removedByPlayer(blockState, world, pos, player, false, world.getFluidState(pos))) { + block.onBreak(world, pos, blockState, player); + boolean bl = world.removeBlock(pos, false); + if (bl) { + block.onBroken(world, pos, blockState); final List itemsToDrop = Lists.newArrayList(itemDropCandidates); Platform.spawnDrops(world, pos, itemsToDrop); - world.removeBlock(pos, false); } return ActionResult.FAIL; @@ -245,7 +234,7 @@ public abstract class AEBaseTileBlock extends AEBase if (heldItem.getItem() instanceof IMemoryCard && !(this instanceof CableBusBlock)) { final IMemoryCard memoryCard = (IMemoryCard) heldItem.getItem(); - final AEBaseTileEntity tileEntity = this.getTileEntity(world, pos); + final AEBaseBlockEntity tileEntity = this.getBlockEntity(world, pos); if (tileEntity == null) { return ActionResult.FAIL; @@ -253,7 +242,7 @@ public abstract class AEBaseTileBlock extends AEBase final String name = this.getTranslationKey(); - if (player.isCrouching()) { + if (player.isInSneakingPose()) { final CompoundTag data = tileEntity.downloadSettings(SettingsFrom.MEMORY_CARD); if (data != null) { memoryCard.setMemoryCardContents(heldItem, name, data); @@ -275,12 +264,12 @@ public abstract class AEBaseTileBlock extends AEBase } } - return this.onActivated(world, pos, player, hand, player.getHeldItem(hand), hit); + return this.onActivated(world, pos, player, hand, player.getStackInHand(hand), hit); } @Override public IOrientable getOrientable(final BlockView w, final BlockPos pos) { - return this.getTileEntity(w, pos); + return this.getBlockEntity(w, pos); } /** @@ -291,12 +280,12 @@ public abstract class AEBaseTileBlock extends AEBase * returned unchanged, this is also the case if the given block state does not * belong to this block. */ - public final BlockState getTileEntityBlockState(BlockState current, BlockEntity te) { - if (current.getBlock() != this || !tileEntityClass.isInstance(te)) { + public final BlockState getBlockEntityBlockState(BlockState current, BlockEntity te) { + if (current.getBlock() != this || !blockEntityClass.isInstance(te)) { return current; } - return updateBlockStateFromTileEntity(current, tileEntityClass.cast(te)); + return updateBlockStateFromTileEntity(current, blockEntityClass.cast(te)); } /** diff --git a/src/main/java/appeng/block/crafting/AbstractCraftingUnitBlock.java b/src/main/java/appeng/block/crafting/AbstractCraftingUnitBlock.java index 3b2a8aa60..8d8f6346b 100644 --- a/src/main/java/appeng/block/crafting/AbstractCraftingUnitBlock.java +++ b/src/main/java/appeng/block/crafting/AbstractCraftingUnitBlock.java @@ -26,16 +26,16 @@ import net.minecraft.state.StateContainer; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.CraftingCPUContainer; -import appeng.tile.crafting.CraftingTileEntity; +import appeng.tile.crafting.CraftingBlockEntity; -public abstract class AbstractCraftingUnitBlock extends AEBaseTileBlock { +public abstract class AbstractCraftingUnitBlock extends AEBaseTileBlock { public static final BooleanProperty FORMED = BooleanProperty.create("formed"); public static final BooleanProperty POWERED = BooleanProperty.create("powered"); @@ -57,33 +57,33 @@ public abstract class AbstractCraftingUnitBlock ex @Override public void neighborChanged(final BlockState state, final World worldIn, final BlockPos pos, final Block blockIn, final BlockPos fromPos, boolean isMoving) { - final CraftingTileEntity cp = this.getTileEntity(worldIn, pos); + final CraftingBlockEntity cp = this.getBlockEntity(worldIn, pos); if (cp != null) { cp.updateMultiBlock(); } } @Override - public void onReplaced(BlockState state, World w, BlockPos pos, BlockState newState, boolean isMoving) { + public void onStateReplaced(BlockState state, World w, BlockPos pos, BlockState newState, boolean isMoving) { if (newState.getBlock() == state.getBlock()) { return; // Just a block state change } - final CraftingTileEntity cp = this.getTileEntity(w, pos); + final CraftingBlockEntity cp = this.getBlockEntity(w, pos); if (cp != null) { cp.breakCluster(); } - super.onReplaced(state, w, pos, newState, isMoving); + super.onStateReplaced(state, w, pos, newState, isMoving); } @Override - public ActionResult onBlockActivated(BlockState state, World w, BlockPos pos, PlayerEntity p, Hand hand, - BlockRayTraceResult hit) { - final CraftingTileEntity tg = this.getTileEntity(w, pos); + public ActionResult onUse(BlockState state, World w, BlockPos pos, PlayerEntity p, Hand hand, + BlockHitResult hit) { + final CraftingBlockEntity tg = this.getBlockEntity(w, pos); - if (tg != null && !p.isCrouching() && tg.isFormed() && tg.isActive()) { - if (!w.isRemote()) { + if (tg != null && !p.isInSneakingPose() && tg.isFormed() && tg.isActive()) { + if (!w.isClient()) { ContainerOpener.openContainer(CraftingCPUContainer.TYPE, p, ContainerLocator.forTileEntitySide(tg, hit.getFace())); } @@ -91,7 +91,7 @@ public abstract class AbstractCraftingUnitBlock ex return ActionResult.SUCCESS; } - return super.onBlockActivated(state, w, pos, p, hand, hit); + return super.onUse(state, w, pos, p, hand, hit); } public enum CraftingUnitType { diff --git a/src/main/java/appeng/block/crafting/CraftingMonitorBlock.java b/src/main/java/appeng/block/crafting/CraftingMonitorBlock.java index 2f7acdcd9..35d100d52 100644 --- a/src/main/java/appeng/block/crafting/CraftingMonitorBlock.java +++ b/src/main/java/appeng/block/crafting/CraftingMonitorBlock.java @@ -18,10 +18,10 @@ package appeng.block.crafting; -import appeng.tile.crafting.CraftingMonitorTileEntity; +import appeng.tile.crafting.CraftingMonitorBlockEntity; -public class CraftingMonitorBlock extends AbstractCraftingUnitBlock { - public CraftingMonitorBlock(Properties props) { +public class CraftingMonitorBlock extends AbstractCraftingUnitBlock { + public CraftingMonitorBlock(Settings props) { super(props, CraftingUnitType.MONITOR); } } diff --git a/src/main/java/appeng/block/crafting/CraftingStorageBlock.java b/src/main/java/appeng/block/crafting/CraftingStorageBlock.java index e89671b9c..d8bdf9fc0 100644 --- a/src/main/java/appeng/block/crafting/CraftingStorageBlock.java +++ b/src/main/java/appeng/block/crafting/CraftingStorageBlock.java @@ -18,11 +18,11 @@ package appeng.block.crafting; -import appeng.tile.crafting.CraftingStorageTileEntity; +import appeng.tile.crafting.CraftingStorageBlockEntity; -public class CraftingStorageBlock extends AbstractCraftingUnitBlock { +public class CraftingStorageBlock extends AbstractCraftingUnitBlock { - public CraftingStorageBlock(Properties props, CraftingUnitType type) { + public CraftingStorageBlock(Settings props, CraftingUnitType type) { super(props, type); } diff --git a/src/main/java/appeng/block/crafting/CraftingStorageItem.java b/src/main/java/appeng/block/crafting/CraftingStorageItem.java index b16cb538a..ce986b79d 100644 --- a/src/main/java/appeng/block/crafting/CraftingStorageItem.java +++ b/src/main/java/appeng/block/crafting/CraftingStorageItem.java @@ -28,7 +28,7 @@ import appeng.core.AEConfig; public class CraftingStorageItem extends AEBaseBlockItem { - public CraftingStorageItem(Block id, Properties props) { + public CraftingStorageItem(Block id, Settings props) { super(id, props); } diff --git a/src/main/java/appeng/block/crafting/CraftingUnitBlock.java b/src/main/java/appeng/block/crafting/CraftingUnitBlock.java index 150ad9d66..78349cbd8 100644 --- a/src/main/java/appeng/block/crafting/CraftingUnitBlock.java +++ b/src/main/java/appeng/block/crafting/CraftingUnitBlock.java @@ -18,11 +18,11 @@ package appeng.block.crafting; -import appeng.tile.crafting.CraftingTileEntity; +import appeng.tile.crafting.CraftingBlockEntity; -public class CraftingUnitBlock extends AbstractCraftingUnitBlock { +public class CraftingUnitBlock extends AbstractCraftingUnitBlock { - public CraftingUnitBlock(Properties props, CraftingUnitType type) { + public CraftingUnitBlock(Settings props, CraftingUnitType type) { super(props, type); } diff --git a/src/main/java/appeng/block/crafting/MolecularAssemblerBlock.java b/src/main/java/appeng/block/crafting/MolecularAssemblerBlock.java index 38ba66c44..88df50258 100644 --- a/src/main/java/appeng/block/crafting/MolecularAssemblerBlock.java +++ b/src/main/java/appeng/block/crafting/MolecularAssemblerBlock.java @@ -25,17 +25,17 @@ import net.minecraft.state.BooleanProperty; import net.minecraft.state.StateContainer; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.MolecularAssemblerContainer; -import appeng.tile.crafting.MolecularAssemblerTileEntity; +import appeng.tile.crafting.MolecularAssemblerBlockEntity; -public class MolecularAssemblerBlock extends AEBaseTileBlock { +public class MolecularAssemblerBlock extends AEBaseTileBlock { public static final BooleanProperty POWERED = BooleanProperty.create("powered"); @@ -51,23 +51,23 @@ public class MolecularAssemblerBlock extends AEBaseTileBlock { +public class CrankBlock extends AEBaseTileBlock { - public CrankBlock(Properties props) { + public CrankBlock(Settings props) { super(props); } @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { if (player instanceof FakePlayer || player == null) { this.dropCrank(w, pos); return ActionResult.SUCCESS; } - final CrankTileEntity tile = this.getTileEntity(w, pos); + final CrankBlockEntity tile = this.getBlockEntity(w, pos); if (tile != null) { if (tile.power()) { AeStats.TurnedCranks.addToPlayer(player, 1); @@ -74,14 +74,14 @@ public class CrankBlock extends AEBaseTileBlock { } private void dropCrank(final World world, final BlockPos pos) { - world.destroyBlock(pos, true); - world.notifyBlockUpdate(pos, this.getDefaultState(), world.getBlockState(pos), 3); + world.breakBlock(pos, true); + world.updateListeners(pos, this.getDefaultState(), world.getBlockState(pos), 3); } @Override - public void onBlockPlacedBy(final World world, final BlockPos pos, final BlockState state, + public void onPlaced(final World world, final BlockPos pos, final BlockState state, final LivingEntity placer, final ItemStack stack) { - final AEBaseTileEntity tile = this.getTileEntity(world, pos); + final AEBaseBlockEntity tile = this.getBlockEntity(world, pos); if (tile != null) { final Direction mnt = this.findCrankable(world, pos); Direction forward = Direction.UP; @@ -96,8 +96,8 @@ public class CrankBlock extends AEBaseTileBlock { @Override public boolean isValidOrientation(final WorldAccess w, final BlockPos pos, final Direction forward, final Direction up) { - final BlockEntity te = w.getTileEntity(pos); - return !(te instanceof CrankTileEntity) || this.isCrankable(w, pos, up.getOpposite()); + final BlockEntity te = w.getBlockEntity(pos); + return !(te instanceof CrankBlockEntity) || this.isCrankable(w, pos, up.getOpposite()); } private Direction findCrankable(final BlockView world, final BlockPos pos) { @@ -111,7 +111,7 @@ public class CrankBlock extends AEBaseTileBlock { private boolean isCrankable(final BlockView world, final BlockPos pos, final Direction offset) { final BlockPos o = pos.offset(offset); - final BlockEntity te = world.getTileEntity(o); + final BlockEntity te = world.getBlockEntity(o); return te instanceof ICrankable && ((ICrankable) te).canCrankAttach(offset.getOpposite()); } @@ -124,7 +124,7 @@ public class CrankBlock extends AEBaseTileBlock { @Override public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { - final AEBaseTileEntity tile = this.getTileEntity(world, pos); + final AEBaseBlockEntity tile = this.getBlockEntity(world, pos); if (tile != null) { if (!this.isCrankable(world, pos, tile.getUp().getOpposite())) { this.dropCrank(world, pos); @@ -140,7 +140,7 @@ public class CrankBlock extends AEBaseTileBlock { } private Direction getUp(BlockView world, BlockPos pos) { - CrankTileEntity crank = getTileEntity(world, pos); + CrankBlockEntity crank = getBlockEntity(world, pos); return crank != null ? crank.getUp() : null; } @@ -152,9 +152,9 @@ public class CrankBlock extends AEBaseTileBlock { return VoxelShapes.empty(); } else { // FIXME: Cache per direction, and build it 'precise', not just from AABB - final double xOff = -0.15 * up.getXOffset(); - final double yOff = -0.15 * up.getYOffset(); - final double zOff = -0.15 * up.getZOffset(); + final double xOff = -0.15 * up.getOffsetX(); + final double yOff = -0.15 * up.getOffsetY(); + final double zOff = -0.15 * up.getOffsetZ(); return VoxelShapes.create( 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 006d84536..cd3937011 100644 --- a/src/main/java/appeng/block/grindstone/GrinderBlock.java +++ b/src/main/java/appeng/block/grindstone/GrinderBlock.java @@ -21,31 +21,31 @@ package appeng.block.grindstone; import javax.annotation.Nullable; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.GrinderContainer; -import appeng.tile.grindstone.GrinderTileEntity; +import appeng.tile.grindstone.GrinderBlockEntity; -public class GrinderBlock extends AEBaseTileBlock { +public class GrinderBlock extends AEBaseTileBlock { - public GrinderBlock(Properties props) { + public GrinderBlock(Settings props) { super(props); } @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity p, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - final GrinderTileEntity tg = this.getTileEntity(w, pos); - if (tg != null && !p.isCrouching()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + final GrinderBlockEntity tg = this.getBlockEntity(w, pos); + if (tg != null && !p.isInSneakingPose()) { if (p instanceof ServerPlayerEntity) { ContainerOpener.openContainer(GrinderContainer.TYPE, p, ContainerLocator.forTileEntitySide(tg, hit.getFace())); diff --git a/src/main/java/appeng/block/misc/CellWorkbenchBlock.java b/src/main/java/appeng/block/misc/CellWorkbenchBlock.java index 89a7cc4d0..eaccab156 100644 --- a/src/main/java/appeng/block/misc/CellWorkbenchBlock.java +++ b/src/main/java/appeng/block/misc/CellWorkbenchBlock.java @@ -26,16 +26,16 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.implementations.CellWorkbenchContainer; -import appeng.tile.misc.CellWorkbenchTileEntity; +import appeng.tile.misc.CellWorkbenchBlockEntity; import appeng.util.Platform; -public class CellWorkbenchBlock extends AEBaseTileBlock { +public class CellWorkbenchBlock extends AEBaseTileBlock { public CellWorkbenchBlock() { super(defaultProps(Material.IRON)); @@ -43,12 +43,12 @@ public class CellWorkbenchBlock extends AEBaseTileBlock @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity p, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - if (p.isCrouching()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + if (p.isInSneakingPose()) { return ActionResult.PASS; } - final CellWorkbenchTileEntity tg = this.getTileEntity(w, pos); + final CellWorkbenchBlockEntity tg = this.getBlockEntity(w, pos); if (tg != null) { if (Platform.isServer()) { CellWorkbenchContainer.open(p, ContainerLocator.forTileEntity(tg)); diff --git a/src/main/java/appeng/block/misc/ChargerBlock.java b/src/main/java/appeng/block/misc/ChargerBlock.java index e5e7fc508..52228b1d6 100644 --- a/src/main/java/appeng/block/misc/ChargerBlock.java +++ b/src/main/java/appeng/block/misc/ChargerBlock.java @@ -31,18 +31,18 @@ import org.apache.commons.lang3.tuple.Pair; import net.minecraft.block.BlockState; import net.minecraft.block.Material; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.renderer.TransformationMatrix; import net.minecraft.client.renderer.Vector3f; -import net.minecraft.client.renderer.tileentity.TileEntityRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; +import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.block.ShapeContext; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; @@ -57,10 +57,10 @@ import appeng.client.render.renderable.ItemRenderable; import appeng.client.render.tesr.ModularTESR; import appeng.core.AEConfig; import appeng.core.AppEng; -import appeng.tile.misc.ChargerTileEntity; +import appeng.tile.misc.ChargerBlockEntity; import appeng.util.Platform; -public class ChargerBlock extends AEBaseTileBlock { +public class ChargerBlock extends AEBaseTileBlock { public ChargerBlock() { super(defaultProps(Material.IRON).notSolid()); @@ -75,13 +75,13 @@ public class ChargerBlock extends AEBaseTileBlock { @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - if (player.isCrouching()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + if (player.isInSneakingPose()) { return ActionResult.PASS; } if (Platform.isServer()) { - final ChargerTileEntity tc = this.getTileEntity(w, pos); + final ChargerBlockEntity tc = this.getBlockEntity(w, pos); if (tc != null) { tc.activate(player); } @@ -101,7 +101,7 @@ public class ChargerBlock extends AEBaseTileBlock { return; } - final ChargerTileEntity tile = this.getTileEntity(w, pos); + final ChargerBlockEntity tile = this.getBlockEntity(w, pos); if (tile != null) { if (AEApi.instance().definitions().materials().certusQuartzCrystalCharged() .isSameAs(tile.getInternalInventory().getStackInSlot(0))) { @@ -111,7 +111,7 @@ public class ChargerBlock extends AEBaseTileBlock { for (int bolts = 0; bolts < 3; bolts++) { if (AppEng.proxy.shouldAddParticles(r)) { - Minecraft.getInstance().particles.addParticle(ParticleTypes.LIGHTNING, xOff + 0.5 + pos.getX(), + MinecraftClient.getInstance().particles.addParticle(ParticleTypes.LIGHTNING, xOff + 0.5 + pos.getX(), yOff + 0.5 + pos.getY(), zOff + 0.5 + pos.getZ(), 0.0, 0.0, 0.0); } } @@ -122,7 +122,7 @@ public class ChargerBlock extends AEBaseTileBlock { @Override public VoxelShape getShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { - final ChargerTileEntity tile = this.getTileEntity(w, pos); + final ChargerBlockEntity tile = this.getBlockEntity(w, pos); if (tile != null) { final double twoPixels = 2.0 / 16.0; final Direction up = tile.getUp(); @@ -130,15 +130,15 @@ public class ChargerBlock extends AEBaseTileBlock { final AEAxisAlignedBB bb = new AEAxisAlignedBB(twoPixels, twoPixels, twoPixels, 1.0 - twoPixels, 1.0 - twoPixels, 1.0 - twoPixels); - if (up.getXOffset() != 0) { + if (up.getOffsetX() != 0) { bb.minX = 0; bb.maxX = 1; } - if (up.getYOffset() != 0) { + if (up.getOffsetY() != 0) { bb.minY = 0; bb.maxY = 1; } - if (up.getZOffset() != 0) { + if (up.getOffsetZ() != 0) { bb.minZ = 0; bb.maxZ = 1; } @@ -178,12 +178,12 @@ public class ChargerBlock extends AEBaseTileBlock { } @Environment(EnvType.CLIENT) - public static Function> createTesr() { + public static Function> createTesr() { return dispatcher -> new ModularTESR<>(dispatcher, new ItemRenderable<>(ChargerBlock::getRenderedItem)); } @Environment(EnvType.CLIENT) - private static Pair getRenderedItem(ChargerTileEntity tile) { + private static Pair getRenderedItem(ChargerBlockEntity tile) { TransformationMatrix transform = new TransformationMatrix(new Vector3f(0.5f, 0.375f, 0.5f), null, null, null); return new ImmutablePair<>(tile.getInternalInventory().getStackInSlot(0), transform); } diff --git a/src/main/java/appeng/block/misc/CondenserBlock.java b/src/main/java/appeng/block/misc/CondenserBlock.java index cfee80939..ea1557af0 100644 --- a/src/main/java/appeng/block/misc/CondenserBlock.java +++ b/src/main/java/appeng/block/misc/CondenserBlock.java @@ -25,18 +25,18 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.CondenserContainer; -import appeng.tile.misc.CondenserTileEntity; +import appeng.tile.misc.CondenserBlockEntity; import appeng.util.Platform; -public class CondenserBlock extends AEBaseTileBlock { +public class CondenserBlock extends AEBaseTileBlock { public CondenserBlock() { super(defaultProps(Material.IRON)); @@ -44,14 +44,14 @@ public class CondenserBlock extends AEBaseTileBlock { @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - if (player.isCrouching()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + if (player.isInSneakingPose()) { return ActionResult.PASS; } if (Platform.isServer()) { - final CondenserTileEntity tc = this.getTileEntity(w, pos); - if (tc != null && !player.isCrouching()) { + final CondenserBlockEntity tc = this.getBlockEntity(w, pos); + if (tc != null && !player.isInSneakingPose()) { ContainerOpener.openContainer(CondenserContainer.TYPE, player, ContainerLocator.forTileEntitySide(tc, hit.getFace())); return ActionResult.SUCCESS; diff --git a/src/main/java/appeng/block/misc/InscriberBlock.java b/src/main/java/appeng/block/misc/InscriberBlock.java index a81c9dfba..50fa7bb4d 100644 --- a/src/main/java/appeng/block/misc/InscriberBlock.java +++ b/src/main/java/appeng/block/misc/InscriberBlock.java @@ -25,8 +25,8 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.world.BlockView; import net.minecraft.world.World; @@ -34,11 +34,11 @@ import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.InscriberContainer; -import appeng.tile.misc.InscriberTileEntity; +import appeng.tile.misc.InscriberBlockEntity; -public class InscriberBlock extends AEBaseTileBlock { +public class InscriberBlock extends AEBaseTileBlock { - public InscriberBlock(Properties props) { + public InscriberBlock(Settings props) { super(props); } @@ -50,11 +50,11 @@ public class InscriberBlock extends AEBaseTileBlock { @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity p, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - if (!p.isCrouching()) { - final InscriberTileEntity tg = this.getTileEntity(w, pos); + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + if (!p.isInSneakingPose()) { + final InscriberBlockEntity tg = this.getBlockEntity(w, pos); if (tg != null) { - if (!tg.isRemote()) { + if (!tg.isClient()) { ContainerOpener.openContainer(InscriberContainer.TYPE, p, ContainerLocator.forTileEntitySide(tg, hit.getFace())); } diff --git a/src/main/java/appeng/block/misc/InscriberRendering.java b/src/main/java/appeng/block/misc/InscriberRendering.java index 8511a3bed..815261dd5 100644 --- a/src/main/java/appeng/block/misc/InscriberRendering.java +++ b/src/main/java/appeng/block/misc/InscriberRendering.java @@ -7,13 +7,13 @@ import net.fabricmc.api.Environment; import appeng.bootstrap.TileEntityRendering; import appeng.bootstrap.TileEntityRenderingCustomizer; import appeng.client.render.tesr.InscriberTESR; -import appeng.tile.misc.InscriberTileEntity; +import appeng.tile.misc.InscriberBlockEntity; -public class InscriberRendering extends TileEntityRenderingCustomizer { +public class InscriberRendering extends TileEntityRenderingCustomizer { @Environment(EnvType.CLIENT) @Override - public void customize(TileEntityRendering rendering) { + public void customize(TileEntityRendering rendering) { rendering.tileEntityRenderer(InscriberTESR::new); } diff --git a/src/main/java/appeng/block/misc/InterfaceBlock.java b/src/main/java/appeng/block/misc/InterfaceBlock.java index 6def3dc62..26414f3da 100644 --- a/src/main/java/appeng/block/misc/InterfaceBlock.java +++ b/src/main/java/appeng/block/misc/InterfaceBlock.java @@ -28,10 +28,10 @@ import net.minecraft.item.ItemStack; import net.minecraft.state.BooleanProperty; import net.minecraft.state.StateContainer; 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.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.world.World; import appeng.api.util.IOrientable; @@ -39,10 +39,10 @@ import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.InterfaceContainer; -import appeng.tile.misc.InterfaceTileEntity; +import appeng.tile.misc.InterfaceBlockEntity; import appeng.util.Platform; -public class InterfaceBlock extends AEBaseTileBlock { +public class InterfaceBlock extends AEBaseTileBlock { private static final BooleanProperty OMNIDIRECTIONAL = BooleanProperty.create("omnidirectional"); @@ -57,18 +57,18 @@ public class InterfaceBlock extends AEBaseTileBlock { } @Override - protected BlockState updateBlockStateFromTileEntity(BlockState currentState, InterfaceTileEntity te) { + protected BlockState updateBlockStateFromTileEntity(BlockState currentState, InterfaceBlockEntity te) { return currentState.with(OMNIDIRECTIONAL, te.isOmniDirectional()); } @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity p, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - if (p.isCrouching()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + if (p.isInSneakingPose()) { return ActionResult.PASS; } - final InterfaceTileEntity tg = this.getTileEntity(w, pos); + final InterfaceBlockEntity tg = this.getBlockEntity(w, pos); if (tg != null) { if (Platform.isServer()) { ContainerOpener.openContainer(InterfaceContainer.TYPE, p, @@ -86,8 +86,8 @@ public class InterfaceBlock extends AEBaseTileBlock { @Override protected void customRotateBlock(final IOrientable rotatable, final Direction axis) { - if (rotatable instanceof InterfaceTileEntity) { - ((InterfaceTileEntity) rotatable).setSide(axis); + if (rotatable instanceof InterfaceBlockEntity) { + ((InterfaceBlockEntity) rotatable).setSide(axis); } } } diff --git a/src/main/java/appeng/block/misc/LightDetectorBlock.java b/src/main/java/appeng/block/misc/LightDetectorBlock.java index 0f909ac9a..6f3f2e6db 100644 --- a/src/main/java/appeng/block/misc/LightDetectorBlock.java +++ b/src/main/java/appeng/block/misc/LightDetectorBlock.java @@ -41,9 +41,9 @@ import appeng.api.util.IOrientable; import appeng.api.util.IOrientableBlock; import appeng.block.AEBaseTileBlock; import appeng.helpers.MetaRotation; -import appeng.tile.misc.LightDetectorTileEntity; +import appeng.tile.misc.LightDetectorBlockEntity; -public class LightDetectorBlock extends AEBaseTileBlock implements IOrientableBlock { +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"); @@ -63,7 +63,7 @@ public class LightDetectorBlock extends AEBaseTileBlock @Override public int getWeakPower(final BlockState state, final BlockView w, final BlockPos pos, final Direction side) { - if (w instanceof World && this.getTileEntity(w, pos).isReady()) { + if (w instanceof World && this.getBlockEntity(w, pos).isReady()) { // FIXME: This is ... uhm... fishy return ((World) w).getLight(pos) - 6; } @@ -75,7 +75,7 @@ public class LightDetectorBlock extends AEBaseTileBlock public void onNeighborChange(BlockState state, IWorldReader world, BlockPos pos, BlockPos neighbor) { super.onNeighborChange(state, world, pos, neighbor); - final LightDetectorTileEntity tld = this.getTileEntity(world, pos); + final LightDetectorBlockEntity tld = this.getBlockEntity(world, pos); if (tld != null) { tld.updateLight(); } @@ -104,9 +104,9 @@ public class LightDetectorBlock extends AEBaseTileBlock // called without a world final Direction up = this.getOrientable(w, pos).getUp(); - final double xOff = -0.3 * up.getXOffset(); - final double yOff = -0.3 * up.getYOffset(); - final double zOff = -0.3 * up.getZOffset(); + final double xOff = -0.3 * up.getOffsetX(); + final double yOff = -0.3 * up.getOffsetY(); + final double zOff = -0.3 * up.getOffsetZ(); return VoxelShapes .create(new Box(xOff + 0.3, yOff + 0.3, zOff + 0.3, xOff + 0.7, yOff + 0.7, zOff + 0.7)); } @@ -128,8 +128,8 @@ public class LightDetectorBlock extends AEBaseTileBlock private void dropTorch(final World w, final BlockPos pos) { final BlockState prev = w.getBlockState(pos); - w.destroyBlock(pos, true); - w.notifyBlockUpdate(pos, prev, w.getBlockState(pos), 3); + w.breakBlock(pos, true); + w.updateListeners(pos, prev, w.getBlockState(pos), 3); } @Override diff --git a/src/main/java/appeng/block/misc/QuartzFixtureBlock.java b/src/main/java/appeng/block/misc/QuartzFixtureBlock.java index ac0a0c437..4eaa69278 100644 --- a/src/main/java/appeng/block/misc/QuartzFixtureBlock.java +++ b/src/main/java/appeng/block/misc/QuartzFixtureBlock.java @@ -27,9 +27,9 @@ import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; +import net.minecraft.item.ItemPlacementContext; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.block.Material; -import net.minecraft.item.BlockItemUseContext; import net.minecraft.state.BooleanProperty; import net.minecraft.state.DirectionProperty; import net.minecraft.state.StateContainer; @@ -64,9 +64,9 @@ public class QuartzFixtureBlock extends AEBaseBlock implements IOrientableBlock SHAPES = new EnumMap<>(Direction.class); for (Direction facing : Direction.values()) { - final double xOff = -0.3 * facing.getXOffset(); - final double yOff = -0.3 * facing.getYOffset(); - final double zOff = -0.3 * facing.getZOffset(); + final double xOff = -0.3 * facing.getOffsetX(); + final double yOff = -0.3 * facing.getOffsetY(); + final double zOff = -0.3 * facing.getOffsetZ(); VoxelShape shape = VoxelShapes .create(new Box(xOff + 0.3, yOff + 0.3, zOff + 0.3, xOff + 0.7, yOff + 0.7, zOff + 0.7)); SHAPES.put(facing, shape); @@ -80,8 +80,8 @@ public class QuartzFixtureBlock extends AEBaseBlock implements IOrientableBlock public static final BooleanProperty ODD = BooleanProperty.create("odd"); public QuartzFixtureBlock() { - super(defaultProps(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0).lightValue(14) - .sound(BlockSoundGroup.GLASS)); + super(defaultProps(Material.MISCELLANEOUS).doesNotBlockMovement().strength(0).lightValue(14) + .sounds(BlockSoundGroup.GLASS)); this.setDefaultState(getDefaultState().with(FACING, Direction.UP).with(ODD, false)); } @@ -94,9 +94,9 @@ public class QuartzFixtureBlock extends AEBaseBlock implements IOrientableBlock // For reference, see WallTorchBlock @Override @Nullable - public BlockState getStateForPlacement(BlockItemUseContext context) { + public BlockState getStateForPlacement(ItemPlacementContext context) { BlockState blockstate = super.getStateForPlacement(context); - BlockPos pos = context.getPos(); + BlockPos pos = context.getBlockPos(); // Set the even/odd property boolean oddPlacement = ((pos.getX() + pos.getY() + pos.getZ()) % 2) != 0; @@ -157,9 +157,9 @@ public class QuartzFixtureBlock extends AEBaseBlock implements IOrientableBlock } final Direction up = this.getOrientable(w, pos).getUp(); - final double xOff = -0.3 * up.getXOffset(); - final double yOff = -0.3 * up.getYOffset(); - final double zOff = -0.3 * up.getZOffset(); + final double xOff = -0.3 * up.getOffsetX(); + final double yOff = -0.3 * up.getOffsetY(); + final double zOff = -0.3 * up.getOffsetZ(); for (int bolts = 0; bolts < 3; bolts++) { if (AppEng.proxy.shouldAddParticles(r)) { w.addParticle(ParticleTypes.LIGHTNING, xOff + 0.5 + pos.getX(), yOff + 0.5 + pos.getY(), @@ -180,8 +180,8 @@ public class QuartzFixtureBlock extends AEBaseBlock implements IOrientableBlock private void dropTorch(final World w, final BlockPos pos) { final BlockState prev = w.getBlockState(pos); - w.destroyBlock(pos, true); - w.notifyBlockUpdate(pos, prev, w.getBlockState(pos), 3); + w.breakBlock(pos, true); + w.updateListeners(pos, prev, w.getBlockState(pos), 3); } @Override diff --git a/src/main/java/appeng/block/misc/QuartzGrowthAcceleratorBlock.java b/src/main/java/appeng/block/misc/QuartzGrowthAcceleratorBlock.java index 85fdb4ea6..05ddee253 100644 --- a/src/main/java/appeng/block/misc/QuartzGrowthAcceleratorBlock.java +++ b/src/main/java/appeng/block/misc/QuartzGrowthAcceleratorBlock.java @@ -25,7 +25,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.block.Material; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.state.BooleanProperty; import net.minecraft.state.StateContainer; import net.minecraft.util.math.Direction; @@ -38,21 +38,21 @@ import appeng.block.AEBaseTileBlock; import appeng.client.render.effects.ParticleTypes; import appeng.core.AEConfig; import appeng.core.AppEng; -import appeng.tile.misc.QuartzGrowthAcceleratorTileEntity; +import appeng.tile.misc.QuartzGrowthAcceleratorBlockEntity; import appeng.util.Platform; -public class QuartzGrowthAcceleratorBlock extends AEBaseTileBlock +public class QuartzGrowthAcceleratorBlock extends AEBaseTileBlock implements IOrientableBlock { private static final BooleanProperty POWERED = BooleanProperty.create("powered"); public QuartzGrowthAcceleratorBlock() { - super(defaultProps(Material.ROCK).sound(BlockSoundGroup.METAL)); + super(defaultProps(Material.STONE).sounds(BlockSoundGroup.METAL)); this.setDefaultState(this.getDefaultState().with(POWERED, false)); } @Override - protected BlockState updateBlockStateFromTileEntity(BlockState currentState, QuartzGrowthAcceleratorTileEntity te) { + protected BlockState updateBlockStateFromTileEntity(BlockState currentState, QuartzGrowthAcceleratorBlockEntity te) { return currentState.with(POWERED, te.isPowered()); } @@ -69,7 +69,7 @@ public class QuartzGrowthAcceleratorBlock extends AEBaseTileBlock { +public class SecurityStationBlock extends AEBaseTileBlock { private static final BooleanProperty POWERED = BooleanProperty.create("powered"); @@ -56,20 +56,20 @@ public class SecurityStationBlock extends AEBaseTileBlock { +public class SkyCompassBlock extends AEBaseTileBlock { public SkyCompassBlock(Settings props) { super(props); @@ -43,7 +43,7 @@ public class SkyCompassBlock extends AEBaseTileBlock { @Override public boolean isValidOrientation(final WorldAccess w, final BlockPos pos, final Direction forward, final Direction up) { - final SkyCompassTileEntity sc = this.getTileEntity(w, pos); + final SkyCompassBlockEntity sc = this.getBlockEntity(w, pos); if (sc != null) { return false; } @@ -59,7 +59,7 @@ public class SkyCompassBlock extends AEBaseTileBlock { @Override public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { - final SkyCompassTileEntity sc = this.getTileEntity(world, pos); + final SkyCompassBlockEntity sc = this.getBlockEntity(world, pos); final Direction forward = sc.getForward(); if (!this.canPlaceAt(world, pos, forward.getOpposite())) { this.dropTorch(world, pos); @@ -68,8 +68,8 @@ public class SkyCompassBlock extends AEBaseTileBlock { private void dropTorch(final World w, final BlockPos pos) { final BlockState prev = w.getBlockState(pos); - w.destroyBlock(pos, true); - w.notifyBlockUpdate(pos, prev, w.getBlockState(pos), 3); + w.breakBlock(pos, true); + w.updateListeners(pos, prev, w.getBlockState(pos), 3); } @Override @@ -87,7 +87,7 @@ public class SkyCompassBlock extends AEBaseTileBlock { // TODO: This definitely needs to be memoized - final SkyCompassTileEntity tile = this.getTileEntity(w, pos); + final SkyCompassBlockEntity tile = this.getBlockEntity(w, pos); if (tile != null) { final Direction forward = tile.getForward(); diff --git a/src/main/java/appeng/block/misc/SkyCompassRendering.java b/src/main/java/appeng/block/misc/SkyCompassRendering.java index 9eadbc208..c0369991d 100644 --- a/src/main/java/appeng/block/misc/SkyCompassRendering.java +++ b/src/main/java/appeng/block/misc/SkyCompassRendering.java @@ -24,13 +24,13 @@ import net.fabricmc.api.Environment; import appeng.bootstrap.TileEntityRendering; import appeng.bootstrap.TileEntityRenderingCustomizer; import appeng.client.render.tesr.SkyCompassTESR; -import appeng.tile.misc.SkyCompassTileEntity; +import appeng.tile.misc.SkyCompassBlockEntity; -public class SkyCompassRendering extends TileEntityRenderingCustomizer { +public class SkyCompassRendering extends TileEntityRenderingCustomizer { @Override @Environment(EnvType.CLIENT) - public void customize(TileEntityRendering rendering) { + public void customize(TileEntityRendering rendering) { rendering.tileEntityRenderer(SkyCompassTESR::new); } diff --git a/src/main/java/appeng/block/misc/TinyTNTBlock.java b/src/main/java/appeng/block/misc/TinyTNTBlock.java index 98263f902..db031406f 100644 --- a/src/main/java/appeng/block/misc/TinyTNTBlock.java +++ b/src/main/java/appeng/block/misc/TinyTNTBlock.java @@ -34,7 +34,7 @@ import net.minecraft.util.SoundCategory; import net.minecraft.util.SoundEvents; import net.minecraft.util.math.Box; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.block.ShapeContext; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; @@ -68,7 +68,7 @@ public class TinyTNTBlock extends AEBaseBlock { @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { if (heldItem != null && heldItem.getItem() == Items.FLINT_AND_STEEL) { this.startFuse(w, pos, player); w.removeBlock(pos, false); @@ -82,7 +82,7 @@ public class TinyTNTBlock extends AEBaseBlock { } public void startFuse(final World w, final BlockPos pos, final LivingEntity igniter) { - if (!w.isRemote) { + if (!w.isClient) { final TinyTNTPrimedEntity primedTinyTNTEntity = new TinyTNTPrimedEntity(w, pos.getX() + 0.5F, pos.getY() + 0.5F, pos.getZ() + 0.5F, igniter); w.addEntity(primedTinyTNTEntity); @@ -112,7 +112,7 @@ public class TinyTNTBlock extends AEBaseBlock { @Override public void onEntityWalk(final World w, final BlockPos pos, final Entity entity) { - if (entity instanceof AbstractArrowEntity && !w.isRemote) { + if (entity instanceof AbstractArrowEntity && !w.isClient) { final AbstractArrowEntity entityarrow = (AbstractArrowEntity) entity; if (entityarrow.isBurning()) { @@ -140,7 +140,7 @@ public class TinyTNTBlock extends AEBaseBlock { @Override public void onExplosionDestroy(final World w, final BlockPos pos, final Explosion exp) { super.onExplosionDestroy(w, pos, exp); - if (!w.isRemote) { + if (!w.isClient) { final TinyTNTPrimedEntity primedTinyTNTEntity = new TinyTNTPrimedEntity(w, pos.getX() + 0.5F, pos.getY() + 0.5F, pos.getZ() + 0.5F, exp.getExplosivePlacedBy()); primedTinyTNTEntity diff --git a/src/main/java/appeng/block/misc/VibrationChamberBlock.java b/src/main/java/appeng/block/misc/VibrationChamberBlock.java index 969976fea..b4add17b8 100644 --- a/src/main/java/appeng/block/misc/VibrationChamberBlock.java +++ b/src/main/java/appeng/block/misc/VibrationChamberBlock.java @@ -34,7 +34,7 @@ import net.minecraft.util.ActionResult; import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; @@ -42,22 +42,22 @@ import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.VibrationChamberContainer; import appeng.core.AEConfig; -import appeng.tile.AEBaseTileEntity; -import appeng.tile.misc.VibrationChamberTileEntity; +import appeng.tile.AEBaseBlockEntity; +import appeng.tile.misc.VibrationChamberBlockEntity; import appeng.util.Platform; -public final class VibrationChamberBlock extends AEBaseTileBlock { +public final class VibrationChamberBlock extends AEBaseTileBlock { // Indicates that the vibration chamber is currently working private static final BooleanProperty ACTIVE = BooleanProperty.create("active"); public VibrationChamberBlock() { - super(defaultProps(Material.IRON).hardnessAndResistance(4.2F)); + super(defaultProps(Material.IRON).strength(4.2F)); this.setDefaultState(this.getDefaultState().with(ACTIVE, false)); } @Override - protected BlockState updateBlockStateFromTileEntity(BlockState currentState, VibrationChamberTileEntity te) { + protected BlockState updateBlockStateFromTileEntity(BlockState currentState, VibrationChamberBlockEntity te) { return currentState.with(ACTIVE, te.isOn); } @@ -69,14 +69,14 @@ public final class VibrationChamberBlock extends AEBaseTileBlock implements IAEFacade { +public class CableBusBlock extends AEBaseTileBlock implements IAEFacade { private static final ICableBusContainer NULL_CABLE_BUS = new NullCableBusContainer(); @@ -137,7 +137,7 @@ public class CableBusBlock extends AEBaseTileBlock implement } @Override - public boolean isReplaceable(BlockState state, BlockItemUseContext useContext) { + public boolean isReplaceable(BlockState state, ItemPlacementContext useContext) { // FIXME: Potentially check the fluid one too return super.isReplaceable(state, useContext) && this.cb(useContext.getWorld(), useContext.getPos()).isEmpty(); } @@ -146,7 +146,7 @@ public class CableBusBlock extends AEBaseTileBlock implement public boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest, IFluidState fluid) { if (player.abilities.isCreativeMode) { - final AEBaseTileEntity tile = this.getTileEntity(world, pos); + final AEBaseBlockEntity tile = this.getBlockEntity(world, pos); if (tile != null) { tile.disableDrops(); } @@ -199,7 +199,7 @@ public class CableBusBlock extends AEBaseTileBlock implement ICableBusContainer cb = this.cb(world, blockPos); // Our built-in model has the actual baked sprites we need - IBakedModel model = Minecraft.getInstance().getBlockRendererDispatcher() + BakedModel model = MinecraftClient.getInstance().getBlockRendererDispatcher() .getModelForState(this.getDefaultState()); // We cannot add the effect if we don't have the model @@ -232,7 +232,7 @@ public class CableBusBlock extends AEBaseTileBlock implement ICableBusContainer cb = this.cb(world, pos); // Our built-in model has the actual baked sprites we need - IBakedModel model = Minecraft.getInstance().getBlockRendererDispatcher() + BakedModel model = MinecraftClient.getInstance().getBlockRendererDispatcher() .getModelForState(this.getDefaultState()); // We cannot add the effect if we dont have the model @@ -281,11 +281,11 @@ public class CableBusBlock extends AEBaseTileBlock implement } private ICableBusContainer cb(final BlockView w, final BlockPos pos) { - final BlockEntity te = w.getTileEntity(pos); + final BlockEntity te = w.getBlockEntity(pos); ICableBusContainer out = null; - if (te instanceof CableBusTileEntity) { - out = ((CableBusTileEntity) te).getCableBus(); + if (te instanceof CableBusBlockEntity) { + out = ((CableBusBlockEntity) te).getCableBus(); } return out == null ? NULL_CABLE_BUS : out; @@ -293,11 +293,11 @@ public class CableBusBlock extends AEBaseTileBlock implement @Nullable private IFacadeContainer fc(final BlockView w, final BlockPos pos) { - final BlockEntity te = w.getTileEntity(pos); + final BlockEntity te = w.getBlockEntity(pos); IFacadeContainer out = null; - if (te instanceof CableBusTileEntity) { - out = ((CableBusTileEntity) te).getCableBus().getFacadeContainer(); + if (te instanceof CableBusBlockEntity) { + out = ((CableBusBlockEntity) te).getCableBus().getFacadeContainer(); } return out; @@ -305,15 +305,15 @@ public class CableBusBlock extends AEBaseTileBlock implement @Override public void onBlockClicked(BlockState state, World worldIn, BlockPos pos, PlayerEntity player) { - if (worldIn.isRemote()) { - final HitResult rtr = Minecraft.getInstance().objectMouseOver; - if (rtr instanceof BlockRayTraceResult) { - BlockRayTraceResult brtr = (BlockRayTraceResult) rtr; + if (worldIn.isClient()) { + final HitResult rtr = MinecraftClient.getInstance().objectMouseOver; + if (rtr instanceof BlockHitResult) { + BlockHitResult brtr = (BlockHitResult) rtr; if (brtr.getPos().equals(pos)) { final Vec3d hitVec = rtr.getHitVec().subtract(new Vec3d(pos)); if (this.cb(worldIn, pos).clicked(player, Hand.MAIN_HAND, hitVec)) { - NetworkHandler.instance().sendToServer(new ClickPacket(pos, brtr.getFace(), (float) hitVec.x, + NetworkHandler.instance().sendToServer(new ClickPacket(pos, brtr.getSide(), (float) hitVec.x, (float) hitVec.y, (float) hitVec.z, Hand.MAIN_HAND, true)); } } @@ -327,18 +327,13 @@ public class CableBusBlock extends AEBaseTileBlock implement @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { // Transform from world into block space Vec3d hitVec = hit.getHitVec(); Vec3d hitInBlock = new Vec3d(hitVec.x - pos.getX(), hitVec.y - pos.getY(), hitVec.z - pos.getZ()); return this.cb(w, pos).activate(player, hand, hitInBlock) ? ActionResult.SUCCESS : ActionResult.PASS; } - @Override - public boolean recolorBlock(BlockState state, WorldAccess world, BlockPos pos, Direction side, DyeColor color) { - return recolorBlock(world, pos, side, color, null); - } - public boolean recolorBlock(final BlockView world, final BlockPos pos, final Direction side, final DyeColor color, final PlayerEntity who) { try { @@ -370,7 +365,7 @@ public class CableBusBlock extends AEBaseTileBlock implement @Override public VoxelShape getShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { - CableBusTileEntity te = getTileEntity(w, pos); + CableBusBlockEntity te = getBlockEntity(w, pos); if (te == null) { return VoxelShapes.empty(); } else { @@ -380,7 +375,7 @@ public class CableBusBlock extends AEBaseTileBlock implement @Override public VoxelShape getCollisionShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { - CableBusTileEntity te = getTileEntity(w, pos); + CableBusBlockEntity te = getBlockEntity(w, pos); if (te == null) { return VoxelShapes.empty(); } else { diff --git a/src/main/java/appeng/block/networking/CableBusColor.java b/src/main/java/appeng/block/networking/CableBusColor.java index d5e147d2d..56657a513 100644 --- a/src/main/java/appeng/block/networking/CableBusColor.java +++ b/src/main/java/appeng/block/networking/CableBusColor.java @@ -22,7 +22,7 @@ import javax.annotation.Nullable; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; -import net.minecraft.client.renderer.color.IBlockColor; +import net.minecraft.client.color.block.BlockColorProvider; import net.minecraft.util.math.BlockPos; import net.minecraft.world.ILightReader; import net.fabricmc.api.EnvType; @@ -30,14 +30,14 @@ import net.fabricmc.api.Environment; import appeng.api.util.AEColor; import appeng.parts.CableBusContainer; -import appeng.tile.networking.CableBusTileEntity; +import appeng.tile.networking.CableBusBlockEntity; /** * Exposes the cable bus color as tint indices 0 (dark variant), 1 (medium * variant) and 2 (bright variant). */ @Environment(EnvType.CLIENT) -public class CableBusColor implements IBlockColor { +public class CableBusColor implements BlockColorProvider { @Override public int getColor(BlockState state, @Nullable ILightReader worldIn, @Nullable BlockPos pos, int color) { @@ -45,9 +45,9 @@ public class CableBusColor implements IBlockColor { AEColor busColor = AEColor.TRANSPARENT; if (worldIn != null && pos != null) { - BlockEntity tileEntity = worldIn.getTileEntity(pos); - if (tileEntity instanceof CableBusTileEntity) { - CableBusContainer container = ((CableBusTileEntity) tileEntity).getCableBus(); + BlockEntity tileEntity = worldIn.getBlockEntity(pos); + if (tileEntity instanceof CableBusBlockEntity) { + CableBusContainer container = ((CableBusBlockEntity) tileEntity).getCableBus(); busColor = container.getColor(); } } diff --git a/src/main/java/appeng/block/networking/CableBusRendering.java b/src/main/java/appeng/block/networking/CableBusRendering.java index a134d2260..d194a460e 100644 --- a/src/main/java/appeng/block/networking/CableBusRendering.java +++ b/src/main/java/appeng/block/networking/CableBusRendering.java @@ -34,7 +34,8 @@ public class CableBusRendering extends BlockRenderingCustomizer { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(rt -> true); + // FIXME This is straight up impossible in Vanilla, and questionable if it's actually needed. + // FIXME rendering.renderType(rt -> true); rendering.blockColor(new CableBusColor()); rendering.modelCustomizer((loc, model) -> model); diff --git a/src/main/java/appeng/block/networking/ControllerBlock.java b/src/main/java/appeng/block/networking/ControllerBlock.java index 1a0498d1c..d40ee004a 100644 --- a/src/main/java/appeng/block/networking/ControllerBlock.java +++ b/src/main/java/appeng/block/networking/ControllerBlock.java @@ -30,9 +30,9 @@ import net.minecraft.world.WorldAccess; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; -import appeng.tile.networking.ControllerTileEntity; +import appeng.tile.networking.ControllerBlockEntity; -public class ControllerBlock extends AEBaseTileBlock { +public class ControllerBlock extends AEBaseTileBlock { public enum ControllerBlockState implements IStringSerializable { offline, online, conflicted; @@ -67,7 +67,7 @@ public class ControllerBlock extends AEBaseTileBlock { ControllerRenderType.class); public ControllerBlock() { - super(defaultProps(Material.IRON).hardnessAndResistance(6)); + super(defaultProps(Material.IRON).strength(6)); this.setDefaultState(this.getDefaultState().with(CONTROLLER_STATE, ControllerBlockState.offline) .with(CONTROLLER_TYPE, ControllerRenderType.block)); } @@ -99,12 +99,12 @@ public class ControllerBlock extends AEBaseTileBlock { int z = pos.getZ(); // Detect whether controllers are on both sides of the x, y, and z axes - final boolean xx = this.getTileEntity(world, x - 1, y, z) != null - && this.getTileEntity(world, x + 1, y, z) != null; - final boolean yy = this.getTileEntity(world, x, y - 1, z) != null - && this.getTileEntity(world, x, y + 1, z) != null; - final boolean zz = this.getTileEntity(world, x, y, z - 1) != null - && this.getTileEntity(world, x, y, z + 1) != null; + final boolean xx = this.getBlockEntity(world, x - 1, y, z) != null + && this.getBlockEntity(world, x + 1, y, z) != null; + final boolean yy = this.getBlockEntity(world, x, y - 1, z) != null + && this.getBlockEntity(world, x, y + 1, z) != null; + final boolean zz = this.getBlockEntity(world, x, y, z - 1) != null + && this.getBlockEntity(world, x, y, z + 1) != null; if (xx && !yy && !zz) { type = ControllerRenderType.column_x; @@ -132,7 +132,7 @@ public class ControllerBlock extends AEBaseTileBlock { @Override public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { - final ControllerTileEntity tc = this.getTileEntity(world, pos); + final ControllerBlockEntity tc = this.getBlockEntity(world, pos); if (tc != null) { tc.onNeighborChange(false); } diff --git a/src/main/java/appeng/block/networking/ControllerRendering.java b/src/main/java/appeng/block/networking/ControllerRendering.java index 22922b97b..23e13c9b5 100644 --- a/src/main/java/appeng/block/networking/ControllerRendering.java +++ b/src/main/java/appeng/block/networking/ControllerRendering.java @@ -18,7 +18,7 @@ package appeng.block.networking; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.render.RenderLayer; import appeng.bootstrap.BlockRenderingCustomizer; import appeng.bootstrap.IBlockRendering; @@ -29,6 +29,6 @@ public class ControllerRendering extends BlockRenderingCustomizer { public void customize(IBlockRendering rendering, IItemRendering itemRendering) { // Disables the default model rotator rendering.modelCustomizer((loc, model) -> model); - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); } } diff --git a/src/main/java/appeng/block/networking/CreativeEnergyCellBlock.java b/src/main/java/appeng/block/networking/CreativeEnergyCellBlock.java index 313e4a213..426d229b4 100644 --- a/src/main/java/appeng/block/networking/CreativeEnergyCellBlock.java +++ b/src/main/java/appeng/block/networking/CreativeEnergyCellBlock.java @@ -20,9 +20,9 @@ package appeng.block.networking; import appeng.block.AEBaseTileBlock; import appeng.helpers.AEGlassMaterial; -import appeng.tile.networking.CreativeEnergyCellTileEntity; +import appeng.tile.networking.CreativeEnergyCellBlockEntity; -public class CreativeEnergyCellBlock extends AEBaseTileBlock { +public class CreativeEnergyCellBlock extends AEBaseTileBlock { public CreativeEnergyCellBlock() { super(defaultProps(AEGlassMaterial.INSTANCE)); diff --git a/src/main/java/appeng/block/networking/EnergyAcceptorBlock.java b/src/main/java/appeng/block/networking/EnergyAcceptorBlock.java index aa8a02e79..55056b199 100644 --- a/src/main/java/appeng/block/networking/EnergyAcceptorBlock.java +++ b/src/main/java/appeng/block/networking/EnergyAcceptorBlock.java @@ -21,9 +21,9 @@ package appeng.block.networking; import net.minecraft.block.Material; import appeng.block.AEBaseTileBlock; -import appeng.tile.networking.EnergyAcceptorTileEntity; +import appeng.tile.networking.EnergyAcceptorBlockEntity; -public class EnergyAcceptorBlock extends AEBaseTileBlock { +public class EnergyAcceptorBlock extends AEBaseTileBlock { public EnergyAcceptorBlock() { super(defaultProps(Material.IRON)); diff --git a/src/main/java/appeng/block/networking/EnergyCellBlock.java b/src/main/java/appeng/block/networking/EnergyCellBlock.java index 08101f255..dd5bc1128 100644 --- a/src/main/java/appeng/block/networking/EnergyCellBlock.java +++ b/src/main/java/appeng/block/networking/EnergyCellBlock.java @@ -31,9 +31,9 @@ import net.minecraft.util.NonNullList; import appeng.block.AEBaseTileBlock; import appeng.helpers.AEGlassMaterial; -import appeng.tile.networking.EnergyCellTileEntity; +import appeng.tile.networking.EnergyCellBlockEntity; -public class EnergyCellBlock extends AEBaseTileBlock { +public class EnergyCellBlock extends AEBaseTileBlock { public static final IntegerProperty ENERGY_STORAGE = IntegerProperty.create("fullness", 0, 7); diff --git a/src/main/java/appeng/block/networking/WirelessBlock.java b/src/main/java/appeng/block/networking/WirelessBlock.java index 89ee082a1..9af9782dd 100644 --- a/src/main/java/appeng/block/networking/WirelessBlock.java +++ b/src/main/java/appeng/block/networking/WirelessBlock.java @@ -24,12 +24,12 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.state.EnumProperty; import net.minecraft.state.StateContainer; 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.IStringSerializable; import net.minecraft.util.math.Box; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.block.ShapeContext; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; @@ -41,10 +41,10 @@ import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.WirelessContainer; import appeng.helpers.AEGlassMaterial; -import appeng.tile.networking.WirelessTileEntity; +import appeng.tile.networking.WirelessBlockEntity; import appeng.util.Platform; -public class WirelessBlock extends AEBaseTileBlock { +public class WirelessBlock extends AEBaseTileBlock { enum State implements IStringSerializable { OFF, ON, HAS_CHANNEL; @@ -58,14 +58,15 @@ public class WirelessBlock extends AEBaseTileBlock { public static final EnumProperty STATE = EnumProperty.create("state", State.class); public WirelessBlock() { - super(defaultProps(AEGlassMaterial.INSTANCE).notSolid()); - this.setFullSize(false); - this.setOpaque(false); + super(defaultProps(AEGlassMaterial.INSTANCE) + .nonOpaque() + .solidBlock((state, world, pos) -> false) + ); this.setDefaultState(this.getDefaultState().with(STATE, State.OFF)); } @Override - protected BlockState updateBlockStateFromTileEntity(BlockState currentState, WirelessTileEntity te) { + protected BlockState updateBlockStateFromTileEntity(BlockState currentState, WirelessBlockEntity te) { State teState = State.OFF; if (te.isActive()) { @@ -84,11 +85,11 @@ public class WirelessBlock extends AEBaseTileBlock { } @Override - public ActionResult onBlockActivated(BlockState state, World w, BlockPos pos, PlayerEntity player, Hand hand, - BlockRayTraceResult hit) { - final WirelessTileEntity tg = this.getTileEntity(w, pos); + public ActionResult onUse(BlockState state, World w, BlockPos pos, PlayerEntity player, Hand hand, + BlockHitResult hit) { + final WirelessBlockEntity tg = this.getBlockEntity(w, pos); - if (tg != null && !player.isCrouching()) { + if (tg != null && !player.isInSneakingPose()) { if (Platform.isServer()) { ContainerOpener.openContainer(WirelessContainer.TYPE, player, ContainerLocator.forTileEntitySide(tg, hit.getFace())); @@ -96,12 +97,12 @@ public class WirelessBlock extends AEBaseTileBlock { return ActionResult.SUCCESS; } - return super.onBlockActivated(state, w, pos, player, hand, hit); + return super.onUse(state, w, pos, player, hand, hit); } @Override public VoxelShape getShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { - final WirelessTileEntity tile = this.getTileEntity(w, pos); + final WirelessBlockEntity tile = this.getBlockEntity(w, pos); if (tile != null) { final Direction forward = tile.getForward(); @@ -161,7 +162,7 @@ public class WirelessBlock extends AEBaseTileBlock { @Override public VoxelShape getCollisionShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { - final WirelessTileEntity tile = this.getTileEntity(w, pos); + final WirelessBlockEntity tile = this.getBlockEntity(w, pos); if (tile != null) { final Direction forward = tile.getForward(); diff --git a/src/main/java/appeng/block/networking/WirelessRendering.java b/src/main/java/appeng/block/networking/WirelessRendering.java index 1fadfe77e..0492185ef 100644 --- a/src/main/java/appeng/block/networking/WirelessRendering.java +++ b/src/main/java/appeng/block/networking/WirelessRendering.java @@ -1,7 +1,7 @@ package appeng.block.networking; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.render.RenderLayer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -15,7 +15,7 @@ public class WirelessRendering extends BlockRenderingCustomizer { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); rendering.blockColor(new StaticBlockColor(AEColor.TRANSPARENT)); } } diff --git a/src/main/java/appeng/block/paint/PaintSplotchesBakedModel.java b/src/main/java/appeng/block/paint/PaintSplotchesBakedModel.java index 6865fc377..d18e13dc1 100644 --- a/src/main/java/appeng/block/paint/PaintSplotchesBakedModel.java +++ b/src/main/java/appeng/block/paint/PaintSplotchesBakedModel.java @@ -26,7 +26,7 @@ import net.minecraftforge.client.model.data.IModelData; import appeng.client.render.cablebus.CubeBuilder; import appeng.core.AppEng; import appeng.helpers.Splotch; -import appeng.tile.misc.PaintSplotchesTileEntity; +import appeng.tile.misc.PaintSplotchesBlockEntity; /** * Renders paint blocks, which render multiple "splotches" that have been @@ -58,7 +58,7 @@ class PaintSplotchesBakedModel implements IDynamicBakedModel { return Collections.emptyList(); } - PaintSplotches splotchesState = extraData.getData(PaintSplotchesTileEntity.SPLOTCHES); + PaintSplotches splotchesState = extraData.getData(PaintSplotchesBlockEntity.SPLOTCHES); if (splotchesState == null) { // This is the inventory model which should usually not be used other than in diff --git a/src/main/java/appeng/block/paint/PaintSplotchesBlock.java b/src/main/java/appeng/block/paint/PaintSplotchesBlock.java index ec2eb68d1..46cd519b4 100644 --- a/src/main/java/appeng/block/paint/PaintSplotchesBlock.java +++ b/src/main/java/appeng/block/paint/PaintSplotchesBlock.java @@ -23,7 +23,7 @@ import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.block.MaterialColor; import net.minecraft.fluid.Fluid; -import net.minecraft.item.BlockItemUseContext; +import net.minecraft.item.ItemPlacementContext; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; @@ -37,10 +37,10 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import appeng.block.AEBaseTileBlock; -import appeng.tile.misc.PaintSplotchesTileEntity; +import appeng.tile.misc.PaintSplotchesBlockEntity; import appeng.util.Platform; -public class PaintSplotchesBlock extends AEBaseTileBlock { +public class PaintSplotchesBlock extends AEBaseTileBlock { public PaintSplotchesBlock() { super(defaultProps(Material.WATER, MaterialColor.AIR)); this.setFullSize(false); @@ -61,7 +61,7 @@ public class PaintSplotchesBlock extends AEBaseTileBlock { @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { return new PaintSplotchesBakedModel(spriteGetter); } diff --git a/src/main/java/appeng/block/paint/PaintSplotchesRendering.java b/src/main/java/appeng/block/paint/PaintSplotchesRendering.java index 68d00d069..076779988 100644 --- a/src/main/java/appeng/block/paint/PaintSplotchesRendering.java +++ b/src/main/java/appeng/block/paint/PaintSplotchesRendering.java @@ -1,7 +1,7 @@ package appeng.block.paint; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.render.RenderLayer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -14,7 +14,7 @@ public class PaintSplotchesRendering extends BlockRenderingCustomizer { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); // Disable auto rotation rendering.modelCustomizer((location, model) -> model); } diff --git a/src/main/java/appeng/block/qnb/QnbFormedBakedModel.java b/src/main/java/appeng/block/qnb/QnbFormedBakedModel.java index 23327fda4..ebca7b50a 100644 --- a/src/main/java/appeng/block/qnb/QnbFormedBakedModel.java +++ b/src/main/java/appeng/block/qnb/QnbFormedBakedModel.java @@ -15,7 +15,7 @@ import com.google.common.collect.ImmutableList; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; import net.minecraft.client.renderer.texture.AtlasTexture; @@ -28,7 +28,7 @@ import net.minecraftforge.client.model.data.IModelData; import appeng.api.AEApi; import appeng.client.render.cablebus.CubeBuilder; import appeng.core.AppEng; -import appeng.tile.qnb.QuantumBridgeTileEntity; +import appeng.tile.qnb.QuantumBridgeBlockEntity; class QnbFormedBakedModel implements IDynamicBakedModel { @@ -54,7 +54,7 @@ class QnbFormedBakedModel implements IDynamicBakedModel { private static final float CENTER_POWERED_RENDER_MIN = -0.01f; private static final float CENTER_POWERED_RENDER_MAX = 16.01f; - private final IBakedModel baseModel; + private final BakedModel baseModel; private final Block linkBlock; @@ -65,7 +65,7 @@ class QnbFormedBakedModel implements IDynamicBakedModel { private final TextureAtlasSprite lightTexture; private final TextureAtlasSprite lightCornerTexture; - public QnbFormedBakedModel(IBakedModel baseModel, Function bakedTextureGetter) { + public QnbFormedBakedModel(BakedModel baseModel, Function bakedTextureGetter) { this.baseModel = baseModel; this.linkTexture = bakedTextureGetter.apply(TEXTURE_LINK); this.ringTexture = bakedTextureGetter.apply(TEXTURE_RING); @@ -79,7 +79,7 @@ class QnbFormedBakedModel implements IDynamicBakedModel { @Override public List getQuads(@Nullable BlockState state, @Nullable Direction side, Random rand, IModelData modelData) { - QnbFormedState formedState = modelData.getData(QuantumBridgeTileEntity.FORMED_STATE); + QnbFormedState formedState = modelData.getData(QuantumBridgeBlockEntity.FORMED_STATE); if (formedState == null) { return this.baseModel.getQuads(state, side, rand); @@ -121,9 +121,9 @@ class QnbFormedBakedModel implements IDynamicBakedModel { // Offset the face by a slight amount so that it is drawn over the already drawn // ring texture // (avoids z-fighting) - float xOffset = Math.abs(facing.getXOffset() * 0.01f); - float yOffset = Math.abs(facing.getYOffset() * 0.01f); - float zOffset = Math.abs(facing.getZOffset() * 0.01f); + float xOffset = Math.abs(facing.getOffsetX() * 0.01f); + float yOffset = Math.abs(facing.getOffsetY() * 0.01f); + float zOffset = Math.abs(facing.getOffsetZ() * 0.01f); builder.setDrawFaces(EnumSet.of(facing)); builder.addCube(DEFAULT_RENDER_MIN - xOffset, DEFAULT_RENDER_MIN - yOffset, @@ -147,9 +147,9 @@ class QnbFormedBakedModel implements IDynamicBakedModel { // Offset the face by a slight amount so that it is drawn over the already drawn // ring texture // (avoids z-fighting) - float xOffset = Math.abs(facing.getXOffset() * 0.01f); - float yOffset = Math.abs(facing.getYOffset() * 0.01f); - float zOffset = Math.abs(facing.getZOffset() * 0.01f); + float xOffset = Math.abs(facing.getOffsetX() * 0.01f); + float yOffset = Math.abs(facing.getOffsetY() * 0.01f); + float zOffset = Math.abs(facing.getOffsetZ() * 0.01f); builder.setDrawFaces(EnumSet.of(facing)); builder.addCube(-xOffset, -yOffset, -zOffset, 16 + xOffset, 16 + yOffset, 16 + zOffset); diff --git a/src/main/java/appeng/block/qnb/QnbFormedModel.java b/src/main/java/appeng/block/qnb/QnbFormedModel.java index 4771d1a8d..43727d6a6 100644 --- a/src/main/java/appeng/block/qnb/QnbFormedModel.java +++ b/src/main/java/appeng/block/qnb/QnbFormedModel.java @@ -7,12 +7,12 @@ import java.util.function.Function; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; import net.minecraftforge.client.model.IModelConfiguration; @@ -25,10 +25,10 @@ public class QnbFormedModel implements IModelGeometry { private static final Identifier MODEL_RING = new Identifier(AppEng.MOD_ID, "block/qnb/ring"); @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { - IBakedModel ringModel = bakery.getBakedModel(MODEL_RING, modelTransform, spriteGetter); + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { + BakedModel ringModel = bakery.getBakedModel(MODEL_RING, modelTransform, spriteGetter); return new QnbFormedBakedModel(ringModel, spriteGetter); } diff --git a/src/main/java/appeng/block/qnb/QuantumBaseBlock.java b/src/main/java/appeng/block/qnb/QuantumBaseBlock.java index 404e28c14..21996d4c3 100644 --- a/src/main/java/appeng/block/qnb/QuantumBaseBlock.java +++ b/src/main/java/appeng/block/qnb/QuantumBaseBlock.java @@ -31,9 +31,9 @@ import net.minecraft.world.BlockView; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; -import appeng.tile.qnb.QuantumBridgeTileEntity; +import appeng.tile.qnb.QuantumBridgeBlockEntity; -public abstract class QuantumBaseBlock extends AEBaseTileBlock { +public abstract class QuantumBaseBlock extends AEBaseTileBlock { public static final BooleanProperty FORMED = BooleanProperty.create("formed"); @@ -62,31 +62,31 @@ public abstract class QuantumBaseBlock extends AEBaseTileBlock model); } diff --git a/src/main/java/appeng/block/qnb/QuantumLinkChamberBlock.java b/src/main/java/appeng/block/qnb/QuantumLinkChamberBlock.java index 7af978923..445f1caf1 100644 --- a/src/main/java/appeng/block/qnb/QuantumLinkChamberBlock.java +++ b/src/main/java/appeng/block/qnb/QuantumLinkChamberBlock.java @@ -29,7 +29,7 @@ import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.Box; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.block.ShapeContext; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; @@ -42,7 +42,7 @@ import appeng.container.ContainerOpener; import appeng.container.implementations.QNBContainer; import appeng.core.AppEng; import appeng.helpers.AEGlassMaterial; -import appeng.tile.qnb.QuantumBridgeTileEntity; +import appeng.tile.qnb.QuantumBridgeBlockEntity; import appeng.util.Platform; public class QuantumLinkChamberBlock extends QuantumBaseBlock { @@ -61,7 +61,7 @@ public class QuantumLinkChamberBlock extends QuantumBaseBlock { @Override public void animateTick(final BlockState state, final World w, final BlockPos pos, final Random rand) { - final QuantumBridgeTileEntity bridge = this.getTileEntity(w, pos); + final QuantumBridgeBlockEntity bridge = this.getBlockEntity(w, pos); if (bridge != null) { if (bridge.hasQES()) { if (AppEng.proxy.shouldAddParticles(rand)) { @@ -74,12 +74,12 @@ public class QuantumLinkChamberBlock extends QuantumBaseBlock { @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity p, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - if (p.isCrouching()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + if (p.isInSneakingPose()) { return ActionResult.PASS; } - final QuantumBridgeTileEntity tg = this.getTileEntity(w, pos); + final QuantumBridgeBlockEntity tg = this.getBlockEntity(w, pos); if (tg != null) { if (Platform.isServer()) { ContainerOpener.openContainer(QNBContainer.TYPE, p, ContainerLocator.forTileEntity(tg)); diff --git a/src/main/java/appeng/block/qnb/QuantumRingBlock.java b/src/main/java/appeng/block/qnb/QuantumRingBlock.java index 38771a039..76d73e351 100644 --- a/src/main/java/appeng/block/qnb/QuantumRingBlock.java +++ b/src/main/java/appeng/block/qnb/QuantumRingBlock.java @@ -27,7 +27,7 @@ import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; import net.minecraft.world.BlockView; -import appeng.tile.qnb.QuantumBridgeTileEntity; +import appeng.tile.qnb.QuantumBridgeBlockEntity; public class QuantumRingBlock extends QuantumBaseBlock { @@ -41,7 +41,7 @@ public class QuantumRingBlock extends QuantumBaseBlock { @Override public VoxelShape getShape(BlockState state, BlockView w, BlockPos pos, ShapeContext context) { - final QuantumBridgeTileEntity bridge = this.getTileEntity(w, pos); + final QuantumBridgeBlockEntity bridge = this.getBlockEntity(w, pos); if (bridge != null && bridge.isCorner()) { return SHAPE_CORNER; } else if (bridge != null && bridge.isFormed()) { diff --git a/src/main/java/appeng/block/spatial/MatrixFrameBlock.java b/src/main/java/appeng/block/spatial/MatrixFrameBlock.java index c1d086155..06082f28b 100644 --- a/src/main/java/appeng/block/spatial/MatrixFrameBlock.java +++ b/src/main/java/appeng/block/spatial/MatrixFrameBlock.java @@ -50,7 +50,7 @@ public class MatrixFrameBlock extends AEBaseBlock { false, PushReaction.PUSH_ONLY); public MatrixFrameBlock() { - super(Properties.create(MATERIAL).hardnessAndResistance(-1.0F, 6000000.0F).notSolid().noDrops()); + super(Settings.create(MATERIAL).strength(-1.0F, 6000000.0F).notSolid().noDrops()); } @Override diff --git a/src/main/java/appeng/block/spatial/SpatialIOPortBlock.java b/src/main/java/appeng/block/spatial/SpatialIOPortBlock.java index a4322ce74..92aaf13e9 100644 --- a/src/main/java/appeng/block/spatial/SpatialIOPortBlock.java +++ b/src/main/java/appeng/block/spatial/SpatialIOPortBlock.java @@ -28,17 +28,17 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.SpatialIOPortContainer; -import appeng.tile.spatial.SpatialIOPortTileEntity; +import appeng.tile.spatial.SpatialIOPortBlockEntity; import appeng.util.Platform; -public class SpatialIOPortBlock extends AEBaseTileBlock { +public class SpatialIOPortBlock extends AEBaseTileBlock { public SpatialIOPortBlock() { super(defaultProps(Material.IRON)); @@ -47,7 +47,7 @@ public class SpatialIOPortBlock extends AEBaseTileBlock @Override public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { - final SpatialIOPortTileEntity te = this.getTileEntity(world, pos); + final SpatialIOPortBlockEntity te = this.getBlockEntity(world, pos); if (te != null) { te.updateRedstoneState(); } @@ -55,12 +55,12 @@ public class SpatialIOPortBlock extends AEBaseTileBlock @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity p, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - if (p.isCrouching()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + if (p.isInSneakingPose()) { return ActionResult.PASS; } - final SpatialIOPortTileEntity tg = this.getTileEntity(w, pos); + final SpatialIOPortBlockEntity tg = this.getBlockEntity(w, pos); if (tg != null) { if (Platform.isServer()) { ContainerOpener.openContainer(SpatialIOPortContainer.TYPE, p, diff --git a/src/main/java/appeng/block/spatial/SpatialPylonBlock.java b/src/main/java/appeng/block/spatial/SpatialPylonBlock.java index 78f8a0c7b..a48c69658 100644 --- a/src/main/java/appeng/block/spatial/SpatialPylonBlock.java +++ b/src/main/java/appeng/block/spatial/SpatialPylonBlock.java @@ -26,9 +26,9 @@ import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.helpers.AEGlassMaterial; -import appeng.tile.spatial.SpatialPylonTileEntity; +import appeng.tile.spatial.SpatialPylonBlockEntity; -public class SpatialPylonBlock extends AEBaseTileBlock { +public class SpatialPylonBlock extends AEBaseTileBlock { public SpatialPylonBlock() { super(defaultProps(AEGlassMaterial.INSTANCE)); @@ -37,7 +37,7 @@ public class SpatialPylonBlock extends AEBaseTileBlock { @Override public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { - final SpatialPylonTileEntity tsp = this.getTileEntity(world, pos); + final SpatialPylonBlockEntity tsp = this.getBlockEntity(world, pos); if (tsp != null) { tsp.neighborChanged(); } @@ -45,7 +45,7 @@ public class SpatialPylonBlock extends AEBaseTileBlock { @Override public int getLightValue(final BlockState state, final BlockView w, final BlockPos pos) { - final SpatialPylonTileEntity tsp = this.getTileEntity(w, pos); + final SpatialPylonBlockEntity tsp = this.getBlockEntity(w, pos); if (tsp != null) { return tsp.getLightValue(); } diff --git a/src/main/java/appeng/block/storage/ChestBlock.java b/src/main/java/appeng/block/storage/ChestBlock.java index 3d3adafcd..390da08b1 100644 --- a/src/main/java/appeng/block/storage/ChestBlock.java +++ b/src/main/java/appeng/block/storage/ChestBlock.java @@ -30,7 +30,7 @@ import net.minecraft.state.StateContainer; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; @@ -38,9 +38,9 @@ import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.ChestContainer; import appeng.core.localization.PlayerMessages; -import appeng.tile.storage.ChestTileEntity; +import appeng.tile.storage.ChestBlockEntity; -public class ChestBlock extends AEBaseTileBlock { +public class ChestBlock extends AEBaseTileBlock { private final static EnumProperty SLOT_STATE = EnumProperty.create("slot_state", DriveSlotState.class); @@ -57,7 +57,7 @@ public class ChestBlock extends AEBaseTileBlock { } @Override - protected BlockState updateBlockStateFromTileEntity(BlockState currentState, ChestTileEntity te) { + protected BlockState updateBlockStateFromTileEntity(BlockState currentState, ChestBlockEntity te) { DriveSlotState slotState = DriveSlotState.EMPTY; if (te.getCellCount() >= 1) { @@ -73,14 +73,14 @@ public class ChestBlock extends AEBaseTileBlock { @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity p, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - final ChestTileEntity tg = this.getTileEntity(w, pos); - if (tg != null && !p.isCrouching()) { - if (w.isRemote()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + final ChestBlockEntity tg = this.getBlockEntity(w, pos); + if (tg != null && !p.isInSneakingPose()) { + if (w.isClient()) { return ActionResult.SUCCESS; } - if (hit.getFace() == tg.getUp()) { + if (hit.getSide() == tg.getUp()) { if (!tg.openGui(p)) { p.sendMessage(PlayerMessages.ChestCannotReadStorageCell.get()); } diff --git a/src/main/java/appeng/block/storage/ChestRendering.java b/src/main/java/appeng/block/storage/ChestRendering.java index 3a9e87434..b12caf2d9 100644 --- a/src/main/java/appeng/block/storage/ChestRendering.java +++ b/src/main/java/appeng/block/storage/ChestRendering.java @@ -20,7 +20,7 @@ package appeng.block.storage; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.render.RenderLayer; import appeng.api.util.AEColor; import appeng.bootstrap.BlockRenderingCustomizer; @@ -34,7 +34,7 @@ public class ChestRendering extends BlockRenderingCustomizer { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); // I checked, the ME chest doesn't keep its color in item form itemRendering.color(new StaticItemColor(AEColor.TRANSPARENT)); diff --git a/src/main/java/appeng/block/storage/DriveBlock.java b/src/main/java/appeng/block/storage/DriveBlock.java index f3b11c97c..e8dd94f4d 100644 --- a/src/main/java/appeng/block/storage/DriveBlock.java +++ b/src/main/java/appeng/block/storage/DriveBlock.java @@ -26,17 +26,17 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.DriveContainer; -import appeng.tile.storage.DriveTileEntity; +import appeng.tile.storage.DriveBlockEntity; import appeng.util.Platform; -public class DriveBlock extends AEBaseTileBlock { +public class DriveBlock extends AEBaseTileBlock { public DriveBlock() { super(defaultProps(Material.IRON)); @@ -44,12 +44,12 @@ public class DriveBlock extends AEBaseTileBlock { @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity p, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - if (p.isCrouching()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + if (p.isInSneakingPose()) { return ActionResult.PASS; } - final DriveTileEntity tg = this.getTileEntity(w, pos); + final DriveBlockEntity tg = this.getBlockEntity(w, pos); if (tg != null) { if (Platform.isServer()) { ContainerOpener.openContainer(DriveContainer.TYPE, p, ContainerLocator.forTileEntity(tg)); diff --git a/src/main/java/appeng/block/storage/DriveRendering.java b/src/main/java/appeng/block/storage/DriveRendering.java index 652f6ffdd..47226b450 100644 --- a/src/main/java/appeng/block/storage/DriveRendering.java +++ b/src/main/java/appeng/block/storage/DriveRendering.java @@ -18,7 +18,7 @@ package appeng.block.storage; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.render.RenderLayer; import appeng.bootstrap.BlockRenderingCustomizer; import appeng.bootstrap.IBlockRendering; @@ -27,6 +27,6 @@ import appeng.bootstrap.IItemRendering; public class DriveRendering extends BlockRenderingCustomizer { @Override public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); } } diff --git a/src/main/java/appeng/block/storage/IOPortBlock.java b/src/main/java/appeng/block/storage/IOPortBlock.java index 3ba1da395..2a2498c0d 100644 --- a/src/main/java/appeng/block/storage/IOPortBlock.java +++ b/src/main/java/appeng/block/storage/IOPortBlock.java @@ -27,18 +27,18 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.IOPortContainer; -import appeng.tile.storage.IOPortTileEntity; +import appeng.tile.storage.IOPortBlockEntity; import appeng.util.Platform; -public class IOPortBlock extends AEBaseTileBlock { +public class IOPortBlock extends AEBaseTileBlock { public IOPortBlock() { super(defaultProps(Material.IRON)); @@ -47,7 +47,7 @@ public class IOPortBlock extends AEBaseTileBlock { @Override public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { - final IOPortTileEntity te = this.getTileEntity(world, pos); + final IOPortBlockEntity te = this.getBlockEntity(world, pos); if (te != null) { te.updateRedstoneState(); } @@ -55,12 +55,12 @@ public class IOPortBlock extends AEBaseTileBlock { @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity p, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - if (p.isCrouching()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + if (p.isInSneakingPose()) { return ActionResult.PASS; } - final IOPortTileEntity tg = this.getTileEntity(w, pos); + final IOPortBlockEntity tg = this.getBlockEntity(w, pos); if (tg != null) { if (Platform.isServer()) { ContainerOpener.openContainer(IOPortContainer.TYPE, p, diff --git a/src/main/java/appeng/block/storage/SkyChestBlock.java b/src/main/java/appeng/block/storage/SkyChestBlock.java index 2034e67dc..4bed392e8 100644 --- a/src/main/java/appeng/block/storage/SkyChestBlock.java +++ b/src/main/java/appeng/block/storage/SkyChestBlock.java @@ -29,7 +29,7 @@ import net.minecraft.util.math.Box; import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.block.ShapeContext; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; @@ -40,10 +40,10 @@ import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.container.implementations.SkyChestContainer; -import appeng.tile.storage.SkyChestTileEntity; +import appeng.tile.storage.SkyChestBlockEntity; import appeng.util.Platform; -public class SkyChestBlock extends AEBaseTileBlock { +public class SkyChestBlock extends AEBaseTileBlock { private static final double AABB_OFFSET_BOTTOM = 0.00; private static final double AABB_OFFSET_SIDES = 0.06; @@ -55,7 +55,7 @@ public class SkyChestBlock extends AEBaseTileBlock { public final SkyChestType type; - public SkyChestBlock(final SkyChestType type, Properties props) { + public SkyChestBlock(final SkyChestType type, Settings props) { super(props); this.type = type; } @@ -72,9 +72,9 @@ public class SkyChestBlock extends AEBaseTileBlock { @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { if (Platform.isServer()) { - SkyChestTileEntity tile = getTileEntity(w, pos); + SkyChestBlockEntity tile = getBlockEntity(w, pos); if (tile == null) { return ActionResult.PASS; } @@ -93,31 +93,31 @@ public class SkyChestBlock extends AEBaseTileBlock { } private Box computeAABB(final BlockView w, final BlockPos pos) { - final SkyChestTileEntity sk = this.getTileEntity(w, pos); + final SkyChestBlockEntity sk = this.getBlockEntity(w, pos); Direction o = Direction.UP; if (sk != null) { o = sk.getUp(); } - final double offsetX = o.getXOffset() == 0 ? AABB_OFFSET_SIDES : 0.0; - final double offsetY = o.getYOffset() == 0 ? AABB_OFFSET_SIDES : 0.0; - final double offsetZ = o.getZOffset() == 0 ? AABB_OFFSET_SIDES : 0.0; + final double offsetX = o.getOffsetX() == 0 ? AABB_OFFSET_SIDES : 0.0; + final double offsetY = o.getOffsetY() == 0 ? AABB_OFFSET_SIDES : 0.0; + final double offsetZ = o.getOffsetZ() == 0 ? AABB_OFFSET_SIDES : 0.0; // for x/z top and bottom is swapped final double minX = Math.max(0.0, - offsetX + (o.getXOffset() < 0 ? AABB_OFFSET_BOTTOM : (o.getXOffset() * AABB_OFFSET_TOP))); + offsetX + (o.getOffsetX() < 0 ? AABB_OFFSET_BOTTOM : (o.getOffsetX() * AABB_OFFSET_TOP))); final double minY = Math.max(0.0, - offsetY + (o.getYOffset() < 0 ? AABB_OFFSET_TOP : (o.getYOffset() * AABB_OFFSET_BOTTOM))); + offsetY + (o.getOffsetY() < 0 ? AABB_OFFSET_TOP : (o.getOffsetY() * AABB_OFFSET_BOTTOM))); final double minZ = Math.max(0.0, - offsetZ + (o.getZOffset() < 0 ? AABB_OFFSET_BOTTOM : (o.getZOffset() * AABB_OFFSET_TOP))); + offsetZ + (o.getOffsetZ() < 0 ? AABB_OFFSET_BOTTOM : (o.getOffsetZ() * AABB_OFFSET_TOP))); final double maxX = Math.min(1.0, - 1.0 - offsetX - (o.getXOffset() < 0 ? AABB_OFFSET_TOP : (o.getXOffset() * AABB_OFFSET_BOTTOM))); + 1.0 - offsetX - (o.getOffsetX() < 0 ? AABB_OFFSET_TOP : (o.getOffsetX() * AABB_OFFSET_BOTTOM))); final double maxY = Math.min(1.0, - 1.0 - offsetY - (o.getYOffset() < 0 ? AABB_OFFSET_BOTTOM : (o.getYOffset() * AABB_OFFSET_TOP))); + 1.0 - offsetY - (o.getOffsetY() < 0 ? AABB_OFFSET_BOTTOM : (o.getOffsetY() * AABB_OFFSET_TOP))); final double maxZ = Math.min(1.0, - 1.0 - offsetZ - (o.getZOffset() < 0 ? AABB_OFFSET_TOP : (o.getZOffset() * AABB_OFFSET_BOTTOM))); + 1.0 - offsetZ - (o.getOffsetZ() < 0 ? AABB_OFFSET_TOP : (o.getOffsetZ() * AABB_OFFSET_BOTTOM))); return new Box(minX, minY, minZ, maxX, maxY, maxZ); } diff --git a/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java b/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java index b9a3bcfcb..a7d90b5c1 100644 --- a/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java +++ b/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java @@ -18,29 +18,11 @@ package appeng.bootstrap; -import java.util.ArrayList; -import java.util.Collections; -import java.util.EnumSet; -import java.util.List; -import java.util.function.BiFunction; -import java.util.function.Supplier; - -import javax.annotation.Nullable; - -import net.fabricmc.api.Environment; -import net.minecraft.block.Block; -import net.minecraft.item.BlockItem; -import net.minecraft.item.Item; -import net.minecraft.item.ItemGroup; -import net.fabricmc.api.EnvType; - import appeng.api.definitions.IBlockDefinition; import appeng.api.features.AEFeature; import appeng.block.AEBaseBlock; import appeng.block.AEBaseBlockItem; import appeng.block.AEBaseTileBlock; -import appeng.bootstrap.components.IBlockRegistrationComponent; -import appeng.bootstrap.components.IItemRegistrationComponent; import appeng.bootstrap.definitions.TileEntityDefinition; import appeng.core.AEItemGroup; import appeng.core.AppEng; @@ -48,12 +30,28 @@ import appeng.core.CreativeTab; import appeng.core.features.BlockDefinition; import appeng.core.features.TileDefinition; import appeng.util.Platform; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.block.Block; +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; +import net.minecraft.item.ItemGroup; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +import javax.annotation.Nullable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.EnumSet; +import java.util.List; +import java.util.function.BiFunction; +import java.util.function.Supplier; class BlockDefinitionBuilder implements IBlockBuilder { private final FeatureFactory factory; - private final String registryName; + private final Identifier id; private final Supplier blockSupplier; @@ -67,7 +65,7 @@ class BlockDefinitionBuilder implements IBlockBuilder { private boolean disableItem = false; - private BiFunction itemFactory; + private BiFunction itemFactory; @Environment(EnvType.CLIENT) private BlockRendering blockRendering; @@ -77,11 +75,11 @@ class BlockDefinitionBuilder implements IBlockBuilder { BlockDefinitionBuilder(FeatureFactory factory, String id, Supplier blockSupplier) { this.factory = factory; - this.registryName = id; + this.id = new Identifier(AppEng.MOD_ID, id); this.blockSupplier = blockSupplier; if (Platform.hasClientClasses()) { - this.blockRendering = new BlockRendering(); + this.blockRendering = new BlockRendering(this.id); this.itemRendering = new ItemRendering(); } } @@ -121,7 +119,7 @@ class BlockDefinitionBuilder implements IBlockBuilder { } @Override - public IBlockBuilder item(BiFunction factory) { + public IBlockBuilder item(BiFunction factory) { this.itemFactory = factory; return this; } @@ -142,18 +140,12 @@ class BlockDefinitionBuilder implements IBlockBuilder { public T build() { // Create block and matching item, and set factory name of both Block block = this.blockSupplier.get(); - block.setRegistryName(AppEng.MOD_ID, this.registryName); - - BlockItem item = this.constructItemFromBlock(block); - if (item != null) { - item.setRegistryName(AppEng.MOD_ID, this.registryName); - } // Register the item and block with the game - this.factory.addBootstrapComponent((IBlockRegistrationComponent) (side, registry) -> registry.register(block)); + Registry.register(Registry.BLOCK, id, block); + BlockItem item = this.constructItemFromBlock(block); if (item != null) { - this.factory - .addBootstrapComponent((IItemRegistrationComponent) (side, registry) -> registry.register(item)); + Registry.register(Registry.ITEM, id, item); } // Register all extra handlers @@ -174,9 +166,9 @@ class BlockDefinitionBuilder implements IBlockBuilder { T definition; if (block instanceof AEBaseTileBlock) { - definition = (T) new TileDefinition(this.registryName, (AEBaseTileBlock) block, item, features); + definition = (T) new TileDefinition(this.id.getPath(), (AEBaseTileBlock) block, item, features); } else { - definition = (T) new BlockDefinition(this.registryName, block, item, features); + definition = (T) new BlockDefinition(this.id.getPath(), block, item, features); } if (itemGroup instanceof AEItemGroup) { @@ -192,7 +184,7 @@ class BlockDefinitionBuilder implements IBlockBuilder { return null; } - Item.Properties itemProperties = new Item.Properties(); + Item.Settings itemProperties = new Item.Settings(); if (itemGroup != null) { itemProperties.group(itemGroup); diff --git a/src/main/java/appeng/bootstrap/TileEntityBuilder.java b/src/main/java/appeng/bootstrap/BlockEntityBuilder.java similarity index 85% rename from src/main/java/appeng/bootstrap/TileEntityBuilder.java rename to src/main/java/appeng/bootstrap/BlockEntityBuilder.java index 31e6d34fc..fb4ecbf9a 100644 --- a/src/main/java/appeng/bootstrap/TileEntityBuilder.java +++ b/src/main/java/appeng/bootstrap/BlockEntityBuilder.java @@ -24,7 +24,7 @@ import appeng.bootstrap.definitions.TileEntityDefinition; import appeng.core.AppEng; import appeng.core.features.ActivityState; import appeng.core.features.BlockStackSrc; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.util.Platform; /** @@ -33,7 +33,7 @@ import appeng.util.Platform; * * @param */ -public class TileEntityBuilder { +public class BlockEntityBuilder { private final FeatureFactory factory; @@ -54,8 +54,8 @@ public class TileEntityBuilder { private final EnumSet features = EnumSet.noneOf(AEFeature.class); - public TileEntityBuilder(FeatureFactory factory, String registryName, Class tileClass, - Function, T> supplier) { + public BlockEntityBuilder(FeatureFactory factory, String registryName, Class tileClass, + Function, T> supplier) { this.factory = factory; this.registryName = registryName; this.tileClass = tileClass; @@ -66,18 +66,18 @@ public class TileEntityBuilder { } } - public TileEntityBuilder features(AEFeature... features) { + public BlockEntityBuilder features(AEFeature... features) { this.features.clear(); this.addFeatures(features); return this; } - public TileEntityBuilder addFeatures(AEFeature... features) { + public BlockEntityBuilder addFeatures(AEFeature... features) { Collections.addAll(this.features, features); return this; } - public TileEntityBuilder rendering(TileEntityRenderingCustomizer customizer) { + public BlockEntityBuilder rendering(TileEntityRenderingCustomizer customizer) { DistExecutor.runWhenOn(EnvType.CLIENT, () -> () -> customizer.customize(tileEntityRendering)); return this; } @@ -95,7 +95,7 @@ public class TileEntityBuilder { type.setRegistryName(AppEng.MOD_ID, registryName); registry.register(type); - AEBaseTileEntity.registerTileItem(tileClass, new BlockStackSrc(blocks.get(0), ActivityState.Enabled)); + AEBaseBlockEntity.registerTileItem(tileClass, new BlockStackSrc(blocks.get(0), ActivityState.Enabled)); for (Block block : blocks) { if (block instanceof AEBaseTileBlock) { diff --git a/src/main/java/appeng/bootstrap/BlockRendering.java b/src/main/java/appeng/bootstrap/BlockRendering.java index 394432c11..ef7b36ec7 100644 --- a/src/main/java/appeng/bootstrap/BlockRendering.java +++ b/src/main/java/appeng/bootstrap/BlockRendering.java @@ -19,69 +19,67 @@ package appeng.bootstrap; import java.util.function.BiFunction; -import java.util.function.Predicate; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.color.block.BlockColorProvider; +import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.model.BakedModel; +import net.minecraft.client.render.model.ModelBakeSettings; import net.minecraft.util.Identifier; import appeng.block.AEBaseTileBlock; import appeng.bootstrap.components.BlockColorComponent; import appeng.bootstrap.components.RenderTypeComponent; import appeng.client.render.model.AutoRotatingBakedModel; +import net.minecraft.util.registry.Registry; class BlockRendering implements IBlockRendering { - @Environment(EnvType.CLIENT) - private BiFunction modelCustomizer; + private final Identifier id; @Environment(EnvType.CLIENT) - private IBlockColor blockColor; + private BiFunction modelCustomizer; @Environment(EnvType.CLIENT) - private RenderType renderType; + private BlockColorProvider blockColor; @Environment(EnvType.CLIENT) - private Predicate renderTypes; + private RenderLayer renderType; + + public BlockRendering(Identifier id) { + this.id = id; + } @Override @Environment(EnvType.CLIENT) - public IBlockRendering modelCustomizer(BiFunction customizer) { + public IBlockRendering modelCustomizer(BiFunction customizer) { this.modelCustomizer = customizer; return this; } @Environment(EnvType.CLIENT) @Override - public IBlockRendering blockColor(IBlockColor blockColor) { + public IBlockRendering blockColor(BlockColorProvider blockColor) { this.blockColor = blockColor; return this; } @Override - public IBlockRendering renderType(RenderType type) { + public IBlockRendering renderType(RenderLayer type) { this.renderType = type; return this; } - @Override - public IBlockRendering renderType(Predicate typePredicate) { - this.renderTypes = typePredicate; - return this; - } - void apply(FeatureFactory factory, Block block) { if (this.modelCustomizer != null) { - factory.addModelOverride(block.getRegistryName().getPath(), this.modelCustomizer); + factory.addModelOverride(id.getPath(), this.modelCustomizer); } else if (block instanceof AEBaseTileBlock) { // This is a default rotating model if the base-block uses an AE tile entity // which exposes UP/FRONT as // extended props - factory.addModelOverride(block.getRegistryName().getPath(), (l, m) -> new AutoRotatingBakedModel(m)); + factory.addModelOverride(id.getPath(), (l, m) -> new AutoRotatingBakedModel(m)); } // TODO : 1.12 @@ -89,8 +87,8 @@ class BlockRendering implements IBlockRendering { factory.addBootstrapComponent(new BlockColorComponent(block, this.blockColor)); } - if (this.renderType != null || this.renderTypes != null) { - factory.addBootstrapComponent(new RenderTypeComponent(block, this.renderType, this.renderTypes)); + if (this.renderType != null) { + factory.addBootstrapComponent(new RenderTypeComponent(block, this.renderType)); } } } diff --git a/src/main/java/appeng/bootstrap/EntityBuilder.java b/src/main/java/appeng/bootstrap/EntityBuilder.java index 1b09c14b9..33a602bbd 100644 --- a/src/main/java/appeng/bootstrap/EntityBuilder.java +++ b/src/main/java/appeng/bootstrap/EntityBuilder.java @@ -1,17 +1,15 @@ package appeng.bootstrap; +import appeng.api.features.AEFeature; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.SpawnGroup; +import net.minecraft.util.registry.Registry; + import java.util.Collections; import java.util.EnumSet; import java.util.function.Consumer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityClassification; -import net.minecraft.entity.EntityType; - -import appeng.api.features.AEFeature; -import appeng.bootstrap.components.IEntityRegistrationComponent; -import appeng.core.AppEng; - /** * Helper to register a custom Entity with Minecraft. */ @@ -25,8 +23,8 @@ public class EntityBuilder { private final EnumSet features = EnumSet.noneOf(AEFeature.class); - public EntityBuilder(FeatureFactory factory, String id, EntityType.IFactory entityFactory, - EntityClassification classification) { + public EntityBuilder(FeatureFactory factory, String id, EntityType.EntityFactory entityFactory, + SpawnGroup classification) { this.factory = factory; this.id = id; this.builder = EntityType.Builder.create(entityFactory, classification); @@ -49,11 +47,9 @@ public class EntityBuilder { } public EntityType build() { - EntityType entityType = builder.build("appliedenergistics2:" + id); - entityType.setRegistryName(AppEng.MOD_ID, id); - factory.addBootstrapComponent((IEntityRegistrationComponent) r -> { - r.register(entityType); - }); + String fullId = "appliedenergistics2:" + this.id; + EntityType entityType = builder.build(fullId); + Registry.register(Registry.ENTITY_TYPE, fullId, entityType); return entityType; } } diff --git a/src/main/java/appeng/bootstrap/FeatureFactory.java b/src/main/java/appeng/bootstrap/FeatureFactory.java index 70035f2b5..96518faa2 100644 --- a/src/main/java/appeng/bootstrap/FeatureFactory.java +++ b/src/main/java/appeng/bootstrap/FeatureFactory.java @@ -31,9 +31,9 @@ import java.util.function.Supplier; import net.fabricmc.api.Environment; import net.minecraft.block.Block; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityClassification; +import net.minecraft.entity.SpawnGroup; import net.minecraft.entity.EntityType; import net.minecraft.item.Item; import net.minecraft.block.entity.BlockEntityType; @@ -42,7 +42,7 @@ import net.fabricmc.api.EnvType; import appeng.api.features.AEFeature; import appeng.bootstrap.components.ModelOverrideComponent; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.util.Platform; public class FeatureFactory { @@ -76,18 +76,18 @@ public class FeatureFactory { return new BlockDefinitionBuilder(this, id, block).features(this.defaultFeatures); } - public IItemBuilder item(String id, Function itemFactory) { + public IItemBuilder item(String id, Function itemFactory) { return new ItemDefinitionBuilder(this, id, itemFactory).features(this.defaultFeatures); } - public EntityBuilder entity(String id, EntityType.IFactory factory, - EntityClassification classification) { + public EntityBuilder entity(String id, EntityType.EntityFactory factory, + SpawnGroup classification) { return new EntityBuilder(this, id, factory, classification).features(this.defaultFeatures); } - public TileEntityBuilder tileEntity(String id, Class teClass, - Function, T> factory) { - return new TileEntityBuilder<>(this, id, teClass, factory).features(this.defaultFeatures); + public BlockEntityBuilder tileEntity(String id, Class teClass, + Function, T> factory) { + return new BlockEntityBuilder<>(this, id, teClass, factory).features(this.defaultFeatures); } public FeatureFactory features(AEFeature... features) { @@ -105,7 +105,7 @@ public class FeatureFactory { } @Environment(EnvType.CLIENT) - void addModelOverride(String resourcePath, BiFunction customizer) { + void addModelOverride(String resourcePath, BiFunction customizer) { this.modelOverrideComponent.addOverride(resourcePath, customizer); } diff --git a/src/main/java/appeng/bootstrap/IBlockBuilder.java b/src/main/java/appeng/bootstrap/IBlockBuilder.java index e32864522..4ca805fa5 100644 --- a/src/main/java/appeng/bootstrap/IBlockBuilder.java +++ b/src/main/java/appeng/bootstrap/IBlockBuilder.java @@ -44,7 +44,7 @@ public interface IBlockBuilder { */ IBlockBuilder disableItem(); - IBlockBuilder item(BiFunction factory); + IBlockBuilder item(BiFunction factory); T build(); } diff --git a/src/main/java/appeng/bootstrap/IBlockRendering.java b/src/main/java/appeng/bootstrap/IBlockRendering.java index 1b00626d0..5f1a77124 100644 --- a/src/main/java/appeng/bootstrap/IBlockRendering.java +++ b/src/main/java/appeng/bootstrap/IBlockRendering.java @@ -23,9 +23,9 @@ import java.util.function.Predicate; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.color.block.BlockColorProvider; +import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.util.Identifier; /** @@ -35,15 +35,12 @@ import net.minecraft.util.Identifier; public interface IBlockRendering { @Environment(EnvType.CLIENT) - IBlockRendering modelCustomizer(BiFunction customizer); + IBlockRendering modelCustomizer(BiFunction customizer); @Environment(EnvType.CLIENT) - IBlockRendering blockColor(IBlockColor blockColor); + IBlockRendering blockColor(BlockColorProvider blockColor); @Environment(EnvType.CLIENT) - IBlockRendering renderType(RenderType type); - - @Environment(EnvType.CLIENT) - IBlockRendering renderType(Predicate type); + IBlockRendering renderType(RenderLayer type); } diff --git a/src/main/java/appeng/bootstrap/ICriterionTriggerRegistry.java b/src/main/java/appeng/bootstrap/ICriterionTriggerRegistry.java index 888c266d0..4aeac46ed 100644 --- a/src/main/java/appeng/bootstrap/ICriterionTriggerRegistry.java +++ b/src/main/java/appeng/bootstrap/ICriterionTriggerRegistry.java @@ -18,10 +18,10 @@ package appeng.bootstrap; -import net.minecraft.advancements.ICriterionInstance; -import net.minecraft.advancements.ICriterionTrigger; +import net.minecraft.advancement.criterion.Criterion; +import net.minecraft.advancement.criterion.CriterionConditions; @FunctionalInterface public interface ICriterionTriggerRegistry { - void register(ICriterionTrigger trigger); + void register(Criterion trigger); } diff --git a/src/main/java/appeng/bootstrap/IItemBuilder.java b/src/main/java/appeng/bootstrap/IItemBuilder.java index dd289aa3b..420eeae25 100644 --- a/src/main/java/appeng/bootstrap/IItemBuilder.java +++ b/src/main/java/appeng/bootstrap/IItemBuilder.java @@ -22,7 +22,7 @@ import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Supplier; -import net.minecraft.dispenser.IDispenseItemBehavior; +import net.minecraft.block.dispenser.DispenserBehavior; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; @@ -42,14 +42,14 @@ public interface IItemBuilder { IItemBuilder itemGroup(ItemGroup tab); - IItemBuilder props(Consumer customizer); + IItemBuilder props(Consumer customizer); IItemBuilder rendering(ItemRenderingCustomizer callback); /** * Registers a custom dispenser behavior for this item. */ - IItemBuilder dispenserBehavior(Supplier behavior); + IItemBuilder dispenserBehavior(Supplier behavior); ItemDefinition build(); } diff --git a/src/main/java/appeng/bootstrap/IItemRendering.java b/src/main/java/appeng/bootstrap/IItemRendering.java index 3c71c6cb9..18b3a72ec 100644 --- a/src/main/java/appeng/bootstrap/IItemRendering.java +++ b/src/main/java/appeng/bootstrap/IItemRendering.java @@ -18,7 +18,7 @@ package appeng.bootstrap; -import net.minecraft.client.renderer.color.IItemColor; +import net.minecraft.client.color.item.ItemColorProvider; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -32,6 +32,6 @@ public interface IItemRendering { * and returns a color multiplier. */ @Environment(EnvType.CLIENT) - IItemRendering color(IItemColor itemColor); + IItemRendering color(ItemColorProvider itemColor); } diff --git a/src/main/java/appeng/bootstrap/ItemDefinitionBuilder.java b/src/main/java/appeng/bootstrap/ItemDefinitionBuilder.java index 259b1ddeb..1fccbc2a7 100644 --- a/src/main/java/appeng/bootstrap/ItemDefinitionBuilder.java +++ b/src/main/java/appeng/bootstrap/ItemDefinitionBuilder.java @@ -27,7 +27,7 @@ import java.util.function.Function; import java.util.function.Supplier; import net.minecraft.block.DispenserBlock; -import net.minecraft.dispenser.IDispenseItemBehavior; +import net.minecraft.block.dispenser.DispenserBehavior; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; import net.fabricmc.api.EnvType; @@ -35,37 +35,38 @@ import net.fabricmc.api.Environment; import appeng.api.features.AEFeature; import appeng.bootstrap.components.IInitComponent; -import appeng.bootstrap.components.IItemRegistrationComponent; import appeng.core.AEItemGroup; import appeng.core.AppEng; import appeng.core.CreativeTab; import appeng.core.features.ItemDefinition; import appeng.util.Platform; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; class ItemDefinitionBuilder implements IItemBuilder { private final FeatureFactory factory; - private final String registryName; + private final Identifier id; - private final Function itemFactory; + private final Function itemFactory; private final EnumSet features = EnumSet.noneOf(AEFeature.class); private final List> boostrapComponents = new ArrayList<>(); - private final Item.Properties props = new Item.Properties(); + private final Item.Settings props = new Item.Settings(); - private Supplier dispenserBehaviorSupplier; + private Supplier dispenserBehaviorSupplier; @Environment(EnvType.CLIENT) private ItemRendering itemRendering; private ItemGroup itemGroup = CreativeTab.INSTANCE; - ItemDefinitionBuilder(FeatureFactory factory, String registryName, Function itemFactory) { + ItemDefinitionBuilder(FeatureFactory factory, String id, Function itemFactory) { this.factory = factory; - this.registryName = registryName; + this.id = AppEng.makeId(id); this.itemFactory = itemFactory; if (Platform.hasClientClasses()) { this.itemRendering = new ItemRendering(); @@ -98,7 +99,7 @@ class ItemDefinitionBuilder implements IItemBuilder { } @Override - public IItemBuilder props(Consumer consumer) { + public IItemBuilder props(Consumer consumer) { consumer.accept(props); return this; } @@ -113,7 +114,7 @@ class ItemDefinitionBuilder implements IItemBuilder { } @Override - public IItemBuilder dispenserBehavior(Supplier behavior) { + public IItemBuilder dispenserBehavior(Supplier behavior) { this.dispenserBehaviorSupplier = behavior; return this; } @@ -128,9 +129,8 @@ class ItemDefinitionBuilder implements IItemBuilder { props.group(itemGroup); Item item = this.itemFactory.apply(props); - item.setRegistryName(AppEng.MOD_ID, this.registryName); - ItemDefinition definition = new ItemDefinition(this.registryName, item, features); + ItemDefinition definition = new ItemDefinition(id.getPath(), item, features); // Register all extra handlers this.boostrapComponents.forEach(component -> this.factory.addBootstrapComponent(component.apply(item))); @@ -138,12 +138,12 @@ class ItemDefinitionBuilder implements IItemBuilder { // Register custom dispenser behavior if requested if (this.dispenserBehaviorSupplier != null) { this.factory.addBootstrapComponent((IInitComponent) () -> { - IDispenseItemBehavior behavior = this.dispenserBehaviorSupplier.get(); - DispenserBlock.registerDispenseBehavior(item, behavior); + DispenserBehavior behavior = this.dispenserBehaviorSupplier.get(); + DispenserBlock.registerBehavior(item, behavior); }); } - this.factory.addBootstrapComponent((IItemRegistrationComponent) (side, reg) -> reg.register(item)); + Registry.register(Registry.ITEM, id, item); if (Platform.hasClientClasses()) { this.itemRendering.apply(this.factory, item); diff --git a/src/main/java/appeng/bootstrap/ItemRendering.java b/src/main/java/appeng/bootstrap/ItemRendering.java index 56dacb12d..84e43310e 100644 --- a/src/main/java/appeng/bootstrap/ItemRendering.java +++ b/src/main/java/appeng/bootstrap/ItemRendering.java @@ -19,7 +19,7 @@ package appeng.bootstrap; import net.fabricmc.api.Environment; -import net.minecraft.client.renderer.color.IItemColor; +import net.minecraft.client.color.item.ItemColorProvider; import net.minecraft.item.Item; import net.fabricmc.api.EnvType; @@ -28,11 +28,11 @@ import appeng.bootstrap.components.ItemColorComponent; class ItemRendering implements IItemRendering { @Environment(EnvType.CLIENT) - private IItemColor itemColor; + private ItemColorProvider itemColor; @Override @Environment(EnvType.CLIENT) - public IItemRendering color(IItemColor itemColor) { + public IItemRendering color(ItemColorProvider itemColor) { this.itemColor = itemColor; return this; } diff --git a/src/main/java/appeng/bootstrap/TileEntityRendering.java b/src/main/java/appeng/bootstrap/TileEntityRendering.java index 4e3e02f1f..dc1ecdf21 100644 --- a/src/main/java/appeng/bootstrap/TileEntityRendering.java +++ b/src/main/java/appeng/bootstrap/TileEntityRendering.java @@ -20,21 +20,21 @@ package appeng.bootstrap; import java.util.function.Function; -import net.minecraft.client.renderer.tileentity.TileEntityRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; +import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; -public class TileEntityRendering { +public class TileEntityRendering { @Environment(EnvType.CLIENT) - Function> tileEntityRenderer; + Function> tileEntityRenderer; @Environment(EnvType.CLIENT) public TileEntityRendering tileEntityRenderer( - Function> tileEntityRenderer) { + Function> tileEntityRenderer) { this.tileEntityRenderer = tileEntityRenderer; return this; } diff --git a/src/main/java/appeng/bootstrap/TileEntityRenderingCustomizer.java b/src/main/java/appeng/bootstrap/TileEntityRenderingCustomizer.java index eb314d8a1..56dc11b35 100644 --- a/src/main/java/appeng/bootstrap/TileEntityRenderingCustomizer.java +++ b/src/main/java/appeng/bootstrap/TileEntityRenderingCustomizer.java @@ -21,14 +21,14 @@ package appeng.bootstrap; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; /** * A callback that allows the rendering of a tile entity to be customized. Sadly * this class is required and no lambdas can be used due to them not being able * to be annotated with @OnlyIn(CLIENT). */ -public abstract class TileEntityRenderingCustomizer { +public abstract class TileEntityRenderingCustomizer { @Environment(EnvType.CLIENT) public abstract void customize(TileEntityRendering rendering); diff --git a/src/main/java/appeng/bootstrap/components/BlockColorComponent.java b/src/main/java/appeng/bootstrap/components/BlockColorComponent.java index c7ffe4796..b670f3121 100644 --- a/src/main/java/appeng/bootstrap/components/BlockColorComponent.java +++ b/src/main/java/appeng/bootstrap/components/BlockColorComponent.java @@ -19,23 +19,23 @@ package appeng.bootstrap.components; import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.color.IBlockColor; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.color.block.BlockColorProvider; public class BlockColorComponent implements IInitComponent { private final Block block; - private final IBlockColor blockColor; + private final BlockColorProvider blockColor; - public BlockColorComponent(Block block, IBlockColor blockColor) { + public BlockColorComponent(Block block, BlockColorProvider blockColor) { this.block = block; this.blockColor = blockColor; } @Override public void initialize() { - Minecraft.getInstance().getBlockColors().register(this.blockColor, this.block); + MinecraftClient.getInstance().getBlockColors().registerColorProvider(this.blockColor, this.block); } } diff --git a/src/main/java/appeng/bootstrap/components/IBlockRegistrationComponent.java b/src/main/java/appeng/bootstrap/components/IBlockRegistrationComponent.java deleted file mode 100644 index cdb82a313..000000000 --- a/src/main/java/appeng/bootstrap/components/IBlockRegistrationComponent.java +++ /dev/null @@ -1,13 +0,0 @@ - -package appeng.bootstrap.components; - -import net.fabricmc.api.EnvType; -import net.minecraft.block.Block; -import net.minecraftforge.registries.IForgeRegistry; - -import appeng.bootstrap.IBootstrapComponent; - -@FunctionalInterface -public interface IBlockRegistrationComponent extends IBootstrapComponent { - void blockRegistration(EnvType dist, IForgeRegistry blockRegistry); -} diff --git a/src/main/java/appeng/bootstrap/components/IEntityRegistrationComponent.java b/src/main/java/appeng/bootstrap/components/IEntityRegistrationComponent.java deleted file mode 100644 index b29ffffc9..000000000 --- a/src/main/java/appeng/bootstrap/components/IEntityRegistrationComponent.java +++ /dev/null @@ -1,12 +0,0 @@ - -package appeng.bootstrap.components; - -import net.minecraft.entity.EntityType; -import net.minecraftforge.registries.IForgeRegistry; - -import appeng.bootstrap.IBootstrapComponent; - -@FunctionalInterface -public interface IEntityRegistrationComponent extends IBootstrapComponent { - void entityRegistration(IForgeRegistry> entityRegistry); -} diff --git a/src/main/java/appeng/bootstrap/components/IItemColorRegistrationComponent.java b/src/main/java/appeng/bootstrap/components/IItemColorRegistrationComponent.java index 7d7d003b8..47b520ea7 100644 --- a/src/main/java/appeng/bootstrap/components/IItemColorRegistrationComponent.java +++ b/src/main/java/appeng/bootstrap/components/IItemColorRegistrationComponent.java @@ -1,7 +1,7 @@ package appeng.bootstrap.components; -import net.minecraft.client.renderer.color.BlockColors; -import net.minecraft.client.renderer.color.ItemColors; +import net.minecraft.client.color.block.BlockColors; +import net.minecraft.client.color.item.ItemColors; import appeng.bootstrap.IBootstrapComponent; diff --git a/src/main/java/appeng/bootstrap/components/IItemRegistrationComponent.java b/src/main/java/appeng/bootstrap/components/IItemRegistrationComponent.java deleted file mode 100644 index 3661221b8..000000000 --- a/src/main/java/appeng/bootstrap/components/IItemRegistrationComponent.java +++ /dev/null @@ -1,13 +0,0 @@ - -package appeng.bootstrap.components; - -import net.minecraft.item.Item; -import net.fabricmc.api.EnvType; -import net.minecraftforge.registries.IForgeRegistry; - -import appeng.bootstrap.IBootstrapComponent; - -@FunctionalInterface -public interface IItemRegistrationComponent extends IBootstrapComponent { - void itemRegistration(EnvType dist, IForgeRegistry itemRegistry); -} diff --git a/src/main/java/appeng/bootstrap/components/IRecipeRegistrationComponent.java b/src/main/java/appeng/bootstrap/components/IRecipeRegistrationComponent.java deleted file mode 100644 index fc95be8fe..000000000 --- a/src/main/java/appeng/bootstrap/components/IRecipeRegistrationComponent.java +++ /dev/null @@ -1,13 +0,0 @@ - -package appeng.bootstrap.components; - -import net.fabricmc.api.EnvType; -import net.minecraft.item.crafting.IRecipeSerializer; -import net.minecraftforge.registries.IForgeRegistry; - -import appeng.bootstrap.IBootstrapComponent; - -@FunctionalInterface -public interface IRecipeRegistrationComponent extends IBootstrapComponent { - void recipeRegistration(EnvType dist, IForgeRegistry> recipeRegistry); -} diff --git a/src/main/java/appeng/bootstrap/components/ItemColorComponent.java b/src/main/java/appeng/bootstrap/components/ItemColorComponent.java index a340ecfeb..d5e28b921 100644 --- a/src/main/java/appeng/bootstrap/components/ItemColorComponent.java +++ b/src/main/java/appeng/bootstrap/components/ItemColorComponent.java @@ -18,17 +18,17 @@ package appeng.bootstrap.components; -import net.minecraft.client.renderer.color.BlockColors; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.client.renderer.color.ItemColors; +import net.minecraft.client.color.block.BlockColors; +import net.minecraft.client.color.item.ItemColorProvider; +import net.minecraft.client.color.item.ItemColors; import net.minecraft.item.Item; public class ItemColorComponent implements IItemColorRegistrationComponent { private final Item item; - private final IItemColor itemColor; + private final ItemColorProvider itemColor; - public ItemColorComponent(Item item, IItemColor itemColor) { + public ItemColorComponent(Item item, ItemColorProvider itemColor) { this.item = item; this.itemColor = itemColor; } diff --git a/src/main/java/appeng/bootstrap/components/ModelOverrideComponent.java b/src/main/java/appeng/bootstrap/components/ModelOverrideComponent.java index accc7cf62..aa8418568 100644 --- a/src/main/java/appeng/bootstrap/components/ModelOverrideComponent.java +++ b/src/main/java/appeng/bootstrap/components/ModelOverrideComponent.java @@ -25,8 +25,8 @@ import java.util.function.BiFunction; import com.google.common.collect.Sets; -import net.minecraft.client.render.model.IBakedModel; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.BakedModel; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.util.Identifier; import net.minecraftforge.client.event.ModelBakeEvent; @@ -35,33 +35,33 @@ import appeng.core.AppEng; public class ModelOverrideComponent implements IModelBakeComponent { // Maps from resource path to customizer - private final Map> customizer = new HashMap<>(); + private final Map> customizer = new HashMap<>(); - public void addOverride(String resourcePath, BiFunction customizer) { + public void addOverride(String resourcePath, BiFunction customizer) { this.customizer.put(resourcePath, customizer); } @Override public void onModelBakeEvent(final ModelBakeEvent event) { - Map modelRegistry = event.getModelRegistry(); + Map modelRegistry = event.getModelRegistry(); Set keys = Sets.newHashSet(modelRegistry.keySet()); - IBakedModel missingModel = modelRegistry.get(ModelBakery.MODEL_MISSING); + BakedModel missingModel = modelRegistry.get(ModelLoader.MISSING); for (Identifier location : keys) { if (!location.getNamespace().equals(AppEng.MOD_ID)) { continue; } - IBakedModel orgModel = modelRegistry.get(location); + BakedModel orgModel = modelRegistry.get(location); // Don't customize the missing model. This causes Forge to swallow exceptions if (orgModel == missingModel) { continue; } - BiFunction customizer = this.customizer.get(location.getPath()); + BiFunction customizer = this.customizer.get(location.getPath()); if (customizer != null) { - IBakedModel newModel = customizer.apply(location, orgModel); + BakedModel newModel = customizer.apply(location, orgModel); if (newModel != orgModel) { modelRegistry.put(location, newModel); diff --git a/src/main/java/appeng/bootstrap/components/RenderTypeComponent.java b/src/main/java/appeng/bootstrap/components/RenderTypeComponent.java index 01ecdb6b8..538ba6908 100644 --- a/src/main/java/appeng/bootstrap/components/RenderTypeComponent.java +++ b/src/main/java/appeng/bootstrap/components/RenderTypeComponent.java @@ -1,10 +1,9 @@ package appeng.bootstrap.components; -import java.util.function.Predicate; - +import com.google.common.base.Preconditions; +import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.RenderTypeLookup; +import net.minecraft.client.render.RenderLayer; /** * Sets the rendering type for a block. @@ -13,25 +12,16 @@ public class RenderTypeComponent implements IClientSetupComponent { private final Block block; - private final RenderType renderType; + private final RenderLayer renderType; - private final Predicate renderTypes; - - public RenderTypeComponent(Block block, RenderType renderType, Predicate renderTypes) { + public RenderTypeComponent(Block block, RenderLayer renderType) { this.block = block; - this.renderType = renderType; - this.renderTypes = renderTypes; + this.renderType = Preconditions.checkNotNull(renderType); } @Override public void setup() { - if (renderType != null) { - RenderTypeLookup.setRenderLayer(block, renderType); - } - - if (renderTypes != null) { - RenderTypeLookup.setRenderLayer(block, renderTypes); - } + BlockRenderLayerMap.INSTANCE.putBlock(block, renderType); } } diff --git a/src/main/java/appeng/client/ClientHelper.java b/src/main/java/appeng/client/ClientHelper.java index 822f753e6..049ed3058 100644 --- a/src/main/java/appeng/client/ClientHelper.java +++ b/src/main/java/appeng/client/ClientHelper.java @@ -23,7 +23,7 @@ import java.util.EnumMap; import java.util.List; import java.util.Random; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.settings.KeyBinding; import net.minecraft.client.util.InputMappings; import net.minecraft.entity.player.PlayerEntity; @@ -67,7 +67,7 @@ public class ClientHelper extends ServerHelper { @Override public World getWorld() { if (Platform.isClient()) { - return Minecraft.getInstance().world; + return MinecraftClient.getInstance().world; } else { return super.getWorld(); } @@ -81,7 +81,7 @@ public class ClientHelper extends ServerHelper { @Override public List getPlayers() { if (Platform.isClient()) { - return Collections.singletonList(Minecraft.getInstance().player); + return Collections.singletonList(MinecraftClient.getInstance().player); } else { return super.getPlayers(); } @@ -113,7 +113,7 @@ public class ClientHelper extends ServerHelper { @Override public boolean shouldAddParticles(final Random r) { - switch (Minecraft.getInstance().gameSettings.particles) { + switch (MinecraftClient.getInstance().gameSettings.particles) { default: case ALL: return true; @@ -126,7 +126,7 @@ public class ClientHelper extends ServerHelper { @Override public HitResult getRTR() { - return Minecraft.getInstance().objectMouseOver; + return MinecraftClient.getInstance().objectMouseOver; } @Override @@ -139,7 +139,7 @@ public class ClientHelper extends ServerHelper { return super.getRenderMode(); } - final Minecraft mc = Minecraft.getInstance(); + final MinecraftClient mc = MinecraftClient.getInstance(); final PlayerEntity player = mc.player; return this.renderModeForPlayer(player); @@ -147,7 +147,7 @@ public class ClientHelper extends ServerHelper { @Override public void triggerUpdates() { - final Minecraft mc = Minecraft.getInstance(); + final MinecraftClient mc = MinecraftClient.getInstance(); if (mc.player == null || mc.world == null) { return; } @@ -183,7 +183,7 @@ public class ClientHelper extends ServerHelper { final double d1 = (Platform.getRandomFloat() - 0.5F) * 0.26D; final double d2 = (Platform.getRandomFloat() - 0.5F) * 0.26D; - Minecraft.getInstance().particles.addParticle(ParticleTypes.VIBRANT, x + d0, y + d1, z + d2, 0.0D, 0.0D, + MinecraftClient.getInstance().particles.addParticle(ParticleTypes.VIBRANT, x + d0, y + d1, z + d2, 0.0D, 0.0D, 0.0D); } } @@ -193,12 +193,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; - Minecraft.getInstance().particles.addParticle(EnergyParticleData.FOR_BLOCK, posX + x, posY + y, posZ + z, + MinecraftClient.getInstance().particles.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) { - Minecraft.getInstance().particles.addParticle(ParticleTypes.LIGHTNING, posX, posY + 0.3f, posZ, 0.0f, 0.0f, + MinecraftClient.getInstance().particles.addParticle(ParticleTypes.LIGHTNING, posX, posY + 0.3f, posZ, 0.0f, 0.0f, 0.0f); } @@ -206,7 +206,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); - Minecraft.getInstance().particles.addEffect(fx); + MinecraftClient.getInstance().particles.addEffect(fx); } private void wheelEvent(final InputEvent.MouseScrollEvent me) { @@ -214,11 +214,11 @@ public class ClientHelper extends ServerHelper { return; } - final Minecraft mc = Minecraft.getInstance(); + final MinecraftClient mc = MinecraftClient.getInstance(); final PlayerEntity player = mc.player; - if (player.isCrouching()) { - final boolean mainHand = player.getHeldItem(Hand.MAIN_HAND).getItem() instanceof IMouseWheelItem; - final boolean offHand = player.getHeldItem(Hand.OFF_HAND).getItem() instanceof IMouseWheelItem; + if (player.isInSneakingPose()) { + final boolean mainHand = player.getStackInHand(Hand.MAIN_HAND).getItem() instanceof IMouseWheelItem; + final boolean offHand = player.getStackInHand(Hand.OFF_HAND).getItem() instanceof IMouseWheelItem; if (mainHand || offHand) { NetworkHandler.instance() diff --git a/src/main/java/appeng/client/gui/AEBaseScreen.java b/src/main/java/appeng/client/gui/AEBaseScreen.java index 6ac91d1fb..4e3131636 100644 --- a/src/main/java/appeng/client/gui/AEBaseScreen.java +++ b/src/main/java/appeng/client/gui/AEBaseScreen.java @@ -30,10 +30,10 @@ import com.google.common.base.Stopwatch; import com.google.common.collect.Lists; import com.mojang.blaze3d.systems.RenderSystem; +import net.minecraft.client.MinecraftClient; import org.lwjgl.glfw.GLFW; import org.lwjgl.opengl.GL11; -import net.minecraft.client.Minecraft; import net.minecraft.client.entity.player.ClientPlayerEntity; import net.minecraft.client.gui.screen.inventory.ContainerScreen; import net.minecraft.client.gui.widget.Widget; @@ -356,7 +356,7 @@ public abstract class AEBaseScreen extends ContainerS return; } - if (InputMappings.isKeyDown(Minecraft.getInstance().getMainWindow().getHandle(), GLFW.GLFW_KEY_SPACE)) { + if (InputMappings.isKeyDown(MinecraftClient.getInstance().getMainWindow().getHandle(), GLFW.GLFW_KEY_SPACE)) { if (this.enableSpaceClicking()) { IAEItemStack stack = null; if (slot instanceof SlotME) { diff --git a/src/main/java/appeng/client/gui/implementations/AESubScreen.java b/src/main/java/appeng/client/gui/implementations/AESubScreen.java index d14d1e9d9..9f5018eaf 100644 --- a/src/main/java/appeng/client/gui/implementations/AESubScreen.java +++ b/src/main/java/appeng/client/gui/implementations/AESubScreen.java @@ -25,7 +25,7 @@ import appeng.helpers.WirelessTerminalGuiObject; import appeng.parts.reporting.CraftingTerminalPart; import appeng.parts.reporting.PatternTerminalPart; import appeng.parts.reporting.TerminalPart; -import appeng.tile.storage.ChestTileEntity; +import appeng.tile.storage.ChestBlockEntity; /** * Utility class for sub-screens of other containers that allow returning to the @@ -47,7 +47,7 @@ final class AESubScreen { final IDefinitions definitions = AEApi.instance().definitions(); final IParts parts = definitions.parts(); - if (containerTarget instanceof ChestTileEntity) { + if (containerTarget instanceof ChestBlockEntity) { // A chest is also a priority host, but the priority _interface_ can only be // opened from the // chest ui that doesn't actually show the contents of the inserted cell. @@ -95,7 +95,7 @@ final class AESubScreen { public final TabButton addBackButton(Consumer buttonAdder, int x, int y, @Nullable String label) { if (this.previousContainerType != null && !previousContainerIcon.isEmpty()) { if (label == null) { - label = previousContainerIcon.getDisplayName().getString(); + label = previousContainerIcon.getName().getString(); } ItemRenderer itemRenderer = gui.getMinecraft().getItemRenderer(); TabButton button = new TabButton(gui.getGuiLeft() + x, gui.getGuiTop() + y, previousContainerIcon, label, diff --git a/src/main/java/appeng/client/gui/implementations/MEMonitorableScreen.java b/src/main/java/appeng/client/gui/implementations/MEMonitorableScreen.java index 8e725e316..5cac59fa7 100644 --- a/src/main/java/appeng/client/gui/implementations/MEMonitorableScreen.java +++ b/src/main/java/appeng/client/gui/implementations/MEMonitorableScreen.java @@ -54,7 +54,7 @@ import appeng.core.sync.packets.SwitchGuisPacket; import appeng.helpers.WirelessTerminalGuiObject; import appeng.integration.abstraction.JEIFacade; import appeng.parts.reporting.AbstractTerminalPart; -import appeng.tile.misc.SecurityStationTileEntity; +import appeng.tile.misc.SecurityStationBlockEntity; import appeng.util.IConfigManagerHost; import appeng.util.Platform; @@ -110,7 +110,7 @@ public class MEMonitorableScreen extends AEBas this.viewCell = te instanceof IViewCellStorage; - if (te instanceof SecurityStationTileEntity) { + if (te instanceof SecurityStationBlockEntity) { this.myName = GuiText.Security; } else if (te instanceof WirelessTerminalGuiObject) { this.myName = GuiText.WirelessTerminal; diff --git a/src/main/java/appeng/client/gui/implementations/VibrationChamberScreen.java b/src/main/java/appeng/client/gui/implementations/VibrationChamberScreen.java index 7a11caac9..6ec67364f 100644 --- a/src/main/java/appeng/client/gui/implementations/VibrationChamberScreen.java +++ b/src/main/java/appeng/client/gui/implementations/VibrationChamberScreen.java @@ -29,7 +29,7 @@ import appeng.client.gui.widgets.ProgressBar; import appeng.client.gui.widgets.ProgressBar.Direction; import appeng.container.implementations.VibrationChamberContainer; import appeng.core.localization.GuiText; -import appeng.tile.misc.VibrationChamberTileEntity; +import appeng.tile.misc.VibrationChamberBlockEntity; public class VibrationChamberScreen extends AEBaseScreen { @@ -54,8 +54,8 @@ public class VibrationChamberScreen extends AEBaseScreen 0) { final int i1 = this.container.getRemainingBurnTime() * 12 / 100; diff --git a/src/main/java/appeng/client/gui/widgets/CustomSlotWidget.java b/src/main/java/appeng/client/gui/widgets/CustomSlotWidget.java index 1f18f0028..81d87c691 100644 --- a/src/main/java/appeng/client/gui/widgets/CustomSlotWidget.java +++ b/src/main/java/appeng/client/gui/widgets/CustomSlotWidget.java @@ -1,7 +1,7 @@ package appeng.client.gui.widgets; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.AbstractGui; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; @@ -28,7 +28,7 @@ public abstract class CustomSlotWidget extends AbstractGui implements ITooltip { public void slotClicked(final ItemStack clickStack, final int mouseButton) { } - public abstract void drawContent(final Minecraft mc, final int mouseX, final int mouseY, final float partialTicks); + public abstract void drawContent(final MinecraftClient mc, final int mouseX, final int mouseY, final float partialTicks); public void drawBackground(int guileft, int guitop, int currentZIndex) { } diff --git a/src/main/java/appeng/client/gui/widgets/IconButton.java b/src/main/java/appeng/client/gui/widgets/IconButton.java index a29a7eeb7..35c19be00 100644 --- a/src/main/java/appeng/client/gui/widgets/IconButton.java +++ b/src/main/java/appeng/client/gui/widgets/IconButton.java @@ -20,7 +20,7 @@ package appeng.client.gui.widgets; import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.widget.button.Button; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.util.Identifier; @@ -44,7 +44,7 @@ public abstract class IconButton extends Button implements ITooltip { @Override public void renderButton(final int mouseX, final int mouseY, float partial) { - Minecraft minecraft = Minecraft.getInstance(); + MinecraftClient minecraft = MinecraftClient.getInstance(); if (this.visible) { final int iconIndex = this.getIconIndex(); diff --git a/src/main/java/appeng/client/gui/widgets/ProgressBar.java b/src/main/java/appeng/client/gui/widgets/ProgressBar.java index b6b2a80af..567f337fe 100644 --- a/src/main/java/appeng/client/gui/widgets/ProgressBar.java +++ b/src/main/java/appeng/client/gui/widgets/ProgressBar.java @@ -18,7 +18,7 @@ package appeng.client.gui.widgets; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.widget.Widget; import net.minecraft.util.Identifier; import net.minecraftforge.fml.client.gui.GuiUtils; @@ -55,7 +55,7 @@ public class ProgressBar extends Widget implements ITooltip { @Override public void renderButton(final int par2, final int par3, final float partial) { if (this.visible) { - Minecraft.getInstance().getTextureManager().bindTexture(this.texture); + MinecraftClient.getInstance().getTextureManager().bindTexture(this.texture); final int max = this.source.getMaxProgress(); final int current = this.source.getCurrentProgress(); diff --git a/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java b/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java index b84bb9da6..846910fd3 100644 --- a/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java +++ b/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java @@ -24,7 +24,7 @@ import java.util.Map; import java.util.function.Predicate; import java.util.regex.Pattern; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.widget.button.Button; import net.minecraft.text.Text; @@ -229,7 +229,7 @@ public class SettingToggleButton> extends IconButton { } private void triggerPress() { - boolean backwards = Minecraft.getInstance().mouseHelper.isRightDown(); + boolean backwards = MinecraftClient.getInstance().mouseHelper.isRightDown(); onPress.handle(this, backwards); } diff --git a/src/main/java/appeng/client/gui/widgets/TabButton.java b/src/main/java/appeng/client/gui/widgets/TabButton.java index 1637f8479..7e0907dd3 100644 --- a/src/main/java/appeng/client/gui/widgets/TabButton.java +++ b/src/main/java/appeng/client/gui/widgets/TabButton.java @@ -20,7 +20,7 @@ package appeng.client.gui.widgets; import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.widget.button.Button; import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.RenderHelper; @@ -61,7 +61,7 @@ public class TabButton extends Button implements ITooltip { @Override public void renderButton(final int x, final int y, float partial) { - final Minecraft minecraft = Minecraft.getInstance(); + final MinecraftClient minecraft = MinecraftClient.getInstance(); if (this.visible) { RenderSystem.color4f(1.0f, 1.0f, 1.0f, 1.0f); diff --git a/src/main/java/appeng/client/gui/widgets/ToggleButton.java b/src/main/java/appeng/client/gui/widgets/ToggleButton.java index 3f0606b60..d6e7d1026 100644 --- a/src/main/java/appeng/client/gui/widgets/ToggleButton.java +++ b/src/main/java/appeng/client/gui/widgets/ToggleButton.java @@ -22,7 +22,7 @@ import java.util.regex.Pattern; import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.widget.button.Button; import net.minecraft.client.resources.I18n; import net.minecraft.util.Identifier; @@ -59,7 +59,7 @@ public class ToggleButton extends Button implements ITooltip { final int iconIndex = this.getIconIndex(); RenderSystem.color4f(1.0f, 1.0f, 1.0f, 1.0f); - Minecraft.getInstance().textureManager.bindTexture(TEXTURE_STATES); + MinecraftClient.getInstance().textureManager.bindTexture(TEXTURE_STATES); final int uv_y = iconIndex / 16; final int uv_x = iconIndex - uv_y * 16; diff --git a/src/main/java/appeng/client/render/ColorableTileBlockColor.java b/src/main/java/appeng/client/render/ColorableTileBlockColor.java index a6223fa02..d161d04e8 100644 --- a/src/main/java/appeng/client/render/ColorableTileBlockColor.java +++ b/src/main/java/appeng/client/render/ColorableTileBlockColor.java @@ -22,7 +22,7 @@ import javax.annotation.Nullable; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; -import net.minecraft.client.renderer.color.IBlockColor; +import net.minecraft.client.color.block.BlockColorProvider; import net.minecraft.util.math.BlockPos; import net.minecraft.world.ILightReader; @@ -32,7 +32,7 @@ import appeng.api.util.AEColor; /** * Automatically exposes the color of a colorable tile using tint indices 0-2 */ -public class ColorableTileBlockColor implements IBlockColor { +public class ColorableTileBlockColor implements BlockColorProvider { public static final ColorableTileBlockColor INSTANCE = new ColorableTileBlockColor(); @@ -41,7 +41,7 @@ public class ColorableTileBlockColor implements IBlockColor { AEColor color = AEColor.TRANSPARENT; // Default to a neutral color if (worldIn != null && pos != null) { - BlockEntity te = worldIn.getTileEntity(pos); + BlockEntity te = worldIn.getBlockEntity(pos); if (te instanceof IColorableTile) { color = ((IColorableTile) te).getColor(); } diff --git a/src/main/java/appeng/client/render/DelegateBakedModel.java b/src/main/java/appeng/client/render/DelegateBakedModel.java index e0919c155..a8f4fa41c 100644 --- a/src/main/java/appeng/client/render/DelegateBakedModel.java +++ b/src/main/java/appeng/client/render/DelegateBakedModel.java @@ -23,20 +23,20 @@ import java.util.Random; import javax.annotation.Nullable; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.block.BlockState; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.client.render.model.ItemCameraTransforms; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.math.Direction; -public abstract class DelegateBakedModel implements IBakedModel { - private final IBakedModel baseModel; +public abstract class DelegateBakedModel implements BakedModel { + private final BakedModel baseModel; - protected DelegateBakedModel(IBakedModel base) { + protected DelegateBakedModel(BakedModel base) { this.baseModel = base; } @@ -57,7 +57,7 @@ public abstract class DelegateBakedModel implements IBakedModel { } @Override - public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { baseModel.handlePerspective(cameraTransformType, mat); return this; } @@ -87,7 +87,7 @@ public abstract class DelegateBakedModel implements IBakedModel { return this.baseModel.isBuiltInRenderer(); } - public IBakedModel getBaseModel() { + public BakedModel getBaseModel() { return this.baseModel; } } diff --git a/src/main/java/appeng/client/render/DummyFluidBakedModel.java b/src/main/java/appeng/client/render/DummyFluidBakedModel.java index 254de4755..92ad245ab 100644 --- a/src/main/java/appeng/client/render/DummyFluidBakedModel.java +++ b/src/main/java/appeng/client/render/DummyFluidBakedModel.java @@ -27,7 +27,7 @@ import com.google.common.collect.ImmutableList; import net.minecraft.block.BlockState; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.math.Direction; @@ -37,7 +37,7 @@ import net.minecraft.util.math.Direction; * @version rv6 - 2018-01-22 * @since rv6 2018-01-22 */ -public class DummyFluidBakedModel implements IBakedModel { +public class DummyFluidBakedModel implements BakedModel { private final ImmutableList quads; public DummyFluidBakedModel(ImmutableList quads) { diff --git a/src/main/java/appeng/client/render/DummyFluidDispatcherBakedModel.java b/src/main/java/appeng/client/render/DummyFluidDispatcherBakedModel.java index bd4367503..4f8982bee 100644 --- a/src/main/java/appeng/client/render/DummyFluidDispatcherBakedModel.java +++ b/src/main/java/appeng/client/render/DummyFluidDispatcherBakedModel.java @@ -31,7 +31,7 @@ import com.google.common.collect.ImmutableList; import net.minecraft.block.BlockState; import net.minecraft.client.renderer.TransformationMatrix; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; import net.minecraft.client.renderer.texture.AtlasTexture; @@ -55,8 +55,8 @@ import appeng.fluids.items.FluidDummyItem; public class DummyFluidDispatcherBakedModel extends DelegateBakedModel { private final Function bakedTextureGetter; - public DummyFluidDispatcherBakedModel(IBakedModel baseModel, - Function bakedTextureGetter) { + public DummyFluidDispatcherBakedModel(BakedModel baseModel, + Function bakedTextureGetter) { super(baseModel); this.bakedTextureGetter = bakedTextureGetter; } @@ -86,8 +86,8 @@ public class DummyFluidDispatcherBakedModel extends DelegateBakedModel { public ItemOverrideList getOverrides() { return new ItemOverrideList() { @Override - public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, World world, - LivingEntity entity) { + public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, World world, + LivingEntity entity) { if (!(stack.getItem() instanceof FluidDummyItem)) { return originalModel; } diff --git a/src/main/java/appeng/client/render/DummyFluidItemModel.java b/src/main/java/appeng/client/render/DummyFluidItemModel.java index b586cf5c2..8e6c0ccdc 100644 --- a/src/main/java/appeng/client/render/DummyFluidItemModel.java +++ b/src/main/java/appeng/client/render/DummyFluidItemModel.java @@ -25,12 +25,12 @@ import java.util.function.Function; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; import net.minecraftforge.client.model.IModelConfiguration; @@ -48,10 +48,10 @@ public class DummyFluidItemModel implements IModelGeometry "item/dummy_fluid_item_base"); @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { - IBakedModel bakedBaseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { + BakedModel bakedBaseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); return new DummyFluidDispatcherBakedModel(bakedBaseModel, spriteGetter); } diff --git a/src/main/java/appeng/client/render/FacadeBakedItemModel.java b/src/main/java/appeng/client/render/FacadeBakedItemModel.java index 53d50a1f3..71a9cddb3 100644 --- a/src/main/java/appeng/client/render/FacadeBakedItemModel.java +++ b/src/main/java/appeng/client/render/FacadeBakedItemModel.java @@ -26,8 +26,8 @@ import java.util.Random; import javax.annotation.Nullable; import net.minecraft.block.BlockState; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.item.ItemStack; import net.minecraft.util.math.Direction; @@ -48,7 +48,7 @@ public class FacadeBakedItemModel extends DelegateBakedModel { private final FacadeBuilder facadeBuilder; private List quads = null; - protected FacadeBakedItemModel(IBakedModel base, ItemStack textureStack, FacadeBuilder facadeBuilder) { + protected FacadeBakedItemModel(BakedModel base, ItemStack textureStack, FacadeBuilder facadeBuilder) { super(base); this.textureStack = textureStack; this.facadeBuilder = facadeBuilder; diff --git a/src/main/java/appeng/client/render/FacadeDispatcherBakedModel.java b/src/main/java/appeng/client/render/FacadeDispatcherBakedModel.java index b96d6e806..55ab1d2d1 100644 --- a/src/main/java/appeng/client/render/FacadeDispatcherBakedModel.java +++ b/src/main/java/appeng/client/render/FacadeDispatcherBakedModel.java @@ -20,7 +20,7 @@ package appeng.client.render; import java.util.Objects; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; @@ -41,7 +41,7 @@ public class FacadeDispatcherBakedModel extends DelegateBakedModel { private final FacadeBuilder facadeBuilder; private final Int2ObjectMap cache = new Int2ObjectArrayMap<>(); - public FacadeDispatcherBakedModel(IBakedModel baseModel, FacadeBuilder facadeBuilder) { + public FacadeDispatcherBakedModel(BakedModel baseModel, FacadeBuilder facadeBuilder) { super(baseModel); this.facadeBuilder = facadeBuilder; } @@ -50,8 +50,8 @@ public class FacadeDispatcherBakedModel extends DelegateBakedModel { public ItemOverrideList getOverrides() { return new ItemOverrideList() { @Override - public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, World world, - LivingEntity entity) { + public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, World world, + LivingEntity entity) { if (!(stack.getItem() instanceof FacadeItem)) { return originalModel; } diff --git a/src/main/java/appeng/client/render/FacadeItemModel.java b/src/main/java/appeng/client/render/FacadeItemModel.java index 87b8ee4cb..e21545bc7 100644 --- a/src/main/java/appeng/client/render/FacadeItemModel.java +++ b/src/main/java/appeng/client/render/FacadeItemModel.java @@ -43,10 +43,10 @@ public class FacadeItemModel implements IModelGeometry { private static final Identifier MODEL_BASE = new Identifier(AppEng.MOD_ID, "item/facade_base"); @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { - IBakedModel bakedBaseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { + BakedModel bakedBaseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); FacadeBuilder facadeBuilder = new FacadeBuilder(); return new FacadeDispatcherBakedModel(bakedBaseModel, facadeBuilder); diff --git a/src/main/java/appeng/client/render/SpatialSkyRender.java b/src/main/java/appeng/client/render/SpatialSkyRender.java index 2ed10bb3e..0ec7a4ece 100644 --- a/src/main/java/appeng/client/render/SpatialSkyRender.java +++ b/src/main/java/appeng/client/render/SpatialSkyRender.java @@ -25,7 +25,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import org.lwjgl.opengl.GL11; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.Quaternion; import net.minecraft.client.renderer.RenderHelper; @@ -57,7 +57,7 @@ public class SpatialSkyRender implements SkyRenderHandler { new Quaternion(0.0F, 0.0F, 90.0F, true), new Quaternion(0.0F, 0.0F, -90.0F, true), }; @Override - public void render(int ticks, float partialTicks, MatrixStack matrixStack, ClientWorld world, Minecraft mc) { + public void render(int ticks, float partialTicks, MatrixStack matrixStack, ClientWorld world, MinecraftClient mc) { final long now = System.currentTimeMillis(); if (now - this.cycle > 2000) { this.cycle = now; diff --git a/src/main/java/appeng/client/render/StaticBlockColor.java b/src/main/java/appeng/client/render/StaticBlockColor.java index 53ff4d178..8b5ba3e50 100644 --- a/src/main/java/appeng/client/render/StaticBlockColor.java +++ b/src/main/java/appeng/client/render/StaticBlockColor.java @@ -21,7 +21,7 @@ package appeng.client.render; import javax.annotation.Nullable; import net.minecraft.block.BlockState; -import net.minecraft.client.renderer.color.IBlockColor; +import net.minecraft.client.color.block.BlockColorProvider; import net.minecraft.util.math.BlockPos; import net.minecraft.world.ILightReader; @@ -30,7 +30,7 @@ import appeng.api.util.AEColor; /** * Returns the shades of a single AE color for tint indices 0, 1, and 2. */ -public class StaticBlockColor implements IBlockColor { +public class StaticBlockColor implements BlockColorProvider { private final AEColor color; diff --git a/src/main/java/appeng/client/render/StaticItemColor.java b/src/main/java/appeng/client/render/StaticItemColor.java index d73113a98..dba509320 100644 --- a/src/main/java/appeng/client/render/StaticItemColor.java +++ b/src/main/java/appeng/client/render/StaticItemColor.java @@ -18,7 +18,7 @@ package appeng.client.render; -import net.minecraft.client.renderer.color.IItemColor; +import net.minecraft.client.color.item.ItemColorProvider; import net.minecraft.item.ItemStack; import appeng.api.util.AEColor; @@ -26,7 +26,7 @@ import appeng.api.util.AEColor; /** * Returns the shades of a single AE color for tint indices 0, 1, and 2. */ -public class StaticItemColor implements IItemColor { +public class StaticItemColor implements ItemColorProvider { private final AEColor color; diff --git a/src/main/java/appeng/client/render/TesrRenderHelper.java b/src/main/java/appeng/client/render/TesrRenderHelper.java index 2f77b67fe..f7ad07487 100644 --- a/src/main/java/appeng/client/render/TesrRenderHelper.java +++ b/src/main/java/appeng/client/render/TesrRenderHelper.java @@ -18,10 +18,10 @@ package appeng.client.render; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.Vector3f; import net.minecraft.client.render.model.ItemCameraTransforms; @@ -92,7 +92,7 @@ public class TesrRenderHelper { // effect at least from head-on matrixStack.scale(scale, scale, 0.0002f); - Minecraft.getInstance().getItemRenderer().renderItem(itemStack, ItemCameraTransforms.TransformType.GUI, + MinecraftClient.getInstance().getItemRenderer().renderItem(itemStack, ItemCameraTransforms.TransformType.GUI, combinedLightIn, OverlayTexture.NO_OVERLAY, matrixStack, buffers); matrixStack.pop(); @@ -120,7 +120,7 @@ public class TesrRenderHelper { final String renderedStackSize = NUMBER_CONVERTER.toWideReadableForm(stackSize); // Render the item count - final FontRenderer fr = Minecraft.getInstance().fontRenderer; + final FontRenderer fr = MinecraftClient.getInstance().fontRenderer; final int width = fr.getStringWidth(renderedStackSize); matrixStack.push(); matrixStack.translate(0.0f, spacing, 0.02f); diff --git a/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java b/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java index 964d4e5f5..71c3579f5 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java +++ b/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java @@ -31,9 +31,9 @@ import java.util.Random; import javax.annotation.Nullable; import net.minecraft.block.BlockState; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.client.render.model.ItemCameraTransforms; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.renderer.texture.MissingTextureSprite; @@ -48,7 +48,7 @@ import appeng.api.parts.IPartModel; import appeng.api.util.AECableType; import appeng.api.util.AEColor; -public class CableBusBakedModel implements IBakedModel { +public class CableBusBakedModel implements BakedModel { private static final Map> CABLE_MODEL_CACHE = new HashMap<>(); @@ -56,12 +56,12 @@ public class CableBusBakedModel implements IBakedModel { private final FacadeBuilder facadeBuilder; - private final Map partModels; + private final Map partModels; private final TextureAtlasSprite particleTexture; CableBusBakedModel(CableBuilder cableBuilder, FacadeBuilder facadeBuilder, - Map partModels, TextureAtlasSprite particleTexture) { + Map partModels, TextureAtlasSprite particleTexture) { this.cableBuilder = cableBuilder; this.facadeBuilder = facadeBuilder; this.partModels = partModels; @@ -82,14 +82,14 @@ public class CableBusBakedModel implements IBakedModel { return Collections.emptyList(); } - RenderType layer = MinecraftForgeClient.getRenderLayer(); + RenderLayer layer = MinecraftForgeClient.getRenderLayer(); List quads = new ArrayList<>(); // The core parts of the cable will only be rendered in the CUTOUT layer. // Facades will add them selves to what ever the block would be rendered with, // except when transparent facades are enabled, they are forced to TRANSPARENT. - if (layer == RenderType.getCutout()) { + if (layer == RenderLayer.getCutout()) { // First, handle the cable at the center of the cable bus final List cableModel = CABLE_MODEL_CACHE.computeIfAbsent(renderState, k -> { @@ -112,7 +112,7 @@ public class CableBusBakedModel implements IBakedModel { } for (Identifier model : partModel.getModels()) { - IBakedModel bakedModel = this.partModels.get(model); + BakedModel bakedModel = this.partModels.get(model); if (bakedModel == null) { throw new IllegalStateException("Trying to use an unregistered part model: " + model); @@ -282,7 +282,7 @@ public class CableBusBakedModel implements IBakedModel { IPartModel partModel = renderState.getAttachments().get(side); for (Identifier model : partModel.getModels()) { - IBakedModel bakedModel = this.partModels.get(model); + BakedModel bakedModel = this.partModels.get(model); if (bakedModel == null) { throw new IllegalStateException("Trying to use an unregistered part model: " + model); diff --git a/src/main/java/appeng/client/render/cablebus/CableBusModel.java b/src/main/java/appeng/client/render/cablebus/CableBusModel.java index 479504654..fb486abb4 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBusModel.java +++ b/src/main/java/appeng/client/render/cablebus/CableBusModel.java @@ -27,12 +27,12 @@ import java.util.function.Function; import com.google.common.collect.ImmutableMap; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; import net.minecraftforge.client.model.IModelConfiguration; @@ -54,10 +54,10 @@ public class CableBusModel implements IModelGeometry { } @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { - Map partModels = this.loadPartModels(bakery, spriteGetter, modelTransform); + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { + Map partModels = this.loadPartModels(bakery, spriteGetter, modelTransform); CableBuilder cableBuilder = new CableBuilder(spriteGetter); FacadeBuilder facadeBuilder = new FacadeBuilder(); @@ -76,12 +76,12 @@ public class CableBusModel implements IModelGeometry { return Collections.unmodifiableList(CableBuilder.getTextures()); } - private Map loadPartModels(ModelBakery bakery, - Function spriteGetterIn, IModelTransform transformIn) { - ImmutableMap.Builder result = ImmutableMap.builder(); + private Map loadPartModels(ModelLoader bakery, + Function spriteGetterIn, IModelTransform transformIn) { + ImmutableMap.Builder result = ImmutableMap.builder(); for (Identifier location : this.partModels.getModels()) { - IBakedModel bakedModel = bakery.getBakedModel(location, transformIn, spriteGetterIn); + BakedModel bakedModel = bakery.getBakedModel(location, transformIn, spriteGetterIn); if (bakedModel == null) { AELog.warn("Failed to bake part model {}", location); } else { diff --git a/src/main/java/appeng/client/render/cablebus/CubeBuilder.java b/src/main/java/appeng/client/render/cablebus/CubeBuilder.java index bd6f55048..baabe4f79 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.getXOffset(), face.getYOffset(), face.getZOffset()); + builder.put(i, face.getOffsetX(), face.getOffsetY(), face.getZOffset()); break; case COLOR: // Color format is RGBA diff --git a/src/main/java/appeng/client/render/cablebus/FacadeBlockAccess.java b/src/main/java/appeng/client/render/cablebus/FacadeBlockAccess.java index be1a61b1d..c119beb14 100644 --- a/src/main/java/appeng/client/render/cablebus/FacadeBlockAccess.java +++ b/src/main/java/appeng/client/render/cablebus/FacadeBlockAccess.java @@ -51,8 +51,8 @@ public class FacadeBlockAccess implements ILightReader { @Nullable @Override - public BlockEntity getTileEntity(BlockPos pos) { - return this.world.getTileEntity(pos); + public BlockEntity getBlockEntity(BlockPos pos) { + return this.world.getBlockEntity(pos); } @Override diff --git a/src/main/java/appeng/client/render/cablebus/FacadeBuilder.java b/src/main/java/appeng/client/render/cablebus/FacadeBuilder.java index d272fbb9a..597119d75 100644 --- a/src/main/java/appeng/client/render/cablebus/FacadeBuilder.java +++ b/src/main/java/appeng/client/render/cablebus/FacadeBuilder.java @@ -30,13 +30,13 @@ import java.util.function.Function; import javax.annotation.Nullable; import net.minecraft.block.BlockState; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.renderer.BlockRendererDispatcher; -import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderTypeLookup; -import net.minecraft.client.renderer.color.BlockColors; +import net.minecraft.client.color.block.BlockColors; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; @@ -104,8 +104,8 @@ public class FacadeBuilder { ); private final ThreadLocal collectors = ThreadLocal.withInitial(Quad::new); - public void buildFacadeQuads(RenderType layer, CableBusRenderState renderState, Random rand, List quads, - Function modelLookup) { + public void buildFacadeQuads(RenderLayer layer, CableBusRenderState renderState, Random rand, List quads, + Function modelLookup) { BakedPipeline pipeline = this.pipelines.get(); Quad collectorQuad = this.collectors.get(); boolean transparent = AEApi.instance().partHelper().getCableRenderMode().transparentFacades; @@ -114,7 +114,7 @@ public class FacadeBuilder { Set sidesWithParts = renderState.getAttachments().keySet(); ILightReader parentWorld = renderState.getWorld(); BlockPos pos = renderState.getPos(); - BlockColors blockColors = Minecraft.getInstance().getBlockColors(); + BlockColors blockColors = MinecraftClient.getInstance().getBlockColors(); boolean thinFacades = isUseThinFacades(partBoxes); for (Entry entry : facadeStates.entrySet()) { @@ -122,16 +122,16 @@ public class FacadeBuilder { int sideIndex = side.ordinal(); FacadeRenderState facadeRenderState = entry.getValue(); boolean renderStilt = !sidesWithParts.contains(side); - if (layer == RenderType.getCutout() && renderStilt) { + if (layer == RenderLayer.getCutout() && renderStilt) { for (Identifier part : CableAnchorPart.FACADE_MODELS.getModels()) { - IBakedModel partModel = modelLookup.apply(part); + BakedModel partModel = modelLookup.apply(part); QuadRotator rotator = new QuadRotator(); quads.addAll(rotator.rotateQuads(gatherQuads(partModel, null, rand, EmptyModelData.INSTANCE), side, Direction.UP)); } } // If we are forcing transparency and this isn't the Translucent layer. - if (transparent && layer != RenderType.getTranslucent()) { + if (transparent && layer != RenderLayer.getTranslucent()) { continue; } @@ -191,15 +191,15 @@ public class FacadeBuilder { List holeStrips = getBoxes(facadeBox, cutOutBox, side.getAxis()); ILightReader facadeAccess = new FacadeBlockAccess(parentWorld, pos, side, blockState); - BlockRendererDispatcher dispatcher = Minecraft.getInstance().getBlockRendererDispatcher(); - IBakedModel model = dispatcher.getModelForState(blockState); + BlockRendererDispatcher dispatcher = MinecraftClient.getInstance().getBlockRendererDispatcher(); + BakedModel model = dispatcher.getModelForState(blockState); IModelData modelData = model.getModelData(facadeAccess, pos, blockState, EmptyModelData.INSTANCE); List modelQuads = new ArrayList<>(); // If we are forcing transparent facades, fake the render layer, and grab all // quads. if (transparent || layer == null) { - for (RenderType forcedLayer : RenderType.getBlockRenderTypes()) { + for (RenderLayer forcedLayer : RenderLayer.getBlockRenderTypes()) { // Check if the block renders on the layer we want to force. if (RenderTypeLookup.canRenderInLayer(blockState, forcedLayer)) { // Force the layer and gather quads. @@ -287,7 +287,7 @@ public class FacadeBuilder { */ public List buildFacadeItemQuads(ItemStack textureItem, Direction side) { List facadeQuads = new ArrayList<>(); - IBakedModel model = Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(textureItem, null, + BakedModel model = MinecraftClient.getInstance().getItemRenderer().getItemModelWithOverrides(textureItem, null, null); List modelQuads = gatherQuads(model, null, new Random(), EmptyModelData.INSTANCE); @@ -307,7 +307,7 @@ public class FacadeBuilder { collectorQuad.reset(format); // If we have a tint index, setup the tinter and enable it. if (quad.hasTintIndex()) { - tinter.setTint(Minecraft.getInstance().getItemColors().getColor(textureItem, quad.getColorIndex())); + tinter.setTint(MinecraftClient.getInstance().getItemColors().getColor(textureItem, quad.getColorIndex())); pipeline.enableElement("tinter"); } // Disable elements we don't need for items. @@ -328,7 +328,7 @@ public class FacadeBuilder { } // Helper to gather all quads from a model into a list. - private static List gatherQuads(IBakedModel model, BlockState state, Random rand, IModelData data) { + private static List gatherQuads(BakedModel model, BlockState state, Random rand, IModelData data) { List modelQuads = new ArrayList<>(); for (Direction face : Direction.values()) { modelQuads.addAll(model.getQuads(state, face, rand, data)); diff --git a/src/main/java/appeng/client/render/cablebus/P2PTunnelFrequencyModel.java b/src/main/java/appeng/client/render/cablebus/P2PTunnelFrequencyModel.java index 185da62cd..312e38cb8 100644 --- a/src/main/java/appeng/client/render/cablebus/P2PTunnelFrequencyModel.java +++ b/src/main/java/appeng/client/render/cablebus/P2PTunnelFrequencyModel.java @@ -7,12 +7,12 @@ import java.util.function.Function; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; @@ -26,9 +26,9 @@ public class P2PTunnelFrequencyModel implements IModelGeometry spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { try { final TextureAtlasSprite texture = spriteGetter.apply(TEXTURE); return new P2PTunnelFrequencyBakedModel(texture); diff --git a/src/main/java/appeng/client/render/crafting/CraftingCubeModel.java b/src/main/java/appeng/client/render/crafting/CraftingCubeModel.java index 9d20d4d35..bc2378fd8 100644 --- a/src/main/java/appeng/client/render/crafting/CraftingCubeModel.java +++ b/src/main/java/appeng/client/render/crafting/CraftingCubeModel.java @@ -25,12 +25,12 @@ import java.util.function.Function; import com.google.common.collect.ImmutableList; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; @@ -75,9 +75,9 @@ class CraftingCubeModel implements IModelGeometry { } @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { // Retrieve our textures and pass them on to the baked model TextureAtlasSprite ringCorner = spriteGetter.apply(RING_CORNER); TextureAtlasSprite ringSideHor = spriteGetter.apply(RING_SIDE_HOR); diff --git a/src/main/java/appeng/client/render/crafting/CraftingCubeRendering.java b/src/main/java/appeng/client/render/crafting/CraftingCubeRendering.java index 00549877f..99268f4ef 100644 --- a/src/main/java/appeng/client/render/crafting/CraftingCubeRendering.java +++ b/src/main/java/appeng/client/render/crafting/CraftingCubeRendering.java @@ -19,7 +19,7 @@ package appeng.client.render.crafting; import net.fabricmc.api.Environment; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.render.RenderLayer; import net.fabricmc.api.EnvType; import appeng.bootstrap.BlockRenderingCustomizer; @@ -33,7 +33,7 @@ public class CraftingCubeRendering extends BlockRenderingCustomizer { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); // Disable auto-rotation rendering.modelCustomizer((loc, model) -> model); } diff --git a/src/main/java/appeng/client/render/crafting/CraftingMonitorTESR.java b/src/main/java/appeng/client/render/crafting/CraftingMonitorTESR.java index 208cc613f..be0cedb20 100644 --- a/src/main/java/appeng/client/render/crafting/CraftingMonitorTESR.java +++ b/src/main/java/appeng/client/render/crafting/CraftingMonitorTESR.java @@ -19,30 +19,30 @@ package appeng.client.render.crafting; import net.fabricmc.api.Environment; +import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.renderer.tileentity.TileEntityRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.util.math.Direction; import net.fabricmc.api.EnvType; import appeng.api.storage.data.IAEItemStack; import appeng.client.render.TesrRenderHelper; -import appeng.tile.crafting.CraftingMonitorTileEntity; +import appeng.tile.crafting.CraftingMonitorBlockEntity; /** * Renders the item currently being crafted */ @Environment(EnvType.CLIENT) -public class CraftingMonitorTESR extends TileEntityRenderer { +public class CraftingMonitorTESR extends BlockEntityRenderer { - public CraftingMonitorTESR(TileEntityRendererDispatcher rendererDispatcherIn) { + public CraftingMonitorTESR(BlockEntityRenderDispatcher rendererDispatcherIn) { super(rendererDispatcherIn); } @Override - public void render(CraftingMonitorTileEntity te, float partialTicks, MatrixStack matrixStack, + public void render(CraftingMonitorBlockEntity te, float partialTicks, MatrixStack matrixStack, VertexConsumerProvider buffers, int combinedLight, int combinedOverlay) { Direction facing = te.getForward(); diff --git a/src/main/java/appeng/client/render/crafting/EncodedPatternBakedModel.java b/src/main/java/appeng/client/render/crafting/EncodedPatternBakedModel.java index ec949a497..d03195344 100644 --- a/src/main/java/appeng/client/render/crafting/EncodedPatternBakedModel.java +++ b/src/main/java/appeng/client/render/crafting/EncodedPatternBakedModel.java @@ -3,12 +3,12 @@ package appeng.client.render.crafting; import javax.annotation.Nullable; import com.google.common.collect.ImmutableMap; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.renderer.TransformationMatrix; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.client.render.model.ItemCameraTransforms; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.entity.LivingEntity; @@ -36,7 +36,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel { private final CustomOverrideList overrides; - EncodedPatternBakedModel(IBakedModel baseModel) { + EncodedPatternBakedModel(BakedModel baseModel) { super(baseModel); this.overrides = new CustomOverrideList(); } @@ -58,9 +58,9 @@ public class EncodedPatternBakedModel extends DelegateBakedModel { */ private static class ShiftHoldingModelWrapper extends DelegateBakedModel { - private final IBakedModel outputModel; + private final BakedModel outputModel; - private ShiftHoldingModelWrapper(IBakedModel patternModel, IBakedModel outputModel) { + private ShiftHoldingModelWrapper(BakedModel patternModel, BakedModel outputModel) { super(patternModel); this.outputModel = outputModel; } @@ -71,7 +71,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel { } @Override - public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { // No need to re-check for shift being held since this model is only handed out // in that case if (cameraTransformType == ItemCameraTransforms.TransformType.GUI) { @@ -98,7 +98,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel { } @Override - public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { return getBaseModel().handlePerspective(cameraTransformType, mat); } @@ -112,14 +112,14 @@ public class EncodedPatternBakedModel extends DelegateBakedModel { @Nullable @Override - public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, @Nullable World world, - @Nullable LivingEntity entity) { + public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, @Nullable World world, + @Nullable LivingEntity entity) { boolean shiftHeld = Screen.hasShiftDown(); if (shiftHeld) { EncodedPatternItem iep = (EncodedPatternItem) stack.getItem(); ItemStack output = iep.getOutput(stack); if (!output.isEmpty()) { - IBakedModel realModel = Minecraft.getInstance().getItemRenderer().getItemModelMesher() + BakedModel realModel = MinecraftClient.getInstance().getItemRenderer().getItemModelMesher() .getItemModel(output); // Give the item model a chance to handle the overrides as well realModel = realModel.getOverrides().getModelWithOverrides(realModel, output, world, entity); diff --git a/src/main/java/appeng/client/render/crafting/EncodedPatternModel.java b/src/main/java/appeng/client/render/crafting/EncodedPatternModel.java index 78be7cc1e..76747b4bf 100644 --- a/src/main/java/appeng/client/render/crafting/EncodedPatternModel.java +++ b/src/main/java/appeng/client/render/crafting/EncodedPatternModel.java @@ -6,12 +6,12 @@ import java.util.function.Function; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; import net.minecraftforge.client.model.IModelConfiguration; @@ -35,10 +35,10 @@ public class EncodedPatternModel implements IModelGeometry } @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { - IBakedModel baseModel = bakery.getBakedModel(this.baseModel, modelTransform, spriteGetter); + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { + BakedModel baseModel = bakery.getBakedModel(this.baseModel, modelTransform, spriteGetter); return new EncodedPatternBakedModel(baseModel); } diff --git a/src/main/java/appeng/client/render/effects/LightningFX.java b/src/main/java/appeng/client/render/effects/LightningFX.java index 7add976d8..9e642cdc1 100644 --- a/src/main/java/appeng/client/render/effects/LightningFX.java +++ b/src/main/java/appeng/client/render/effects/LightningFX.java @@ -24,7 +24,7 @@ import com.mojang.blaze3d.vertex.IVertexBuilder; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.particle.IAnimatedSprite; import net.minecraft.client.particle.IParticleFactory; import net.minecraft.client.particle.IParticleRenderType; @@ -135,7 +135,7 @@ public class LightningFX extends SpriteTexturedParticle { double oy = 0; double oz = 0; - final PlayerEntity p = Minecraft.getInstance().player; + final PlayerEntity p = MinecraftClient.getInstance().player; // FIXME: Billboard rotation is not applied to the particle yet, // FIXME The old version apparently did this by hand using rX,rZ -> replicate diff --git a/src/main/java/appeng/client/render/model/AutoRotatingBakedModel.java b/src/main/java/appeng/client/render/model/AutoRotatingBakedModel.java index 6e5f1883c..4e96710ef 100644 --- a/src/main/java/appeng/client/render/model/AutoRotatingBakedModel.java +++ b/src/main/java/appeng/client/render/model/AutoRotatingBakedModel.java @@ -32,9 +32,9 @@ import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableList; import net.minecraft.block.BlockState; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.renderer.Vector4f; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.client.render.model.ItemCameraTransforms; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -52,12 +52,12 @@ import net.minecraftforge.client.model.pipeline.QuadGatheringTransformer; import appeng.client.render.FacingToRotation; -public class AutoRotatingBakedModel implements IBakedModel { +public class AutoRotatingBakedModel implements BakedModel { - private final IBakedModel parent; + private final BakedModel parent; private final LoadingCache> quadCache; - public AutoRotatingBakedModel(IBakedModel parent) { + public AutoRotatingBakedModel(BakedModel parent) { this.parent = parent; // 6 (DUNSWE) * 6 (DUNSWE) * 7 (DUNSWE + null) = 252 this.quadCache = CacheBuilder.newBuilder().maximumSize(252) diff --git a/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java b/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java index d0106d7a8..8e1190324 100644 --- a/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java +++ b/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java @@ -11,11 +11,11 @@ import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.google.common.collect.ImmutableList; import com.mojang.authlib.GameProfile; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.block.BlockState; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.client.render.model.ItemCameraTransforms; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -30,9 +30,9 @@ import appeng.api.util.AEColor; import appeng.client.render.cablebus.CubeBuilder; import appeng.core.AELog; -class BiometricCardBakedModel implements IBakedModel { +class BiometricCardBakedModel implements BakedModel { - private final IBakedModel baseModel; + private final BakedModel baseModel; private final TextureAtlasSprite texture; @@ -42,12 +42,12 @@ class BiometricCardBakedModel implements IBakedModel { private final ImmutableList generalQuads; - BiometricCardBakedModel(IBakedModel baseModel, TextureAtlasSprite texture) { + BiometricCardBakedModel(BakedModel baseModel, TextureAtlasSprite texture) { this(baseModel, texture, 0, createCache()); } - private BiometricCardBakedModel(IBakedModel baseModel, TextureAtlasSprite texture, int hash, - Cache modelCache) { + private BiometricCardBakedModel(BakedModel baseModel, TextureAtlasSprite texture, int hash, + Cache modelCache) { this.baseModel = baseModel; this.texture = texture; this.hash = hash; @@ -143,8 +143,8 @@ class BiometricCardBakedModel implements IBakedModel { public ItemOverrideList getOverrides() { return new ItemOverrideList() { @Override - public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, World world, - LivingEntity entity) { + public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, World world, + LivingEntity entity) { String username = ""; if (stack.getItem() instanceof IBiometricCard) { final GameProfile gp = ((IBiometricCard) stack.getItem()).getProfile(stack); @@ -182,7 +182,7 @@ class BiometricCardBakedModel implements IBakedModel { } @Override - public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { baseModel.handlePerspective(cameraTransformType, mat); return this; } diff --git a/src/main/java/appeng/client/render/model/BiometricCardModel.java b/src/main/java/appeng/client/render/model/BiometricCardModel.java index 9a1346557..132be10dc 100644 --- a/src/main/java/appeng/client/render/model/BiometricCardModel.java +++ b/src/main/java/appeng/client/render/model/BiometricCardModel.java @@ -9,12 +9,12 @@ import javax.annotation.Nullable; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; @@ -41,12 +41,12 @@ public class BiometricCardModel implements IModelGeometry { @Nullable @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform transformIn, - ItemOverrideList overrides, Identifier locationIn) { + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform transformIn, + ItemOverrideList overrides, Identifier locationIn) { TextureAtlasSprite texture = spriteGetter.apply(TEXTURE); - IBakedModel baseModel = bakery.getBakedModel(MODEL_BASE, transformIn, spriteGetter); + BakedModel baseModel = bakery.getBakedModel(MODEL_BASE, transformIn, spriteGetter); return new BiometricCardBakedModel(baseModel, texture); } diff --git a/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java b/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java index e1ba0f7ff..e84a52770 100644 --- a/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java +++ b/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java @@ -7,11 +7,11 @@ import java.util.Random; import javax.annotation.Nullable; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.block.BlockState; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.ItemCameraTransforms; import net.minecraft.client.render.model.ItemOverrideList; @@ -20,9 +20,9 @@ import net.minecraft.util.math.Direction; import net.minecraftforge.client.model.PerspectiveMapWrapper; import net.minecraftforge.client.model.data.EmptyModelData; -class ColorApplicatorBakedModel implements IBakedModel { +class ColorApplicatorBakedModel implements BakedModel { - private final IBakedModel baseModel; + private final BakedModel baseModel; private final IModelTransform transforms; @@ -30,8 +30,8 @@ class ColorApplicatorBakedModel implements IBakedModel { private final List generalQuads; - ColorApplicatorBakedModel(IBakedModel baseModel, IModelTransform transforms, TextureAtlasSprite texDark, - TextureAtlasSprite texMedium, TextureAtlasSprite texBright) { + ColorApplicatorBakedModel(BakedModel baseModel, IModelTransform transforms, TextureAtlasSprite texDark, + TextureAtlasSprite texMedium, TextureAtlasSprite texBright) { this.baseModel = baseModel; this.transforms = transforms; @@ -113,7 +113,7 @@ class ColorApplicatorBakedModel implements IBakedModel { } @Override - public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { return PerspectiveMapWrapper.handlePerspective(this, transforms, cameraTransformType, mat); } } diff --git a/src/main/java/appeng/client/render/model/ColorApplicatorModel.java b/src/main/java/appeng/client/render/model/ColorApplicatorModel.java index fa5e307b1..64e558a4f 100644 --- a/src/main/java/appeng/client/render/model/ColorApplicatorModel.java +++ b/src/main/java/appeng/client/render/model/ColorApplicatorModel.java @@ -7,12 +7,12 @@ import java.util.function.Function; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; @@ -44,10 +44,10 @@ public class ColorApplicatorModel implements IModelGeometry spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { - IBakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { + BakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); TextureAtlasSprite texDark = spriteGetter.apply(TEXTURE_DARK); TextureAtlasSprite texMedium = spriteGetter.apply(TEXTURE_MEDIUM); diff --git a/src/main/java/appeng/client/render/model/DriveBakedModel.java b/src/main/java/appeng/client/render/model/DriveBakedModel.java index 07076e7e2..366d2148e 100644 --- a/src/main/java/appeng/client/render/model/DriveBakedModel.java +++ b/src/main/java/appeng/client/render/model/DriveBakedModel.java @@ -27,9 +27,9 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; import net.minecraft.block.BlockState; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.renderer.Matrix4f; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.item.Item; import net.minecraft.util.math.Direction; import net.minecraftforge.client.model.data.IModelData; @@ -42,9 +42,9 @@ import appeng.client.render.DelegateBakedModel; import appeng.core.Api; public class DriveBakedModel extends DelegateBakedModel { - private final Map bakedCells; + private final Map bakedCells; - public DriveBakedModel(IBakedModel bakedBase, Map bakedCells) { + public DriveBakedModel(BakedModel bakedBase, Map bakedCells) { super(bakedBase); this.bakedCells = bakedCells; } @@ -79,7 +79,7 @@ public class DriveBakedModel extends DelegateBakedModel { // Add the drive chassis Item cell = slotsState.getCell(slot); - IBakedModel cellChassisModel = getCellChassisModel(cell); + BakedModel cellChassisModel = getCellChassisModel(cell); addModel(state, rand, extraData, result, cellChassisModel, transform); } } @@ -98,7 +98,7 @@ public class DriveBakedModel extends DelegateBakedModel { } // Determine which drive chassis to show based on the used cell - private IBakedModel getCellChassisModel(Item cell) { + private BakedModel getCellChassisModel(Item cell) { IItems items = Api.INSTANCE.definitions().items(); if (cell == null) { return bakedCells.get(DriveSlotCellType.EMPTY); @@ -112,7 +112,7 @@ public class DriveBakedModel extends DelegateBakedModel { } private static void addModel(@Nullable BlockState state, @Nonnull Random rand, @Nonnull IModelData extraData, - List result, IBakedModel bakedCell, Matrix4f transform) { + List result, BakedModel bakedCell, Matrix4f transform) { MatrixVertexTransformer transformer = new MatrixVertexTransformer(transform); for (BakedQuad bakedQuad : bakedCell.getQuads(state, null, rand, extraData)) { BakedQuadBuilder builder = new BakedQuadBuilder(); diff --git a/src/main/java/appeng/client/render/model/DriveModel.java b/src/main/java/appeng/client/render/model/DriveModel.java index 1aee171da..2be6d5013 100644 --- a/src/main/java/appeng/client/render/model/DriveModel.java +++ b/src/main/java/appeng/client/render/model/DriveModel.java @@ -29,12 +29,12 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; import net.minecraftforge.client.model.IModelConfiguration; @@ -56,18 +56,18 @@ public class DriveModel implements IModelGeometry { .addAll(MODELS_CELLS.values()).add(MODEL_BASE).build(); @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { - EnumMap cellModels = new EnumMap<>(DriveSlotCellType.class); + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { + EnumMap cellModels = new EnumMap<>(DriveSlotCellType.class); // Load the base model and the model for each cell state. for (DriveSlotCellType cellType : MODELS_CELLS.keySet()) { - IBakedModel cellModel = bakery.getBakedModel(MODELS_CELLS.get(cellType), modelTransform, spriteGetter); + BakedModel cellModel = bakery.getBakedModel(MODELS_CELLS.get(cellType), modelTransform, spriteGetter); cellModels.put(cellType, cellModel); } - IBakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); + BakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); return new DriveBakedModel(baseModel, cellModels); } diff --git a/src/main/java/appeng/client/render/model/GlassModel.java b/src/main/java/appeng/client/render/model/GlassModel.java index fd7231338..44fbb565c 100644 --- a/src/main/java/appeng/client/render/model/GlassModel.java +++ b/src/main/java/appeng/client/render/model/GlassModel.java @@ -25,12 +25,12 @@ import java.util.function.Function; import com.google.common.collect.ImmutableSet; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; import net.minecraftforge.client.model.IModelConfiguration; @@ -42,9 +42,9 @@ import net.minecraftforge.client.model.geometry.IModelGeometry; public class GlassModel implements IModelGeometry { @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { return new GlassBakedModel(spriteGetter); } diff --git a/src/main/java/appeng/client/render/model/MemoryCardBakedModel.java b/src/main/java/appeng/client/render/model/MemoryCardBakedModel.java index 6b6829f21..c1b0bbf3a 100644 --- a/src/main/java/appeng/client/render/model/MemoryCardBakedModel.java +++ b/src/main/java/appeng/client/render/model/MemoryCardBakedModel.java @@ -15,7 +15,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.block.BlockState; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.ItemCameraTransforms; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -30,12 +30,12 @@ import appeng.api.util.AEColor; import appeng.client.render.cablebus.CubeBuilder; import appeng.core.AELog; -class MemoryCardBakedModel implements IBakedModel { +class MemoryCardBakedModel implements BakedModel { private static final AEColor[] DEFAULT_COLOR_CODE = new AEColor[] { AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, }; - private final IBakedModel baseModel; + private final BakedModel baseModel; private final TextureAtlasSprite texture; @@ -45,12 +45,12 @@ class MemoryCardBakedModel implements IBakedModel { private final ImmutableList generalQuads; - MemoryCardBakedModel(IBakedModel baseModel, TextureAtlasSprite texture) { + MemoryCardBakedModel(BakedModel baseModel, TextureAtlasSprite texture) { this(baseModel, texture, DEFAULT_COLOR_CODE, createCache()); } - private MemoryCardBakedModel(IBakedModel baseModel, TextureAtlasSprite texture, AEColor[] hash, - Cache modelCache) { + private MemoryCardBakedModel(BakedModel baseModel, TextureAtlasSprite texture, AEColor[] hash, + Cache modelCache) { this.baseModel = baseModel; this.texture = texture; this.colorCode = hash; @@ -128,8 +128,8 @@ class MemoryCardBakedModel implements IBakedModel { public ItemOverrideList getOverrides() { return new ItemOverrideList() { @Override - public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, World world, - LivingEntity entity) { + public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, World world, + LivingEntity entity) { try { if (stack.getItem() instanceof IMemoryCard) { final IMemoryCard memoryCard = (IMemoryCard) stack.getItem(); @@ -150,7 +150,7 @@ class MemoryCardBakedModel implements IBakedModel { } @Override - public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { + public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) { baseModel.handlePerspective(cameraTransformType, mat); return this; } diff --git a/src/main/java/appeng/client/render/model/MemoryCardModel.java b/src/main/java/appeng/client/render/model/MemoryCardModel.java index b6ad588cb..b50be037c 100644 --- a/src/main/java/appeng/client/render/model/MemoryCardModel.java +++ b/src/main/java/appeng/client/render/model/MemoryCardModel.java @@ -9,12 +9,12 @@ import javax.annotation.Nullable; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; @@ -41,12 +41,12 @@ public class MemoryCardModel implements IModelGeometry { @Nullable @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { TextureAtlasSprite texture = spriteGetter.apply(TEXTURE); - IBakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); + BakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); return new MemoryCardBakedModel(baseModel, texture); } diff --git a/src/main/java/appeng/client/render/model/SkyCompassBakedModel.java b/src/main/java/appeng/client/render/model/SkyCompassBakedModel.java index 9b2c363de..81b8db1a4 100644 --- a/src/main/java/appeng/client/render/model/SkyCompassBakedModel.java +++ b/src/main/java/appeng/client/render/model/SkyCompassBakedModel.java @@ -26,10 +26,10 @@ import javax.annotation.Nullable; import net.minecraft.block.BlockState; import net.minecraft.client.entity.player.ClientPlayerEntity; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.renderer.Matrix4f; import net.minecraft.client.renderer.Quaternion; import net.minecraft.client.render.model.BakedQuad; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.client.render.model.ItemCameraTransforms; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -56,13 +56,13 @@ public class SkyCompassBakedModel implements IDynamicBakedModel { // Rotation is expressed as radians public static final ModelProperty ROTATION = new ModelProperty<>(); - private final IBakedModel base; + private final BakedModel base; - private final IBakedModel pointer; + private final BakedModel pointer; private float fallbackRotation = 0; - public SkyCompassBakedModel(IBakedModel base, IBakedModel pointer) { + public SkyCompassBakedModel(BakedModel base, BakedModel pointer) { this.base = base; this.pointer = pointer; } @@ -149,8 +149,8 @@ public class SkyCompassBakedModel implements IDynamicBakedModel { */ return new ItemOverrideList() { @Override - public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, @Nullable World world, - @Nullable LivingEntity entity) { + public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, @Nullable World world, + @Nullable LivingEntity entity) { // FIXME: This check prevents compasses being held by OTHERS from getting the // rotation, BUT do we actually still need this??? if (world != null && entity instanceof ClientPlayerEntity) { diff --git a/src/main/java/appeng/client/render/model/SkyCompassModel.java b/src/main/java/appeng/client/render/model/SkyCompassModel.java index 648edc578..fdf6f2089 100644 --- a/src/main/java/appeng/client/render/model/SkyCompassModel.java +++ b/src/main/java/appeng/client/render/model/SkyCompassModel.java @@ -27,12 +27,12 @@ import java.util.function.Function; import com.google.common.collect.ImmutableList; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; import net.minecraftforge.client.model.IModelConfiguration; @@ -53,11 +53,11 @@ public class SkyCompassModel implements IModelGeometry { public static final List DEPENDENCIES = ImmutableList.of(MODEL_BASE, MODEL_POINTER); @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { - IBakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); - IBakedModel pointerModel = bakery.getBakedModel(MODEL_POINTER, modelTransform, spriteGetter); + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { + BakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter); + BakedModel pointerModel = bakery.getBakedModel(MODEL_POINTER, modelTransform, spriteGetter); return new SkyCompassBakedModel(baseModel, pointerModel); } diff --git a/src/main/java/appeng/client/render/model/UVLModelLoader.java b/src/main/java/appeng/client/render/model/UVLModelLoader.java index ccb6e8f9d..e1d257755 100644 --- a/src/main/java/appeng/client/render/model/UVLModelLoader.java +++ b/src/main/java/appeng/client/render/model/UVLModelLoader.java @@ -31,20 +31,21 @@ import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.render.model.BakedModel; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Identifier; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; -import net.minecraft.client.Minecraft; 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; import net.minecraft.client.render.model.BlockPart; import net.minecraft.client.render.model.BlockPartFace; -import net.minecraft.client.render.model.IBakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemCameraTransforms; @@ -52,7 +53,6 @@ import net.minecraft.client.render.model.ItemOverride; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.ItemTransformVec3f; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.resources.IResourceManager; import net.minecraft.util.math.Direction; @@ -142,9 +142,9 @@ public class UVLModelLoader implements IModelLoader spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { TextureAtlasSprite particle = spriteGetter.apply(owner.resolveTexture("particle")); IModelBuilder builder = IModelBuilder.of(owner, overrides, particle); @@ -175,7 +175,7 @@ public class UVLModelLoader implements IModelLoader implements Renderable { } else { matrixStack.push(); } - Minecraft.getInstance().getItemRenderer().renderItem(pair.getLeft(), + MinecraftClient.getInstance().getItemRenderer().renderItem(pair.getLeft(), ItemCameraTransforms.TransformType.GROUND, combinedLight, combinedOverlay, matrixStack, buffers); matrixStack.pop(); } diff --git a/src/main/java/appeng/client/render/spatial/SpatialPylonBakedModel.java b/src/main/java/appeng/client/render/spatial/SpatialPylonBakedModel.java index c7177dfdf..3bb0a4478 100644 --- a/src/main/java/appeng/client/render/spatial/SpatialPylonBakedModel.java +++ b/src/main/java/appeng/client/render/spatial/SpatialPylonBakedModel.java @@ -36,7 +36,7 @@ import net.minecraftforge.client.model.data.IDynamicBakedModel; import net.minecraftforge.client.model.data.IModelData; import appeng.client.render.cablebus.CubeBuilder; -import appeng.tile.spatial.SpatialPylonTileEntity; +import appeng.tile.spatial.SpatialPylonBlockEntity; /** * The baked model that will be used for rendering the spatial pylon. @@ -59,16 +59,16 @@ class SpatialPylonBakedModel implements IDynamicBakedModel { if (flags != 0) { Direction ori = null; - int displayAxis = flags & SpatialPylonTileEntity.DISPLAY_Z; - if (displayAxis == SpatialPylonTileEntity.DISPLAY_X) { + int displayAxis = flags & SpatialPylonBlockEntity.DISPLAY_Z; + if (displayAxis == SpatialPylonBlockEntity.DISPLAY_X) { ori = Direction.EAST; - if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MAX) { + if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) { builder.setUvRotation(Direction.SOUTH, 1); builder.setUvRotation(Direction.NORTH, 1); builder.setUvRotation(Direction.UP, 2); builder.setUvRotation(Direction.DOWN, 2); - } else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MIN) { + } else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MIN) { builder.setUvRotation(Direction.SOUTH, 2); builder.setUvRotation(Direction.NORTH, 2); builder.setUvRotation(Direction.UP, 1); @@ -81,9 +81,9 @@ class SpatialPylonBakedModel implements IDynamicBakedModel { } } - else if (displayAxis == SpatialPylonTileEntity.DISPLAY_Y) { + else if (displayAxis == SpatialPylonBlockEntity.DISPLAY_Y) { ori = Direction.UP; - if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MAX) { + if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) { builder.setUvRotation(Direction.NORTH, 3); builder.setUvRotation(Direction.SOUTH, 3); builder.setUvRotation(Direction.EAST, 3); @@ -91,12 +91,12 @@ class SpatialPylonBakedModel implements IDynamicBakedModel { } } - else if (displayAxis == SpatialPylonTileEntity.DISPLAY_Z) { + else if (displayAxis == SpatialPylonBlockEntity.DISPLAY_Z) { ori = Direction.NORTH; - if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MAX) { + if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) { builder.setUvRotation(Direction.EAST, 2); builder.setUvRotation(Direction.WEST, 1); - } else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MIN) { + } else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MIN) { builder.setUvRotation(Direction.EAST, 1); builder.setUvRotation(Direction.WEST, 2); builder.setUvRotation(Direction.UP, 3); @@ -116,7 +116,7 @@ class SpatialPylonBakedModel implements IDynamicBakedModel { builder.addCube(0, 0, 0, 16, 16, 16); if ((flags - & SpatialPylonTileEntity.DISPLAY_POWERED_ENABLED) == SpatialPylonTileEntity.DISPLAY_POWERED_ENABLED) { + & SpatialPylonBlockEntity.DISPLAY_POWERED_ENABLED) == SpatialPylonBlockEntity.DISPLAY_POWERED_ENABLED) { builder.setRenderFullBright(true); } @@ -139,7 +139,7 @@ class SpatialPylonBakedModel implements IDynamicBakedModel { } private int getFlags(IModelData modelData) { - Integer flags = modelData.getData(SpatialPylonTileEntity.STATE); + Integer flags = modelData.getData(SpatialPylonBlockEntity.STATE); return flags != null ? flags : 0; } @@ -148,11 +148,11 @@ class SpatialPylonBakedModel implements IDynamicBakedModel { return SpatialPylonTextureType.BASE; } - if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_MIDDLE) { + if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_MIDDLE) { return SpatialPylonTextureType.BASE_SPANNED; - } else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MIN) { + } else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MIN) { return SpatialPylonTextureType.BASE_END; - } else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MAX) { + } else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) { return SpatialPylonTextureType.BASE_END; } @@ -160,17 +160,17 @@ class SpatialPylonBakedModel implements IDynamicBakedModel { } private static SpatialPylonTextureType getTextureTypeFromSideInside(int flags, Direction ori, Direction dir) { - final boolean good = (flags & SpatialPylonTileEntity.DISPLAY_ENABLED) == SpatialPylonTileEntity.DISPLAY_ENABLED; + final boolean good = (flags & SpatialPylonBlockEntity.DISPLAY_ENABLED) == SpatialPylonBlockEntity.DISPLAY_ENABLED; if (ori == dir || ori.getOpposite() == dir) { return good ? SpatialPylonTextureType.DIM : SpatialPylonTextureType.RED; } - if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_MIDDLE) { + if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_MIDDLE) { return good ? SpatialPylonTextureType.DIM_SPANNED : SpatialPylonTextureType.RED_SPANNED; - } else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MIN) { + } else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MIN) { return good ? SpatialPylonTextureType.DIM_END : SpatialPylonTextureType.RED_END; - } else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MAX) { + } else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) { return good ? SpatialPylonTextureType.DIM_END : SpatialPylonTextureType.RED_END; } diff --git a/src/main/java/appeng/client/render/spatial/SpatialPylonModel.java b/src/main/java/appeng/client/render/spatial/SpatialPylonModel.java index b9c00c2bd..470fdac1a 100644 --- a/src/main/java/appeng/client/render/spatial/SpatialPylonModel.java +++ b/src/main/java/appeng/client/render/spatial/SpatialPylonModel.java @@ -28,12 +28,12 @@ import java.util.stream.Collectors; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; @@ -45,9 +45,9 @@ import appeng.core.AppEng; public class SpatialPylonModel implements IModelGeometry { @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { Map textures = new EnumMap<>(SpatialPylonTextureType.class); for (SpatialPylonTextureType type : SpatialPylonTextureType.values()) { diff --git a/src/main/java/appeng/client/render/spatial/SpatialPylonRendering.java b/src/main/java/appeng/client/render/spatial/SpatialPylonRendering.java index f1c90696a..253dbf216 100644 --- a/src/main/java/appeng/client/render/spatial/SpatialPylonRendering.java +++ b/src/main/java/appeng/client/render/spatial/SpatialPylonRendering.java @@ -19,7 +19,7 @@ package appeng.client.render.spatial; import net.fabricmc.api.EnvType; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.render.RenderLayer; import net.fabricmc.api.Environment; import appeng.bootstrap.BlockRenderingCustomizer; @@ -31,7 +31,7 @@ public class SpatialPylonRendering extends BlockRenderingCustomizer { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); } } diff --git a/src/main/java/appeng/client/render/tesr/CrankTESR.java b/src/main/java/appeng/client/render/tesr/CrankTESR.java index 2d8881eb9..a5aa8e6da 100644 --- a/src/main/java/appeng/client/render/tesr/CrankTESR.java +++ b/src/main/java/appeng/client/render/tesr/CrankTESR.java @@ -20,36 +20,36 @@ package appeng.client.render.tesr; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.util.math.MatrixStack; import com.mojang.blaze3d.vertex.IVertexBuilder; import net.minecraft.block.BlockState; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Atlases; import net.minecraft.client.renderer.BlockRendererDispatcher; import net.minecraft.client.renderer.Quaternion; -import net.minecraft.client.render.model.IBakedModel; -import net.minecraft.client.renderer.tileentity.TileEntityRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; +import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; import appeng.client.render.FacingToRotation; -import appeng.tile.grindstone.CrankTileEntity; +import appeng.tile.grindstone.CrankBlockEntity; /** * This FastTESR only handles the animated model of the turning crank. When the * crank is at rest, it is rendered using a normal model. */ @Environment(EnvType.CLIENT) -public class CrankTESR extends TileEntityRenderer { +public class CrankTESR extends BlockEntityRenderer { - public CrankTESR(TileEntityRendererDispatcher rendererDispatcherIn) { + public CrankTESR(BlockEntityRenderDispatcher rendererDispatcherIn) { super(rendererDispatcherIn); } @Override - public void render(CrankTileEntity te, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers, - int combinedLightIn, int combinedOverlayIn) { + public void render(CrankBlockEntity te, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers, + int combinedLightIn, int combinedOverlayIn) { // Apply GL transformations relative to the center of the block: 1) TE rotation // and 2) crank rotation @@ -59,9 +59,9 @@ public class CrankTESR extends TileEntityRenderer { ms.rotate(new Quaternion(0, te.getVisibleRotation(), 0, true)); ms.translate(-0.5, -0.5, -0.5); - BlockState blockState = te.getBlockState(); - BlockRendererDispatcher dispatcher = Minecraft.getInstance().getBlockRendererDispatcher(); - IBakedModel model = dispatcher.getModelForState(blockState); + BlockState blockState = te.getCachedState(); + BlockRendererDispatcher dispatcher = MinecraftClient.getInstance().getBlockRendererDispatcher(); + BakedModel model = dispatcher.getModelForState(blockState); IVertexBuilder buffer = buffers.getBuffer(Atlases.getTranslucentBlockType()); dispatcher.getBlockModelRenderer().renderModelBrightnessColor(ms.getLast(), buffer, null, model, 1, 1, 1, combinedLightIn, combinedOverlayIn); diff --git a/src/main/java/appeng/client/render/tesr/DriveLedTileEntityRenderer.java b/src/main/java/appeng/client/render/tesr/DriveLedTileEntityRenderer.java index e184a8b75..61f4eec9c 100644 --- a/src/main/java/appeng/client/render/tesr/DriveLedTileEntityRenderer.java +++ b/src/main/java/appeng/client/render/tesr/DriveLedTileEntityRenderer.java @@ -2,15 +2,15 @@ package appeng.client.render.tesr; import java.util.EnumMap; +import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.client.util.math.MatrixStack; import com.mojang.blaze3d.vertex.IVertexBuilder; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.renderer.RenderState; -import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.Vector3f; -import net.minecraft.client.renderer.tileentity.TileEntityRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -18,13 +18,13 @@ import net.minecraftforge.fml.common.ObfuscationReflectionHelper; import appeng.block.storage.DriveSlotState; import appeng.client.render.FacingToRotation; -import appeng.tile.storage.DriveTileEntity; +import appeng.tile.storage.DriveBlockEntity; /** * Renders the drive cell status indicators. */ @Environment(EnvType.CLIENT) -public class DriveLedTileEntityRenderer extends TileEntityRenderer { +public class DriveLedTileEntityRenderer extends BlockEntityRenderer { private static final EnumMap STATE_COLORS; @@ -60,16 +60,16 @@ public class DriveLedTileEntityRenderer extends TileEntityRenderer { +public final class InscriberTESR extends BlockEntityRenderer { private static final float ITEM_RENDER_SCALE = 1.0f / 1.2f; private static final Material TEXTURE_INSIDE = new Material(PlayerContainer.LOCATION_BLOCKS_TEXTURE, new Identifier(AppEng.MOD_ID, "block/inscriber_inside")); - public InscriberTESR(TileEntityRendererDispatcher rendererDispatcherIn) { + public InscriberTESR(BlockEntityRenderDispatcher rendererDispatcherIn) { super(rendererDispatcherIn); } @Override - public void render(InscriberTileEntity tile, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers, - int combinedLight, int combinedOverlay) { + public void render(InscriberBlockEntity tile, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers, + int combinedLight, int combinedOverlay) { // render inscriber @@ -84,7 +84,7 @@ public final class InscriberTESR extends TileEntityRenderer final TextureAtlasSprite tas = TEXTURE_INSIDE.getSprite(); - IVertexBuilder buffer = buffers.getBuffer(RenderType.getSolid()); + IVertexBuilder buffer = buffers.getBuffer(RenderLayer.getSolid()); // Bottom of Top Stamp addVertex(buffer, ms, tas, TwoPx, middle + press, TwoPx, 2, 13, combinedOverlay, combinedLight, Direction.DOWN); @@ -178,7 +178,7 @@ public final class InscriberTESR extends TileEntityRenderer vb.tex(sprite.getInterpolatedU(texU), sprite.getInterpolatedV(texV)); vb.overlay(overlayUV); vb.lightmap(lightmapUV); - vb.normal(ms.getLast().getNormal(), front.getXOffset(), front.getYOffset(), front.getZOffset()); + vb.normal(ms.getLast().getNormal(), front.getOffsetX(), front.getOffsetY(), front.getZOffset()); vb.endVertex(); } @@ -194,7 +194,7 @@ public final class InscriberTESR extends TileEntityRenderer // set scale ms.scale(ITEM_RENDER_SCALE, ITEM_RENDER_SCALE, ITEM_RENDER_SCALE); - ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); + ItemRenderer itemRenderer = MinecraftClient.getInstance().getItemRenderer(); // heuristic to scale items down much further than blocks if (!stack.getItem().getTags().contains(TAG_STORAGE_BLOCKS)) { diff --git a/src/main/java/appeng/client/render/tesr/ModularTESR.java b/src/main/java/appeng/client/render/tesr/ModularTESR.java index bea742317..e74b230c5 100644 --- a/src/main/java/appeng/client/render/tesr/ModularTESR.java +++ b/src/main/java/appeng/client/render/tesr/ModularTESR.java @@ -21,25 +21,25 @@ package appeng.client.render.tesr; import java.util.List; import com.google.common.collect.ImmutableList; +import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.renderer.tileentity.TileEntityRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import appeng.client.render.FacingToRotation; import appeng.client.render.renderable.Renderable; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; @Environment(EnvType.CLIENT) -public class ModularTESR extends TileEntityRenderer { +public class ModularTESR extends BlockEntityRenderer { private final List> renderables; @SafeVarargs - public ModularTESR(TileEntityRendererDispatcher rendererDispatcherIn, Renderable... renderables) { + public ModularTESR(BlockEntityRenderDispatcher rendererDispatcherIn, Renderable... renderables) { super(rendererDispatcherIn); this.renderables = ImmutableList.copyOf(renderables); } diff --git a/src/main/java/appeng/client/render/tesr/SkyChestTESR.java b/src/main/java/appeng/client/render/tesr/SkyChestTESR.java index c5fa129eb..2b4b4a250 100644 --- a/src/main/java/appeng/client/render/tesr/SkyChestTESR.java +++ b/src/main/java/appeng/client/render/tesr/SkyChestTESR.java @@ -21,28 +21,28 @@ package appeng.client.render.tesr; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.client.util.math.MatrixStack; import com.mojang.blaze3d.vertex.IVertexBuilder; import net.minecraft.block.Block; import net.minecraft.client.renderer.Atlases; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.render.RenderLayer; import net.minecraft.client.renderer.Vector3f; import net.minecraft.client.render.model.Material; import net.minecraft.client.render.model.ModelRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; import net.minecraft.util.Identifier; import net.minecraftforge.client.event.TextureStitchEvent; import appeng.block.storage.SkyChestBlock; import appeng.block.storage.SkyChestBlock.SkyChestType; import appeng.core.AppEng; -import appeng.tile.storage.SkyChestTileEntity; +import appeng.tile.storage.SkyChestBlockEntity; // This is mostly a copy&paste job of the vanilla chest TESR @Environment(EnvType.CLIENT) -public class SkyChestTESR extends TileEntityRenderer { +public class SkyChestTESR extends BlockEntityRenderer { public static final Material TEXTURE_STONE = new Material(Atlases.CHEST_ATLAS, new Identifier(AppEng.MOD_ID, "models/skychest")); @@ -53,7 +53,7 @@ public class SkyChestTESR extends TileEntityRenderer { private final ModelRenderer singleBottom; private final ModelRenderer singleLatch; - public SkyChestTESR(TileEntityRendererDispatcher rendererDispatcherIn) { + public SkyChestTESR(BlockEntityRenderDispatcher rendererDispatcherIn) { super(rendererDispatcherIn); this.singleBottom = new ModelRenderer(64, 64, 0, 19); @@ -68,7 +68,7 @@ public class SkyChestTESR extends TileEntityRenderer { } @Override - public void render(SkyChestTileEntity tileEntityIn, float partialTicks, MatrixStack matrixStackIn, + public void render(SkyChestBlockEntity tileEntityIn, float partialTicks, MatrixStack matrixStackIn, VertexConsumerProvider bufferIn, int combinedLightIn, int combinedOverlayIn) { matrixStackIn.push(); float f = tileEntityIn.getForward().getHorizontalAngle(); @@ -80,7 +80,7 @@ public class SkyChestTESR extends TileEntityRenderer { f1 = 1.0F - f1; f1 = 1.0F - f1 * f1 * f1; Material material = this.getMaterial(tileEntityIn); - IVertexBuilder ivertexbuilder = material.getBuffer(bufferIn, RenderType::getEntityCutout); + IVertexBuilder ivertexbuilder = material.getBuffer(bufferIn, RenderLayer::getEntityCutout); this.renderModels(matrixStackIn, ivertexbuilder, this.singleLid, this.singleLatch, this.singleBottom, f1, combinedLightIn, combinedOverlayIn); @@ -97,10 +97,10 @@ public class SkyChestTESR extends TileEntityRenderer { chestBottom.render(matrixStackIn, bufferIn, combinedLightIn, combinedOverlayIn); } - protected Material getMaterial(SkyChestTileEntity tileEntity) { + protected Material getMaterial(SkyChestBlockEntity tileEntity) { SkyChestType type = SkyChestType.BLOCK; if (tileEntity.getWorld() != null) { - Block blockType = tileEntity.getBlockState().getBlock(); + Block blockType = tileEntity.getCachedState().getBlock(); if (blockType instanceof SkyChestBlock) { type = ((SkyChestBlock) blockType).type; diff --git a/src/main/java/appeng/client/render/tesr/SkyCompassTESR.java b/src/main/java/appeng/client/render/tesr/SkyCompassTESR.java index 1ad57bac1..dc7968262 100644 --- a/src/main/java/appeng/client/render/tesr/SkyCompassTESR.java +++ b/src/main/java/appeng/client/render/tesr/SkyCompassTESR.java @@ -19,46 +19,46 @@ package appeng.client.render.tesr; import net.fabricmc.api.EnvType; +import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.util.math.MatrixStack; import com.mojang.blaze3d.vertex.IVertexBuilder; import net.minecraft.block.BlockState; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.renderer.Atlases; import net.minecraft.client.renderer.BlockRendererDispatcher; import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.render.model.IBakedModel; -import net.minecraft.client.renderer.tileentity.TileEntityRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.util.math.Direction; import net.fabricmc.api.Environment; import net.minecraftforge.client.model.data.ModelDataMap; import appeng.client.render.FacingToRotation; import appeng.client.render.model.SkyCompassBakedModel; -import appeng.tile.misc.SkyCompassTileEntity; +import appeng.tile.misc.SkyCompassBlockEntity; @Environment(EnvType.CLIENT) -public class SkyCompassTESR extends TileEntityRenderer { +public class SkyCompassTESR extends BlockEntityRenderer { private static BlockRendererDispatcher blockRenderer; - public SkyCompassTESR(TileEntityRendererDispatcher rendererDispatcherIn) { + public SkyCompassTESR(BlockEntityRenderDispatcher rendererDispatcherIn) { super(rendererDispatcherIn); } @Override - public void render(SkyCompassTileEntity te, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers, - int combinedLightIn, int combinedOverlayIn) { + public void render(SkyCompassBlockEntity te, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers, + int combinedLightIn, int combinedOverlayIn) { if (blockRenderer == null) { - blockRenderer = Minecraft.getInstance().getBlockRendererDispatcher(); + blockRenderer = MinecraftClient.getInstance().getBlockRendererDispatcher(); } IVertexBuilder buffer = buffers.getBuffer(Atlases.getTranslucentBlockType()); - BlockState blockState = te.getBlockState(); - IBakedModel model = blockRenderer.getBlockModelShapes().getModel(blockState); + BlockState blockState = te.getCachedState(); + BakedModel model = blockRenderer.getBlockModelShapes().getModel(blockState); // FIXME: Rotation was previously handled by an auto rotating model I think, but // FIXME: Should be handled using matrices instead @@ -86,7 +86,7 @@ public class SkyCompassTESR extends TileEntityRenderer { } - private static float getRotation(SkyCompassTileEntity skyCompass) { + private static float getRotation(SkyCompassBlockEntity skyCompass) { float rotation; if (skyCompass.getForward() == Direction.UP || skyCompass.getForward() == Direction.DOWN) { diff --git a/src/main/java/appeng/container/AEBaseContainer.java b/src/main/java/appeng/container/AEBaseContainer.java index 684ddad5c..45e4d4990 100644 --- a/src/main/java/appeng/container/AEBaseContainer.java +++ b/src/main/java/appeng/container/AEBaseContainer.java @@ -28,7 +28,7 @@ import alexiil.mc.lib.attributes.item.ItemTransferable; import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.container.Container; import net.minecraft.inventory.container.ContainerType; @@ -242,7 +242,7 @@ public abstract class AEBaseContainer extends Container { return this.getPlayerInventory(); } - public BlockEntity getTileEntity() { + public BlockEntity getBlockEntity() { return this.tileEntity; } @@ -303,7 +303,7 @@ public abstract class AEBaseContainer extends Container { if (Platform.isServer()) { if (this.tileEntity != null - && this.tileEntity.getWorld().getTileEntity(this.tileEntity.getPos()) != this.tileEntity) { + && this.tileEntity.getWorld().getBlockEntity(this.tileEntity.getPos()) != this.tileEntity) { this.setValidContainer(false); } diff --git a/src/main/java/appeng/container/ContainerLocator.java b/src/main/java/appeng/container/ContainerLocator.java index 1c5dec62e..854f04af9 100644 --- a/src/main/java/appeng/container/ContainerLocator.java +++ b/src/main/java/appeng/container/ContainerLocator.java @@ -25,7 +25,7 @@ import io.netty.handler.codec.DecoderException; import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; @@ -95,7 +95,7 @@ public final class ContainerLocator { * could still open a container for itself, but it might also open a special * container for the block being right-clicked. */ - public static ContainerLocator forItemUseContext(ItemUseContext context) { + public static ContainerLocator forItemUseContext(ItemUsageContext context) { PlayerEntity player = context.getPlayer(); if (player == null) { throw new IllegalArgumentException("Cannot open a container without a player"); @@ -103,7 +103,7 @@ public final class ContainerLocator { int dimensionId = player.world.getDimension().getType().getId(); int slot = getPlayerInventorySlotFromHand(player, context.getHand()); AEPartLocation side = AEPartLocation.fromFacing(context.getFace()); - return new ContainerLocator(Type.PLAYER_INVENTORY_WITH_BLOCK_CONTEXT, slot, dimensionId, context.getPos(), + return new ContainerLocator(Type.PLAYER_INVENTORY_WITH_BLOCK_CONTEXT, slot, dimensionId, context.getBlockPos(), side); } @@ -113,7 +113,7 @@ public final class ContainerLocator { } private static int getPlayerInventorySlotFromHand(PlayerEntity player, Hand hand) { - ItemStack is = player.getHeldItem(hand); + ItemStack is = player.getStackInHand(hand); if (is.isEmpty()) { throw new IllegalArgumentException("Cannot open an item-inventory with empty hands"); } diff --git a/src/main/java/appeng/container/guisync/SyncData.java b/src/main/java/appeng/container/guisync/SyncData.java index 523b14029..adb170c1a 100644 --- a/src/main/java/appeng/container/guisync/SyncData.java +++ b/src/main/java/appeng/container/guisync/SyncData.java @@ -23,7 +23,7 @@ import java.lang.invoke.MethodHandles; import java.lang.reflect.Field; import java.util.Objects; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.IContainerListener; import net.minecraft.text.Text; diff --git a/src/main/java/appeng/container/implementations/CellWorkbenchContainer.java b/src/main/java/appeng/container/implementations/CellWorkbenchContainer.java index 4a63154c7..2b23d8ec4 100644 --- a/src/main/java/appeng/container/implementations/CellWorkbenchContainer.java +++ b/src/main/java/appeng/container/implementations/CellWorkbenchContainer.java @@ -23,13 +23,13 @@ import java.util.Iterator; import alexiil.mc.lib.attributes.item.ItemTransferable; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.ContainerType; import net.minecraft.inventory.container.IContainerListener; import net.minecraft.inventory.container.Slot; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketByteBuf; -import net.minecraftforge.items.wrapper.EmptyHandler; +import alexiil.mc.lib.attributes.item.impl.EmptyFixedItemInv; import appeng.api.AEApi; import appeng.api.config.CopyMode; @@ -47,7 +47,7 @@ import appeng.container.guisync.GuiSync; import appeng.container.slot.FakeTypeOnlySlot; import appeng.container.slot.OptionalRestrictedInputSlot; import appeng.container.slot.RestrictedInputSlot; -import appeng.tile.misc.CellWorkbenchTileEntity; +import appeng.tile.misc.CellWorkbenchBlockEntity; import appeng.util.EnumCycler; import appeng.util.Platform; import appeng.util.helpers.ItemHandlerUtil; @@ -58,16 +58,16 @@ public class CellWorkbenchContainer extends UpgradeableContainer { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - CellWorkbenchContainer::new, CellWorkbenchTileEntity.class); + private static final ContainerHelper helper = new ContainerHelper<>( + CellWorkbenchContainer::new, CellWorkbenchBlockEntity.class); - private final CellWorkbenchTileEntity workBench; + private final CellWorkbenchBlockEntity workBench; @GuiSync(2) public CopyMode copyMode = CopyMode.CLEAR_ON_REMOVE; private ItemStack prevStack = ItemStack.EMPTY; private int lastUpgrades = 0; - public CellWorkbenchContainer(int id, final PlayerInventory ip, final CellWorkbenchTileEntity te) { + public CellWorkbenchContainer(int id, final PlayerInventory ip, final CellWorkbenchBlockEntity te) { super(TYPE, id, ip, te); this.workBench = te; } @@ -185,7 +185,7 @@ public class CellWorkbenchContainer extends UpgradeableContainer { public ItemTransferable getCellUpgradeInventory() { final ItemTransferable upgradeInventory = this.workBench.getCellUpgradeInventory(); - return upgradeInventory == null ? EmptyHandler.INSTANCE : upgradeInventory; + return upgradeInventory == null ? EmptyFixedItemInv.INSTANCE : upgradeInventory; } @Override diff --git a/src/main/java/appeng/container/implementations/ChestContainer.java b/src/main/java/appeng/container/implementations/ChestContainer.java index 5326b2743..e06143cb9 100644 --- a/src/main/java/appeng/container/implementations/ChestContainer.java +++ b/src/main/java/appeng/container/implementations/ChestContainer.java @@ -27,16 +27,16 @@ import appeng.api.config.SecurityPermissions; import appeng.container.AEBaseContainer; import appeng.container.ContainerLocator; import appeng.container.slot.RestrictedInputSlot; -import appeng.tile.storage.ChestTileEntity; +import appeng.tile.storage.ChestBlockEntity; public class ChestContainer extends AEBaseContainer { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - ChestContainer::new, ChestTileEntity.class, SecurityPermissions.BUILD); + private static final ContainerHelper helper = new ContainerHelper<>( + ChestContainer::new, ChestBlockEntity.class, SecurityPermissions.BUILD); - public ChestContainer(int id, final PlayerInventory ip, final ChestTileEntity chest) { + public ChestContainer(int id, final PlayerInventory ip, final ChestBlockEntity chest) { super(TYPE, id, ip, chest, null); this.addSlot(new RestrictedInputSlot(RestrictedInputSlot.PlacableItemType.STORAGE_CELLS, diff --git a/src/main/java/appeng/container/implementations/CondenserContainer.java b/src/main/java/appeng/container/implementations/CondenserContainer.java index 18c2d7b09..e5082a3bc 100644 --- a/src/main/java/appeng/container/implementations/CondenserContainer.java +++ b/src/main/java/appeng/container/implementations/CondenserContainer.java @@ -32,17 +32,17 @@ import appeng.container.guisync.GuiSync; import appeng.container.interfaces.IProgressProvider; import appeng.container.slot.OutputSlot; import appeng.container.slot.RestrictedInputSlot; -import appeng.tile.misc.CondenserTileEntity; +import appeng.tile.misc.CondenserBlockEntity; import appeng.util.Platform; public class CondenserContainer extends AEBaseContainer implements IProgressProvider { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - CondenserContainer::new, CondenserTileEntity.class); + private static final ContainerHelper helper = new ContainerHelper<>( + CondenserContainer::new, CondenserBlockEntity.class); - private final CondenserTileEntity condenser; + private final CondenserBlockEntity condenser; @GuiSync(0) public long requiredEnergy = 0; @GuiSync(1) @@ -50,7 +50,7 @@ public class CondenserContainer extends AEBaseContainer implements IProgressProv @GuiSync(2) public CondenserOutput output = CondenserOutput.TRASH; - public CondenserContainer(int id, final PlayerInventory ip, final CondenserTileEntity condenser) { + public CondenserContainer(int id, final PlayerInventory ip, final CondenserBlockEntity condenser) { super(TYPE, id, ip, condenser, null); this.condenser = condenser; diff --git a/src/main/java/appeng/container/implementations/ContainerHelper.java b/src/main/java/appeng/container/implementations/ContainerHelper.java index e97277deb..656258a6e 100644 --- a/src/main/java/appeng/container/implementations/ContainerHelper.java +++ b/src/main/java/appeng/container/implementations/ContainerHelper.java @@ -2,7 +2,7 @@ package appeng.container.implementations; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.INamedContainerProvider; import net.minecraft.inventory.container.SimpleNamedContainerProvider; import net.minecraft.item.ItemStack; @@ -10,7 +10,7 @@ import net.minecraft.network.PacketByteBuf; import net.minecraft.block.entity.BlockEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; +import net.minecraft.text.LiteralText; import net.minecraft.text.TranslatableText; import net.minecraft.world.World; import net.minecraftforge.fml.network.NetworkHooks; @@ -116,7 +116,7 @@ public final class ContainerHelper { world.getBlockState(locator.getBlockPos()).getBlock().getTranslationKey()); } - return new StringTextComponent("Unknown"); + return new LiteralText("Unknown"); } @@ -129,7 +129,7 @@ public final class ContainerHelper { return null; // No block was clicked } - BlockEntity tileEntity = player.world.getTileEntity(locator.getBlockPos()); + BlockEntity tileEntity = player.world.getBlockEntity(locator.getBlockPos()); // The tile entity itself can host a terminal (i.e. Chest!) if (interfaceClass.isInstance(tileEntity)) { diff --git a/src/main/java/appeng/container/implementations/CraftConfirmContainer.java b/src/main/java/appeng/container/implementations/CraftConfirmContainer.java index 682bfd4d0..a3c6fbd8f 100644 --- a/src/main/java/appeng/container/implementations/CraftConfirmContainer.java +++ b/src/main/java/appeng/container/implementations/CraftConfirmContainer.java @@ -29,12 +29,12 @@ import com.google.common.collect.ImmutableSet; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.ContainerType; import net.minecraft.inventory.container.IContainerListener; import net.minecraft.network.PacketByteBuf; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; +import net.minecraft.text.LiteralText; import net.minecraft.world.World; import appeng.api.AEApi; @@ -256,7 +256,7 @@ public class CraftConfirmContainer extends AEBaseContainer { // :P } } catch (final Throwable e) { - this.getPlayerInv().player.sendMessage(new StringTextComponent("Error: " + e.toString())); + this.getPlayerInv().player.sendMessage(new LiteralText("Error: " + e.toString())); AELog.debug(e); this.setValidContainer(false); this.result = null; diff --git a/src/main/java/appeng/container/implementations/CraftingCPUContainer.java b/src/main/java/appeng/container/implementations/CraftingCPUContainer.java index 085504f14..923d023ee 100644 --- a/src/main/java/appeng/container/implementations/CraftingCPUContainer.java +++ b/src/main/java/appeng/container/implementations/CraftingCPUContainer.java @@ -22,7 +22,7 @@ import java.io.IOException; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.ContainerType; import net.minecraft.inventory.container.IContainerListener; import net.minecraft.network.PacketByteBuf; @@ -49,7 +49,7 @@ import appeng.core.sync.packets.MEInventoryUpdatePacket; import appeng.helpers.ICustomNameObject; import appeng.me.cluster.IAEMultiBlock; import appeng.me.cluster.implementations.CraftingCPUCluster; -import appeng.tile.crafting.CraftingTileEntity; +import appeng.tile.crafting.CraftingBlockEntity; import appeng.util.Platform; public class CraftingCPUContainer extends AEBaseContainer @@ -57,8 +57,8 @@ public class CraftingCPUContainer extends AEBaseContainer public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - CraftingCPUContainer::new, CraftingTileEntity.class, SecurityPermissions.CRAFT); + private static final ContainerHelper helper = new ContainerHelper<>( + CraftingCPUContainer::new, CraftingBlockEntity.class, SecurityPermissions.CRAFT); private final IItemList list = AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class) .createList(); @@ -69,7 +69,7 @@ public class CraftingCPUContainer extends AEBaseContainer @GuiSync(0) public long eta = -1; - private CraftingCPUContainer(int id, final PlayerInventory ip, final CraftingTileEntity te) { + private CraftingCPUContainer(int id, final PlayerInventory ip, final CraftingBlockEntity te) { this(TYPE, id, ip, te); } @@ -81,7 +81,7 @@ public class CraftingCPUContainer extends AEBaseContainer this.setNetwork(host.getActionableNode().getGrid()); } - if (te instanceof CraftingTileEntity) { + if (te instanceof CraftingBlockEntity) { this.setCPU((ICraftingCPU) ((IAEMultiBlock) te).getCluster()); } diff --git a/src/main/java/appeng/container/implementations/DriveContainer.java b/src/main/java/appeng/container/implementations/DriveContainer.java index 16bc51157..b1d83b084 100644 --- a/src/main/java/appeng/container/implementations/DriveContainer.java +++ b/src/main/java/appeng/container/implementations/DriveContainer.java @@ -26,14 +26,14 @@ import net.minecraft.network.PacketByteBuf; import appeng.container.AEBaseContainer; import appeng.container.ContainerLocator; import appeng.container.slot.RestrictedInputSlot; -import appeng.tile.storage.DriveTileEntity; +import appeng.tile.storage.DriveBlockEntity; public class DriveContainer extends AEBaseContainer { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - DriveContainer::new, DriveTileEntity.class); + private static final ContainerHelper helper = new ContainerHelper<>( + DriveContainer::new, DriveBlockEntity.class); public static DriveContainer fromNetwork(int windowId, PlayerInventory inv, PacketByteBuf buf) { return helper.fromNetwork(windowId, inv, buf); @@ -43,7 +43,7 @@ public class DriveContainer extends AEBaseContainer { return helper.open(player, locator); } - public DriveContainer(int id, final PlayerInventory ip, final DriveTileEntity drive) { + public DriveContainer(int id, final PlayerInventory ip, final DriveBlockEntity drive) { super(TYPE, id, ip, drive, null); for (int y = 0; y < 5; y++) { diff --git a/src/main/java/appeng/container/implementations/GrinderContainer.java b/src/main/java/appeng/container/implementations/GrinderContainer.java index 09459dcb8..76631cacb 100644 --- a/src/main/java/appeng/container/implementations/GrinderContainer.java +++ b/src/main/java/appeng/container/implementations/GrinderContainer.java @@ -29,14 +29,14 @@ import appeng.container.ContainerLocator; import appeng.container.slot.InaccessibleSlot; import appeng.container.slot.OutputSlot; import appeng.container.slot.RestrictedInputSlot; -import appeng.tile.grindstone.GrinderTileEntity; +import appeng.tile.grindstone.GrinderBlockEntity; public class GrinderContainer extends AEBaseContainer { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - GrinderContainer::new, GrinderTileEntity.class); + private static final ContainerHelper helper = new ContainerHelper<>( + GrinderContainer::new, GrinderBlockEntity.class); public static GrinderContainer fromNetwork(int windowId, PlayerInventory inv, PacketByteBuf buf) { return helper.fromNetwork(windowId, inv, buf); @@ -46,7 +46,7 @@ public class GrinderContainer extends AEBaseContainer { return helper.open(player, locator); } - public GrinderContainer(int id, final PlayerInventory ip, final GrinderTileEntity grinder) { + public GrinderContainer(int id, final PlayerInventory ip, final GrinderBlockEntity grinder) { super(TYPE, id, ip, grinder, null); ItemTransferable inv = grinder.getInternalInventory(); diff --git a/src/main/java/appeng/container/implementations/IOPortContainer.java b/src/main/java/appeng/container/implementations/IOPortContainer.java index 50bb5d175..610f5cadb 100644 --- a/src/main/java/appeng/container/implementations/IOPortContainer.java +++ b/src/main/java/appeng/container/implementations/IOPortContainer.java @@ -33,15 +33,15 @@ import appeng.container.ContainerLocator; import appeng.container.guisync.GuiSync; import appeng.container.slot.OutputSlot; import appeng.container.slot.RestrictedInputSlot; -import appeng.tile.storage.IOPortTileEntity; +import appeng.tile.storage.IOPortBlockEntity; import appeng.util.Platform; public class IOPortContainer extends UpgradeableContainer { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - IOPortContainer::new, IOPortTileEntity.class, SecurityPermissions.BUILD); + private static final ContainerHelper helper = new ContainerHelper<>( + IOPortContainer::new, IOPortBlockEntity.class, SecurityPermissions.BUILD); public static IOPortContainer fromNetwork(int windowId, PlayerInventory inv, PacketByteBuf buf) { return helper.fromNetwork(windowId, inv, buf); @@ -56,7 +56,7 @@ public class IOPortContainer extends UpgradeableContainer { @GuiSync(3) public OperationMode opMode = OperationMode.EMPTY; - public IOPortContainer(int id, final PlayerInventory ip, final IOPortTileEntity te) { + public IOPortContainer(int id, final PlayerInventory ip, final IOPortBlockEntity te) { super(TYPE, id, ip, te); } diff --git a/src/main/java/appeng/container/implementations/InscriberContainer.java b/src/main/java/appeng/container/implementations/InscriberContainer.java index 6f72c69dc..580a65a0e 100644 --- a/src/main/java/appeng/container/implementations/InscriberContainer.java +++ b/src/main/java/appeng/container/implementations/InscriberContainer.java @@ -34,7 +34,7 @@ import appeng.container.interfaces.IProgressProvider; import appeng.container.slot.OutputSlot; import appeng.container.slot.RestrictedInputSlot; import appeng.tile.misc.InscriberRecipes; -import appeng.tile.misc.InscriberTileEntity; +import appeng.tile.misc.InscriberBlockEntity; import appeng.util.Platform; /** @@ -47,8 +47,8 @@ public class InscriberContainer extends UpgradeableContainer implements IProgres public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - InscriberContainer::new, InscriberTileEntity.class); + private static final ContainerHelper helper = new ContainerHelper<>( + InscriberContainer::new, InscriberBlockEntity.class); public static InscriberContainer fromNetwork(int windowId, PlayerInventory inv, PacketByteBuf buf) { return helper.fromNetwork(windowId, inv, buf); @@ -58,7 +58,7 @@ public class InscriberContainer extends UpgradeableContainer implements IProgres return helper.open(player, locator); } - private final InscriberTileEntity ti; + private final InscriberBlockEntity ti; private final Slot top; private final Slot middle; @@ -70,7 +70,7 @@ public class InscriberContainer extends UpgradeableContainer implements IProgres @GuiSync(3) public int processingTime = -1; - public InscriberContainer(int id, final PlayerInventory ip, final InscriberTileEntity te) { + public InscriberContainer(int id, final PlayerInventory ip, final InscriberBlockEntity te) { super(TYPE, id, ip, te); this.ti = te; diff --git a/src/main/java/appeng/container/implementations/InterfaceTerminalContainer.java b/src/main/java/appeng/container/implementations/InterfaceTerminalContainer.java index 4e985dcb4..fc3bff90d 100644 --- a/src/main/java/appeng/container/implementations/InterfaceTerminalContainer.java +++ b/src/main/java/appeng/container/implementations/InterfaceTerminalContainer.java @@ -25,7 +25,7 @@ import java.util.Map.Entry; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; @@ -50,7 +50,7 @@ import appeng.items.misc.EncodedPatternItem; import appeng.parts.misc.InterfacePart; import appeng.parts.reporting.InterfaceTerminalPart; import appeng.tile.inventory.AppEngInternalInventory; -import appeng.tile.misc.InterfaceTileEntity; +import appeng.tile.misc.InterfaceBlockEntity; import appeng.util.InventoryAdaptor; import appeng.util.Platform; import appeng.util.helpers.ItemHandlerUtil; @@ -114,7 +114,7 @@ public final class InterfaceTerminalContainer extends AEBaseContainer { if (host != null) { final IGridNode agn = host.getActionableNode(); if (agn != null && agn.isActive()) { - for (final IGridNode gn : this.grid.getMachines(InterfaceTileEntity.class)) { + for (final IGridNode gn : this.grid.getMachines(InterfaceBlockEntity.class)) { if (gn.isActive()) { final IInterfaceHost ih = (IInterfaceHost) gn.getMachine(); if (ih.getInterfaceDuality().getConfigManager() @@ -288,7 +288,7 @@ public final class InterfaceTerminalContainer extends AEBaseContainer { if (host != null) { final IGridNode agn = host.getActionableNode(); if (agn != null && agn.isActive()) { - for (final IGridNode gn : this.grid.getMachines(InterfaceTileEntity.class)) { + for (final IGridNode gn : this.grid.getMachines(InterfaceBlockEntity.class)) { final IInterfaceHost ih = (IInterfaceHost) gn.getMachine(); final DualityInterface dual = ih.getInterfaceDuality(); if (gn.isActive() && dual.getConfigManager().getSetting(Settings.INTERFACE_TERMINAL) == YesNo.YES) { diff --git a/src/main/java/appeng/container/implementations/MEMonitorableContainer.java b/src/main/java/appeng/container/implementations/MEMonitorableContainer.java index 4d93dc813..8357f5b73 100644 --- a/src/main/java/appeng/container/implementations/MEMonitorableContainer.java +++ b/src/main/java/appeng/container/implementations/MEMonitorableContainer.java @@ -25,7 +25,7 @@ import javax.annotation.Nonnull; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.ContainerType; import net.minecraft.inventory.container.IContainerListener; import net.minecraft.item.ItemStack; diff --git a/src/main/java/appeng/container/implementations/MolecularAssemblerContainer.java b/src/main/java/appeng/container/implementations/MolecularAssemblerContainer.java index 401033eaa..071e37e5a 100644 --- a/src/main/java/appeng/container/implementations/MolecularAssemblerContainer.java +++ b/src/main/java/appeng/container/implementations/MolecularAssemblerContainer.java @@ -39,15 +39,15 @@ import appeng.container.slot.MolecularAssemblerPatternSlot; import appeng.container.slot.OutputSlot; import appeng.container.slot.RestrictedInputSlot; import appeng.items.misc.EncodedPatternItem; -import appeng.tile.crafting.MolecularAssemblerTileEntity; +import appeng.tile.crafting.MolecularAssemblerBlockEntity; import appeng.util.Platform; public class MolecularAssemblerContainer extends UpgradeableContainer implements IProgressProvider { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - MolecularAssemblerContainer::new, MolecularAssemblerTileEntity.class); + private static final ContainerHelper helper = new ContainerHelper<>( + MolecularAssemblerContainer::new, MolecularAssemblerBlockEntity.class); public static MolecularAssemblerContainer fromNetwork(int windowId, PlayerInventory inv, PacketByteBuf buf) { return helper.fromNetwork(windowId, inv, buf); @@ -58,19 +58,19 @@ public class MolecularAssemblerContainer extends UpgradeableContainer implements } private static final int MAX_CRAFT_PROGRESS = 100; - private final MolecularAssemblerTileEntity tma; + private final MolecularAssemblerBlockEntity tma; @GuiSync(4) public int craftProgress = 0; private Slot encodedPatternSlot; - public MolecularAssemblerContainer(int id, final PlayerInventory ip, final MolecularAssemblerTileEntity te) { + public MolecularAssemblerContainer(int id, final PlayerInventory ip, final MolecularAssemblerBlockEntity te) { super(TYPE, id, ip, te); this.tma = te; } public boolean isValidItemForSlot(final int slotIndex, final ItemStack i) { - final ItemTransferable mac = this.getUpgradeable().getInventoryByName(MolecularAssemblerTileEntity.INVENTORY_MAIN); + final ItemTransferable mac = this.getUpgradeable().getInventoryByName(MolecularAssemblerBlockEntity.INVENTORY_MAIN); final ItemStack is = mac.getStackInSlot(10); if (is.isEmpty()) { @@ -78,7 +78,7 @@ public class MolecularAssemblerContainer extends UpgradeableContainer implements } if (is.getItem() instanceof EncodedPatternItem) { - final World w = this.getTileEntity().getWorld(); + final World w = this.getBlockEntity().getWorld(); final EncodedPatternItem iep = (EncodedPatternItem) is.getItem(); final ICraftingPatternDetails ph = iep.getPatternForItem(is, w); if (ph.isCraftable()) { @@ -99,7 +99,7 @@ public class MolecularAssemblerContainer extends UpgradeableContainer implements int offX = 29; int offY = 30; - final ItemTransferable mac = this.getUpgradeable().getInventoryByName(MolecularAssemblerTileEntity.INVENTORY_MAIN); + final ItemTransferable mac = this.getUpgradeable().getInventoryByName(MolecularAssemblerBlockEntity.INVENTORY_MAIN); for (int y = 0; y < 3; y++) { for (int x = 0; x < 3; x++) { diff --git a/src/main/java/appeng/container/implementations/NetworkStatusContainer.java b/src/main/java/appeng/container/implementations/NetworkStatusContainer.java index dca667045..3494474e3 100644 --- a/src/main/java/appeng/container/implementations/NetworkStatusContainer.java +++ b/src/main/java/appeng/container/implementations/NetworkStatusContainer.java @@ -22,7 +22,7 @@ import java.io.IOException; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketByteBuf; diff --git a/src/main/java/appeng/container/implementations/PatternTermContainer.java b/src/main/java/appeng/container/implementations/PatternTermContainer.java index 4cf36bee4..e68a66c08 100644 --- a/src/main/java/appeng/container/implementations/PatternTermContainer.java +++ b/src/main/java/appeng/container/implementations/PatternTermContainer.java @@ -25,7 +25,7 @@ import java.util.Optional; import alexiil.mc.lib.attributes.item.ItemTransferable; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.CraftResultInventory; import net.minecraft.inventory.CraftingInventory; import net.minecraft.inventory.container.ContainerType; diff --git a/src/main/java/appeng/container/implementations/QNBContainer.java b/src/main/java/appeng/container/implementations/QNBContainer.java index d661611ca..c5aa88e79 100644 --- a/src/main/java/appeng/container/implementations/QNBContainer.java +++ b/src/main/java/appeng/container/implementations/QNBContainer.java @@ -27,14 +27,14 @@ import appeng.api.config.SecurityPermissions; import appeng.container.AEBaseContainer; import appeng.container.ContainerLocator; import appeng.container.slot.RestrictedInputSlot; -import appeng.tile.qnb.QuantumBridgeTileEntity; +import appeng.tile.qnb.QuantumBridgeBlockEntity; public class QNBContainer extends AEBaseContainer { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - QNBContainer::new, QuantumBridgeTileEntity.class, SecurityPermissions.BUILD); + private static final ContainerHelper helper = new ContainerHelper<>( + QNBContainer::new, QuantumBridgeBlockEntity.class, SecurityPermissions.BUILD); public static QNBContainer fromNetwork(int windowId, PlayerInventory inv, PacketByteBuf buf) { return helper.fromNetwork(windowId, inv, buf); @@ -44,7 +44,7 @@ public class QNBContainer extends AEBaseContainer { return helper.open(player, locator); } - public QNBContainer(int id, final PlayerInventory ip, final QuantumBridgeTileEntity quantumBridge) { + public QNBContainer(int id, final PlayerInventory ip, final QuantumBridgeBlockEntity quantumBridge) { super(TYPE, id, ip, quantumBridge, null); this.addSlot((new RestrictedInputSlot(RestrictedInputSlot.PlacableItemType.QE_SINGULARITY, diff --git a/src/main/java/appeng/container/implementations/SecurityStationContainer.java b/src/main/java/appeng/container/implementations/SecurityStationContainer.java index a40785606..15e1e3203 100644 --- a/src/main/java/appeng/container/implementations/SecurityStationContainer.java +++ b/src/main/java/appeng/container/implementations/SecurityStationContainer.java @@ -37,7 +37,7 @@ import appeng.container.guisync.GuiSync; import appeng.container.slot.OutputSlot; import appeng.container.slot.RestrictedInputSlot; import appeng.tile.inventory.AppEngInternalInventory; -import appeng.tile.misc.SecurityStationTileEntity; +import appeng.tile.misc.SecurityStationBlockEntity; import appeng.util.inv.IAEAppEngInventory; import appeng.util.inv.InvOperation; @@ -55,14 +55,14 @@ public class SecurityStationContainer extends MEMonitorableContainer implements private final RestrictedInputSlot wirelessIn; private final OutputSlot wirelessOut; - private final SecurityStationTileEntity securityBox; + private final SecurityStationBlockEntity securityBox; @GuiSync(0) public int permissionMode = 0; public SecurityStationContainer(int id, final PlayerInventory ip, final ITerminalHost monitorable) { super(TYPE, id, ip, monitorable, false); - this.securityBox = (SecurityStationTileEntity) monitorable; + this.securityBox = (SecurityStationBlockEntity) monitorable; this.addSlot(this.configSlot = new RestrictedInputSlot(RestrictedInputSlot.PlacableItemType.BIOMETRIC_CARD, this.securityBox.getConfigSlot(), 0, 37, -33, ip)); diff --git a/src/main/java/appeng/container/implementations/SkyChestContainer.java b/src/main/java/appeng/container/implementations/SkyChestContainer.java index 98b60b5da..d2c171437 100644 --- a/src/main/java/appeng/container/implementations/SkyChestContainer.java +++ b/src/main/java/appeng/container/implementations/SkyChestContainer.java @@ -26,18 +26,18 @@ import net.minecraft.network.PacketByteBuf; import appeng.container.AEBaseContainer; import appeng.container.ContainerLocator; import appeng.container.slot.NormalSlot; -import appeng.tile.storage.SkyChestTileEntity; +import appeng.tile.storage.SkyChestBlockEntity; public class SkyChestContainer extends AEBaseContainer { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - SkyChestContainer::new, SkyChestTileEntity.class); + private static final ContainerHelper helper = new ContainerHelper<>( + SkyChestContainer::new, SkyChestBlockEntity.class); - private final SkyChestTileEntity chest; + private final SkyChestBlockEntity chest; - public SkyChestContainer(int id, final PlayerInventory ip, final SkyChestTileEntity chest) { + public SkyChestContainer(int id, final PlayerInventory ip, final SkyChestBlockEntity chest) { super(TYPE, id, ip, chest, null); this.chest = chest; diff --git a/src/main/java/appeng/container/implementations/SpatialIOPortContainer.java b/src/main/java/appeng/container/implementations/SpatialIOPortContainer.java index e82831b81..10bd271b6 100644 --- a/src/main/java/appeng/container/implementations/SpatialIOPortContainer.java +++ b/src/main/java/appeng/container/implementations/SpatialIOPortContainer.java @@ -34,15 +34,15 @@ import appeng.container.ContainerLocator; import appeng.container.guisync.GuiSync; import appeng.container.slot.OutputSlot; import appeng.container.slot.RestrictedInputSlot; -import appeng.tile.spatial.SpatialIOPortTileEntity; +import appeng.tile.spatial.SpatialIOPortBlockEntity; import appeng.util.Platform; public class SpatialIOPortContainer extends AEBaseContainer { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - SpatialIOPortContainer::new, SpatialIOPortTileEntity.class, SecurityPermissions.BUILD); + private static final ContainerHelper helper = new ContainerHelper<>( + SpatialIOPortContainer::new, SpatialIOPortBlockEntity.class, SecurityPermissions.BUILD); @GuiSync(0) public long currentPower; @@ -62,7 +62,7 @@ public class SpatialIOPortContainer extends AEBaseContainer { @GuiSync(33) public int zSize; - public SpatialIOPortContainer(int id, final PlayerInventory ip, final SpatialIOPortTileEntity spatialIOPort) { + public SpatialIOPortContainer(int id, final PlayerInventory ip, final SpatialIOPortBlockEntity spatialIOPort) { super(TYPE, id, ip, spatialIOPort, null); if (Platform.isServer()) { diff --git a/src/main/java/appeng/container/implementations/VibrationChamberContainer.java b/src/main/java/appeng/container/implementations/VibrationChamberContainer.java index b5b34c75a..b377d990e 100644 --- a/src/main/java/appeng/container/implementations/VibrationChamberContainer.java +++ b/src/main/java/appeng/container/implementations/VibrationChamberContainer.java @@ -28,15 +28,15 @@ import appeng.container.ContainerLocator; import appeng.container.guisync.GuiSync; import appeng.container.interfaces.IProgressProvider; import appeng.container.slot.RestrictedInputSlot; -import appeng.tile.misc.VibrationChamberTileEntity; +import appeng.tile.misc.VibrationChamberBlockEntity; import appeng.util.Platform; public class VibrationChamberContainer extends AEBaseContainer implements IProgressProvider { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - VibrationChamberContainer::new, VibrationChamberTileEntity.class); + private static final ContainerHelper helper = new ContainerHelper<>( + VibrationChamberContainer::new, VibrationChamberBlockEntity.class); public static VibrationChamberContainer fromNetwork(int windowId, PlayerInventory inv, PacketByteBuf buf) { return helper.fromNetwork(windowId, inv, buf); @@ -46,14 +46,14 @@ public class VibrationChamberContainer extends AEBaseContainer implements IProgr return helper.open(player, locator); } - private final VibrationChamberTileEntity vibrationChamber; + private final VibrationChamberBlockEntity vibrationChamber; @GuiSync(0) public int burnSpeed = 0; @GuiSync(1) public int remainingBurnTime = 0; public VibrationChamberContainer(int id, final PlayerInventory ip, - final VibrationChamberTileEntity vibrationChamber) { + final VibrationChamberBlockEntity vibrationChamber) { super(TYPE, id, ip, vibrationChamber, null); this.vibrationChamber = vibrationChamber; @@ -85,6 +85,6 @@ public class VibrationChamberContainer extends AEBaseContainer implements IProgr @Override public int getMaxProgress() { - return VibrationChamberTileEntity.MAX_BURN_SPEED; + return VibrationChamberBlockEntity.MAX_BURN_SPEED; } } diff --git a/src/main/java/appeng/container/implementations/WirelessContainer.java b/src/main/java/appeng/container/implementations/WirelessContainer.java index e4764b45c..53d219840 100644 --- a/src/main/java/appeng/container/implementations/WirelessContainer.java +++ b/src/main/java/appeng/container/implementations/WirelessContainer.java @@ -29,14 +29,14 @@ import appeng.container.ContainerLocator; import appeng.container.guisync.GuiSync; import appeng.container.slot.RestrictedInputSlot; import appeng.core.AEConfig; -import appeng.tile.networking.WirelessTileEntity; +import appeng.tile.networking.WirelessBlockEntity; public class WirelessContainer extends AEBaseContainer { public static ContainerType TYPE; - private static final ContainerHelper helper = new ContainerHelper<>( - WirelessContainer::new, WirelessTileEntity.class, SecurityPermissions.BUILD); + private static final ContainerHelper helper = new ContainerHelper<>( + WirelessContainer::new, WirelessBlockEntity.class, SecurityPermissions.BUILD); public static WirelessContainer fromNetwork(int windowId, PlayerInventory inv, PacketByteBuf buf) { return helper.fromNetwork(windowId, inv, buf); @@ -52,7 +52,7 @@ public class WirelessContainer extends AEBaseContainer { @GuiSync(2) public long drain = 0; - public WirelessContainer(int id, final PlayerInventory ip, final WirelessTileEntity te) { + public WirelessContainer(int id, final PlayerInventory ip, final WirelessBlockEntity te) { super(TYPE, id, ip, te, null); this.addSlot(this.boosterSlot = new RestrictedInputSlot(RestrictedInputSlot.PlacableItemType.RANGE_BOOSTER, diff --git a/src/main/java/appeng/core/AELog.java b/src/main/java/appeng/core/AELog.java index 84c58dab2..02cf67b90 100644 --- a/src/main/java/appeng/core/AELog.java +++ b/src/main/java/appeng/core/AELog.java @@ -29,7 +29,7 @@ import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import appeng.api.features.AEFeature; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.util.Platform; public final class AELog { @@ -301,7 +301,7 @@ public final class AELog { * @param aeBaseTile */ public static void blockUpdate(@Nonnull final BlockPos pos, @Nonnull BlockState currentState, - @Nonnull BlockState newState, @Nonnull final AEBaseTileEntity aeBaseTile) { + @Nonnull BlockState newState, @Nonnull final AEBaseBlockEntity aeBaseTile) { if (AEConfig.instance().isFeatureEnabled(AEFeature.UPDATE_LOGGING)) { info(BLOCK_UPDATE, aeBaseTile.getClass().getName(), pos, currentState, newState); } diff --git a/src/main/java/appeng/core/AppEng.java b/src/main/java/appeng/core/AppEng.java index a6080d6b4..4ae8ad634 100644 --- a/src/main/java/appeng/core/AppEng.java +++ b/src/main/java/appeng/core/AppEng.java @@ -27,7 +27,7 @@ import com.google.common.base.Stopwatch; import net.fabricmc.api.Environment; import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.entity.EntityType; import net.minecraft.inventory.container.ContainerType; @@ -166,11 +166,11 @@ public final class AppEng { RenderingRegistry.registerEntityRenderingHandler(TinyTNTPrimedEntity.TYPE, TinyTNTPrimedRenderer::new); RenderingRegistry.registerEntityRenderingHandler(SingularityEntity.TYPE, - m -> new ItemRenderer(m, Minecraft.getInstance().getItemRenderer())); + m -> new ItemRenderer(m, MinecraftClient.getInstance().getItemRenderer())); RenderingRegistry.registerEntityRenderingHandler(GrowingCrystalEntity.TYPE, - m -> new ItemRenderer(m, Minecraft.getInstance().getItemRenderer())); + m -> new ItemRenderer(m, MinecraftClient.getInstance().getItemRenderer())); RenderingRegistry.registerEntityRenderingHandler(ChargedQuartzEntity.TYPE, - m -> new ItemRenderer(m, Minecraft.getInstance().getItemRenderer())); + m -> new ItemRenderer(m, MinecraftClient.getInstance().getItemRenderer())); // TODO: Do not use the internal API final ApiDefinitions definitions = Api.INSTANCE.definitions(); @@ -296,4 +296,8 @@ public final class AppEng { TickHandler.INSTANCE.shutdown(); } + public static Identifier makeId(String id) { + return new Identifier(MOD_ID, id); + } + } diff --git a/src/main/java/appeng/core/Registration.java b/src/main/java/appeng/core/Registration.java index cc5b487bf..17c58f835 100644 --- a/src/main/java/appeng/core/Registration.java +++ b/src/main/java/appeng/core/Registration.java @@ -20,16 +20,13 @@ package appeng.core; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.advancements.CriteriaTriggers; -import net.minecraft.block.Block; +import net.minecraft.advancement.criterion.Criteria; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.ScreenManager; import net.minecraft.client.particle.ParticleManager; -import net.minecraft.entity.EntityType; import net.minecraft.inventory.container.ContainerType; -import net.minecraft.item.Item; import net.minecraft.item.crafting.IRecipeSerializer; import net.minecraft.particles.ParticleType; import net.minecraft.util.Identifier; @@ -94,7 +91,6 @@ import appeng.core.features.registries.cell.BasicItemCellGuiHandler; import appeng.core.features.registries.cell.CreativeCellHandler; import appeng.core.stats.AdvancementTriggers; import appeng.core.stats.AeStats; -import appeng.core.stats.PartItemPredicate; import appeng.fluids.client.gui.*; import appeng.fluids.container.*; import appeng.fluids.registries.BasicFluidCellGuiHandler; @@ -109,7 +105,7 @@ import appeng.recipes.handlers.InscriberRecipeSerializer; import appeng.server.AECommand; import appeng.spatial.StorageCellBiome; import appeng.spatial.StorageCellModDimension; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.tile.crafting.MolecularAssemblerRenderer; import appeng.worldgen.ChargedQuartzOreConfig; import appeng.worldgen.ChargedQuartzOreFeature; @@ -119,7 +115,7 @@ final class Registration { public Registration() { AeStats.register(); - advancementTriggers = new AdvancementTriggers(CriteriaTriggers::register); + advancementTriggers = new AdvancementTriggers(Criteria::register); } AdvancementTriggers advancementTriggers; @@ -145,8 +141,6 @@ final class Registration { registries.cell().addCellGuiHandler(new BasicFluidCellGuiHandler()); registries.matterCannon().registerAmmoItem(api.definitions().materials().matterBall().item(), 32); - - PartItemPredicate.register(); } @Environment(EnvType.CLIENT) @@ -171,24 +165,6 @@ final class Registration { partModels.setInitialized(true); } - public void registerBlocks(RegistryEvent.Register event) { - final IForgeRegistry registry = event.getRegistry(); - // TODO: Do not use the internal API - final ApiDefinitions definitions = Api.INSTANCE.definitions(); - final EnvType dist = FMLEnvironment.dist; - definitions.getRegistry().getBootstrapComponents(IBlockRegistrationComponent.class) - .forEachRemaining(b -> b.blockRegistration(dist, registry)); - } - - public void registerItems(RegistryEvent.Register event) { - final IForgeRegistry registry = event.getRegistry(); - // TODO: Do not use the internal API - final ApiDefinitions definitions = Api.INSTANCE.definitions(); - final EnvType dist = FMLEnvironment.dist; - definitions.getRegistry().getBootstrapComponents(IItemRegistrationComponent.class) - .forEachRemaining(b -> b.itemRegistration(dist, registry)); - } - public void registerTileEntities(RegistryEvent.Register> event) { final IForgeRegistry> registry = event.getRegistry(); // TODO: Do not use the internal API @@ -344,14 +320,6 @@ final class Registration { DisassembleRecipe.SERIALIZER); } - public void registerEntities(RegistryEvent.Register> event) { - final IForgeRegistry> registry = event.getRegistry(); - // TODO: Do not use the internal API - final ApiDefinitions definitions = Api.INSTANCE.definitions(); - definitions.getRegistry().getBootstrapComponents(IEntityRegistrationComponent.class) - .forEachRemaining(b -> b.entityRegistration(registry)); - } - public void registerParticleTypes(RegistryEvent.Register> event) { final IForgeRegistry> registry = event.getRegistry(); registry.register(ParticleTypes.CHARGED_ORE); @@ -365,7 +333,7 @@ final class Registration { @Environment(EnvType.CLIENT) public void registerParticleFactories(ParticleFactoryRegisterEvent event) { - ParticleManager particles = Minecraft.getInstance().particles; + ParticleManager particles = MinecraftClient.getInstance().particles; particles.registerFactory(ParticleTypes.CHARGED_ORE, ChargedOreFX.Factory::new); particles.registerFactory(ParticleTypes.CRAFTING, CraftingFx.Factory::new); particles.registerFactory(ParticleTypes.ENERGY, EnergyFx.Factory::new); @@ -524,7 +492,7 @@ final class Registration { /* * Whitelist AE2 */ - mr.whiteListTileEntity(AEBaseTileEntity.class); + mr.whiteListTileEntity(AEBaseBlockEntity.class); /* * world gen diff --git a/src/main/java/appeng/core/api/ApiClientHelper.java b/src/main/java/appeng/core/api/ApiClientHelper.java index 2456739b8..e4240362f 100644 --- a/src/main/java/appeng/core/api/ApiClientHelper.java +++ b/src/main/java/appeng/core/api/ApiClientHelper.java @@ -20,8 +20,8 @@ package appeng.core.api; import java.util.List; +import net.minecraft.text.LiteralText; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; import appeng.api.config.IncludeExclude; import appeng.api.storage.cells.ICellInventory; @@ -41,13 +41,13 @@ public class ApiClientHelper implements IClientHelper { final ICellInventory cellInventory = handler.getCellInv(); if (cellInventory != null) { - lines.add(new StringTextComponent(cellInventory.getUsedBytes() + " ") - .appendSibling(GuiText.Of.textComponent()).appendText(" " + cellInventory.getTotalBytes() + " ") - .appendSibling(GuiText.BytesUsed.textComponent())); + lines.add(new LiteralText(cellInventory.getUsedBytes() + " ") + .append(GuiText.Of.textComponent()).append(" " + cellInventory.getTotalBytes() + " ") + .append(GuiText.BytesUsed.textComponent())); - lines.add(new StringTextComponent(cellInventory.getStoredItemTypes() + " ") - .appendSibling(GuiText.Of.textComponent()).appendText(" " + cellInventory.getTotalItemTypes() + " ") - .appendSibling(GuiText.Types.textComponent())); + lines.add(new LiteralText(cellInventory.getStoredItemTypes() + " ") + .append(GuiText.Of.textComponent()).append(" " + cellInventory.getTotalItemTypes() + " ") + .append(GuiText.Types.textComponent())); } if (handler.isPreformatted()) { @@ -55,11 +55,11 @@ public class ApiClientHelper implements IClientHelper { : GuiText.Excluded).getLocal(); if (handler.isFuzzy()) { - lines.add(GuiText.Partitioned.textComponent().appendText(" - " + list + " ") - .appendSibling(GuiText.Fuzzy.textComponent())); + lines.add(GuiText.Partitioned.textComponent().append(" - " + list + " ") + .append(GuiText.Fuzzy.textComponent())); } else { - lines.add(GuiText.Partitioned.textComponent().appendText(" - " + list + " ") - .appendSibling(GuiText.Precise.textComponent())); + lines.add(GuiText.Partitioned.textComponent().append(" - " + list + " ") + .append(GuiText.Precise.textComponent())); } } diff --git a/src/main/java/appeng/core/api/definitions/ApiBlocks.java b/src/main/java/appeng/core/api/definitions/ApiBlocks.java index a57e2fffc..92d672080 100644 --- a/src/main/java/appeng/core/api/definitions/ApiBlocks.java +++ b/src/main/java/appeng/core/api/definitions/ApiBlocks.java @@ -22,14 +22,14 @@ import static appeng.block.AEBaseBlock.defaultProps; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.DispenserBlock; import net.minecraft.block.SlabBlock; +import net.minecraft.entity.SpawnGroup; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.block.StairsBlock; import net.minecraft.block.Material; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.entity.EntityClassification; -import net.minecraftforge.common.ToolType; +import net.minecraft.client.render.RenderLayer; import appeng.api.definitions.IBlockDefinition; import appeng.api.definitions.IBlocks; @@ -100,15 +100,15 @@ import appeng.client.render.tesr.CrankTESR; import appeng.client.render.tesr.DriveLedTileEntityRenderer; import appeng.client.render.tesr.SkyChestTESR; import appeng.debug.ChunkLoaderBlock; -import appeng.debug.ChunkLoaderTileEntity; +import appeng.debug.ChunkLoaderBlockEntity; import appeng.debug.CubeGeneratorBlock; -import appeng.debug.CubeGeneratorTileEntity; +import appeng.debug.CubeGeneratorBlockEntity; import appeng.debug.EnergyGeneratorBlock; -import appeng.debug.EnergyGeneratorTileEntity; +import appeng.debug.EnergyGeneratorBlockEntity; import appeng.debug.ItemGenBlock; -import appeng.debug.ItemGenTileEntity; +import appeng.debug.ItemGenBlockEntity; import appeng.debug.PhantomNodeBlock; -import appeng.debug.PhantomNodeTileEntity; +import appeng.debug.PhantomNodeBlockEntity; import appeng.decorative.AEDecorativeBlock; import appeng.decorative.solid.ChargedQuartzOreBlock; import appeng.decorative.solid.QuartzGlassBlock; @@ -119,41 +119,41 @@ import appeng.decorative.solid.SkyStoneBlock; import appeng.decorative.solid.SkyStoneBlock.SkystoneType; import appeng.entity.TinyTNTPrimedEntity; import appeng.fluids.block.FluidInterfaceBlock; -import appeng.fluids.tile.FluidInterfaceTileEntity; +import appeng.fluids.tile.FluidInterfaceBlockEntity; import appeng.hooks.TinyTNTDispenseItemBehavior; -import appeng.tile.crafting.CraftingMonitorTileEntity; -import appeng.tile.crafting.CraftingStorageTileEntity; -import appeng.tile.crafting.CraftingTileEntity; +import appeng.tile.crafting.CraftingMonitorBlockEntity; +import appeng.tile.crafting.CraftingStorageBlockEntity; +import appeng.tile.crafting.CraftingBlockEntity; import appeng.tile.crafting.MolecularAssemblerRenderer; -import appeng.tile.crafting.MolecularAssemblerTileEntity; -import appeng.tile.grindstone.CrankTileEntity; -import appeng.tile.grindstone.GrinderTileEntity; -import appeng.tile.misc.CellWorkbenchTileEntity; -import appeng.tile.misc.ChargerTileEntity; -import appeng.tile.misc.CondenserTileEntity; -import appeng.tile.misc.InscriberTileEntity; -import appeng.tile.misc.InterfaceTileEntity; -import appeng.tile.misc.LightDetectorTileEntity; -import appeng.tile.misc.PaintSplotchesTileEntity; -import appeng.tile.misc.QuartzGrowthAcceleratorTileEntity; -import appeng.tile.misc.SecurityStationTileEntity; -import appeng.tile.misc.SkyCompassTileEntity; -import appeng.tile.misc.VibrationChamberTileEntity; +import appeng.tile.crafting.MolecularAssemblerBlockEntity; +import appeng.tile.grindstone.CrankBlockEntity; +import appeng.tile.grindstone.GrinderBlockEntity; +import appeng.tile.misc.CellWorkbenchBlockEntity; +import appeng.tile.misc.ChargerBlockEntity; +import appeng.tile.misc.CondenserBlockEntity; +import appeng.tile.misc.InscriberBlockEntity; +import appeng.tile.misc.InterfaceBlockEntity; +import appeng.tile.misc.LightDetectorBlockEntity; +import appeng.tile.misc.PaintSplotchesBlockEntity; +import appeng.tile.misc.QuartzGrowthAcceleratorBlockEntity; +import appeng.tile.misc.SecurityStationBlockEntity; +import appeng.tile.misc.SkyCompassBlockEntity; +import appeng.tile.misc.VibrationChamberBlockEntity; import appeng.tile.networking.CableBusTESR; -import appeng.tile.networking.CableBusTileEntity; -import appeng.tile.networking.ControllerTileEntity; -import appeng.tile.networking.CreativeEnergyCellTileEntity; -import appeng.tile.networking.DenseEnergyCellTileEntity; -import appeng.tile.networking.EnergyAcceptorTileEntity; -import appeng.tile.networking.EnergyCellTileEntity; -import appeng.tile.networking.WirelessTileEntity; -import appeng.tile.qnb.QuantumBridgeTileEntity; -import appeng.tile.spatial.SpatialIOPortTileEntity; -import appeng.tile.spatial.SpatialPylonTileEntity; -import appeng.tile.storage.ChestTileEntity; -import appeng.tile.storage.DriveTileEntity; -import appeng.tile.storage.IOPortTileEntity; -import appeng.tile.storage.SkyChestTileEntity; +import appeng.tile.networking.CableBusBlockEntity; +import appeng.tile.networking.ControllerBlockEntity; +import appeng.tile.networking.CreativeEnergyCellBlockEntity; +import appeng.tile.networking.DenseEnergyCellBlockEntity; +import appeng.tile.networking.EnergyAcceptorBlockEntity; +import appeng.tile.networking.EnergyCellBlockEntity; +import appeng.tile.networking.WirelessBlockEntity; +import appeng.tile.qnb.QuantumBridgeBlockEntity; +import appeng.tile.spatial.SpatialIOPortBlockEntity; +import appeng.tile.spatial.SpatialPylonBlockEntity; +import appeng.tile.storage.ChestBlockEntity; +import appeng.tile.storage.DriveBlockEntity; +import appeng.tile.storage.IOPortBlockEntity; +import appeng.tile.storage.SkyChestBlockEntity; /** * Internal implementation for the API blocks @@ -236,9 +236,9 @@ public final class ApiBlocks implements IBlocks { private final IBlockDefinition cubeGenerator; private final IBlockDefinition energyGenerator; - private static final AbstractBlock.Settings QUARTZ_PROPERTIES = defaultProps(Material.ROCK).hardnessAndResistance(3, 5); + private static final AbstractBlock.Settings QUARTZ_PROPERTIES = defaultProps(Material.STONE).strength(3, 5); - private static final AbstractBlock.Settings SKYSTONE_PROPERTIES = defaultProps(Material.ROCK).hardnessAndResistance(50, + private static final AbstractBlock.Settings SKYSTONE_PROPERTIES = defaultProps(Material.STONE).strength(50, 150); public ApiBlocks(FeatureFactory registry) { @@ -249,7 +249,7 @@ public final class ApiBlocks implements IBlocks { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); } }).build(); this.matrixFrame = registry.block("matrix_frame", MatrixFrameBlock::new).features(AEFeature.SPATIAL_IO).build(); @@ -266,7 +266,7 @@ public final class ApiBlocks implements IBlocks { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); } }).build(); this.quartzVibrantGlass = deco @@ -277,7 +277,7 @@ public final class ApiBlocks implements IBlocks { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); } }).build(); @@ -286,7 +286,7 @@ public final class ApiBlocks implements IBlocks { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); } }).build(); @@ -297,7 +297,7 @@ public final class ApiBlocks implements IBlocks { .features( AEFeature.SKY_STONE) .block("sky_stone_block", () -> new SkyStoneBlock(SkystoneType.STONE, - defaultProps(Material.ROCK).hardnessAndResistance(50, 150).harvestLevel(3))) + defaultProps(Material.STONE).strength(50, 150).harvestLevel(3))) .build(); this.smoothSkyStoneBlock = registry.features(AEFeature.SKY_STONE) @@ -310,14 +310,14 @@ public final class ApiBlocks implements IBlocks { .block("sky_stone_small_brick", () -> new SkyStoneBlock(SkystoneType.SMALL_BRICK, SKYSTONE_PROPERTIES)) .addFeatures(AEFeature.SKY_STONE).build(); - AbstractBlock.Settings skyStoneChestProps = defaultProps(Material.ROCK).hardnessAndResistance(50, 150).notSolid(); + AbstractBlock.Settings skyStoneChestProps = defaultProps(Material.STONE).strength(50, 150).notSolid(); TileEntityDefinition skyChestTile = registry - .tileEntity("sky_chest", SkyChestTileEntity.class, SkyChestTileEntity::new) - .rendering(new TileEntityRenderingCustomizer() { + .tileEntity("sky_chest", SkyChestBlockEntity.class, SkyChestBlockEntity::new) + .rendering(new TileEntityRenderingCustomizer() { @Override @Environment(EnvType.CLIENT) - public void customize(TileEntityRendering rendering) { + public void customize(TileEntityRendering rendering) { rendering.tileEntityRenderer(SkyChestTESR::new); } }).build(); @@ -331,70 +331,70 @@ public final class ApiBlocks implements IBlocks { this.skyCompass = registry.block("sky_compass", () -> new SkyCompassBlock(defaultProps(Material.MISCELLANEOUS))) .features(AEFeature.METEORITE_COMPASS) - .tileEntity(registry.tileEntity("sky_compass", SkyCompassTileEntity.class, SkyCompassTileEntity::new) + .tileEntity(registry.tileEntity("sky_compass", SkyCompassBlockEntity.class, SkyCompassBlockEntity::new) .rendering(new SkyCompassRendering()).build()) .build(); this.grindstone = registry - .block("grindstone", () -> new GrinderBlock(defaultProps(Material.ROCK).hardnessAndResistance(3.2f))) + .block("grindstone", () -> new GrinderBlock(defaultProps(Material.STONE).strength(3.2f))) .features(AEFeature.GRIND_STONE) - .tileEntity(registry.tileEntity("grindstone", GrinderTileEntity.class, GrinderTileEntity::new).build()) + .tileEntity(registry.tileEntity("grindstone", GrinderBlockEntity.class, GrinderBlockEntity::new).build()) .build(); this.crank = registry .block("crank", () -> new CrankBlock( - defaultProps(Material.WOOD).harvestTool(ToolType.AXE).harvestLevel(0).notSolid())) + defaultProps(Material.WOOD).breakByTool(FabricToolTags.AXES, 0).notSolid())) .features(AEFeature.GRIND_STONE) - .tileEntity(registry.tileEntity("crank", CrankTileEntity.class, CrankTileEntity::new) - .rendering(new TileEntityRenderingCustomizer() { + .tileEntity(registry.tileEntity("crank", CrankBlockEntity.class, CrankBlockEntity::new) + .rendering(new TileEntityRenderingCustomizer() { @Override @Environment(EnvType.CLIENT) - public void customize(TileEntityRendering rendering) { + public void customize(TileEntityRendering rendering) { rendering.tileEntityRenderer(CrankTESR::new); } }).build()) .build(); this.inscriber = registry.block("inscriber", () -> new InscriberBlock(defaultProps(Material.IRON).notSolid())) .features(AEFeature.INSCRIBER) - .tileEntity(registry.tileEntity("inscriber", InscriberTileEntity.class, InscriberTileEntity::new) + .tileEntity(registry.tileEntity("inscriber", InscriberBlockEntity.class, InscriberBlockEntity::new) .rendering(new InscriberRendering()).build()) .build(); this.wirelessAccessPoint = registry.block("wireless_access_point", WirelessBlock::new) .features(AEFeature.WIRELESS_ACCESS_TERMINAL) .tileEntity(registry - .tileEntity("wireless_access_point", WirelessTileEntity.class, WirelessTileEntity::new).build()) + .tileEntity("wireless_access_point", WirelessBlockEntity.class, WirelessBlockEntity::new).build()) .rendering(new WirelessRendering()).build(); this.charger = registry.block("charger", ChargerBlock::new).features(AEFeature.CHARGER) - .tileEntity(registry.tileEntity("charger", ChargerTileEntity.class, ChargerTileEntity::new) - .rendering(new TileEntityRenderingCustomizer() { + .tileEntity(registry.tileEntity("charger", ChargerBlockEntity.class, ChargerBlockEntity::new) + .rendering(new TileEntityRenderingCustomizer() { @Override @Environment(EnvType.CLIENT) - public void customize(TileEntityRendering rendering) { + public void customize(TileEntityRendering rendering) { rendering.tileEntityRenderer(ChargerBlock.createTesr()); } }).build()) .build(); TinyTNTPrimedEntity.TYPE = registry - .entity("tiny_tnt_primed", TinyTNTPrimedEntity::new, EntityClassification.MISC) + .entity("tiny_tnt_primed", TinyTNTPrimedEntity::new, SpawnGroup.MISC) .customize(p -> p.setTrackingRange(16).setUpdateInterval(4).setShouldReceiveVelocityUpdates(true)) .build(); this.tinyTNT = registry .block("tiny_tnt", () -> new TinyTNTBlock( - defaultProps(Material.TNT).sound(BlockSoundGroup.GROUND).hardnessAndResistance(0).notSolid())) + defaultProps(Material.TNT).sounds(BlockSoundGroup.GROUND).strength(0).notSolid())) .features(AEFeature.TINY_TNT).bootstrap((block, item) -> (IInitComponent) () -> DispenserBlock - .registerDispenseBehavior(item, new TinyTNTDispenseItemBehavior())) + .registerBehavior(item, new TinyTNTDispenseItemBehavior())) .build(); this.securityStation = registry.block("security_station", SecurityStationBlock::new) .features(AEFeature.SECURITY) .tileEntity(registry - .tileEntity("security_station", SecurityStationTileEntity.class, SecurityStationTileEntity::new) + .tileEntity("security_station", SecurityStationBlockEntity.class, SecurityStationBlockEntity::new) .build()) .rendering(new SecurityStationRendering()).build(); TileEntityDefinition quantumRingTile = registry - .tileEntity("quantum_ring", QuantumBridgeTileEntity.class, QuantumBridgeTileEntity::new).build(); + .tileEntity("quantum_ring", QuantumBridgeBlockEntity.class, QuantumBridgeBlockEntity::new).build(); this.quantumRing = registry.block("quantum_ring", QuantumRingBlock::new) .features(AEFeature.QUANTUM_NETWORK_BRIDGE).tileEntity(quantumRingTile) .rendering(new QuantumBridgeRendering()).build(); @@ -403,82 +403,82 @@ public final class ApiBlocks implements IBlocks { .rendering(new QuantumBridgeRendering()).build(); this.spatialPylon = registry.block("spatial_pylon", SpatialPylonBlock::new).features(AEFeature.SPATIAL_IO) .tileEntity(registry - .tileEntity("spatial_pylon", SpatialPylonTileEntity.class, SpatialPylonTileEntity::new).build()) + .tileEntity("spatial_pylon", SpatialPylonBlockEntity.class, SpatialPylonBlockEntity::new).build()) .rendering(new SpatialPylonRendering()).build(); this.spatialIOPort = registry.block("spatial_io_port", SpatialIOPortBlock::new).features(AEFeature.SPATIAL_IO) .tileEntity(registry - .tileEntity("spatial_io_port", SpatialIOPortTileEntity.class, SpatialIOPortTileEntity::new) + .tileEntity("spatial_io_port", SpatialIOPortBlockEntity.class, SpatialIOPortBlockEntity::new) .build()) .build(); this.controller = registry .block("controller", ControllerBlock::new).features(AEFeature.CHANNELS).tileEntity(registry - .tileEntity("controller", ControllerTileEntity.class, ControllerTileEntity::new).build()) + .tileEntity("controller", ControllerBlockEntity.class, ControllerBlockEntity::new).build()) .rendering(new ControllerRendering()).build(); this.drive = registry.block("drive", DriveBlock::new).features(AEFeature.STORAGE_CELLS, AEFeature.ME_DRIVE) - .tileEntity(registry.tileEntity("drive", DriveTileEntity.class, DriveTileEntity::new) - .rendering(new TileEntityRenderingCustomizer() { + .tileEntity(registry.tileEntity("drive", DriveBlockEntity.class, DriveBlockEntity::new) + .rendering(new TileEntityRenderingCustomizer() { @Override @Environment(EnvType.CLIENT) - public void customize(TileEntityRendering rendering) { + public void customize(TileEntityRendering rendering) { rendering.tileEntityRenderer(DriveLedTileEntityRenderer::new); } }).build()) .rendering(new DriveRendering()).build(); this.chest = registry.block("chest", ChestBlock::new).features(AEFeature.STORAGE_CELLS, AEFeature.ME_CHEST) - .tileEntity(registry.tileEntity("chest", ChestTileEntity.class, ChestTileEntity::new).build()) + .tileEntity(registry.tileEntity("chest", ChestBlockEntity.class, ChestBlockEntity::new).build()) .rendering(new ChestRendering()).build(); this.iface = registry.block("interface", InterfaceBlock::new).features(AEFeature.INTERFACE) .tileEntity( - registry.tileEntity("interface", InterfaceTileEntity.class, InterfaceTileEntity::new).build()) + registry.tileEntity("interface", InterfaceBlockEntity.class, InterfaceBlockEntity::new).build()) .build(); this.fluidIface = registry.block("fluid_interface", FluidInterfaceBlock::new) .features(AEFeature.FLUID_INTERFACE) .tileEntity(registry - .tileEntity("fluid_interface", FluidInterfaceTileEntity.class, FluidInterfaceTileEntity::new) + .tileEntity("fluid_interface", FluidInterfaceBlockEntity.class, FluidInterfaceBlockEntity::new) .build()) .build(); this.cellWorkbench = registry.block("cell_workbench", CellWorkbenchBlock::new).features(AEFeature.STORAGE_CELLS) .tileEntity(registry - .tileEntity("cell_workbench", CellWorkbenchTileEntity.class, CellWorkbenchTileEntity::new) + .tileEntity("cell_workbench", CellWorkbenchBlockEntity.class, CellWorkbenchBlockEntity::new) .build()) .build(); this.iOPort = registry.block("io_port", IOPortBlock::new).features(AEFeature.STORAGE_CELLS, AEFeature.IO_PORT) - .tileEntity(registry.tileEntity("io_port", IOPortTileEntity.class, IOPortTileEntity::new).build()) + .tileEntity(registry.tileEntity("io_port", IOPortBlockEntity.class, IOPortBlockEntity::new).build()) .build(); this.condenser = registry.block("condenser", CondenserBlock::new).features(AEFeature.CONDENSER) .tileEntity( - registry.tileEntity("condenser", CondenserTileEntity.class, CondenserTileEntity::new).build()) + registry.tileEntity("condenser", CondenserBlockEntity.class, CondenserBlockEntity::new).build()) .build(); this.energyAcceptor = registry.block("energy_acceptor", EnergyAcceptorBlock::new) .features(AEFeature.ENERGY_ACCEPTOR) .tileEntity(registry - .tileEntity("energy_acceptor", EnergyAcceptorTileEntity.class, EnergyAcceptorTileEntity::new) + .tileEntity("energy_acceptor", EnergyAcceptorBlockEntity.class, EnergyAcceptorBlockEntity::new) .build()) .build(); this.vibrationChamber = registry.block("vibration_chamber", VibrationChamberBlock::new) .features(AEFeature.POWER_GEN).tileEntity(registry.tileEntity("vibration_chamber", - VibrationChamberTileEntity.class, VibrationChamberTileEntity::new).build()) + VibrationChamberBlockEntity.class, VibrationChamberBlockEntity::new).build()) .build(); this.quartzGrowthAccelerator = registry.block("quartz_growth_accelerator", QuartzGrowthAcceleratorBlock::new) - .tileEntity(registry.tileEntity("quartz_growth_accelerator", QuartzGrowthAcceleratorTileEntity.class, - QuartzGrowthAcceleratorTileEntity::new).build()) + .tileEntity(registry.tileEntity("quartz_growth_accelerator", QuartzGrowthAcceleratorBlockEntity.class, + QuartzGrowthAcceleratorBlockEntity::new).build()) .features(AEFeature.CRYSTAL_GROWTH_ACCELERATOR).build(); this.energyCell = registry.block("energy_cell", EnergyCellBlock::new).features(AEFeature.ENERGY_CELLS) .item(AEBaseBlockItemChargeable::new).tileEntity(registry - .tileEntity("energy_cell", EnergyCellTileEntity.class, EnergyCellTileEntity::new).build()) + .tileEntity("energy_cell", EnergyCellBlockEntity.class, EnergyCellBlockEntity::new).build()) .build(); this.energyCellDense = registry.block("dense_energy_cell", DenseEnergyCellBlock::new) .features(AEFeature.ENERGY_CELLS, AEFeature.DENSE_ENERGY_CELLS).item(AEBaseBlockItemChargeable::new) - .tileEntity(registry.tileEntity("dense_energy_cell", DenseEnergyCellTileEntity.class, - DenseEnergyCellTileEntity::new).build()) + .tileEntity(registry.tileEntity("dense_energy_cell", DenseEnergyCellBlockEntity.class, + DenseEnergyCellBlockEntity::new).build()) .build(); this.energyCellCreative = registry.block("creative_energy_cell", CreativeEnergyCellBlock::new) .features(AEFeature.CREATIVE).tileEntity(registry.tileEntity("creative_energy_cell", - CreativeEnergyCellTileEntity.class, CreativeEnergyCellTileEntity::new).build()) + CreativeEnergyCellBlockEntity.class, CreativeEnergyCellBlockEntity::new).build()) .build(); TileEntityDefinition craftingUnit = registry - .tileEntity("crafting_unit", CraftingTileEntity.class, CraftingTileEntity::new).build(); + .tileEntity("crafting_unit", CraftingBlockEntity.class, CraftingBlockEntity::new).build(); FeatureFactory crafting = registry.features(AEFeature.CRAFTING_CPU); AbstractBlock.Settings craftingBlockProps = defaultProps(Material.IRON); @@ -491,7 +491,7 @@ public final class ApiBlocks implements IBlocks { .rendering(new CraftingCubeRendering()).tileEntity(craftingUnit).build(); TileEntityDefinition craftingStorage = registry - .tileEntity("crafting_storage", CraftingStorageTileEntity.class, CraftingStorageTileEntity::new) + .tileEntity("crafting_storage", CraftingStorageBlockEntity.class, CraftingStorageBlockEntity::new) .build(); this.craftingStorage1k = crafting .block("1k_crafting_storage", @@ -515,11 +515,11 @@ public final class ApiBlocks implements IBlocks { .build(); this.craftingMonitor = crafting.block("crafting_monitor", () -> new CraftingMonitorBlock(craftingBlockProps)) .tileEntity(registry - .tileEntity("crafting_monitor", CraftingMonitorTileEntity.class, CraftingMonitorTileEntity::new) - .rendering(new TileEntityRenderingCustomizer() { + .tileEntity("crafting_monitor", CraftingMonitorBlockEntity.class, CraftingMonitorBlockEntity::new) + .rendering(new TileEntityRenderingCustomizer() { @Environment(EnvType.CLIENT) @Override - public void customize(TileEntityRendering rendering) { + public void customize(TileEntityRendering rendering) { rendering.tileEntityRenderer(CraftingMonitorTESR::new); } }).build()) @@ -527,7 +527,7 @@ public final class ApiBlocks implements IBlocks { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); rendering.modelCustomizer((path, model) -> { // The formed model handles rotations itself, the unformed one does not if (model instanceof MonitorBakedModel) { @@ -544,16 +544,16 @@ public final class ApiBlocks implements IBlocks { @Environment(EnvType.CLIENT) @Override public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); } }) .tileEntity(registry - .tileEntity("molecular_assembler", MolecularAssemblerTileEntity.class, - MolecularAssemblerTileEntity::new) - .rendering(new TileEntityRenderingCustomizer() { + .tileEntity("molecular_assembler", MolecularAssemblerBlockEntity.class, + MolecularAssemblerBlockEntity::new) + .rendering(new TileEntityRenderingCustomizer() { @Override @Environment(EnvType.CLIENT) - public void customize(TileEntityRendering rendering) { + public void customize(TileEntityRendering rendering) { rendering.tileEntityRenderer(MolecularAssemblerRenderer::new); } }).build()) @@ -562,18 +562,18 @@ public final class ApiBlocks implements IBlocks { this.lightDetector = registry.block("light_detector", LightDetectorBlock::new) .features(AEFeature.LIGHT_DETECTOR) .tileEntity(registry - .tileEntity("light_detector", LightDetectorTileEntity.class, LightDetectorTileEntity::new) + .tileEntity("light_detector", LightDetectorBlockEntity.class, LightDetectorBlockEntity::new) .build()) .rendering(new BlockRenderingCustomizer() { @Override @Environment(EnvType.CLIENT) public void customize(IBlockRendering rendering, IItemRendering itemRendering) { - rendering.renderType(RenderType.getCutout()); + rendering.renderType(RenderLayer.getCutout()); } }).build(); this.paint = registry .block("paint", PaintSplotchesBlock::new).features(AEFeature.PAINT_BALLS).tileEntity(registry - .tileEntity("paint", PaintSplotchesTileEntity.class, PaintSplotchesTileEntity::new).build()) + .tileEntity("paint", PaintSplotchesBlockEntity.class, PaintSplotchesBlockEntity::new).build()) .rendering(new PaintSplotchesRendering()).build(); this.skyStoneStairs = deco @@ -611,11 +611,11 @@ public final class ApiBlocks implements IBlocks { .addFeatures(AEFeature.CERTUS).build(); this.multiPart = registry.block("cable_bus", CableBusBlock::new).rendering(new CableBusRendering()) - .tileEntity(registry.tileEntity("cable_bus", CableBusTileEntity.class, CableBusTileEntity::new) - .rendering(new TileEntityRenderingCustomizer() { + .tileEntity(registry.tileEntity("cable_bus", CableBusBlockEntity.class, CableBusBlockEntity::new) + .rendering(new TileEntityRenderingCustomizer() { @Override @Environment(EnvType.CLIENT) - public void customize(TileEntityRendering rendering) { + public void customize(TileEntityRendering rendering) { rendering.tileEntityRenderer(CableBusTESR::new); } }).build()) @@ -642,30 +642,30 @@ public final class ApiBlocks implements IBlocks { this.itemGen = registry.block("debug_item_gen", ItemGenBlock::new) .features(AEFeature.UNSUPPORTED_DEVELOPER_TOOLS, AEFeature.CREATIVE) .tileEntity( - registry.tileEntity("debug_item_gen", ItemGenTileEntity.class, ItemGenTileEntity::new).build()) + registry.tileEntity("debug_item_gen", ItemGenBlockEntity.class, ItemGenBlockEntity::new).build()) .build(); this.chunkLoader = registry.block("debug_chunk_loader", ChunkLoaderBlock::new) .features(AEFeature.UNSUPPORTED_DEVELOPER_TOOLS, AEFeature.CREATIVE) .tileEntity(registry - .tileEntity("debug_chunk_loader", ChunkLoaderTileEntity.class, ChunkLoaderTileEntity::new) + .tileEntity("debug_chunk_loader", ChunkLoaderBlockEntity.class, ChunkLoaderBlockEntity::new) .build()) .build(); this.phantomNode = registry.block("debug_phantom_node", PhantomNodeBlock::new) .features(AEFeature.UNSUPPORTED_DEVELOPER_TOOLS, AEFeature.CREATIVE) .tileEntity(registry - .tileEntity("debug_phantom_node", PhantomNodeTileEntity.class, PhantomNodeTileEntity::new) + .tileEntity("debug_phantom_node", PhantomNodeBlockEntity.class, PhantomNodeBlockEntity::new) .build()) .build(); this.cubeGenerator = registry.block("debug_cube_gen", CubeGeneratorBlock::new) .features(AEFeature.UNSUPPORTED_DEVELOPER_TOOLS, AEFeature.CREATIVE) .tileEntity(registry - .tileEntity("debug_cube_gen", CubeGeneratorTileEntity.class, CubeGeneratorTileEntity::new) + .tileEntity("debug_cube_gen", CubeGeneratorBlockEntity.class, CubeGeneratorBlockEntity::new) .build()) .build(); this.energyGenerator = registry.block("debug_energy_gen", EnergyGeneratorBlock::new) .features(AEFeature.UNSUPPORTED_DEVELOPER_TOOLS, AEFeature.CREATIVE) .tileEntity(registry - .tileEntity("debug_energy_gen", EnergyGeneratorTileEntity.class, EnergyGeneratorTileEntity::new) + .tileEntity("debug_energy_gen", EnergyGeneratorBlockEntity.class, EnergyGeneratorBlockEntity::new) .build()) .build(); } diff --git a/src/main/java/appeng/core/api/definitions/ApiItems.java b/src/main/java/appeng/core/api/definitions/ApiItems.java index eb835857e..5ddfb27c9 100644 --- a/src/main/java/appeng/core/api/definitions/ApiItems.java +++ b/src/main/java/appeng/core/api/definitions/ApiItems.java @@ -20,10 +20,10 @@ package appeng.core.api.definitions; import java.util.function.Consumer; -import net.minecraft.entity.EntityClassification; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; +import net.minecraft.entity.SpawnGroup; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; -import net.minecraftforge.common.ToolType; import appeng.api.definitions.IItemDefinition; import appeng.api.definitions.IItems; @@ -190,7 +190,7 @@ public final class ApiItems implements IItems { .itemGroup(ItemGroup.TOOLS).props(props -> props.maxStackSize(1).maxDamage(50).setNoRepair()) .addFeatures(AEFeature.QUARTZ_KNIFE).build(); - Consumer chargedDefaults = props -> props.maxStackSize(1).maxDamage(32).setNoRepair(); + Consumer chargedDefaults = props -> props.maxStackSize(1).maxDamage(32).setNoRepair(); FeatureFactory powerTools = registry.features(AEFeature.POWERED_TOOLS); this.entropyManipulator = powerTools.item("entropy_manipulator", EntropyManipulatorItem::new) @@ -213,7 +213,7 @@ public final class ApiItems implements IItems { this.memoryCard = registry.item("memory_card", MemoryCardItem::new).props(props -> props.maxStackSize(1)) .features(AEFeature.MEMORY_CARD).build(); this.networkTool = registry.item("network_tool", NetworkToolItem::new) - .props(props -> props.maxStackSize(1).addToolType(ToolType.get("wrench"), 0)) + .props(props -> props.maxStackSize(1).addToolType(FabricToolTags.get("wrench"), 0)) .features(AEFeature.NETWORK_TOOL).build(); this.cellCreative = registry.item("creative_storage_cell", CreativeStorageCellItem::new) @@ -221,7 +221,7 @@ public final class ApiItems implements IItems { this.viewCell = registry.item("view_cell", ViewCellItem::new).props(props -> props.maxStackSize(1)) .features(AEFeature.VIEW_CELL).build(); - Consumer storageCellProps = p -> p.maxStackSize(1); + Consumer storageCellProps = p -> p.maxStackSize(1); FeatureFactory storageCells = registry.features(AEFeature.STORAGE_CELLS); this.cell1k = storageCells @@ -285,7 +285,7 @@ public final class ApiItems implements IItems { .features(AEFeature.CRYSTAL_SEEDS).build(); GrowingCrystalEntity.TYPE = registry - .entity("growing_crystal", GrowingCrystalEntity::new, EntityClassification.MISC) + .entity("growing_crystal", GrowingCrystalEntity::new, SpawnGroup.MISC) .customize(builder -> builder.size(0.25F, 0.25F)).build(); // rv1 diff --git a/src/main/java/appeng/core/api/definitions/ApiMaterials.java b/src/main/java/appeng/core/api/definitions/ApiMaterials.java index 0e31301a3..d79c9ab6a 100644 --- a/src/main/java/appeng/core/api/definitions/ApiMaterials.java +++ b/src/main/java/appeng/core/api/definitions/ApiMaterials.java @@ -20,7 +20,7 @@ package appeng.core.api.definitions; import com.google.common.base.Preconditions; -import net.minecraft.entity.EntityClassification; +import net.minecraft.entity.SpawnGroup; import appeng.api.definitions.IItemDefinition; import appeng.api.definitions.IMaterials; @@ -119,13 +119,13 @@ public final class ApiMaterials implements IMaterials { this.registry = registry; SingularityEntity.TYPE = registry - .entity("singularity", SingularityEntity::new, EntityClassification.MISC) + .entity("singularity", SingularityEntity::new, SpawnGroup.MISC) .customize(builder -> builder.size(0.2f, 0.2f).setTrackingRange(16).setUpdateInterval(4) .setShouldReceiveVelocityUpdates(true)) .build(); ChargedQuartzEntity.TYPE = registry - .entity("charged_quartz", ChargedQuartzEntity::new, EntityClassification.MISC) + .entity("charged_quartz", ChargedQuartzEntity::new, SpawnGroup.MISC) .customize(builder -> builder.size(0.2f, 0.2f).setTrackingRange(16).setUpdateInterval(4) .setShouldReceiveVelocityUpdates(true)) .build(); diff --git a/src/main/java/appeng/core/features/TileDefinition.java b/src/main/java/appeng/core/features/TileDefinition.java index 5806d36b5..915fb5680 100644 --- a/src/main/java/appeng/core/features/TileDefinition.java +++ b/src/main/java/appeng/core/features/TileDefinition.java @@ -41,6 +41,6 @@ public final class TileDefinition extends BlockDefinition implements ITileDefini @Override public Optional> maybeEntity() { - return Optional.of(this.block.getTileEntityClass()); + return Optional.of(this.block.getBlockEntityClass()); } } diff --git a/src/main/java/appeng/core/localization/GuiText.java b/src/main/java/appeng/core/localization/GuiText.java index a80956645..bb30ee2ab 100644 --- a/src/main/java/appeng/core/localization/GuiText.java +++ b/src/main/java/appeng/core/localization/GuiText.java @@ -18,7 +18,6 @@ package appeng.core.localization; -import net.minecraft.client.resources.I18n; import net.minecraft.text.Text; import net.minecraft.text.TranslatableText; @@ -86,6 +85,8 @@ public enum GuiText { private final String root; + private final Text text = new TranslatableText(getTranslationKey()); + GuiText() { this.root = "gui.appliedenergistics2"; } @@ -95,7 +96,7 @@ public enum GuiText { } public String getLocal() { - return I18n.format(this.getTranslationKey()); + return text.getString(); } public String getTranslationKey() { @@ -103,7 +104,7 @@ public enum GuiText { } public Text textComponent() { - return new TranslatableText(getTranslationKey()); + return text; } public Text textComponent(Object... args) { diff --git a/src/main/java/appeng/core/stats/AdvancementTriggers.java b/src/main/java/appeng/core/stats/AdvancementTriggers.java index cbb4d4512..f143c1d00 100644 --- a/src/main/java/appeng/core/stats/AdvancementTriggers.java +++ b/src/main/java/appeng/core/stats/AdvancementTriggers.java @@ -21,10 +21,10 @@ package appeng.core.stats; import appeng.bootstrap.ICriterionTriggerRegistry; public class AdvancementTriggers { - private AppEngAdvancementTrigger networkApprentice = new AppEngAdvancementTrigger("network_apprentice"); - private AppEngAdvancementTrigger networkEngineer = new AppEngAdvancementTrigger("network_engineer"); - private AppEngAdvancementTrigger networkAdmin = new AppEngAdvancementTrigger("network_admin"); - private AppEngAdvancementTrigger spatialExplorer = new AppEngAdvancementTrigger("spatial_explorer"); + private final AppEngAdvancementTrigger networkApprentice = new AppEngAdvancementTrigger("network_apprentice"); + private final AppEngAdvancementTrigger networkEngineer = new AppEngAdvancementTrigger("network_engineer"); + private final AppEngAdvancementTrigger networkAdmin = new AppEngAdvancementTrigger("network_admin"); + private final AppEngAdvancementTrigger spatialExplorer = new AppEngAdvancementTrigger("spatial_explorer"); public AdvancementTriggers(ICriterionTriggerRegistry registry) { registry.register(this.networkApprentice); diff --git a/src/main/java/appeng/core/stats/AeStats.java b/src/main/java/appeng/core/stats/AeStats.java index 5c881cbc5..37650a4cf 100644 --- a/src/main/java/appeng/core/stats/AeStats.java +++ b/src/main/java/appeng/core/stats/AeStats.java @@ -19,8 +19,8 @@ package appeng.core.stats; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.stats.IStatFormatter; -import net.minecraft.stats.Stats; +import net.minecraft.stat.StatFormatter; +import net.minecraft.stat.Stats; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; @@ -44,7 +44,7 @@ public enum AeStats { } public void addToPlayer(final PlayerEntity player, final int howMany) { - player.addStat(this.registryName, howMany); + player.increaseStat(this.registryName, howMany); } public Identifier getRegistryName() { @@ -53,10 +53,10 @@ public enum AeStats { public static void register() { for (AeStats stat : AeStats.values()) { - // Compare with net.minecraft.stats.Stats#registerCustom + // Compare with net.minecraft.stat.Stats#registerCustom Identifier registryName = stat.getRegistryName(); Registry.register(Registry.CUSTOM_STAT, registryName.getPath(), registryName); - Stats.CUSTOM.get(registryName, IStatFormatter.DEFAULT); + Stats.CUSTOM.getOrCreateStat(registryName, StatFormatter.DEFAULT); } } diff --git a/src/main/java/appeng/core/stats/AppEngAdvancementTrigger.java b/src/main/java/appeng/core/stats/AppEngAdvancementTrigger.java index 5356988fa..cf877e223 100644 --- a/src/main/java/appeng/core/stats/AppEngAdvancementTrigger.java +++ b/src/main/java/appeng/core/stats/AppEngAdvancementTrigger.java @@ -18,29 +18,23 @@ package appeng.core.stats; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import com.google.gson.JsonDeserializationContext; +import appeng.core.AppEng; import com.google.gson.JsonObject; - -import net.minecraft.advancements.ICriterionTrigger; -import net.minecraft.advancements.PlayerAdvancements; -import net.minecraft.advancements.criterion.CriterionInstance; +import net.minecraft.advancement.PlayerAdvancementTracker; +import net.minecraft.advancement.criterion.Criterion; +import net.minecraft.advancement.criterion.CriterionConditions; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.predicate.entity.AdvancementEntityPredicateDeserializer; +import net.minecraft.predicate.entity.AdvancementEntityPredicateSerializer; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; -import appeng.core.AppEng; +import java.util.*; public class AppEngAdvancementTrigger - implements ICriterionTrigger, IAdvancementTrigger { + implements Criterion, IAdvancementTrigger { private final Identifier ID; - private final Map listeners = new HashMap<>(); + private final Map listeners = new HashMap<>(); public AppEngAdvancementTrigger(String parString) { super(); @@ -53,8 +47,8 @@ public class AppEngAdvancementTrigger } @Override - public void addListener(PlayerAdvancements playerAdvancementsIn, - ICriterionTrigger.Listener listener) { + public void beginTrackingCondition(PlayerAdvancementTracker playerAdvancementsIn, + Criterion.ConditionsContainer listener) { AppEngAdvancementTrigger.Listeners l = this.listeners.get(playerAdvancementsIn); if (l == null) { @@ -66,8 +60,8 @@ public class AppEngAdvancementTrigger } @Override - public void removeListener(PlayerAdvancements playerAdvancementsIn, - ICriterionTrigger.Listener listener) { + public void endTrackingCondition(PlayerAdvancementTracker playerAdvancementsIn, + Criterion.ConditionsContainer listener) { AppEngAdvancementTrigger.Listeners l = this.listeners.get(playerAdvancementsIn); if (l != null) { @@ -80,39 +74,51 @@ public class AppEngAdvancementTrigger } @Override - public void removeAllListeners(PlayerAdvancements playerAdvancementsIn) { + public void endTracking(PlayerAdvancementTracker playerAdvancementsIn) { this.listeners.remove(playerAdvancementsIn); } @Override - public AppEngAdvancementTrigger.Instance deserializeInstance(JsonObject json, JsonDeserializationContext context) { + public AppEngAdvancementTrigger.Instance conditionsFromJson(JsonObject json, AdvancementEntityPredicateDeserializer context) { return new AppEngAdvancementTrigger.Instance(this.getId()); } @Override public void trigger(ServerPlayerEntity parPlayer) { - AppEngAdvancementTrigger.Listeners l = this.listeners.get(parPlayer.getAdvancements()); + AppEngAdvancementTrigger.Listeners l = this.listeners.get(parPlayer.getAdvancementTracker()); if (l != null) { l.trigger(parPlayer); } } - public static class Instance extends CriterionInstance { - public Instance(Identifier parID) { - super(parID); + public static class Instance implements CriterionConditions { + private final Identifier id; + + public Instance(Identifier id) { + this.id = id; } public boolean test() { return true; } + + @Override + public Identifier getId() { + return id; + } + + @Override + public JsonObject toJson(AdvancementEntityPredicateSerializer predicateSerializer) { + return new JsonObject(); + } } static class Listeners { - private final PlayerAdvancements playerAdvancements; - private final Set> listeners = new HashSet<>(); + private final PlayerAdvancementTracker playerAdvancements; + private final Set> listeners = new HashSet<>(); - Listeners(PlayerAdvancements playerAdvancementsIn) { + Listeners(PlayerAdvancementTracker playerAdvancementsIn) { this.playerAdvancements = playerAdvancementsIn; } @@ -120,19 +126,19 @@ public class AppEngAdvancementTrigger return this.listeners.isEmpty(); } - public void add(ICriterionTrigger.Listener listener) { + public void add(Criterion.ConditionsContainer listener) { this.listeners.add(listener); } - public void remove(ICriterionTrigger.Listener listener) { + public void remove(Criterion.ConditionsContainer listener) { this.listeners.remove(listener); } public void trigger(PlayerEntity player) { - List> list = null; + List> list = null; - for (ICriterionTrigger.Listener listener : this.listeners) { - if (listener.getCriterionInstance().test()) { + for (Criterion.ConditionsContainer listener : this.listeners) { + if (listener.getConditions().test()) { if (list == null) { list = new ArrayList<>(); } @@ -142,8 +148,8 @@ public class AppEngAdvancementTrigger } if (list != null) { - for (ICriterionTrigger.Listener l : list) { - l.grantCriterion(this.playerAdvancements); + for (Criterion.ConditionsContainer l : list) { + l.grant(this.playerAdvancements); } } } diff --git a/src/main/java/appeng/core/stats/IAdvancementTrigger.java b/src/main/java/appeng/core/stats/IAdvancementTrigger.java index ab52947dd..4bbbc67e4 100644 --- a/src/main/java/appeng/core/stats/IAdvancementTrigger.java +++ b/src/main/java/appeng/core/stats/IAdvancementTrigger.java @@ -18,7 +18,7 @@ package appeng.core.stats; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; @FunctionalInterface public interface IAdvancementTrigger { diff --git a/src/main/java/appeng/core/stats/PartItemPredicate.java b/src/main/java/appeng/core/stats/PartItemPredicate.java deleted file mode 100644 index 45c1dbb3c..000000000 --- a/src/main/java/appeng/core/stats/PartItemPredicate.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2017, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.core.stats; - -import com.google.gson.JsonObject; - -import net.minecraft.advancements.criterion.ItemPredicate; -import net.minecraft.item.ItemStack; -import net.minecraft.util.JSONUtils; -import net.minecraft.util.Identifier; - -import appeng.core.AppEng; -import appeng.items.parts.PartItem; -import appeng.items.parts.PartType; - -public class PartItemPredicate extends ItemPredicate { - private final PartType partType; - - public PartItemPredicate(String partName) { - this.partType = PartType.valueOf(partName.toUpperCase()); - } - - @Override - public boolean test(ItemStack item) { - if (item.getItem() instanceof PartItem) { - PartItem itemPart = (PartItem) item.getItem(); - return itemPart.getType() == partType; - } - return false; - } - - public static ItemPredicate deserialize(JsonObject jsonobject) { - if (jsonobject.has("part")) { - return new PartItemPredicate(JSONUtils.getString(jsonobject, "part")); - } else { - return ItemPredicate.ANY; - } - } - - public static void register() { - ItemPredicate.register(new Identifier(AppEng.MOD_ID, "part"), PartItemPredicate::deserialize); - } -} diff --git a/src/main/java/appeng/core/sync/network/ClientPacketHandler.java b/src/main/java/appeng/core/sync/network/ClientPacketHandler.java index 8e587c604..500fb8710 100644 --- a/src/main/java/appeng/core/sync/network/ClientPacketHandler.java +++ b/src/main/java/appeng/core/sync/network/ClientPacketHandler.java @@ -18,7 +18,7 @@ package appeng.core.sync.network; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.INetHandler; import net.minecraft.network.PacketByteBuf; @@ -35,7 +35,7 @@ public class ClientPacketHandler extends BasePacketHandler implements IPacketHan try { final int packetType = packet.readInt(); final BasePacket pack = PacketTypes.getPacket(packetType).parsePacket(packet); - pack.clientPacketData(manager, Minecraft.getInstance().player); + pack.clientPacketData(manager, MinecraftClient.getInstance().player); } catch (final IllegalArgumentException e) { AELog.debug(e); } diff --git a/src/main/java/appeng/core/sync/network/NetworkHandler.java b/src/main/java/appeng/core/sync/network/NetworkHandler.java index 71797dcfb..ea6952b0b 100644 --- a/src/main/java/appeng/core/sync/network/NetworkHandler.java +++ b/src/main/java/appeng/core/sync/network/NetworkHandler.java @@ -18,8 +18,8 @@ package appeng.core.sync.network; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.client.MinecraftClient; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.network.INetHandler; import net.minecraft.network.IPacket; import net.minecraft.network.ThreadQuickExitException; @@ -129,7 +129,7 @@ public class NetworkHandler { } public void sendToServer(final BasePacket message) { - Minecraft.getInstance().getConnection().sendPacket(message.toPacket(NetworkDirection.PLAY_TO_SERVER)); + MinecraftClient.getInstance().getConnection().sendPacket(message.toPacket(NetworkDirection.PLAY_TO_SERVER)); } private MinecraftServer getServer() { diff --git a/src/main/java/appeng/core/sync/network/TargetPoint.java b/src/main/java/appeng/core/sync/network/TargetPoint.java index 509d8500e..5b82bd713 100644 --- a/src/main/java/appeng/core/sync/network/TargetPoint.java +++ b/src/main/java/appeng/core/sync/network/TargetPoint.java @@ -1,6 +1,6 @@ package appeng.core.sync.network; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.world.dimension.DimensionType; /** diff --git a/src/main/java/appeng/core/sync/packets/AssemblerAnimationPacket.java b/src/main/java/appeng/core/sync/packets/AssemblerAnimationPacket.java index 9a1db8727..c31b9e620 100644 --- a/src/main/java/appeng/core/sync/packets/AssemblerAnimationPacket.java +++ b/src/main/java/appeng/core/sync/packets/AssemblerAnimationPacket.java @@ -31,7 +31,7 @@ import appeng.api.storage.data.IAEItemStack; import appeng.core.sync.BasePacket; import appeng.core.sync.network.INetworkInfo; import appeng.tile.crafting.AssemblerAnimationStatus; -import appeng.tile.crafting.MolecularAssemblerTileEntity; +import appeng.tile.crafting.MolecularAssemblerBlockEntity; import appeng.util.item.AEItemStack; public class AssemblerAnimationPacket extends BasePacket { @@ -63,9 +63,9 @@ public class AssemblerAnimationPacket extends BasePacket { @Override @Environment(EnvType.CLIENT) public void clientPacketData(final INetworkInfo network, final PlayerEntity player) { - BlockEntity te = player.getEntityWorld().getTileEntity(pos); - if (te instanceof MolecularAssemblerTileEntity) { - MolecularAssemblerTileEntity ma = (MolecularAssemblerTileEntity) te; + BlockEntity te = player.getEntityWorld().getBlockEntity(pos); + if (te instanceof MolecularAssemblerBlockEntity) { + MolecularAssemblerBlockEntity ma = (MolecularAssemblerBlockEntity) te; ma.setAnimationStatus(new AssemblerAnimationStatus(rate, is.asItemStackRepresentation())); } } diff --git a/src/main/java/appeng/core/sync/packets/BlockTransitionEffectPacket.java b/src/main/java/appeng/core/sync/packets/BlockTransitionEffectPacket.java index 58684c34a..4502638ca 100644 --- a/src/main/java/appeng/core/sync/packets/BlockTransitionEffectPacket.java +++ b/src/main/java/appeng/core/sync/packets/BlockTransitionEffectPacket.java @@ -23,9 +23,9 @@ import io.netty.buffer.Unpooled; import net.fabricmc.api.Environment; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; +import net.minecraft.client.MinecraftClient; import net.minecraft.network.PacketByteBuf; import net.minecraft.sound.BlockSoundGroup; -import net.minecraft.client.Minecraft; import net.minecraft.client.audio.SimpleSound; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.fluid.Fluid; @@ -116,7 +116,7 @@ public class BlockTransitionEffectPacket extends BasePacket { double speedY = 0.1f * this.direction.yOffset; double speedZ = 0.1f * this.direction.zOffset; - Minecraft.getInstance().particles.addParticle(data, x, y, z, speedX, speedY, speedZ); + MinecraftClient.getInstance().particles.addParticle(data, x, y, z, speedX, speedY, speedZ); } } } @@ -150,7 +150,7 @@ public class BlockTransitionEffectPacket extends BasePacket { SimpleSound sound = new SimpleSound(soundEvent, SoundCategory.BLOCKS, (volume + 1.0F) / 2.0F, pitch * 0.8F, pos); - Minecraft.getInstance().getSoundHandler().play(sound); + MinecraftClient.getInstance().getSoundHandler().play(sound); } } diff --git a/src/main/java/appeng/core/sync/packets/ClickPacket.java b/src/main/java/appeng/core/sync/packets/ClickPacket.java index 9c50f4ce1..eb6da1d84 100644 --- a/src/main/java/appeng/core/sync/packets/ClickPacket.java +++ b/src/main/java/appeng/core/sync/packets/ClickPacket.java @@ -23,12 +23,12 @@ import io.netty.buffer.Unpooled; import net.minecraft.block.Block; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.network.PacketByteBuf; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.Vec3d; import appeng.api.AEApi; @@ -75,9 +75,9 @@ public class ClickPacket extends BasePacket { } // API for when a block was right clicked - public ClickPacket(ItemUseContext context) { - this(context.getPos(), context.getFace(), context.getPos().getX(), context.getPos().getY(), - context.getPos().getZ(), context.getHand()); + public ClickPacket(ItemUsageContext context) { + this(context.getBlockPos(), context.getSide(), context.getBlockPos().getX(), context.getBlockPos().getY(), + context.getBlockPos().getZ(), context.getHand()); } // API for when an item in hand was right-clicked, with no block context @@ -122,7 +122,7 @@ public class ClickPacket extends BasePacket { public void serverPacketData(final INetworkInfo manager, final PlayerEntity player) { final BlockPos pos = new BlockPos(this.x, this.y, this.z); - final ItemStack is = player.getHeldItem(hand); + final ItemStack is = player.getStackInHand(hand); final IItems items = AEApi.instance().definitions().items(); final IComparableDefinition maybeMemoryCard = items.memoryCard(); final IComparableDefinition maybeColorApplicator = items.colorApplicator(); @@ -140,8 +140,8 @@ public class ClickPacket extends BasePacket { if (hasBlockContext()) { // Reconstruct an item use context - ItemUseContext useContext = new ItemUseContext(player, hand, - new BlockRayTraceResult(new Vec3d(hitX, hitY, hitZ), side, pos, false)); + ItemUsageContext useContext = new ItemUsageContext(player, hand, + new BlockHitResult(new Vec3d(hitX, hitY, hitZ), side, pos, false)); tnt.serverSideToolLogic(useContext); } else { ContainerOpener.openContainer(NetworkToolContainer.TYPE, player, diff --git a/src/main/java/appeng/core/sync/packets/CompassRequestPacket.java b/src/main/java/appeng/core/sync/packets/CompassRequestPacket.java index d3fd11c6a..d3dd07d7f 100644 --- a/src/main/java/appeng/core/sync/packets/CompassRequestPacket.java +++ b/src/main/java/appeng/core/sync/packets/CompassRequestPacket.java @@ -21,7 +21,7 @@ package appeng.core.sync.packets; import io.netty.buffer.Unpooled; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.network.PacketByteBuf; import appeng.api.util.DimensionalCoord; diff --git a/src/main/java/appeng/core/sync/packets/CompressedNBTPacket.java b/src/main/java/appeng/core/sync/packets/CompressedNBTPacket.java index 47495cdef..df9bb165e 100644 --- a/src/main/java/appeng/core/sync/packets/CompressedNBTPacket.java +++ b/src/main/java/appeng/core/sync/packets/CompressedNBTPacket.java @@ -28,7 +28,7 @@ import java.util.zip.GZIPOutputStream; import io.netty.buffer.Unpooled; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.CompoundTag; @@ -96,7 +96,7 @@ public class CompressedNBTPacket extends BasePacket { @Override @Environment(EnvType.CLIENT) public void clientPacketData(final INetworkInfo network, final PlayerEntity player) { - final Screen gs = Minecraft.getInstance().currentScreen; + final Screen gs = MinecraftClient.getInstance().currentScreen; if (gs instanceof InterfaceTerminalScreen) { ((InterfaceTerminalScreen) gs).postUpdate(this.in); diff --git a/src/main/java/appeng/core/sync/packets/ConfigButtonPacket.java b/src/main/java/appeng/core/sync/packets/ConfigButtonPacket.java index c2c9eada5..8bfe21ba9 100644 --- a/src/main/java/appeng/core/sync/packets/ConfigButtonPacket.java +++ b/src/main/java/appeng/core/sync/packets/ConfigButtonPacket.java @@ -23,7 +23,7 @@ import java.util.EnumSet; import io.netty.buffer.Unpooled; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.network.PacketByteBuf; import appeng.api.config.Settings; diff --git a/src/main/java/appeng/core/sync/packets/ConfigValuePacket.java b/src/main/java/appeng/core/sync/packets/ConfigValuePacket.java index 85af328ca..352472739 100644 --- a/src/main/java/appeng/core/sync/packets/ConfigValuePacket.java +++ b/src/main/java/appeng/core/sync/packets/ConfigValuePacket.java @@ -20,7 +20,7 @@ package appeng.core.sync.packets; import io.netty.buffer.Unpooled; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.inventory.container.Container; @@ -80,22 +80,22 @@ public class ConfigValuePacket extends BasePacket { public void serverPacketData(final INetworkInfo manager, final PlayerEntity player) { final Container c = player.openContainer; - if (this.Name.equals("Item") && ((!player.getHeldItem(Hand.MAIN_HAND).isEmpty() - && player.getHeldItem(Hand.MAIN_HAND).getItem() instanceof IMouseWheelItem) - || (!player.getHeldItem(Hand.OFF_HAND).isEmpty() - && player.getHeldItem(Hand.OFF_HAND).getItem() instanceof IMouseWheelItem))) { + if (this.Name.equals("Item") && ((!player.getStackInHand(Hand.MAIN_HAND).isEmpty() + && player.getStackInHand(Hand.MAIN_HAND).getItem() instanceof IMouseWheelItem) + || (!player.getStackInHand(Hand.OFF_HAND).isEmpty() + && player.getStackInHand(Hand.OFF_HAND).getItem() instanceof IMouseWheelItem))) { final Hand hand; - if (!player.getHeldItem(Hand.MAIN_HAND).isEmpty() - && player.getHeldItem(Hand.MAIN_HAND).getItem() instanceof IMouseWheelItem) { + if (!player.getStackInHand(Hand.MAIN_HAND).isEmpty() + && player.getStackInHand(Hand.MAIN_HAND).getItem() instanceof IMouseWheelItem) { hand = Hand.MAIN_HAND; - } else if (!player.getHeldItem(Hand.OFF_HAND).isEmpty() - && player.getHeldItem(Hand.OFF_HAND).getItem() instanceof IMouseWheelItem) { + } else if (!player.getStackInHand(Hand.OFF_HAND).isEmpty() + && player.getStackInHand(Hand.OFF_HAND).getItem() instanceof IMouseWheelItem) { hand = Hand.OFF_HAND; } else { return; } - final ItemStack is = player.getHeldItem(hand); + final ItemStack is = player.getStackInHand(hand); final IMouseWheelItem si = (IMouseWheelItem) is.getItem(); si.onWheel(is, this.Value.equals("WheelUp")); } else if (this.Name.equals("Terminal.Cpu") && c instanceof CraftingStatusContainer) { @@ -197,7 +197,7 @@ public class ConfigValuePacket extends BasePacket { } else if (this.Name.startsWith("SyncDat.")) { ((AEBaseContainer) c).stringSync(Integer.parseInt(this.Name.substring(8)), this.Value); } else if (this.Name.equals("CraftingStatus") && this.Value.equals("Clear")) { - final Screen gs = Minecraft.getInstance().currentScreen; + final Screen gs = MinecraftClient.getInstance().currentScreen; if (gs instanceof CraftingCPUScreen) { ((CraftingCPUScreen) gs).clearItems(); } diff --git a/src/main/java/appeng/core/sync/packets/InventoryActionPacket.java b/src/main/java/appeng/core/sync/packets/InventoryActionPacket.java index 9991a440c..c68645358 100644 --- a/src/main/java/appeng/core/sync/packets/InventoryActionPacket.java +++ b/src/main/java/appeng/core/sync/packets/InventoryActionPacket.java @@ -21,7 +21,7 @@ package appeng.core.sync.packets; import io.netty.buffer.Unpooled; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketByteBuf; diff --git a/src/main/java/appeng/core/sync/packets/ItemTransitionEffectPacket.java b/src/main/java/appeng/core/sync/packets/ItemTransitionEffectPacket.java index 2782cadd3..492486e71 100644 --- a/src/main/java/appeng/core/sync/packets/ItemTransitionEffectPacket.java +++ b/src/main/java/appeng/core/sync/packets/ItemTransitionEffectPacket.java @@ -22,7 +22,7 @@ import io.netty.buffer.Unpooled; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; import net.minecraft.world.World; @@ -84,7 +84,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; - Minecraft.getInstance().particles.addParticle(data, x, y, z, speedX, speedY, speedZ); + MinecraftClient.getInstance().particles.addParticle(data, x, y, z, speedX, speedY, speedZ); } } } diff --git a/src/main/java/appeng/core/sync/packets/JEIRecipePacket.java b/src/main/java/appeng/core/sync/packets/JEIRecipePacket.java index 4bba2b006..6cf4a2ae6 100644 --- a/src/main/java/appeng/core/sync/packets/JEIRecipePacket.java +++ b/src/main/java/appeng/core/sync/packets/JEIRecipePacket.java @@ -22,7 +22,7 @@ import alexiil.mc.lib.attributes.item.ItemTransferable; import io.netty.buffer.Unpooled; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; diff --git a/src/main/java/appeng/core/sync/packets/LightningPacket.java b/src/main/java/appeng/core/sync/packets/LightningPacket.java index 57cb2bd36..b4ded440f 100644 --- a/src/main/java/appeng/core/sync/packets/LightningPacket.java +++ b/src/main/java/appeng/core/sync/packets/LightningPacket.java @@ -21,7 +21,7 @@ package appeng.core.sync.packets; import io.netty.buffer.Unpooled; import net.fabricmc.api.Environment; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; import net.fabricmc.api.EnvType; @@ -65,7 +65,7 @@ public class LightningPacket extends BasePacket { public void clientPacketData(final INetworkInfo network, final PlayerEntity player) { try { if (Platform.isClient() && AEConfig.instance().isEnableEffects()) { - Minecraft.getInstance().world.addParticle(ParticleTypes.LIGHTNING, this.x, this.y, this.z, 0.0f, 0.0f, + MinecraftClient.getInstance().world.addParticle(ParticleTypes.LIGHTNING, this.x, this.y, this.z, 0.0f, 0.0f, 0.0f); } } catch (final Exception ignored) { diff --git a/src/main/java/appeng/core/sync/packets/MEFluidInventoryUpdatePacket.java b/src/main/java/appeng/core/sync/packets/MEFluidInventoryUpdatePacket.java index eecea9021..a80cd54ca 100644 --- a/src/main/java/appeng/core/sync/packets/MEFluidInventoryUpdatePacket.java +++ b/src/main/java/appeng/core/sync/packets/MEFluidInventoryUpdatePacket.java @@ -32,7 +32,7 @@ import javax.annotation.Nullable; import io.netty.buffer.Unpooled; import net.fabricmc.api.Environment; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.IPacket; @@ -135,7 +135,7 @@ public class MEFluidInventoryUpdatePacket extends BasePacket { @Override @Environment(EnvType.CLIENT) public void clientPacketData(final INetworkInfo network, final PlayerEntity player) { - final Screen gs = Minecraft.getInstance().currentScreen; + final Screen gs = MinecraftClient.getInstance().currentScreen; if (gs instanceof FluidTerminalScreen) { ((FluidTerminalScreen) gs).postUpdate(this.list); diff --git a/src/main/java/appeng/core/sync/packets/MEInventoryUpdatePacket.java b/src/main/java/appeng/core/sync/packets/MEInventoryUpdatePacket.java index cf569c140..db2ce9d34 100644 --- a/src/main/java/appeng/core/sync/packets/MEInventoryUpdatePacket.java +++ b/src/main/java/appeng/core/sync/packets/MEInventoryUpdatePacket.java @@ -31,7 +31,7 @@ import javax.annotation.Nullable; import io.netty.buffer.Unpooled; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.IPacket; @@ -134,7 +134,7 @@ public class MEInventoryUpdatePacket extends BasePacket { @Override @Environment(EnvType.CLIENT) public void clientPacketData(final INetworkInfo network, final PlayerEntity player) { - final Screen gs = Minecraft.getInstance().currentScreen; + final Screen gs = MinecraftClient.getInstance().currentScreen; if (gs instanceof CraftConfirmScreen) { ((CraftConfirmScreen) gs).postUpdate(this.list, this.ref); diff --git a/src/main/java/appeng/core/sync/packets/MatterCannonPacket.java b/src/main/java/appeng/core/sync/packets/MatterCannonPacket.java index 1d82155d5..c2b206ce5 100644 --- a/src/main/java/appeng/core/sync/packets/MatterCannonPacket.java +++ b/src/main/java/appeng/core/sync/packets/MatterCannonPacket.java @@ -22,7 +22,7 @@ import io.netty.buffer.Unpooled; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; @@ -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++) { - Minecraft.getInstance().particles.addParticle(ParticleTypes.MATTER_CANNON, this.x + this.dx * a, + MinecraftClient.getInstance().particles.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/PartPlacementPacket.java b/src/main/java/appeng/core/sync/packets/PartPlacementPacket.java index 64e4767fd..e4e3092d8 100644 --- a/src/main/java/appeng/core/sync/packets/PartPlacementPacket.java +++ b/src/main/java/appeng/core/sync/packets/PartPlacementPacket.java @@ -21,7 +21,7 @@ package appeng.core.sync.packets; import io.netty.buffer.Unpooled; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; @@ -70,7 +70,7 @@ public class PartPlacementPacket extends BasePacket { final ServerPlayerEntity sender = (ServerPlayerEntity) player; AppEng.proxy.updateRenderMode(sender); PartPlacement.setEyeHeight(this.eyeHeight); - PartPlacement.place(sender.getHeldItem(this.hand), new BlockPos(this.x, this.y, this.z), + PartPlacement.place(sender.getStackInHand(this.hand), new BlockPos(this.x, this.y, this.z), Direction.values()[this.face], sender, this.hand, sender.world, PartPlacement.PlaceType.INTERACT_FIRST_PASS, 0); AppEng.proxy.updateRenderMode(null); diff --git a/src/main/java/appeng/core/sync/packets/PatternSlotPacket.java b/src/main/java/appeng/core/sync/packets/PatternSlotPacket.java index 80c6d64d7..6f75358b3 100644 --- a/src/main/java/appeng/core/sync/packets/PatternSlotPacket.java +++ b/src/main/java/appeng/core/sync/packets/PatternSlotPacket.java @@ -22,7 +22,7 @@ import alexiil.mc.lib.attributes.item.ItemTransferable; import io.netty.buffer.Unpooled; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.network.PacketByteBuf; import appeng.api.AEApi; diff --git a/src/main/java/appeng/debug/ChunkLoaderBlock.java b/src/main/java/appeng/debug/ChunkLoaderBlock.java index 6768ff3b1..9945d57c1 100644 --- a/src/main/java/appeng/debug/ChunkLoaderBlock.java +++ b/src/main/java/appeng/debug/ChunkLoaderBlock.java @@ -22,7 +22,7 @@ import net.minecraft.block.Material; import appeng.block.AEBaseTileBlock; -public class ChunkLoaderBlock extends AEBaseTileBlock { +public class ChunkLoaderBlock extends AEBaseTileBlock { public ChunkLoaderBlock() { super(defaultProps(Material.IRON)); diff --git a/src/main/java/appeng/debug/ChunkLoaderTileEntity.java b/src/main/java/appeng/debug/ChunkLoaderBlockEntity.java similarity index 91% rename from src/main/java/appeng/debug/ChunkLoaderTileEntity.java rename to src/main/java/appeng/debug/ChunkLoaderBlockEntity.java index ae1741b0f..414d3b4ef 100644 --- a/src/main/java/appeng/debug/ChunkLoaderTileEntity.java +++ b/src/main/java/appeng/debug/ChunkLoaderBlockEntity.java @@ -25,11 +25,11 @@ import net.minecraft.world.World; import net.minecraft.server.world.ServerWorld; import appeng.core.AELog; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; -public class ChunkLoaderTileEntity extends AEBaseTileEntity implements ITickableTileEntity { +public class ChunkLoaderBlockEntity extends AEBaseBlockEntity implements ITickableTileEntity { - public ChunkLoaderTileEntity(BlockEntityType tileEntityTypeIn) { + 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 f3b09edb2..978d07d57 100644 --- a/src/main/java/appeng/debug/CubeGeneratorBlock.java +++ b/src/main/java/appeng/debug/CubeGeneratorBlock.java @@ -25,13 +25,13 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; -public class CubeGeneratorBlock extends AEBaseTileBlock { +public class CubeGeneratorBlock extends AEBaseTileBlock { public CubeGeneratorBlock() { super(defaultProps(Material.IRON)); @@ -39,8 +39,8 @@ public class CubeGeneratorBlock extends AEBaseTileBlock @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - final CubeGeneratorTileEntity tcg = this.getTileEntity(w, pos); + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + final CubeGeneratorBlockEntity tcg = this.getBlockEntity(w, pos); if (tcg != null) { tcg.click(player); } diff --git a/src/main/java/appeng/debug/CubeGeneratorTileEntity.java b/src/main/java/appeng/debug/CubeGeneratorBlockEntity.java similarity index 82% rename from src/main/java/appeng/debug/CubeGeneratorTileEntity.java rename to src/main/java/appeng/debug/CubeGeneratorBlockEntity.java index 539a08eea..f5678c404 100644 --- a/src/main/java/appeng/debug/CubeGeneratorTileEntity.java +++ b/src/main/java/appeng/debug/CubeGeneratorBlockEntity.java @@ -22,25 +22,25 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.DirectionalPlaceContext; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.tileentity.ITickableTileEntity; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.text.StringTextComponent; +import net.minecraft.text.LiteralText; import appeng.core.AppEng; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.util.Platform; -public class CubeGeneratorTileEntity extends AEBaseTileEntity implements ITickableTileEntity { +public class CubeGeneratorBlockEntity extends AEBaseBlockEntity implements ITickableTileEntity { private int size = 3; private ItemStack is = ItemStack.EMPTY; private int countdown = 20 * 10; private PlayerEntity who = null; - public CubeGeneratorTileEntity(BlockEntityType tileEntityTypeIn) { + public CubeGeneratorBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @@ -51,7 +51,7 @@ public class CubeGeneratorTileEntity extends AEBaseTileEntity implements ITickab if (this.countdown % 20 == 0) { for (final PlayerEntity e : AppEng.proxy.getPlayers()) { - e.sendMessage(new StringTextComponent("Spawning in... " + (this.countdown / 20))); + e.sendMessage(new LiteralText("Spawning in... " + (this.countdown / 20))); } } @@ -73,7 +73,7 @@ public class CubeGeneratorTileEntity extends AEBaseTileEntity implements ITickab for (int x = -half; x < half; x++) { for (int z = -half; z < half; z++) { final BlockPos p = this.pos.add(x, y - 1, z); - ItemUseContext useContext = new DirectionalPlaceContext(this.world, p, side, this.is, + ItemUsageContext useContext = new DirectionalPlaceContext(this.world, p, side, this.is, side.getOpposite()); i.onItemUse(useContext); } @@ -89,7 +89,7 @@ public class CubeGeneratorTileEntity extends AEBaseTileEntity implements ITickab if (hand.isEmpty()) { this.is = ItemStack.EMPTY; - if (player.isCrouching()) { + if (player.isInSneakingPose()) { this.size--; } else { this.size++; @@ -102,7 +102,7 @@ public class CubeGeneratorTileEntity extends AEBaseTileEntity implements ITickab this.size = 64; } - player.sendMessage(new StringTextComponent("Size: " + this.size)); + player.sendMessage(new LiteralText("Size: " + this.size)); } else { this.countdown = 20 * 10; this.is = hand; diff --git a/src/main/java/appeng/debug/DebugCardItem.java b/src/main/java/appeng/debug/DebugCardItem.java index 5687aae4c..c840e2507 100644 --- a/src/main/java/appeng/debug/DebugCardItem.java +++ b/src/main/java/appeng/debug/DebugCardItem.java @@ -24,12 +24,12 @@ import java.util.Set; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.block.entity.BlockEntity; +import net.minecraft.text.LiteralText; import net.minecraft.util.ActionResult; import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.World; import appeng.api.networking.IGridConnection; @@ -49,7 +49,7 @@ import appeng.me.Grid; import appeng.me.GridNode; import appeng.me.cache.TickManagerCache; import appeng.parts.p2p.P2PTunnelPart; -import appeng.tile.networking.ControllerTileEntity; +import appeng.tile.networking.ControllerBlockEntity; public class DebugCardItem extends AEBaseItem { @@ -58,21 +58,21 @@ public class DebugCardItem extends AEBaseItem { } @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { - if (context.getWorld().isRemote()) { + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { + if (context.getWorld().isClient()) { return ActionResult.PASS; } PlayerEntity player = context.getPlayer(); World world = context.getWorld(); - BlockPos pos = context.getPos(); - Direction side = context.getFace(); + BlockPos pos = context.getBlockPos(); + Direction side = context.getSide(); if (player == null) { return ActionResult.PASS; } - if (player.isCrouching()) { + if (player.isInSneakingPose()) { int grids = 0; int totalNodes = 0; @@ -84,7 +84,7 @@ public class DebugCardItem extends AEBaseItem { this.outputMsg(player, "Grids: " + grids); this.outputMsg(player, "Total Nodes: " + totalNodes); } else { - final BlockEntity te = world.getTileEntity(pos); + final BlockEntity te = world.getBlockEntity(pos); if (te instanceof IGridHost) { final GridNode node = (GridNode) ((IGridHost) te).getGridNode(AEPartLocation.fromFacing(side)); @@ -108,7 +108,7 @@ public class DebugCardItem extends AEBaseItem { next = new HashSet<>(); for (final IGridNode n : current) { - if (n.getMachine() instanceof ControllerTileEntity) { + if (n.getMachine() instanceof ControllerBlockEntity) { break outer; } @@ -186,7 +186,7 @@ public class DebugCardItem extends AEBaseItem { } private void outputMsg(final Entity player, final String string) { - player.sendMessage(new StringTextComponent(string)); + player.sendMessage(new LiteralText(string)); } private String timeMeasurement(final long nanos) { diff --git a/src/main/java/appeng/debug/DebugPartPlacerItem.java b/src/main/java/appeng/debug/DebugPartPlacerItem.java index ca928b10f..e77d35064 100644 --- a/src/main/java/appeng/debug/DebugPartPlacerItem.java +++ b/src/main/java/appeng/debug/DebugPartPlacerItem.java @@ -6,12 +6,12 @@ import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; +import net.minecraft.text.LiteralText; import net.minecraft.util.ActionResult; import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3i; -import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.World; import net.minecraftforge.registries.ForgeRegistries; @@ -35,37 +35,37 @@ public class DebugPartPlacerItem extends AEBaseItem { } @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { World world = context.getWorld(); - if (world.isRemote()) { + if (world.isClient()) { return ActionResult.PASS; } PlayerEntity player = context.getPlayer(); - BlockPos pos = context.getPos(); + BlockPos pos = context.getBlockPos(); if (player == null) { return ActionResult.PASS; } if (!player.abilities.isCreativeMode) { - player.sendMessage(new StringTextComponent("Only usable in creative mode")); + player.sendMessage(new LiteralText("Only usable in creative mode")); return ActionResult.FAIL; } - BlockEntity te = world.getTileEntity(pos); + BlockEntity te = world.getBlockEntity(pos); if (!(te instanceof IPartHost)) { - player.sendMessage(new StringTextComponent("Right-click something that will accept parts")); + player.sendMessage(new LiteralText("Right-click something that will accept parts")); return ActionResult.FAIL; } IPartHost center = (IPartHost) te; IPart cable = center.getPart(AEPartLocation.INTERNAL); if (cable == null) { - player.sendMessage(new StringTextComponent("Clicked part host must have an INSIDE part")); + player.sendMessage(new LiteralText("Clicked part host must have an INSIDE part")); return ActionResult.FAIL; } - Direction face = context.getFace(); + Direction face = context.getSide(); Vec3i offset = face.getDirectionVec(); Direction[] perpendicularFaces = Arrays.stream(Direction.values()).filter(d -> d.getAxis() != face.getAxis()) .toArray(Direction[]::new); @@ -85,7 +85,7 @@ public class DebugPartPlacerItem extends AEBaseItem { continue; } - BlockEntity t = world.getTileEntity(nextPos); + BlockEntity t = world.getBlockEntity(nextPos); if (!(t instanceof IPartHost)) { continue; } diff --git a/src/main/java/appeng/debug/EnergyGeneratorBlock.java b/src/main/java/appeng/debug/EnergyGeneratorBlock.java index cf18899e5..01c691952 100644 --- a/src/main/java/appeng/debug/EnergyGeneratorBlock.java +++ b/src/main/java/appeng/debug/EnergyGeneratorBlock.java @@ -22,7 +22,7 @@ import net.minecraft.block.Material; import appeng.block.AEBaseTileBlock; -public class EnergyGeneratorBlock extends AEBaseTileBlock { +public class EnergyGeneratorBlock extends AEBaseTileBlock { public EnergyGeneratorBlock() { super(defaultProps(Material.IRON)); diff --git a/src/main/java/appeng/debug/EnergyGeneratorTileEntity.java b/src/main/java/appeng/debug/EnergyGeneratorBlockEntity.java similarity index 87% rename from src/main/java/appeng/debug/EnergyGeneratorTileEntity.java rename to src/main/java/appeng/debug/EnergyGeneratorBlockEntity.java index be16fc8e3..6083bc284 100644 --- a/src/main/java/appeng/debug/EnergyGeneratorTileEntity.java +++ b/src/main/java/appeng/debug/EnergyGeneratorBlockEntity.java @@ -32,16 +32,16 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.energy.CapabilityEnergy; import net.minecraftforge.energy.IEnergyStorage; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; -public class EnergyGeneratorTileEntity extends AEBaseTileEntity implements ITickableTileEntity, IEnergyStorage { +public class EnergyGeneratorBlockEntity extends AEBaseBlockEntity implements ITickableTileEntity, IEnergyStorage { /** * The base energy injected each tick. Adjacent TileEnergyGenerators will * increase it to pow(base, #generators). */ private static final int BASE_ENERGY = 8; - public EnergyGeneratorTileEntity(BlockEntityType tileEntityTypeIn) { + public EnergyGeneratorBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @@ -54,9 +54,9 @@ public class EnergyGeneratorTileEntity extends AEBaseTileEntity implements ITick int tier = 1; for (Direction facing : Direction.values()) { - final BlockEntity te = world.getTileEntity(this.getPos().offset(facing)); + final BlockEntity te = world.getBlockEntity(this.getPos().offset(facing)); - if (te instanceof EnergyGeneratorTileEntity) { + if (te instanceof EnergyGeneratorBlockEntity) { tier++; } } @@ -64,7 +64,7 @@ public class EnergyGeneratorTileEntity extends AEBaseTileEntity implements ITick final int energyToInsert = IntMath.pow(BASE_ENERGY, tier); for (Direction facing : Direction.values()) { - final BlockEntity te = this.getWorld().getTileEntity(this.getPos().offset(facing)); + final BlockEntity te = this.getWorld().getBlockEntity(this.getPos().offset(facing)); final LazyOptional cap = te.getCapability(CapabilityEnergy.ENERGY, facing.getOpposite()); cap.ifPresent(consumer -> { diff --git a/src/main/java/appeng/debug/EraserItem.java b/src/main/java/appeng/debug/EraserItem.java index 08c07468d..ce218ce22 100644 --- a/src/main/java/appeng/debug/EraserItem.java +++ b/src/main/java/appeng/debug/EraserItem.java @@ -27,7 +27,7 @@ import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.tags.BlockTags; import net.minecraft.util.ActionResult; import net.minecraft.util.math.BlockPos; @@ -47,14 +47,14 @@ public class EraserItem extends AEBaseItem { } @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { - if (context.getWorld().isRemote()) { + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { + if (context.getWorld().isClient()) { return ActionResult.PASS; } final PlayerEntity player = context.getPlayer(); final World world = context.getWorld(); - final BlockPos pos = context.getPos(); + final BlockPos pos = context.getBlockPos(); if (player == null) { return ActionResult.PASS; @@ -79,7 +79,7 @@ public class EraserItem extends AEBaseItem { if (contains) { blocks++; world.setBlockState(wc, Blocks.AIR.getDefaultState(), 2); - world.destroyBlock(wc, false); + world.breakBlock(wc, false); if (isInsideBox(wc, pos)) { for (int x = -1; x <= 1; x++) { diff --git a/src/main/java/appeng/debug/ItemGenBlock.java b/src/main/java/appeng/debug/ItemGenBlock.java index 90fd154c6..78dd484b6 100644 --- a/src/main/java/appeng/debug/ItemGenBlock.java +++ b/src/main/java/appeng/debug/ItemGenBlock.java @@ -22,7 +22,7 @@ import net.minecraft.block.Material; import appeng.block.AEBaseTileBlock; -public class ItemGenBlock extends AEBaseTileBlock { +public class ItemGenBlock extends AEBaseTileBlock { public ItemGenBlock() { super(defaultProps(Material.IRON)); diff --git a/src/main/java/appeng/debug/ItemGenTileEntity.java b/src/main/java/appeng/debug/ItemGenBlockEntity.java similarity index 96% rename from src/main/java/appeng/debug/ItemGenTileEntity.java rename to src/main/java/appeng/debug/ItemGenBlockEntity.java index f59ed71dd..ff52c4529 100644 --- a/src/main/java/appeng/debug/ItemGenTileEntity.java +++ b/src/main/java/appeng/debug/ItemGenBlockEntity.java @@ -36,15 +36,15 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.registries.ForgeRegistries; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; -public class ItemGenTileEntity extends AEBaseTileEntity { +public class ItemGenBlockEntity extends AEBaseBlockEntity { private static final Queue POSSIBLE_ITEMS = new ArrayDeque<>(); private final ItemTransferable handler = new QueuedItemHandler(); - public ItemGenTileEntity(BlockEntityType tileEntityTypeIn) { + public ItemGenBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); if (POSSIBLE_ITEMS.isEmpty()) { for (final Item mi : ForgeRegistries.ITEMS) { diff --git a/src/main/java/appeng/debug/MeteoritePlacerItem.java b/src/main/java/appeng/debug/MeteoritePlacerItem.java index d5e8b24ea..e3c1a5aa2 100644 --- a/src/main/java/appeng/debug/MeteoritePlacerItem.java +++ b/src/main/java/appeng/debug/MeteoritePlacerItem.java @@ -19,18 +19,18 @@ package appeng.debug; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.play.server.SChunkDataPacket; +import net.minecraft.text.LiteralText; import net.minecraft.util.TypedActionResult; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.ChunkPos; import net.minecraft.util.math.MutableBoundingBox; -import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraft.server.world.ServerWorld; @@ -52,12 +52,12 @@ public class MeteoritePlacerItem extends AEBaseItem { @Override public TypedActionResult onItemRightClick(World world, PlayerEntity player, Hand hand) { - if (world.isRemote()) { - return TypedActionResult.resultPass(player.getHeldItem(hand)); + if (world.isClient()) { + return TypedActionResult.resultPass(player.getStackInHand(hand)); } if (player.isSneaking()) { - final ItemStack itemStack = player.getHeldItem(hand); + final ItemStack itemStack = player.getStackInHand(hand); final CompoundTag tag = itemStack.getOrCreateTag(); if (tag.contains(MODE_TAG)) { @@ -69,7 +69,7 @@ public class MeteoritePlacerItem extends AEBaseItem { CraterType craterType = CraterType.values()[tag.getByte(MODE_TAG)]; - player.sendMessage(new StringTextComponent(craterType.name())); + player.sendMessage(new LiteralText(craterType.name())); return TypedActionResult.resultSuccess(itemStack); } @@ -78,14 +78,14 @@ public class MeteoritePlacerItem extends AEBaseItem { } @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { - if (context.getWorld().isRemote()) { + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { + if (context.getWorld().isClient()) { return ActionResult.PASS; } ServerPlayerEntity player = (ServerPlayerEntity) context.getPlayer(); ServerWorld world = (ServerWorld) context.getWorld(); - BlockPos pos = context.getPos(); + BlockPos pos = context.getBlockPos(); if (player == null) { return ActionResult.PASS; @@ -106,7 +106,7 @@ public class MeteoritePlacerItem extends AEBaseItem { pureCrater, false); if (spawned == null) { - player.sendMessage(new StringTextComponent("Un-suitable Location.")); + player.sendMessage(new LiteralText("Un-suitable Location.")); return ActionResult.FAIL; } @@ -120,7 +120,7 @@ public class MeteoritePlacerItem extends AEBaseItem { final MeteoritePlacer placer = new MeteoritePlacer(world, spawned, boundingBox); placer.place(); - player.sendMessage(new StringTextComponent("Spawned at y=" + spawned.getPos().getY() + " range=" + range + player.sendMessage(new LiteralText("Spawned at y=" + spawned.getPos().getY() + " range=" + range + " biomeCategory=" + world.getBiome(pos).getCategory())); // The placer will not send chunks to the player since it's used as part diff --git a/src/main/java/appeng/debug/PhantomNodeBlock.java b/src/main/java/appeng/debug/PhantomNodeBlock.java index 03966ae39..6ed667850 100644 --- a/src/main/java/appeng/debug/PhantomNodeBlock.java +++ b/src/main/java/appeng/debug/PhantomNodeBlock.java @@ -25,13 +25,13 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; -public class PhantomNodeBlock extends AEBaseTileBlock { +public class PhantomNodeBlock extends AEBaseTileBlock { public PhantomNodeBlock() { super(defaultProps(Material.IRON)); @@ -39,8 +39,8 @@ public class PhantomNodeBlock extends AEBaseTileBlock { @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - final PhantomNodeTileEntity tpn = this.getTileEntity(w, pos); + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + final PhantomNodeBlockEntity tpn = this.getBlockEntity(w, pos); tpn.triggerCrashMode(); return ActionResult.SUCCESS; } diff --git a/src/main/java/appeng/debug/PhantomNodeTileEntity.java b/src/main/java/appeng/debug/PhantomNodeBlockEntity.java similarity index 90% rename from src/main/java/appeng/debug/PhantomNodeTileEntity.java rename to src/main/java/appeng/debug/PhantomNodeBlockEntity.java index cd5b650ae..dcd544435 100644 --- a/src/main/java/appeng/debug/PhantomNodeTileEntity.java +++ b/src/main/java/appeng/debug/PhantomNodeBlockEntity.java @@ -26,14 +26,14 @@ import net.minecraft.util.math.Direction; import appeng.api.networking.IGridNode; import appeng.api.util.AEPartLocation; import appeng.me.helpers.AENetworkProxy; -import appeng.tile.grid.AENetworkTileEntity; +import appeng.tile.grid.AENetworkBlockEntity; -public class PhantomNodeTileEntity extends AENetworkTileEntity { +public class PhantomNodeBlockEntity extends AENetworkBlockEntity { private AENetworkProxy proxy = null; private boolean crashMode = false; - public PhantomNodeTileEntity(BlockEntityType tileEntityTypeIn) { + public PhantomNodeBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } diff --git a/src/main/java/appeng/debug/ReplicatorCardItem.java b/src/main/java/appeng/debug/ReplicatorCardItem.java index 31593c339..fb0ed4fc3 100644 --- a/src/main/java/appeng/debug/ReplicatorCardItem.java +++ b/src/main/java/appeng/debug/ReplicatorCardItem.java @@ -19,18 +19,19 @@ package appeng.debug; import net.minecraft.block.Block; +import net.minecraft.block.BlockEntityProvider; import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.nbt.CompoundTag; import net.minecraft.block.entity.BlockEntity; import net.minecraft.util.ActionResult; import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.text.StringTextComponent; +import net.minecraft.text.LiteralText; import net.minecraft.world.World; import net.minecraft.world.dimension.DimensionType; @@ -49,15 +50,15 @@ public class ReplicatorCardItem extends AEBaseItem { } @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { - if (context.getWorld().isRemote()) { + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { + if (context.getWorld().isClient()) { return ActionResult.PASS; } PlayerEntity player = context.getPlayer(); World world = context.getWorld(); - BlockPos pos = context.getPos(); - Direction side = context.getFace(); + BlockPos pos = context.getBlockPos(); + Direction side = context.getSide(); Hand hand = context.getHand(); if (player == null) { @@ -68,20 +69,20 @@ public class ReplicatorCardItem extends AEBaseItem { int y = pos.getY(); int z = pos.getZ(); - if (player.isCrouching()) { - if (world.getTileEntity(pos) instanceof IGridHost) { + if (player.isInSneakingPose()) { + if (world.getBlockEntity(pos) instanceof IGridHost) { final CompoundTag tag = new CompoundTag(); tag.putInt("x", x); tag.putInt("y", y); tag.putInt("z", z); tag.putInt("side", side.ordinal()); tag.putInt("dimid", world.getDimension().getType().getId()); - player.getHeldItem(hand).setTag(tag); + player.getStackInHand(hand).setTag(tag); } else { this.outputMsg(player, "This is not a Grid Tile."); } } else { - final CompoundTag ish = player.getHeldItem(hand).getTag(); + final CompoundTag ish = player.getStackInHand(hand).getTag(); if (ish != null) { final int src_x = ish.getInt("x"); final int src_y = ish.getInt("y"); @@ -90,7 +91,7 @@ public class ReplicatorCardItem extends AEBaseItem { final int dimid = ish.getInt("dimid"); final World src_w = world.getServer().getWorld(DimensionType.getById(dimid)); - final BlockEntity te = src_w.getTileEntity(new BlockPos(src_x, src_y, src_z)); + final BlockEntity te = src_w.getBlockEntity(new BlockPos(src_x, src_y, src_z)); if (te instanceof IGridHost) { final IGridHost gh = (IGridHost) te; final Direction sideOff = Direction.values()[src_side]; @@ -104,9 +105,9 @@ public class ReplicatorCardItem extends AEBaseItem { final DimensionalCoord min = sc.getMin(); final DimensionalCoord max = sc.getMax(); - x += currentSideOff.getXOffset(); - y += currentSideOff.getYOffset(); - z += currentSideOff.getZOffset(); + x += currentSideOff.getOffsetX(); + y += currentSideOff.getOffsetY(); + z += currentSideOff.getOffsetZ(); final int min_x = min.x; final int min_y = min.y; @@ -130,15 +131,16 @@ public class ReplicatorCardItem extends AEBaseItem { final BlockState prev = world.getBlockState(d); world.setBlockState(d, state); - if (blk != null && blk.hasTileEntity(state)) { - final BlockEntity ote = src_w.getTileEntity(p); - final BlockEntity nte = blk.createTileEntity(state, world); + if (blk instanceof BlockEntityProvider) { + BlockEntityProvider blkEntityProvider = (BlockEntityProvider)blk; + final BlockEntity ote = src_w.getBlockEntity(p); + final BlockEntity nte = blkEntityProvider.createBlockEntity(world); final CompoundTag data = new CompoundTag(); ote.write(data); nte.read(data.copy()); world.setTileEntity(d, nte); } - world.notifyBlockUpdate(d, prev, state, 3); + world.updateListeners(d, prev, state, 3); } } } @@ -162,6 +164,6 @@ public class ReplicatorCardItem extends AEBaseItem { } private void outputMsg(final Entity player, final String string) { - player.sendMessage(new StringTextComponent(string)); + player.sendMessage(new LiteralText(string)); } } diff --git a/src/main/java/appeng/decorative/solid/ChargedQuartzOreBlock.java b/src/main/java/appeng/decorative/solid/ChargedQuartzOreBlock.java index 61f4c3b54..9c37d6413 100644 --- a/src/main/java/appeng/decorative/solid/ChargedQuartzOreBlock.java +++ b/src/main/java/appeng/decorative/solid/ChargedQuartzOreBlock.java @@ -23,7 +23,7 @@ import java.util.Random; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.block.BlockState; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -72,7 +72,7 @@ public class ChargedQuartzOreBlock extends QuartzOreBlock { } if (AppEng.proxy.shouldAddParticles(r)) { - Minecraft.getInstance().particles.addParticle(ParticleTypes.CHARGED_ORE, pos.getX() + xOff, + MinecraftClient.getInstance().particles.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/SkyStoneBlock.java b/src/main/java/appeng/decorative/solid/SkyStoneBlock.java index 094083e6b..e9a8050a3 100644 --- a/src/main/java/appeng/decorative/solid/SkyStoneBlock.java +++ b/src/main/java/appeng/decorative/solid/SkyStoneBlock.java @@ -28,7 +28,7 @@ import net.minecraft.world.WorldAccess; import net.minecraft.world.World; import net.minecraft.server.world.ServerWorld; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.ToolType; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -54,7 +54,7 @@ public class SkyStoneBlock extends AEBaseBlock { int level = -1; if (!is.isEmpty()) { - level = is.getItem().getHarvestLevel(is, ToolType.PICKAXE, event.getPlayer(), event.getState()); + level = is.getItem().getHarvestLevel(is, FabricToolTags.PICKAXES, event.getPlayer(), event.getState()); } if (this.type != SkystoneType.STONE || level >= 3 || event.getOriginalSpeed() > BREAK_SPEAK_THRESHOLD) { diff --git a/src/main/java/appeng/entity/ChargedQuartzEntity.java b/src/main/java/appeng/entity/ChargedQuartzEntity.java index 0b0301acd..95ebe6554 100644 --- a/src/main/java/appeng/entity/ChargedQuartzEntity.java +++ b/src/main/java/appeng/entity/ChargedQuartzEntity.java @@ -63,7 +63,7 @@ public final class ChargedQuartzEntity extends AEBaseItemEntity { return; } - if (world.isRemote && this.delay > 30 && AEConfig.instance().isEnableEffects()) { + if (world.isClient && this.delay > 30 && AEConfig.instance().isEnableEffects()) { AppEng.proxy.spawnEffect(EffectType.Lightning, this.world, this.getPosX(), this.getPosY(), this.getPosZ(), null); this.delay = 0; diff --git a/src/main/java/appeng/entity/GrowingCrystalEntity.java b/src/main/java/appeng/entity/GrowingCrystalEntity.java index c7f6941d5..cdbb7b255 100644 --- a/src/main/java/appeng/entity/GrowingCrystalEntity.java +++ b/src/main/java/appeng/entity/GrowingCrystalEntity.java @@ -166,7 +166,7 @@ public final class GrowingCrystalEntity extends AEBaseItemEntity { } private boolean isAccelerated(final int x, final int y, final int z) { - final BlockEntity te = this.world.getTileEntity(new BlockPos(x, y, z)); + final BlockEntity te = this.world.getBlockEntity(new BlockPos(x, y, z)); return te instanceof ICrystalGrowthAccelerator && ((ICrystalGrowthAccelerator) te).isPowered(); } diff --git a/src/main/java/appeng/entity/TinyTNTPrimedEntity.java b/src/main/java/appeng/entity/TinyTNTPrimedEntity.java index 7baeee7ee..68d913b97 100644 --- a/src/main/java/appeng/entity/TinyTNTPrimedEntity.java +++ b/src/main/java/appeng/entity/TinyTNTPrimedEntity.java @@ -99,7 +99,7 @@ public final class TinyTNTPrimedEntity extends TNTEntity implements IEntityAddit if (this.getFuse() <= 0) { this.remove(); - if (!this.world.isRemote) { + if (!this.world.isClient) { this.explode(); } } else { diff --git a/src/main/java/appeng/entity/TinyTNTPrimedRenderer.java b/src/main/java/appeng/entity/TinyTNTPrimedRenderer.java index 188f5005a..a465f82ff 100644 --- a/src/main/java/appeng/entity/TinyTNTPrimedRenderer.java +++ b/src/main/java/appeng/entity/TinyTNTPrimedRenderer.java @@ -22,7 +22,7 @@ import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.block.Blocks; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.renderer.BlockRendererDispatcher; import net.minecraft.client.renderer.Vector3f; import net.minecraft.client.renderer.entity.EntityRenderer; @@ -44,7 +44,7 @@ public class TinyTNTPrimedRenderer extends EntityRenderer { @Override public void render(TinyTNTPrimedEntity tnt, float entityYaw, float partialTicks, MatrixStack mStack, VertexConsumerProvider buffers, int packedLight) { - final BlockRendererDispatcher blockrendererdispatcher = Minecraft.getInstance().getBlockRendererDispatcher(); + final BlockRendererDispatcher blockrendererdispatcher = MinecraftClient.getInstance().getBlockRendererDispatcher(); mStack.push(); mStack.translate(0, 0.25F, 0); float f2; diff --git a/src/main/java/appeng/fluids/block/FluidInterfaceBlock.java b/src/main/java/appeng/fluids/block/FluidInterfaceBlock.java index b1193cc74..093e51c9f 100644 --- a/src/main/java/appeng/fluids/block/FluidInterfaceBlock.java +++ b/src/main/java/appeng/fluids/block/FluidInterfaceBlock.java @@ -26,30 +26,30 @@ import net.minecraft.item.ItemStack; import net.minecraft.block.entity.BlockEntity; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.container.ContainerLocator; import appeng.container.ContainerOpener; import appeng.fluids.container.FluidInterfaceContainer; -import appeng.fluids.tile.FluidInterfaceTileEntity; +import appeng.fluids.tile.FluidInterfaceBlockEntity; import appeng.util.Platform; -public class FluidInterfaceBlock extends AEBaseTileBlock { +public class FluidInterfaceBlock extends AEBaseTileBlock { public FluidInterfaceBlock() { super(defaultProps(Material.IRON)); } @Override public ActionResult onActivated(final World w, final BlockPos pos, final PlayerEntity p, final Hand hand, - final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { - if (p.isCrouching()) { + final @Nullable ItemStack heldItem, final BlockHitResult hit) { + if (p.isInSneakingPose()) { return ActionResult.PASS; } - final BlockEntity tg = this.getTileEntity(w, pos); + final BlockEntity tg = this.getBlockEntity(w, pos); if (tg != null) { if (Platform.isServer()) { ContainerOpener.openContainer(FluidInterfaceContainer.TYPE, p, diff --git a/src/main/java/appeng/fluids/client/gui/FluidTerminalScreen.java b/src/main/java/appeng/fluids/client/gui/FluidTerminalScreen.java index 164df544d..8b23b02a3 100644 --- a/src/main/java/appeng/fluids/client/gui/FluidTerminalScreen.java +++ b/src/main/java/appeng/fluids/client/gui/FluidTerminalScreen.java @@ -170,7 +170,7 @@ public class FluidTerminalScreen extends AEBaseMEScreen final List list = new ArrayList<>(); - list.add(fluidStack.getFluidStack().getDisplayName().getFormattedText()); + list.add(fluidStack.getFluidStack().getName().getFormattedText()); list.add(formattedAmount); list.add(modName); diff --git a/src/main/java/appeng/fluids/client/gui/widgets/FluidSlotWidget.java b/src/main/java/appeng/fluids/client/gui/widgets/FluidSlotWidget.java index dbc4da9e2..86e143393 100644 --- a/src/main/java/appeng/fluids/client/gui/widgets/FluidSlotWidget.java +++ b/src/main/java/appeng/fluids/client/gui/widgets/FluidSlotWidget.java @@ -4,7 +4,7 @@ import java.util.Collections; import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.I18n; @@ -35,7 +35,7 @@ public class FluidSlotWidget extends CustomSlotWidget { } @Override - public void drawContent(final Minecraft mc, final int mouseX, final int mouseY, final float partialTicks) { + public void drawContent(final MinecraftClient mc, final int mouseX, final int mouseY, final float partialTicks) { final IAEFluidStack fs = this.getFluidStack(); if (fs != null) { RenderSystem.disableBlend(); diff --git a/src/main/java/appeng/fluids/client/gui/widgets/FluidTankWidget.java b/src/main/java/appeng/fluids/client/gui/widgets/FluidTankWidget.java index 1fa89c66c..0f95ed51a 100644 --- a/src/main/java/appeng/fluids/client/gui/widgets/FluidTankWidget.java +++ b/src/main/java/appeng/fluids/client/gui/widgets/FluidTankWidget.java @@ -21,7 +21,7 @@ package appeng.fluids.client.gui.widgets; import com.mojang.blaze3d.systems.RenderSystem; import net.fabricmc.api.EnvType; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.widget.Widget; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -62,7 +62,7 @@ public class FluidTankWidget extends Widget implements ITooltip { float blue = (attributes.getColor() & 255) / 255.0F; RenderSystem.color3f(red, green, blue); - Minecraft mc = Minecraft.getInstance(); + MinecraftClient mc = MinecraftClient.getInstance(); mc.getTextureManager().bindTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE); final TextureAtlasSprite sprite = mc.getAtlasSpriteGetter(AtlasTexture.LOCATION_BLOCKS_TEXTURE) .apply(attributes.getStillTexture(fluidStack.getFluidStack())); @@ -88,7 +88,7 @@ public class FluidTankWidget extends Widget implements ITooltip { public String getMessage() { final IAEFluidStack fluid = this.tank.getFluidInSlot(this.slot); if (fluid != null && fluid.getStackSize() > 0) { - String desc = fluid.getFluid().getAttributes().getDisplayName(fluid.getFluidStack()).getFormattedText(); + String desc = fluid.getFluid().getAttributes().getName(fluid.getFluidStack()).getFormattedText(); String amountToText = fluid.getStackSize() + "mB"; return desc + "\n" + amountToText; diff --git a/src/main/java/appeng/fluids/container/FluidTerminalContainer.java b/src/main/java/appeng/fluids/container/FluidTerminalContainer.java index d8393a660..499e43177 100644 --- a/src/main/java/appeng/fluids/container/FluidTerminalContainer.java +++ b/src/main/java/appeng/fluids/container/FluidTerminalContainer.java @@ -26,7 +26,7 @@ import javax.annotation.Nonnull; import alexiil.mc.lib.attributes.fluid.volume.FluidVolume; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.ContainerType; import net.minecraft.inventory.container.IContainerListener; import net.minecraft.item.ItemStack; @@ -358,7 +358,7 @@ public class FluidTerminalContainer extends AEBaseContainer if (used != canFill) { AELog.error("Fluid item [%s] reported a different possible amount than it actually accepted.", - held.getDisplayName()); + held.getName()); } player.inventory.setItemStack(fh.getContainer()); @@ -394,7 +394,7 @@ public class FluidTerminalContainer extends AEBaseContainer if (notInserted != null && notInserted.getStackSize() > 0) { AELog.error("Fluid item [%s] reported a different possible amount to drain than it actually provided.", - held.getDisplayName()); + held.getName()); } player.inventory.setItemStack(fh.getContainer()); diff --git a/src/main/java/appeng/fluids/helper/DualityFluidInterface.java b/src/main/java/appeng/fluids/helper/DualityFluidInterface.java index dfdc90f22..b7fc21e95 100644 --- a/src/main/java/appeng/fluids/helper/DualityFluidInterface.java +++ b/src/main/java/appeng/fluids/helper/DualityFluidInterface.java @@ -176,7 +176,7 @@ public class DualityFluidInterface } } - final BlockEntity te = this.iHost.getTileEntity(); + final BlockEntity te = this.iHost.getBlockEntity(); if (te != null && te.getWorld() != null) { Platform.notifyBlocksOfNeighbors(te.getWorld(), te.getPos()); } @@ -201,7 +201,7 @@ public class DualityFluidInterface } public DimensionalCoord getLocation() { - return new DimensionalCoord(this.iHost.getTileEntity()); + return new DimensionalCoord(this.iHost.getBlockEntity()); } @SuppressWarnings("unchecked") diff --git a/src/main/java/appeng/fluids/helper/FluidSyncHelper.java b/src/main/java/appeng/fluids/helper/FluidSyncHelper.java index bcf7cd988..64dc32f50 100644 --- a/src/main/java/appeng/fluids/helper/FluidSyncHelper.java +++ b/src/main/java/appeng/fluids/helper/FluidSyncHelper.java @@ -5,7 +5,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.inventory.container.IContainerListener; import appeng.api.storage.data.IAEFluidStack; diff --git a/src/main/java/appeng/fluids/helper/IFluidInterfaceHost.java b/src/main/java/appeng/fluids/helper/IFluidInterfaceHost.java index df09f3869..9c495c873 100644 --- a/src/main/java/appeng/fluids/helper/IFluidInterfaceHost.java +++ b/src/main/java/appeng/fluids/helper/IFluidInterfaceHost.java @@ -32,7 +32,7 @@ public interface IFluidInterfaceHost extends IActionHost, IGridProxyable, IUpgra EnumSet getTargets(); - BlockEntity getTileEntity(); + BlockEntity getBlockEntity(); void saveChanges(); } diff --git a/src/main/java/appeng/fluids/parts/FluidAnnihilationPlanePart.java b/src/main/java/appeng/fluids/parts/FluidAnnihilationPlanePart.java index 28fda51ba..484094d65 100644 --- a/src/main/java/appeng/fluids/parts/FluidAnnihilationPlanePart.java +++ b/src/main/java/appeng/fluids/parts/FluidAnnihilationPlanePart.java @@ -93,19 +93,19 @@ public class FluidAnnihilationPlanePart extends BasicStatePart implements IGridT final Direction e = bch.getWorldX(); final Direction u = bch.getWorldY(); - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(e.getOpposite())), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(e.getOpposite())), this.getSide())) { minX = 0; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(e)), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(e)), this.getSide())) { maxX = 16; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(u.getOpposite())), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(u.getOpposite())), this.getSide())) { minY = 0; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(e)), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(e)), this.getSide())) { maxY = 16; } } @@ -156,21 +156,21 @@ public class FluidAnnihilationPlanePart extends BasicStatePart implements IGridT final BlockPos pos = te.getPos(); - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(facingRight.getOpposite())), + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(facingRight.getOpposite())), this.getSide())) { left = true; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(facingRight)), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(facingRight)), this.getSide())) { right = true; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(facingUp.getOpposite())), + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(facingUp.getOpposite())), this.getSide())) { down = true; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(facingUp)), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(facingUp)), this.getSide())) { up = true; } } diff --git a/src/main/java/appeng/fluids/parts/FluidInterfacePart.java b/src/main/java/appeng/fluids/parts/FluidInterfacePart.java index 0e78c5cfd..00edf60b9 100644 --- a/src/main/java/appeng/fluids/parts/FluidInterfacePart.java +++ b/src/main/java/appeng/fluids/parts/FluidInterfacePart.java @@ -159,7 +159,7 @@ public class FluidInterfacePart extends BasicStatePart } @Override - public BlockEntity getTileEntity() { + public BlockEntity getBlockEntity() { return super.getHost().getTile(); } diff --git a/src/main/java/appeng/fluids/parts/FluidStorageBusPart.java b/src/main/java/appeng/fluids/parts/FluidStorageBusPart.java index 3e7e37767..77a4bd3ae 100644 --- a/src/main/java/appeng/fluids/parts/FluidStorageBusPart.java +++ b/src/main/java/appeng/fluids/parts/FluidStorageBusPart.java @@ -195,7 +195,7 @@ public class FluidStorageBusPart extends SharedStorageBusPart @Override protected void resetCache(final boolean fullReset) { if (this.getHost() == null || this.getHost().getTile() == null || this.getHost().getTile().getWorld() == null - || this.getHost().getTile().getWorld().isRemote) { + || this.getHost().getTile().getWorld().isClient) { return; } @@ -266,7 +266,7 @@ public class FluidStorageBusPart extends SharedStorageBusPart this.cached = true; final BlockEntity self = this.getHost().getTile(); - final BlockEntity target = self.getWorld().getTileEntity(self.getPos().offset(this.getSide().getFacing())); + final BlockEntity target = self.getWorld().getBlockEntity(self.getPos().offset(this.getSide().getFacing())); final int newHandlerHash = this.createHandlerHash(target); if (newHandlerHash != 0 && newHandlerHash == this.handlerHash) { @@ -357,10 +357,10 @@ public class FluidStorageBusPart extends SharedStorageBusPart } if (achievement != null && achievement.getActionableNode() != null) { - // Platform.addStat( achievement.getActionableNode().getPlayerID(), + // Platform.increaseStat( achievement.getActionableNode().getPlayerID(), // Achievements.Recursive.getAchievement() // ); - // Platform.addStat( getActionableNode().getPlayerID(), + // Platform.increaseStat( getActionableNode().getPlayerID(), // Achievements.Recursive.getAchievement() ); } } diff --git a/src/main/java/appeng/fluids/parts/SharedFluidBusPart.java b/src/main/java/appeng/fluids/parts/SharedFluidBusPart.java index 11be8364a..92bc2c35e 100644 --- a/src/main/java/appeng/fluids/parts/SharedFluidBusPart.java +++ b/src/main/java/appeng/fluids/parts/SharedFluidBusPart.java @@ -107,14 +107,14 @@ public abstract class SharedFluidBusPart extends UpgradeablePart implements IGri protected BlockEntity getConnectedTE() { BlockEntity self = this.getHost().getTile(); - return this.getTileEntity(self, self.getPos().offset(this.getSide().getFacing())); + return this.getBlockEntity(self, self.getPos().offset(this.getSide().getFacing())); } - private BlockEntity getTileEntity(final BlockEntity self, final BlockPos pos) { + private BlockEntity getBlockEntity(final BlockEntity self, final BlockPos pos) { final World w = self.getWorld(); if (w.getChunkProvider().isChunkLoaded(new ChunkPos(pos))) { - return w.getTileEntity(pos); + return w.getBlockEntity(pos); } return null; diff --git a/src/main/java/appeng/fluids/tile/FluidInterfaceTileEntity.java b/src/main/java/appeng/fluids/tile/FluidInterfaceBlockEntity.java similarity index 91% rename from src/main/java/appeng/fluids/tile/FluidInterfaceTileEntity.java rename to src/main/java/appeng/fluids/tile/FluidInterfaceBlockEntity.java index d711a7353..860e273a9 100644 --- a/src/main/java/appeng/fluids/tile/FluidInterfaceTileEntity.java +++ b/src/main/java/appeng/fluids/tile/FluidInterfaceBlockEntity.java @@ -23,6 +23,7 @@ import java.util.EnumSet; import javax.annotation.Nullable; import alexiil.mc.lib.attributes.item.ItemTransferable; +import net.minecraft.block.BlockState; import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; @@ -49,13 +50,13 @@ import appeng.fluids.container.FluidInterfaceContainer; import appeng.fluids.helper.DualityFluidInterface; import appeng.fluids.helper.IFluidInterfaceHost; import appeng.helpers.IPriorityHost; -import appeng.tile.grid.AENetworkTileEntity; +import appeng.tile.grid.AENetworkBlockEntity; -public class FluidInterfaceTileEntity extends AENetworkTileEntity +public class FluidInterfaceBlockEntity extends AENetworkBlockEntity implements IGridTickable, IFluidInterfaceHost, IPriorityHost { private final DualityFluidInterface duality = new DualityFluidInterface(this.getProxy(), this); - public FluidInterfaceTileEntity(BlockEntityType tileEntityTypeIn) { + public FluidInterfaceBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @@ -85,7 +86,7 @@ public class FluidInterfaceTileEntity extends AENetworkTileEntity } @Override - public BlockEntity getTileEntity() { + public BlockEntity getBlockEntity() { return this; } @@ -95,15 +96,15 @@ public class FluidInterfaceTileEntity extends AENetworkTileEntity } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.duality.writeToNBT(data); return data; } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.duality.readFromNBT(data); } diff --git a/src/main/java/appeng/helpers/DualityInterface.java b/src/main/java/appeng/helpers/DualityInterface.java index e791b1d7f..0a34bdd52 100644 --- a/src/main/java/appeng/helpers/DualityInterface.java +++ b/src/main/java/appeng/helpers/DualityInterface.java @@ -40,12 +40,12 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListNBT; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.Vec3d; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; +import net.minecraft.text.LiteralText; import net.minecraft.text.TranslatableText; import net.minecraft.world.World; import net.minecraftforge.common.capabilities.Capability; @@ -401,7 +401,7 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn } } - final BlockEntity te = this.iHost.getTileEntity(); + final BlockEntity te = this.iHost.getBlockEntity(); if (te != null && te.getWorld() != null) { Platform.notifyBlocksOfNeighbors(te.getWorld(), te.getPos()); } @@ -414,7 +414,7 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn if (is.getItem() instanceof ICraftingPatternItem) { final ICraftingPatternItem cpi = (ICraftingPatternItem) is.getItem(); - final ICraftingPatternDetails details = cpi.getPatternForItem(is, this.iHost.getTileEntity().getWorld()); + final ICraftingPatternDetails details = cpi.getPatternForItem(is, this.iHost.getBlockEntity().getWorld()); if (details != null) { if (this.craftingList == null) { @@ -472,7 +472,7 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn } public DimensionalCoord getLocation() { - return new DimensionalCoord(this.iHost.getTileEntity()); + return new DimensionalCoord(this.iHost.getBlockEntity()); } public ItemTransferable getInternalInventory() { @@ -505,7 +505,7 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn return; } - final BlockEntity tile = this.iHost.getTileEntity(); + final BlockEntity tile = this.iHost.getBlockEntity(); final World w = tile.getWorld(); final Iterator i = this.waitingToSend.iterator(); @@ -513,7 +513,7 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn ItemStack whatToSend = i.next(); for (final Direction s : possibleDirections) { - final BlockEntity te = w.getTileEntity(tile.getPos().offset(s)); + final BlockEntity te = w.getBlockEntity(tile.getPos().offset(s)); if (te == null) { continue; } @@ -638,7 +638,7 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn try { if (this.getInstalledUpgrades(Upgrades.CRAFTING) > 0 && itemStack != null) { return this.craftingTracker.handleCrafting(x, itemStack.getStackSize(), itemStack, d, - this.iHost.getTileEntity().getWorld(), this.gridProxy.getGrid(), this.gridProxy.getCrafting(), + this.iHost.getBlockEntity().getWorld(), this.gridProxy.getGrid(), this.gridProxy.getCrafting(), this.mySource); } } catch (final GridAccessException e) { @@ -751,12 +751,12 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn return false; } - final BlockEntity tile = this.iHost.getTileEntity(); + final BlockEntity tile = this.iHost.getBlockEntity(); final World w = tile.getWorld(); final EnumSet possibleDirections = this.iHost.getTargets(); for (final Direction s : possibleDirections) { - final BlockEntity te = w.getTileEntity(tile.getPos().offset(s)); + final BlockEntity te = w.getBlockEntity(tile.getPos().offset(s)); if (te instanceof IInterfaceHost) { try { if (((IInterfaceHost) te).getInterfaceDuality().sameGrid(this.gridProxy.getGrid())) { @@ -812,13 +812,13 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn if (this.isBlocking()) { final EnumSet possibleDirections = this.iHost.getTargets(); - final BlockEntity tile = this.iHost.getTileEntity(); + final BlockEntity tile = this.iHost.getBlockEntity(); final World w = tile.getWorld(); boolean allAreBusy = true; for (final Direction s : possibleDirections) { - final BlockEntity te = w.getTileEntity(tile.getPos().offset(s)); + final BlockEntity te = w.getBlockEntity(tile.getPos().offset(s)); final InventoryAdaptor ad = InventoryAdaptor.getAdaptor(te, s.getOpposite()); if (ad != null) { @@ -938,7 +938,7 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn } public Text getTermName() { - final BlockEntity hostTile = this.iHost.getTileEntity(); + final BlockEntity hostTile = this.iHost.getBlockEntity(); final World hostWorld = hostTile.getWorld(); if (((ICustomNameObject) this.iHost).hasCustomInventoryName()) { @@ -948,7 +948,7 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn final EnumSet possibleDirections = this.iHost.getTargets(); for (final Direction direction : possibleDirections) { final BlockPos targ = hostTile.getPos().offset(direction); - final BlockEntity directedTile = hostWorld.getTileEntity(targ); + final BlockEntity directedTile = hostWorld.getBlockEntity(targ); if (directedTile == null) { continue; @@ -976,10 +976,10 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn try { Vec3d from = new Vec3d(hostTile.getPos().getX() + 0.5, hostTile.getPos().getY() + 0.5, hostTile.getPos().getZ() + 0.5); - from = from.add(direction.getXOffset() * 0.501, direction.getYOffset() * 0.501, - direction.getZOffset() * 0.501); - final Vec3d to = from.add(direction.getXOffset(), direction.getYOffset(), direction.getZOffset()); - final BlockRayTraceResult hit = null;// hostWorld.rayTraceBlocks( from, to ); //FIXME: + from = from.add(direction.getOffsetX() * 0.501, direction.getOffsetY() * 0.501, + direction.getOffsetZ() * 0.501); + final Vec3d to = from.add(direction.getOffsetX(), direction.getOffsetY(), direction.getZOffset()); + final BlockHitResult hit = null;// hostWorld.rayTraceBlocks( from, to ); //FIXME: // https://github.com/MinecraftForge/MinecraftForge/pull/6708 if (hit != null && !BAD_BLOCKS.contains(directedBlock)) { if (hit.getPos().equals(directedTile.getPos())) { @@ -1005,11 +1005,11 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn } } - return new StringTextComponent("Nothing"); + return new LiteralText("Nothing"); } public long getSortValue() { - final BlockEntity te = this.iHost.getTileEntity(); + final BlockEntity te = this.iHost.getBlockEntity(); return (te.getPos().getZ() << 24) ^ (te.getPos().getX() << 8) ^ te.getPos().getY(); } diff --git a/src/main/java/appeng/helpers/IInterfaceHost.java b/src/main/java/appeng/helpers/IInterfaceHost.java index 23d3ae3a2..50b0cbd25 100644 --- a/src/main/java/appeng/helpers/IInterfaceHost.java +++ b/src/main/java/appeng/helpers/IInterfaceHost.java @@ -33,7 +33,7 @@ public interface IInterfaceHost extends ICraftingProvider, IUpgradeableHost, ICr EnumSet getTargets(); - BlockEntity getTileEntity(); + BlockEntity getBlockEntity(); void saveChanges(); } diff --git a/src/main/java/appeng/helpers/InvalidPatternHelper.java b/src/main/java/appeng/helpers/InvalidPatternHelper.java index 792ac1884..60edc22c7 100644 --- a/src/main/java/appeng/helpers/InvalidPatternHelper.java +++ b/src/main/java/appeng/helpers/InvalidPatternHelper.java @@ -24,8 +24,8 @@ import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListNBT; +import net.minecraft.text.LiteralText; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; import net.minecraft.util.text.TextFormatting; import appeng.util.Platform; @@ -105,7 +105,7 @@ public class InvalidPatternHelper { public Text getName() { return this.isValid() ? Platform.getItemDisplayName(this.stack) - : new StringTextComponent(this.id + '@' + this.getDamage()); + : new LiteralText(this.id + '@' + this.getDamage()); } public int getDamage() { @@ -125,7 +125,7 @@ public class InvalidPatternHelper { } public Text getFormattedToolTip() { - Text result = new StringTextComponent(this.getCount() + " ").appendSibling(this.getName()); + Text result = new LiteralText(this.getCount() + " ").append(this.getName()); if (!this.isValid()) { result.applyTextStyle(TextFormatting.RED); diff --git a/src/main/java/appeng/helpers/LocationRotation.java b/src/main/java/appeng/helpers/LocationRotation.java index 88311fb4f..a6b862bca 100644 --- a/src/main/java/appeng/helpers/LocationRotation.java +++ b/src/main/java/appeng/helpers/LocationRotation.java @@ -44,7 +44,7 @@ public class LocationRotation implements IOrientable { @Override public Direction getForward() { - if (this.getUp().getYOffset() == 0) { + if (this.getUp().getOffsetY() == 0) { return Direction.UP; } return Direction.SOUTH; diff --git a/src/main/java/appeng/helpers/MetaRotation.java b/src/main/java/appeng/helpers/MetaRotation.java index b4a62c859..f8a9be101 100644 --- a/src/main/java/appeng/helpers/MetaRotation.java +++ b/src/main/java/appeng/helpers/MetaRotation.java @@ -48,7 +48,7 @@ public class MetaRotation implements IOrientable { @Override public Direction getForward() { - if (this.getUp().getYOffset() == 0) { + if (this.getUp().getOffsetY() == 0) { return Direction.UP; } return Direction.SOUTH; diff --git a/src/main/java/appeng/helpers/WirelessTerminalGuiObject.java b/src/main/java/appeng/helpers/WirelessTerminalGuiObject.java index b7dac3f75..84320dfbf 100644 --- a/src/main/java/appeng/helpers/WirelessTerminalGuiObject.java +++ b/src/main/java/appeng/helpers/WirelessTerminalGuiObject.java @@ -45,7 +45,7 @@ import appeng.api.storage.data.IItemList; import appeng.api.util.DimensionalCoord; import appeng.api.util.IConfigManager; import appeng.container.interfaces.IInventorySlotAware; -import appeng.tile.networking.WirelessTileEntity; +import appeng.tile.networking.WirelessBlockEntity; public class WirelessTerminalGuiObject implements IPortableCell, IActionHost, IInventorySlotAware { @@ -244,7 +244,7 @@ public class WirelessTerminalGuiObject implements IPortableCell, IActionHost, II return false; } - final IMachineSet tw = this.targetGrid.getMachines(WirelessTileEntity.class); + final IMachineSet tw = this.targetGrid.getMachines(WirelessBlockEntity.class); this.myWap = null; diff --git a/src/main/java/appeng/hooks/BlockToolDispenseItemBehavior.java b/src/main/java/appeng/hooks/BlockToolDispenseItemBehavior.java index cde22c060..89d9645ac 100644 --- a/src/main/java/appeng/hooks/BlockToolDispenseItemBehavior.java +++ b/src/main/java/appeng/hooks/BlockToolDispenseItemBehavior.java @@ -24,7 +24,7 @@ import net.minecraft.dispenser.IBlockSource; import net.minecraft.item.DirectionalPlaceContext; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.util.math.Direction; import net.minecraft.world.World; import net.minecraft.server.world.ServerWorld; @@ -40,7 +40,7 @@ public final class BlockToolDispenseItemBehavior extends DefaultDispenseItemBeha final World w = dispenser.getWorld(); if (w instanceof ServerWorld) { - ItemUseContext context = new DirectionalPlaceContext(w, dispenser.getBlockPos().offset(direction), + ItemUsageContext context = new DirectionalPlaceContext(w, dispenser.getBlockPos().offset(direction), direction, dispensedItem, direction.getOpposite()); tm.onItemUse(context); } diff --git a/src/main/java/appeng/hooks/IBlockTool.java b/src/main/java/appeng/hooks/IBlockTool.java index 4e724353a..e9ad197b9 100644 --- a/src/main/java/appeng/hooks/IBlockTool.java +++ b/src/main/java/appeng/hooks/IBlockTool.java @@ -18,17 +18,11 @@ package appeng.hooks; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.util.ActionResult; -import net.minecraft.util.math.Direction; -import net.minecraft.util.Hand; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; public interface IBlockTool { // Workaround for dispenser logic. - ActionResult onItemUse(ItemUseContext itemUseContext); + ActionResult onItemUse(ItemUsageContext itemUseContext); } diff --git a/src/main/java/appeng/hooks/MatterCannonDispenseItemBehavior.java b/src/main/java/appeng/hooks/MatterCannonDispenseItemBehavior.java index 076087021..9b7c3d259 100644 --- a/src/main/java/appeng/hooks/MatterCannonDispenseItemBehavior.java +++ b/src/main/java/appeng/hooks/MatterCannonDispenseItemBehavior.java @@ -41,8 +41,8 @@ public final class MatterCannonDispenseItemBehavior extends DefaultDispenseItemB final Direction Direction = dispenser.getBlockState().get(DispenserBlock.FACING); AEPartLocation dir = AEPartLocation.INTERNAL; for (final AEPartLocation d : AEPartLocation.SIDE_LOCATIONS) { - if (Direction.getXOffset() == d.xOffset && Direction.getYOffset() == d.yOffset - && Direction.getZOffset() == d.zOffset) { + if (Direction.getOffsetX() == d.xOffset && Direction.getOffsetY() == d.yOffset + && Direction.getOffsetZ() == d.zOffset) { dir = d; } } diff --git a/src/main/java/appeng/hooks/TickHandler.java b/src/main/java/appeng/hooks/TickHandler.java index 930a65de5..56495bb7c 100644 --- a/src/main/java/appeng/hooks/TickHandler.java +++ b/src/main/java/appeng/hooks/TickHandler.java @@ -52,7 +52,7 @@ import appeng.core.AppEng; import appeng.core.sync.packets.PaintedEntityPacket; import appeng.crafting.CraftingJob; import appeng.me.Grid; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.util.IWorldCallable; import appeng.util.Platform; @@ -90,7 +90,7 @@ public class TickHandler { } } - public void addInit(final AEBaseTileEntity tile) { + public void addInit(final AEBaseBlockEntity tile) { if (Platform.isServer()) // for no there is no reason to care about this on the client... { this.getRepo().tiles.add(tile); @@ -181,7 +181,7 @@ public class TickHandler { // ready tiles. final HandlerRep repo = this.getRepo(); while (!repo.tiles.isEmpty()) { - final AEBaseTileEntity bt = repo.tiles.poll(); + final AEBaseBlockEntity bt = repo.tiles.poll(); if (!bt.isRemoved()) { bt.onReady(); } @@ -249,7 +249,7 @@ public class TickHandler { private static class HandlerRep { - private Queue tiles = new ArrayDeque<>(); + private Queue tiles = new ArrayDeque<>(); private Set networks = new HashSet<>(); private Set toAdd = new HashSet<>(); private Set toRemove = new HashSet<>(); diff --git a/src/main/java/appeng/hooks/TinyTNTDispenseItemBehavior.java b/src/main/java/appeng/hooks/TinyTNTDispenseItemBehavior.java index 433fe0b6e..ab29db9fd 100644 --- a/src/main/java/appeng/hooks/TinyTNTDispenseItemBehavior.java +++ b/src/main/java/appeng/hooks/TinyTNTDispenseItemBehavior.java @@ -33,9 +33,9 @@ public final class TinyTNTDispenseItemBehavior extends DefaultDispenseItemBehavi protected ItemStack dispenseStack(final IBlockSource dispenser, final ItemStack dispensedItem) { final Direction Direction = dispenser.getBlockState().get(DispenserBlock.FACING); final World world = dispenser.getWorld(); - final int i = dispenser.getBlockPos().getX() + Direction.getXOffset(); - final int j = dispenser.getBlockPos().getY() + Direction.getYOffset(); - final int k = dispenser.getBlockPos().getZ() + Direction.getZOffset(); + final int i = dispenser.getBlockPos().getX() + Direction.getOffsetX(); + final int j = dispenser.getBlockPos().getY() + Direction.getOffsetY(); + final int k = dispenser.getBlockPos().getZ() + Direction.getOffsetZ(); final TinyTNTPrimedEntity primedTinyTNTEntity = new TinyTNTPrimedEntity(world, i + 0.5F, j + 0.5F, k + 0.5F, null); world.addEntity(primedTinyTNTEntity); diff --git a/src/main/java/appeng/integration/modules/jei/CondenserCategory.java b/src/main/java/appeng/integration/modules/jei/CondenserCategory.java index dc115a2f6..21a744bfa 100644 --- a/src/main/java/appeng/integration/modules/jei/CondenserCategory.java +++ b/src/main/java/appeng/integration/modules/jei/CondenserCategory.java @@ -47,7 +47,7 @@ import appeng.api.definitions.IMaterials; import appeng.api.implementations.items.IStorageComponent; import appeng.core.Api; import appeng.core.AppEng; -import appeng.tile.misc.CondenserTileEntity; +import appeng.tile.misc.CondenserBlockEntity; class CondenserCategory implements IRecipeCategory { @@ -177,7 +177,7 @@ class CondenserCategory implements IRecipeCategory { private void addViableComponent(CondenserOutput condenserOutput, List viableComponents, ItemStack itemStack) { IStorageComponent comp = (IStorageComponent) itemStack.getItem(); - int storage = comp.getBytes(itemStack) * CondenserTileEntity.BYTE_MULTIPLIER; + int storage = comp.getBytes(itemStack) * CondenserBlockEntity.BYTE_MULTIPLIER; if (storage >= condenserOutput.requiredPower) { viableComponents.add(itemStack); } diff --git a/src/main/java/appeng/integration/modules/jei/JEIPlugin.java b/src/main/java/appeng/integration/modules/jei/JEIPlugin.java index 361da2cf0..47a8e5536 100644 --- a/src/main/java/appeng/integration/modules/jei/JEIPlugin.java +++ b/src/main/java/appeng/integration/modules/jei/JEIPlugin.java @@ -22,7 +22,7 @@ import java.util.Optional; import com.google.common.collect.ImmutableList; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.RecipeManager; @@ -87,7 +87,7 @@ public class JEIPlugin implements IModPlugin { IDefinitions definitions = AEApi.instance().definitions(); - RecipeManager recipeManager = Minecraft.getInstance().world.getRecipeManager(); + RecipeManager recipeManager = MinecraftClient.getInstance().world.getRecipeManager(); registration.addRecipes(recipeManager.getRecipes(GrinderRecipe.TYPE).values(), GrinderRecipeCategory.UID); registration.addRecipes(recipeManager.getRecipes(InscriberRecipe.TYPE).values(), InscriberRecipeCategory.UID); registration.addRecipes(ImmutableList.of(CondenserOutput.MATTER_BALLS, CondenserOutput.SINGULARITY), diff --git a/src/main/java/appeng/integration/modules/theoneprobe/PartInfoProvider.java b/src/main/java/appeng/integration/modules/theoneprobe/PartInfoProvider.java index e76c78b39..2f7a72c51 100644 --- a/src/main/java/appeng/integration/modules/theoneprobe/PartInfoProvider.java +++ b/src/main/java/appeng/integration/modules/theoneprobe/PartInfoProvider.java @@ -64,7 +64,7 @@ public final class PartInfoProvider implements IProbeInfoProvider { @Override public void addProbeInfo(ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, World world, BlockState blockState, IProbeHitData data) { - final BlockEntity te = world.getTileEntity(data.getPos()); + final BlockEntity te = world.getBlockEntity(data.getPos()); final Optional maybePart = this.accessor.getMaybePart(te, data); if (maybePart.isPresent()) { diff --git a/src/main/java/appeng/integration/modules/theoneprobe/TileInfoProvider.java b/src/main/java/appeng/integration/modules/theoneprobe/TileInfoProvider.java index ddd8010e2..de56d3e2f 100644 --- a/src/main/java/appeng/integration/modules/theoneprobe/TileInfoProvider.java +++ b/src/main/java/appeng/integration/modules/theoneprobe/TileInfoProvider.java @@ -38,7 +38,7 @@ import appeng.integration.modules.theoneprobe.tile.CraftingMonitorInfoProvider; import appeng.integration.modules.theoneprobe.tile.ITileProbInfoProvider; import appeng.integration.modules.theoneprobe.tile.PowerStateInfoProvider; import appeng.integration.modules.theoneprobe.tile.PowerStorageInfoProvider; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; public final class TileInfoProvider implements IProbeInfoProvider { private final List providers; @@ -60,10 +60,10 @@ public final class TileInfoProvider implements IProbeInfoProvider { @Override public void addProbeInfo(ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, World world, BlockState blockState, IProbeHitData data) { - final BlockEntity tile = world.getTileEntity(data.getPos()); + final BlockEntity tile = world.getBlockEntity(data.getPos()); - if (tile instanceof AEBaseTileEntity) { - final AEBaseTileEntity aeBaseTile = (AEBaseTileEntity) tile; + if (tile instanceof AEBaseBlockEntity) { + final AEBaseBlockEntity aeBaseTile = (AEBaseBlockEntity) tile; for (final ITileProbInfoProvider provider : this.providers) { provider.addProbeInfo(aeBaseTile, mode, probeInfo, player, world, blockState, data); diff --git a/src/main/java/appeng/integration/modules/theoneprobe/config/AEConfigProvider.java b/src/main/java/appeng/integration/modules/theoneprobe/config/AEConfigProvider.java index 0c2a7b60f..d4c560dd6 100644 --- a/src/main/java/appeng/integration/modules/theoneprobe/config/AEConfigProvider.java +++ b/src/main/java/appeng/integration/modules/theoneprobe/config/AEConfigProvider.java @@ -28,7 +28,7 @@ import mcjty.theoneprobe.api.IProbeConfigProvider; import mcjty.theoneprobe.api.IProbeHitData; import mcjty.theoneprobe.api.IProbeHitEntityData; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; public class AEConfigProvider implements IProbeConfigProvider { @@ -41,7 +41,7 @@ public class AEConfigProvider implements IProbeConfigProvider { @Override public void getProbeConfig(IProbeConfig config, PlayerEntity player, World world, BlockState blockState, IProbeHitData data) { - if (world.getTileEntity(data.getPos()) instanceof AEBaseTileEntity) { + if (world.getBlockEntity(data.getPos()) instanceof AEBaseBlockEntity) { config.setRFMode(0); } } diff --git a/src/main/java/appeng/integration/modules/theoneprobe/part/StorageMonitorInfoProvider.java b/src/main/java/appeng/integration/modules/theoneprobe/part/StorageMonitorInfoProvider.java index 42a2aeba5..37244feab 100644 --- a/src/main/java/appeng/integration/modules/theoneprobe/part/StorageMonitorInfoProvider.java +++ b/src/main/java/appeng/integration/modules/theoneprobe/part/StorageMonitorInfoProvider.java @@ -49,7 +49,7 @@ public class StorageMonitorInfoProvider implements IPartProbInfoProvider { if (displayed instanceof IAEItemStack) { final IAEItemStack ais = (IAEItemStack) displayed; probeInfo.text(TheOneProbeText.SHOWING.getTranslationComponent() + ": " - + ais.asItemStackRepresentation().getDisplayName()); + + ais.asItemStackRepresentation().getName()); } else if (displayed instanceof IAEFluidStack) { final IAEFluidStack ais = (IAEFluidStack) displayed; final String fluidName = I18n.format(ais.getFluidStack().getTranslationKey()); diff --git a/src/main/java/appeng/integration/modules/theoneprobe/tile/ChargerInfoProvider.java b/src/main/java/appeng/integration/modules/theoneprobe/tile/ChargerInfoProvider.java index 8e8904096..374382ecf 100644 --- a/src/main/java/appeng/integration/modules/theoneprobe/tile/ChargerInfoProvider.java +++ b/src/main/java/appeng/integration/modules/theoneprobe/tile/ChargerInfoProvider.java @@ -29,21 +29,21 @@ import mcjty.theoneprobe.api.IProbeHitData; import mcjty.theoneprobe.api.IProbeInfo; import mcjty.theoneprobe.api.ProbeMode; -import appeng.tile.AEBaseTileEntity; -import appeng.tile.misc.ChargerTileEntity; +import appeng.tile.AEBaseBlockEntity; +import appeng.tile.misc.ChargerBlockEntity; public class ChargerInfoProvider implements ITileProbInfoProvider { @Override - public void addProbeInfo(AEBaseTileEntity tile, ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, - World world, BlockState blockState, IProbeHitData data) { - if (tile instanceof ChargerTileEntity) { - final ChargerTileEntity charger = (ChargerTileEntity) tile; + public void addProbeInfo(AEBaseBlockEntity tile, ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, + World world, BlockState blockState, IProbeHitData data) { + if (tile instanceof ChargerBlockEntity) { + final ChargerBlockEntity charger = (ChargerBlockEntity) tile; final ItemTransferable chargerInventory = charger.getInternalInventory(); final ItemStack chargingItem = chargerInventory.getStackInSlot(0); if (!chargingItem.isEmpty()) { - final String currentInventory = chargingItem.getDisplayName().getString(); + final String currentInventory = chargingItem.getName().getString(); final IProbeInfo centerAlignedHorizontalLayout = probeInfo .horizontal(probeInfo.defaultLayoutStyle().alignment(ElementAlignment.ALIGN_CENTER)); diff --git a/src/main/java/appeng/integration/modules/theoneprobe/tile/CraftingMonitorInfoProvider.java b/src/main/java/appeng/integration/modules/theoneprobe/tile/CraftingMonitorInfoProvider.java index d2b20af22..056b75b9b 100644 --- a/src/main/java/appeng/integration/modules/theoneprobe/tile/CraftingMonitorInfoProvider.java +++ b/src/main/java/appeng/integration/modules/theoneprobe/tile/CraftingMonitorInfoProvider.java @@ -30,22 +30,22 @@ import mcjty.theoneprobe.api.ProbeMode; import appeng.api.storage.data.IAEItemStack; import appeng.integration.modules.theoneprobe.TheOneProbeText; -import appeng.tile.AEBaseTileEntity; -import appeng.tile.crafting.CraftingMonitorTileEntity; +import appeng.tile.AEBaseBlockEntity; +import appeng.tile.crafting.CraftingMonitorBlockEntity; public class CraftingMonitorInfoProvider implements ITileProbInfoProvider { @Override - public void addProbeInfo(AEBaseTileEntity tile, ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, - World world, BlockState blockState, IProbeHitData data) { - if (tile instanceof CraftingMonitorTileEntity) { - final CraftingMonitorTileEntity monitor = (CraftingMonitorTileEntity) tile; + public void addProbeInfo(AEBaseBlockEntity tile, ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, + World world, BlockState blockState, IProbeHitData data) { + if (tile instanceof CraftingMonitorBlockEntity) { + final CraftingMonitorBlockEntity monitor = (CraftingMonitorBlockEntity) tile; final IAEItemStack displayStack = monitor.getJobProgress(); if (displayStack != null) { // TODO: check if OK final ItemStack itemStack = displayStack.asItemStackRepresentation(); - final String itemName = itemStack.getDisplayName().getString(); + final String itemName = itemStack.getName().getString(); final String formattedCrafting = TheOneProbeText.CRAFTING.getTranslationComponent(itemName) .getFormattedText(); diff --git a/src/main/java/appeng/integration/modules/theoneprobe/tile/ITileProbInfoProvider.java b/src/main/java/appeng/integration/modules/theoneprobe/tile/ITileProbInfoProvider.java index 83dae3a46..fa2f617e7 100644 --- a/src/main/java/appeng/integration/modules/theoneprobe/tile/ITileProbInfoProvider.java +++ b/src/main/java/appeng/integration/modules/theoneprobe/tile/ITileProbInfoProvider.java @@ -27,11 +27,11 @@ import mcjty.theoneprobe.api.IProbeInfo; import mcjty.theoneprobe.api.IProbeInfoProvider; import mcjty.theoneprobe.api.ProbeMode; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; /** * Similar to {@link IProbeInfoProvider}, but already providing the - * {@link AEBaseTileEntity} being looked at. + * {@link AEBaseBlockEntity} being looked at. * */ public interface ITileProbInfoProvider { @@ -40,6 +40,6 @@ public interface ITileProbInfoProvider { * @see IProbeInfoProvider#addProbeInfo(ProbeMode, IProbeInfo, EntityPlayer, * World, IBlockState, IProbeHitData) */ - void addProbeInfo(AEBaseTileEntity tile, ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, World world, - BlockState blockState, IProbeHitData data); + void addProbeInfo(AEBaseBlockEntity tile, ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, World world, + BlockState blockState, IProbeHitData data); } diff --git a/src/main/java/appeng/integration/modules/theoneprobe/tile/PowerStateInfoProvider.java b/src/main/java/appeng/integration/modules/theoneprobe/tile/PowerStateInfoProvider.java index a50cdf4fc..9017dd86a 100644 --- a/src/main/java/appeng/integration/modules/theoneprobe/tile/PowerStateInfoProvider.java +++ b/src/main/java/appeng/integration/modules/theoneprobe/tile/PowerStateInfoProvider.java @@ -28,13 +28,13 @@ import mcjty.theoneprobe.api.ProbeMode; import appeng.api.implementations.IPowerChannelState; import appeng.integration.modules.theoneprobe.TheOneProbeText; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; public class PowerStateInfoProvider implements ITileProbInfoProvider { @Override - public void addProbeInfo(AEBaseTileEntity tile, ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, - World world, BlockState blockState, IProbeHitData data) { + public void addProbeInfo(AEBaseBlockEntity tile, ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, + World world, BlockState blockState, IProbeHitData data) { if (tile instanceof IPowerChannelState) { final IPowerChannelState state = (IPowerChannelState) tile; diff --git a/src/main/java/appeng/integration/modules/theoneprobe/tile/PowerStorageInfoProvider.java b/src/main/java/appeng/integration/modules/theoneprobe/tile/PowerStorageInfoProvider.java index b34790d86..f18a33d9d 100644 --- a/src/main/java/appeng/integration/modules/theoneprobe/tile/PowerStorageInfoProvider.java +++ b/src/main/java/appeng/integration/modules/theoneprobe/tile/PowerStorageInfoProvider.java @@ -28,14 +28,14 @@ import mcjty.theoneprobe.api.ProbeMode; import appeng.api.networking.energy.IAEPowerStorage; import appeng.integration.modules.theoneprobe.TheOneProbeText; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.util.Platform; public class PowerStorageInfoProvider implements ITileProbInfoProvider { @Override - public void addProbeInfo(AEBaseTileEntity tile, ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, - World world, BlockState blockState, IProbeHitData data) { + public void addProbeInfo(AEBaseBlockEntity tile, ProbeMode mode, IProbeInfo probeInfo, PlayerEntity player, + World world, BlockState blockState, IProbeHitData data) { if (tile instanceof IAEPowerStorage) { final IAEPowerStorage storage = (IAEPowerStorage) tile; final double maxPower = storage.getAEMaxPower(); diff --git a/src/main/java/appeng/items/AEBaseItem.java b/src/main/java/appeng/items/AEBaseItem.java index c3aa82db9..5130d38a2 100644 --- a/src/main/java/appeng/items/AEBaseItem.java +++ b/src/main/java/appeng/items/AEBaseItem.java @@ -20,21 +20,24 @@ package appeng.items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; public abstract class AEBaseItem extends Item { - public AEBaseItem(Item.Properties properties) { - super(properties.setNoRepair()); + public AEBaseItem(Item.Settings properties) { + super(properties); } @Override public String toString() { - String regName = this.getRegistryName() != null ? this.getRegistryName().getPath() : "unregistered"; + Identifier id = Registry.ITEM.getId(this); + String regName = id != Registry.ITEM.getDefaultId() ? id.getPath() : "unregistered"; return this.getClass().getSimpleName() + "[" + regName + "]"; } @Override - public boolean isBookEnchantable(final ItemStack itemstack1, final ItemStack itemstack2) { + public boolean canRepair(ItemStack stack, ItemStack ingredient) { return false; } diff --git a/src/main/java/appeng/items/materials/MaterialItem.java b/src/main/java/appeng/items/materials/MaterialItem.java index 3cdb72192..6035224c8 100644 --- a/src/main/java/appeng/items/materials/MaterialItem.java +++ b/src/main/java/appeng/items/materials/MaterialItem.java @@ -25,18 +25,18 @@ import java.util.Map.Entry; import java.util.regex.Matcher; import java.util.regex.Pattern; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.Entity; import net.minecraft.entity.item.ItemEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.nbt.CompoundTag; import net.minecraft.block.entity.BlockEntity; +import net.minecraft.text.LiteralText; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; import net.minecraft.text.TranslatableText; import net.minecraft.world.World; import net.fabricmc.api.EnvType; @@ -66,21 +66,21 @@ public final class MaterialItem extends AEBaseItem implements IStorageComponent, private final MaterialType materialType; - public MaterialItem(Properties properties, MaterialType materialType) { + public MaterialItem(Settings properties, MaterialType materialType) { super(properties); this.materialType = materialType; } @Environment(EnvType.CLIENT) @Override - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { - super.addInformation(stack, world, lines, advancedTooltips); + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { + super.appendTooltip(stack, world, lines, advancedTooltips); if (materialType == MaterialType.NAME_PRESS) { final CompoundTag c = stack.getOrCreateTag(); if (c.contains(TAG_INSCRIBE_NAME)) { - lines.add(new StringTextComponent(c.getString(TAG_INSCRIBE_NAME))); + lines.add(new LiteralText(c.getString(TAG_INSCRIBE_NAME))); } } @@ -96,12 +96,12 @@ public final class MaterialItem extends AEBaseItem implements IStorageComponent, final IItemGroup ig = (IItemGroup) j.getKey().getItem(); final String str = ig.getUnlocalizedGroupName(u.getSupported().keySet(), j.getKey()); if (str != null) { - name = new TranslatableText(str).appendText(limit > 1 ? " (" + limit + ')' : ""); + name = new TranslatableText(str).append(limit > 1 ? " (" + limit + ')' : ""); } } if (name == null) { - name = j.getKey().getDisplayName().appendText((limit > 1 ? " (" + limit + ')' : "")); + name = j.getKey().getName().append((limit > 1 ? " (" + limit + ')' : "")); } if (!textList.contains(name)) { @@ -138,11 +138,11 @@ public final class MaterialItem extends AEBaseItem implements IStorageComponent, } @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { PlayerEntity player = context.getPlayer(); Hand hand = context.getHand(); - if (player.isCrouching()) { - final BlockEntity te = context.getWorld().getTileEntity(context.getPos()); + if (player.isInSneakingPose()) { + final BlockEntity te = context.getWorld().getBlockEntity(context.getBlockPos()); ItemTransferable upgrades = null; if (te instanceof IPartHost) { @@ -154,18 +154,18 @@ public final class MaterialItem extends AEBaseItem implements IStorageComponent, upgrades = ((ISegmentedInventory) te).getInventoryByName("upgrades"); } - if (upgrades != null && !player.getHeldItem(hand).isEmpty() - && player.getHeldItem(hand).getItem() instanceof IUpgradeModule) { - final IUpgradeModule um = (IUpgradeModule) player.getHeldItem(hand).getItem(); - final Upgrades u = um.getType(player.getHeldItem(hand)); + if (upgrades != null && !player.getStackInHand(hand).isEmpty() + && player.getStackInHand(hand).getItem() instanceof IUpgradeModule) { + final IUpgradeModule um = (IUpgradeModule) player.getStackInHand(hand).getItem(); + final Upgrades u = um.getType(player.getStackInHand(hand)); if (u != null) { - if (player.world.isRemote) { + if (player.world.isClient) { return ActionResult.PASS; } final InventoryAdaptor ad = new AdaptorItemHandler(upgrades); - player.setHeldItem(hand, ad.addItems(player.getHeldItem(hand))); + player.setHeldItem(hand, ad.addItems(player.getStackInHand(hand))); return ActionResult.SUCCESS; } } diff --git a/src/main/java/appeng/items/misc/CrystalSeedItem.java b/src/main/java/appeng/items/misc/CrystalSeedItem.java index d47c3a6c4..185671b35 100644 --- a/src/main/java/appeng/items/misc/CrystalSeedItem.java +++ b/src/main/java/appeng/items/misc/CrystalSeedItem.java @@ -22,23 +22,25 @@ import java.util.List; import javax.annotation.Nullable; +import appeng.core.AppEng; import com.google.common.base.Preconditions; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; import net.minecraft.block.Block; import net.minecraft.block.Material; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.Entity; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; +import net.minecraft.text.LiteralText; import net.minecraft.util.IItemProvider; import net.minecraft.util.Identifier; import net.minecraft.util.NonNullList; import net.minecraft.util.math.MathHelper; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.World; import appeng.api.implementations.items.IGrowableCrystal; @@ -67,12 +69,15 @@ public class CrystalSeedItem extends AEBaseItem implements IGrowableCrystal { */ private final IItemProvider grownItem; - public CrystalSeedItem(Properties properties, IItemProvider grownItem) { + public CrystalSeedItem(Settings properties, IItemProvider grownItem) { super(properties); this.grownItem = Preconditions.checkNotNull(grownItem); // Expose the growth of the seed to the model system - addPropertyOverride(new Identifier("appliedenergistics2:growth"), - (is, w, p) -> getGrowthTicks(is) / (float) GROWTH_TICKS_REQUIRED); + FabricModelPredicateProviderRegistry.register( + this, + new Identifier(AppEng.MOD_ID, "growth"), + (is, w, p) -> getGrowthTicks(is) / (float) GROWTH_TICKS_REQUIRED + ); } @Nullable @@ -104,17 +109,17 @@ public class CrystalSeedItem extends AEBaseItem implements IGrowableCrystal { @Override @Environment(EnvType.CLIENT) - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { lines.add(ButtonToolTips.DoesntDespawn.getTranslationKey()); lines.add(getGrowthTooltipItem(stack)); - super.addInformation(stack, world, lines, advancedTooltips); + super.appendTooltip(stack, world, lines, advancedTooltips); } public Text getGrowthTooltipItem(ItemStack stack) { final int progress = getGrowthTicks(stack); - return new StringTextComponent(Math.round(100 * progress / (float) GROWTH_TICKS_REQUIRED) + "%"); + return new LiteralText(Math.round(100 * progress / (float) GROWTH_TICKS_REQUIRED) + "%"); } @Override diff --git a/src/main/java/appeng/items/misc/EncodedPatternItem.java b/src/main/java/appeng/items/misc/EncodedPatternItem.java index 9e7b60040..b5799b2d6 100644 --- a/src/main/java/appeng/items/misc/EncodedPatternItem.java +++ b/src/main/java/appeng/items/misc/EncodedPatternItem.java @@ -22,16 +22,16 @@ import java.util.List; import java.util.Map; import java.util.WeakHashMap; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; +import net.minecraft.text.LiteralText; import net.minecraft.util.TypedActionResult; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; import net.minecraft.util.text.TextFormatting; import net.minecraft.world.World; import net.fabricmc.api.EnvType; @@ -52,24 +52,24 @@ public class EncodedPatternItem extends AEBaseItem implements ICraftingPatternIt // rather simple client side caching. private static final Map SIMPLE_CACHE = new WeakHashMap<>(); - public EncodedPatternItem(Properties properties) { + public EncodedPatternItem(Settings properties) { super(properties); } @Override public TypedActionResult onItemRightClick(final World w, final PlayerEntity player, final Hand hand) { - this.clearPattern(player.getHeldItem(hand), player); + this.clearPattern(player.getStackInHand(hand), player); - return new TypedActionResult<>(ActionResult.SUCCESS, player.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.SUCCESS, player.getStackInHand(hand)); } @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { return this.clearPattern(stack, context.getPlayer()) ? ActionResult.SUCCESS : ActionResult.PASS; } private boolean clearPattern(final ItemStack stack, final PlayerEntity player) { - if (player.isCrouching()) { + if (player.isInSneakingPose()) { if (Platform.isClient()) { return false; } @@ -93,8 +93,8 @@ public class EncodedPatternItem extends AEBaseItem implements ICraftingPatternIt @Override @Environment(EnvType.CLIENT) - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { final ICraftingPatternDetails details = this.getPatternForItem(stack, world); if (details == null) { @@ -107,35 +107,35 @@ public class EncodedPatternItem extends AEBaseItem implements ICraftingPatternIt InvalidPatternHelper invalid = new InvalidPatternHelper(stack); final Text label = (invalid.isCraftable() ? GuiText.Crafts.textComponent() - : GuiText.Creates.textComponent()).appendText(": "); - final Text and = new StringTextComponent(" ").appendSibling(GuiText.And.textComponent()) - .appendText(" "); - final Text with = GuiText.With.textComponent().appendText(": "); + : GuiText.Creates.textComponent()).append(": "); + final Text and = new LiteralText(" ").append(GuiText.And.textComponent()) + .append(" "); + final Text with = GuiText.With.textComponent().append(": "); boolean first = true; for (final InvalidPatternHelper.PatternIngredient output : invalid.getOutputs()) { - lines.add((first ? label : and).deepCopy().appendSibling(output.getFormattedToolTip())); + lines.add((first ? label : and).deepCopy().append(output.getFormattedToolTip())); first = false; } first = true; for (final InvalidPatternHelper.PatternIngredient input : invalid.getInputs()) { - lines.add((first ? with : and).deepCopy().appendSibling(input.getFormattedToolTip())); + lines.add((first ? with : and).deepCopy().append(input.getFormattedToolTip())); first = false; } if (invalid.isCraftable()) { - final Text substitutionLabel = GuiText.Substitute.textComponent().appendText(" "); + final Text substitutionLabel = GuiText.Substitute.textComponent().append(" "); final Text canSubstitute = invalid.canSubstitute() ? GuiText.Yes.textComponent() : GuiText.No.textComponent(); - lines.add(substitutionLabel.appendSibling(canSubstitute)); + lines.add(substitutionLabel.append(canSubstitute)); } return; } - if (stack.hasDisplayName()) { + if (stack.hasCustomName()) { stack.removeChildTag("display"); } @@ -146,10 +146,10 @@ public class EncodedPatternItem extends AEBaseItem implements ICraftingPatternIt final IAEItemStack[] out = details.getCondensedOutputs(); final Text label = (isCrafting ? GuiText.Crafts.textComponent() : GuiText.Creates.textComponent()) - .appendText(": "); - final Text and = new StringTextComponent(" ").appendSibling(GuiText.And.textComponent()) - .appendText(" "); - final Text with = GuiText.With.textComponent().appendText(": "); + .append(": "); + final Text and = new LiteralText(" ").append(GuiText.And.textComponent()) + .append(" "); + final Text with = GuiText.With.textComponent().append(": "); boolean first = true; for (final IAEItemStack anOut : out) { @@ -157,8 +157,8 @@ public class EncodedPatternItem extends AEBaseItem implements ICraftingPatternIt continue; } - lines.add((first ? label : and).deepCopy().appendText(anOut.getStackSize() + "x ") - .appendSibling(Platform.getItemDisplayName(anOut))); + lines.add((first ? label : and).deepCopy().append(anOut.getStackSize() + "x ") + .append(Platform.getItemDisplayName(anOut))); first = false; } @@ -168,16 +168,16 @@ public class EncodedPatternItem extends AEBaseItem implements ICraftingPatternIt continue; } - lines.add((first ? with : and).deepCopy().appendText(anIn.getStackSize() + "x ") - .appendSibling(Platform.getItemDisplayName(anIn))); + lines.add((first ? with : and).deepCopy().append(anIn.getStackSize() + "x ") + .append(Platform.getItemDisplayName(anIn))); first = false; } if (isCrafting) { - final Text substitutionLabel = GuiText.Substitute.textComponent().appendText(" "); + final Text substitutionLabel = GuiText.Substitute.textComponent().append(" "); final Text canSubstitute = substitute ? GuiText.Yes.textComponent() : GuiText.No.textComponent(); - lines.add(substitutionLabel.appendSibling(canSubstitute)); + lines.add(substitutionLabel.append(canSubstitute)); } } diff --git a/src/main/java/appeng/items/misc/PaintBallItem.java b/src/main/java/appeng/items/misc/PaintBallItem.java index dfb310029..096d41138 100644 --- a/src/main/java/appeng/items/misc/PaintBallItem.java +++ b/src/main/java/appeng/items/misc/PaintBallItem.java @@ -27,7 +27,7 @@ public class PaintBallItem extends AEBaseItem { private final boolean lumen; - public PaintBallItem(Properties properties, AEColor color, boolean lumen) { + public PaintBallItem(Settings properties, AEColor color, boolean lumen) { super(properties); this.color = color; this.lumen = lumen; diff --git a/src/main/java/appeng/items/parts/ColoredPartItem.java b/src/main/java/appeng/items/parts/ColoredPartItem.java index 149ed47bc..dda0a5a39 100644 --- a/src/main/java/appeng/items/parts/ColoredPartItem.java +++ b/src/main/java/appeng/items/parts/ColoredPartItem.java @@ -11,7 +11,7 @@ public class ColoredPartItem extends PartItem { private final AEColor color; - public ColoredPartItem(Properties properties, PartType type, Function factory, AEColor color) { + public ColoredPartItem(Settings properties, PartType type, Function factory, AEColor color) { super(properties, type, factory); this.color = color; } diff --git a/src/main/java/appeng/items/parts/FacadeItem.java b/src/main/java/appeng/items/parts/FacadeItem.java index e70707895..c0b0a7d25 100644 --- a/src/main/java/appeng/items/parts/FacadeItem.java +++ b/src/main/java/appeng/items/parts/FacadeItem.java @@ -22,7 +22,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.render.RenderLayer; import net.minecraft.client.renderer.RenderTypeLookup; import net.minecraft.item.*; import net.minecraft.nbt.CompoundTag; @@ -57,28 +57,28 @@ public class FacadeItem extends AEBaseItem implements IFacadeItem, IAlphaPassIte private static final String NBT_ITEM_ID = "item"; - public FacadeItem(Properties properties) { + public FacadeItem(Settings properties) { super(properties); } @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { - return AEApi.instance().partHelper().placeBus(stack, context.getPos(), context.getFace(), context.getPlayer(), + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { + return AEApi.instance().partHelper().placeBus(stack, context.getBlockPos(), context.getSide(), context.getPlayer(), context.getHand(), context.getWorld()); } @Override - public Text getDisplayName(ItemStack is) { + public Text getName(ItemStack is) { try { final ItemStack in = this.getTextureItem(is); if (!in.isEmpty()) { - return super.getDisplayName(is).deepCopy().appendText(" - ").appendSibling(in.getDisplayName()); + return super.getName(is).deepCopy().append(" - ").append(in.getName()); } } catch (final Throwable ignored) { } - return super.getDisplayName(is); + return super.getName(is); } @Override @@ -195,7 +195,7 @@ public class FacadeItem extends AEBaseItem implements IFacadeItem, IAlphaPassIte return false; } - return RenderTypeLookup.canRenderInLayer(blockState, RenderType.getTranslucent()) - || RenderTypeLookup.canRenderInLayer(blockState, RenderType.getTranslucentNoCrumbling()); + return RenderTypeLookup.canRenderInLayer(blockState, RenderLayer.getTranslucent()) + || RenderTypeLookup.canRenderInLayer(blockState, RenderLayer.getTranslucentNoCrumbling()); } } diff --git a/src/main/java/appeng/items/parts/PartItem.java b/src/main/java/appeng/items/parts/PartItem.java index 00929c0f4..0bd1f1835 100644 --- a/src/main/java/appeng/items/parts/PartItem.java +++ b/src/main/java/appeng/items/parts/PartItem.java @@ -25,7 +25,7 @@ import javax.annotation.Nullable; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.util.ActionResult; import appeng.api.AEApi; @@ -40,21 +40,21 @@ public class PartItem extends AEBaseItem implements IPartItem factory; - public PartItem(Properties properties, PartType type, Function factory) { + public PartItem(Settings properties, PartType type, Function factory) { super(properties); this.type = type; this.factory = factory; } @Override - public ActionResult onItemUse(ItemUseContext context) { + public ActionResult onItemUse(ItemUsageContext context) { PlayerEntity player = context.getPlayer(); - ItemStack held = player.getHeldItem(context.getHand()); + ItemStack held = player.getStackInHand(context.getHand()); if (held.getItem() != this) { return ActionResult.PASS; } - return AEApi.instance().partHelper().placeBus(held, context.getPos(), context.getFace(), player, + return AEApi.instance().partHelper().placeBus(held, context.getBlockPos(), context.getSide(), player, context.getHand(), context.getWorld()); } diff --git a/src/main/java/appeng/items/storage/AbstractStorageCell.java b/src/main/java/appeng/items/storage/AbstractStorageCell.java index 9d79d6ca1..fc56cde42 100644 --- a/src/main/java/appeng/items/storage/AbstractStorageCell.java +++ b/src/main/java/appeng/items/storage/AbstractStorageCell.java @@ -23,11 +23,11 @@ import java.util.Set; import alexiil.mc.lib.attributes.item.ItemTransferable; import net.fabricmc.api.EnvType; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.util.TypedActionResult; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; @@ -65,7 +65,7 @@ public abstract class AbstractStorageCell> extends AEBaseI protected final MaterialType component; protected final int totalBytes; - public AbstractStorageCell(Properties properties, final MaterialType whichCell, final int kilobytes) { + public AbstractStorageCell(Settings properties, final MaterialType whichCell, final int kilobytes) { super(properties); this.totalBytes = kilobytes * 1024; this.component = whichCell; @@ -73,8 +73,8 @@ public abstract class AbstractStorageCell> extends AEBaseI @Environment(EnvType.CLIENT) @Override - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { AEApi.instance().client().addCellInformation( AEApi.instance().registries().cell().getCellInventory(stack, null, this.getChannel()), lines); } @@ -141,12 +141,12 @@ public abstract class AbstractStorageCell> extends AEBaseI @Override public TypedActionResult onItemRightClick(final World world, final PlayerEntity player, final Hand hand) { - this.disassembleDrive(player.getHeldItem(hand), world, player); - return new TypedActionResult<>(ActionResult.SUCCESS, player.getHeldItem(hand)); + this.disassembleDrive(player.getStackInHand(hand), world, player); + return new TypedActionResult<>(ActionResult.SUCCESS, player.getStackInHand(hand)); } private boolean disassembleDrive(final ItemStack stack, final World world, final PlayerEntity player) { - if (player.isCrouching()) { + if (player.isInSneakingPose()) { if (Platform.isClient()) { return false; } @@ -193,7 +193,7 @@ public abstract class AbstractStorageCell> extends AEBaseI protected abstract void dropEmptyStorageCellCase(final InventoryAdaptor ia, final PlayerEntity player); @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { return this.disassembleDrive(stack, context.getWorld(), context.getPlayer()) ? ActionResult.SUCCESS : ActionResult.PASS; } diff --git a/src/main/java/appeng/items/storage/BasicStorageCellItem.java b/src/main/java/appeng/items/storage/BasicStorageCellItem.java index 1cae5a15f..a7b1bc145 100644 --- a/src/main/java/appeng/items/storage/BasicStorageCellItem.java +++ b/src/main/java/appeng/items/storage/BasicStorageCellItem.java @@ -33,7 +33,7 @@ public final class BasicStorageCellItem extends AbstractStorageCell lines, - final ITooltipFlag advancedTooltips) { + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { final IMEInventoryHandler inventory = AEApi.instance().registries().cell().getCellInventory(stack, null, AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class)); @@ -80,7 +80,7 @@ public class CreativeStorageCellItem extends AEBaseItem implements ICellWorkbenc for (final ItemStack is : cc) { if (!is.isEmpty()) { - lines.add(is.getDisplayName()); + lines.add(is.getName()); } } } diff --git a/src/main/java/appeng/items/storage/SpatialStorageCellItem.java b/src/main/java/appeng/items/storage/SpatialStorageCellItem.java index 00cf5e9db..e8d36bceb 100644 --- a/src/main/java/appeng/items/storage/SpatialStorageCellItem.java +++ b/src/main/java/appeng/items/storage/SpatialStorageCellItem.java @@ -21,13 +21,13 @@ package appeng.items.storage; import java.util.List; import net.fabricmc.api.EnvType; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; +import net.minecraft.text.LiteralText; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; import net.minecraft.util.text.TextFormatting; import net.minecraft.world.World; import net.minecraft.world.dimension.DimensionType; @@ -48,15 +48,15 @@ public class SpatialStorageCellItem extends AEBaseItem implements ISpatialStorag private final int maxRegion; - public SpatialStorageCellItem(Properties props, final int spatialScale) { + public SpatialStorageCellItem(Settings props, final int spatialScale) { super(props); this.maxRegion = spatialScale; } @Environment(EnvType.CLIENT) @Override - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { final DimensionType dimType = this.getStoredDimension(stack); if (dimType == null) { lines.add(GuiText.Unformatted.textComponent().applyTextStyle(TextFormatting.ITALIC)); @@ -67,7 +67,7 @@ public class SpatialStorageCellItem extends AEBaseItem implements ISpatialStorag if (advancedTooltips.isAdvanced()) { if (dimType != null && dimType.getRegistryName() != null) { - lines.add(new StringTextComponent("Dimension: " + dimType.getRegistryName())); + lines.add(new LiteralText("Dimension: " + dimType.getRegistryName())); } } } diff --git a/src/main/java/appeng/items/storage/ViewCellItem.java b/src/main/java/appeng/items/storage/ViewCellItem.java index aed3fa337..cbab4a3ae 100644 --- a/src/main/java/appeng/items/storage/ViewCellItem.java +++ b/src/main/java/appeng/items/storage/ViewCellItem.java @@ -40,7 +40,7 @@ import appeng.util.prioritylist.PrecisePriorityList; public class ViewCellItem extends AEBaseItem implements ICellWorkbenchItem { - public ViewCellItem(Properties properties) { + public ViewCellItem(Settings properties) { super(properties); } diff --git a/src/main/java/appeng/items/tools/BiometricCardItem.java b/src/main/java/appeng/items/tools/BiometricCardItem.java index f79d1c6e4..946e206b3 100644 --- a/src/main/java/appeng/items/tools/BiometricCardItem.java +++ b/src/main/java/appeng/items/tools/BiometricCardItem.java @@ -23,7 +23,7 @@ import java.util.List; import com.mojang.authlib.GameProfile; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; @@ -45,27 +45,27 @@ import appeng.core.localization.GuiText; import appeng.items.AEBaseItem; public class BiometricCardItem extends AEBaseItem implements IBiometricCard { - public BiometricCardItem(Properties properties) { + public BiometricCardItem(Settings properties) { super(properties); } @Override public TypedActionResult onItemRightClick(final World w, final PlayerEntity p, final Hand hand) { - if (p.isCrouching()) { - this.encode(p.getHeldItem(hand), p); + if (p.isInSneakingPose()) { + this.encode(p.getStackInHand(hand), p); p.swingArm(hand); - return TypedActionResult.resultSuccess(p.getHeldItem(hand)); + return TypedActionResult.resultSuccess(p.getStackInHand(hand)); } - return TypedActionResult.resultPass(p.getHeldItem(hand)); + return TypedActionResult.resultPass(p.getStackInHand(hand)); } @Override public boolean itemInteractionForEntity(ItemStack is, final PlayerEntity player, final LivingEntity target, final Hand hand) { - if (target instanceof PlayerEntity && !player.isCrouching()) { + if (target instanceof PlayerEntity && !player.isInSneakingPose()) { if (player.isCreative()) { - is = player.getHeldItem(hand); + is = player.getStackInHand(hand); } this.encode(is, (PlayerEntity) target); player.swingArm(hand); @@ -75,10 +75,10 @@ public class BiometricCardItem extends AEBaseItem implements IBiometricCard { } @Override - public Text getDisplayName(final ItemStack is) { + public Text getName(final ItemStack is) { final GameProfile username = this.getProfile(is); - return username != null ? super.getDisplayName(is).appendText(" - " + username.getName()) - : super.getDisplayName(is); + return username != null ? super.getName(is).append(" - " + username.getName()) + : super.getName(is); } private void encode(final ItemStack is, final PlayerEntity p) { @@ -154,8 +154,8 @@ public class BiometricCardItem extends AEBaseItem implements IBiometricCard { @Override @Environment(EnvType.CLIENT) - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { final EnumSet perms = this.getPermissions(stack); if (perms.isEmpty()) { lines.add(new TranslatableText(GuiText.NoPermissions.getLocal())); @@ -166,7 +166,7 @@ public class BiometricCardItem extends AEBaseItem implements IBiometricCard { if (msg == null) { msg = new TranslatableText(sp.getTranslatedName()); } else { - msg = msg.appendText(", ").appendSibling(new TranslatableText(sp.getTranslatedName())); + msg = msg.append(", ").append(new TranslatableText(sp.getTranslatedName())); } } lines.add(msg); diff --git a/src/main/java/appeng/items/tools/MemoryCardItem.java b/src/main/java/appeng/items/tools/MemoryCardItem.java index d9300d23b..62d61f015 100644 --- a/src/main/java/appeng/items/tools/MemoryCardItem.java +++ b/src/main/java/appeng/items/tools/MemoryCardItem.java @@ -22,10 +22,10 @@ import java.util.List; import net.fabricmc.api.EnvType; import net.minecraft.client.resources.I18n; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.nbt.CompoundTag; import net.minecraft.text.TranslatableText; import net.minecraft.util.TypedActionResult; @@ -52,14 +52,14 @@ public class MemoryCardItem extends AEBaseItem implements IMemoryCard { AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, }; - public MemoryCardItem(Properties properties) { + public MemoryCardItem(Settings properties) { super(properties); } @Override @Environment(EnvType.CLIENT) - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { String firstLineKey = this.getFirstValidTranslationKey(this.getSettingsName(stack) + ".name", this.getSettingsName(stack)); lines.add(new TranslatableText(firstLineKey)); @@ -164,9 +164,9 @@ public class MemoryCardItem extends AEBaseItem implements IMemoryCard { } @Override - public ActionResult onItemUse(ItemUseContext context) { - if (context.getPlayer().isCrouching()) { - if (!context.getPlayer().world.isRemote) { + public ActionResult onItemUse(ItemUsageContext context) { + if (context.getPlayer().isInSneakingPose()) { + if (!context.getPlayer().world.isClient) { this.clearCard(context.getPlayer(), context.getWorld(), context.getHand()); } return ActionResult.SUCCESS; @@ -177,8 +177,8 @@ public class MemoryCardItem extends AEBaseItem implements IMemoryCard { @Override public TypedActionResult onItemRightClick(World w, PlayerEntity player, Hand hand) { - if (player.isCrouching()) { - if (!w.isRemote) { + if (player.isInSneakingPose()) { + if (!w.isClient) { this.clearCard(player, w, hand); } } @@ -192,8 +192,8 @@ public class MemoryCardItem extends AEBaseItem implements IMemoryCard { } private void clearCard(final PlayerEntity player, final World w, final Hand hand) { - final IMemoryCard mem = (IMemoryCard) player.getHeldItem(hand).getItem(); + final IMemoryCard mem = (IMemoryCard) player.getStackInHand(hand).getItem(); mem.notifyUser(player, MemoryCardMessages.SETTINGS_CLEARED); - player.getHeldItem(hand).setTag(null); + player.getStackInHand(hand).setTag(null); } } diff --git a/src/main/java/appeng/items/tools/NetworkToolItem.java b/src/main/java/appeng/items/tools/NetworkToolItem.java index 7bda86905..027bf5a0e 100644 --- a/src/main/java/appeng/items/tools/NetworkToolItem.java +++ b/src/main/java/appeng/items/tools/NetworkToolItem.java @@ -23,14 +23,14 @@ import net.minecraft.block.Blocks; import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.util.TypedActionResult; 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.Rotation; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.hit.HitResult; import net.minecraft.world.IWorldReader; import net.minecraft.world.World; @@ -57,7 +57,7 @@ import appeng.util.Platform; public class NetworkToolItem extends AEBaseItem implements IGuiItem, IAEWrench { - public NetworkToolItem(Properties properties) { + public NetworkToolItem(Settings properties) { super(properties); } @@ -67,7 +67,7 @@ public class NetworkToolItem extends AEBaseItem implements IGuiItem, IAEWrench { if (pos == null) { return new NetworkToolViewer(is, null); } - final BlockEntity te = world.getTileEntity(pos); + final BlockEntity te = world.getBlockEntity(pos); return new NetworkToolViewer(is, (IGridHost) (te instanceof IGridHost ? te : null)); } @@ -81,14 +81,14 @@ public class NetworkToolItem extends AEBaseItem implements IGuiItem, IAEWrench { } } - return new TypedActionResult<>(ActionResult.SUCCESS, p.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.SUCCESS, p.getStackInHand(hand)); } @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { - final BlockRayTraceResult mop = new BlockRayTraceResult(context.getHitVec(), context.getFace(), - context.getPos(), context.isInside()); - final BlockEntity te = context.getWorld().getTileEntity(context.getPos()); + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { + final BlockHitResult mop = new BlockHitResult(context.getHitVec(), context.getSide(), + context.getBlockPos(), context.isInside()); + final BlockEntity te = context.getWorld().getBlockEntity(context.getBlockPos()); if (te instanceof IPartHost) { final SelectedPart part = ((IPartHost) te).selectPart(mop.getHitVec()); @@ -96,7 +96,7 @@ public class NetworkToolItem extends AEBaseItem implements IGuiItem, IAEWrench { if (part.part != null || part.facade != null) { if (part.part instanceof INetworkToolAgent && !((INetworkToolAgent) part.part).showNetworkInfo(mop)) { return ActionResult.FAIL; - } else if (context.getPlayer().isCrouching()) { + } else if (context.getPlayer().isInSneakingPose()) { return ActionResult.PASS; } } @@ -116,35 +116,35 @@ public class NetworkToolItem extends AEBaseItem implements IGuiItem, IAEWrench { return true; } - public boolean serverSideToolLogic(ItemUseContext useContext) { + public boolean serverSideToolLogic(ItemUsageContext useContext) { BlockPos pos = useContext.getPos(); PlayerEntity p = useContext.getPlayer(); World w = p.world; Hand hand = useContext.getHand(); - Direction side = useContext.getFace(); + Direction side = useContext.getSide(); if (!Platform.hasPermissions(new DimensionalCoord(w, pos), p)) { return false; } final BlockState bs = w.getBlockState(pos); - if (!p.isCrouching()) { - final BlockEntity te = w.getTileEntity(pos); + if (!p.isInSneakingPose()) { + 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); p.swingArm(hand); - return !w.isRemote; + return !w.isClient; } } } - if (!p.isCrouching()) { + if (!p.isInSneakingPose()) { if (p.openContainer instanceof AEBaseContainer) { return true; } - final BlockEntity te = w.getTileEntity(pos); + final BlockEntity te = w.getBlockEntity(pos); if (te instanceof IGridHost) { ContainerOpener.openContainer(NetworkStatusContainer.TYPE, p, @@ -155,8 +155,8 @@ public class NetworkToolItem extends AEBaseItem implements IGuiItem, IAEWrench { return true; } else { - BlockRayTraceResult rtr = new BlockRayTraceResult(useContext.getHitVec(), side, pos, false); - bs.onBlockActivated(w, p, hand, rtr); + BlockHitResult rtr = new BlockHitResult(useContext.getHitVec(), side, pos, false); + bs.onUse(w, p, hand, rtr); } return false; diff --git a/src/main/java/appeng/items/tools/powered/ChargedStaffItem.java b/src/main/java/appeng/items/tools/powered/ChargedStaffItem.java index d8fe8d0be..cfa73fe5a 100644 --- a/src/main/java/appeng/items/tools/powered/ChargedStaffItem.java +++ b/src/main/java/appeng/items/tools/powered/ChargedStaffItem.java @@ -33,7 +33,7 @@ import appeng.util.Platform; public class ChargedStaffItem extends AEBasePoweredItem { - public ChargedStaffItem(Item.Properties props) { + public ChargedStaffItem(Item.Settings props) { super(AEConfig.instance().getChargedStaffBattery(), props); } diff --git a/src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java b/src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java index f1baf6850..add79779f 100644 --- a/src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java +++ b/src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java @@ -18,37 +18,7 @@ package appeng.items.tools.powered; -import java.util.*; - -import javax.annotation.Nullable; - import alexiil.mc.lib.attributes.item.ItemTransferable; -import com.google.common.collect.ImmutableMap; - -import net.fabricmc.api.Environment; -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.block.entity.BlockEntity; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; -import net.minecraft.item.SnowballItem; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.state.IProperty; -import net.minecraft.tags.ItemTags; -import net.minecraft.tags.Tag; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.ActionResult; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.Direction; -import net.minecraft.util.math.BlockPos; -import net.minecraft.text.Text; -import net.minecraft.world.World; -import net.minecraft.server.world.ServerWorld; -import net.fabricmc.api.EnvType; - import appeng.api.AEApi; import appeng.api.config.Actionable; import appeng.api.config.FuzzyMode; @@ -75,9 +45,37 @@ import appeng.items.contents.CellUpgrades; import appeng.items.misc.PaintBallItem; import appeng.items.tools.powered.powersink.AEBasePoweredItem; import appeng.me.helpers.BaseActionSource; -import appeng.tile.misc.PaintSplotchesTileEntity; +import appeng.tile.misc.PaintSplotchesBlockEntity; import appeng.util.Platform; import appeng.util.item.AEItemStack; +import com.google.common.collect.ImmutableMap; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.client.item.TooltipContext; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +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.text.Text; +import net.minecraft.text.TranslatableText; +import net.minecraft.util.ActionResult; +import net.minecraft.util.Identifier; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.world.World; + +import javax.annotation.Nullable; +import java.util.*; public class ColorApplicatorItem extends AEBasePoweredItem implements IStorageCell, IItemGroup, IBlockTool, IMouseWheelItem { @@ -102,24 +100,28 @@ public class ColorApplicatorItem extends AEBasePoweredItem private static final String TAG_COLOR = "color"; - public ColorApplicatorItem(Item.Properties props) { + public ColorApplicatorItem(Item.Settings props) { super(AEConfig.instance().getColorApplicatorBattery(), props); - addPropertyOverride(new Identifier(AppEng.MOD_ID, "colored"), (itemStack, world, entity) -> { - // If the stack has no color, don't use the colored model since the impact of - // calling getColor for every quad is extremely high, if the stack tries to - // re-search its - // inventory for a new paintball everytime - AEColor col = getActiveColor(itemStack); - return (col != null) ? 1 : 0; - }); + FabricModelPredicateProviderRegistry.register( + this, + new Identifier(AppEng.MOD_ID, "colored"), + (itemStack, world, entity) -> { + // If the stack has no color, don't use the colored model since the impact of + // calling getColor for every quad is extremely high, if the stack tries to + // re-search its + // inventory for a new paintball everytime + AEColor col = getActiveColor(itemStack); + return (col != null) ? 1 : 0; + } + ); } @Override - public ActionResult onItemUse(ItemUseContext context) { + public ActionResult onItemUse(ItemUsageContext context) { World w = context.getWorld(); - BlockPos pos = context.getPos(); - ItemStack is = context.getItem(); - Direction side = context.getFace(); + BlockPos pos = context.getBlockPos(); + ItemStack is = context.getStack(); + Direction side = context.getSide(); PlayerEntity p = context.getPlayer(); // This can be null if (p == null && w instanceof ServerWorld) { p = Platform.getPlayer((ServerWorld) w); @@ -148,7 +150,7 @@ public class ColorApplicatorItem extends AEBasePoweredItem final double powerPerUse = 100; if (!paintBall.isEmpty() && paintBall.getItem() instanceof SnowballItem) { - final BlockEntity te = w.getTileEntity(pos); + final BlockEntity te = w.getBlockEntity(pos); // clean cables. if (te instanceof IColorableTile && p != null) { if (this.getAECurrentPower(is) > powerPerUse @@ -164,12 +166,12 @@ public class ColorApplicatorItem extends AEBasePoweredItem // clean paint balls.. final Block testBlk = w.getBlockState(pos.offset(side)).getBlock(); - final BlockEntity painted = w.getTileEntity(pos.offset(side)); + final BlockEntity painted = w.getBlockEntity(pos.offset(side)); if (this.getAECurrentPower(is) > powerPerUse && testBlk instanceof PaintSplotchesBlock - && painted instanceof PaintSplotchesTileEntity) { + && painted instanceof PaintSplotchesBlockEntity) { inv.extractItems(AEItemStack.fromItemStack(paintBall), Actionable.MODULATE, new BaseActionSource()); this.extractAEPower(is, powerPerUse, Actionable.MODULATE); - ((PaintSplotchesTileEntity) painted).cleanSide(side.getOpposite()); + ((PaintSplotchesBlockEntity) painted).cleanSide(side.getOpposite()); return ActionResult.SUCCESS; } } else if (!paintBall.isEmpty()) { @@ -186,7 +188,7 @@ public class ColorApplicatorItem extends AEBasePoweredItem } } - if (p != null && p.isCrouching()) { + if (p != null && p.isInSneakingPose()) { this.cycleColors(is, paintBall, 1); } @@ -194,7 +196,7 @@ public class ColorApplicatorItem extends AEBasePoweredItem } @Override - public Text getDisplayName(final ItemStack is) { + public Text getName(final ItemStack is) { Text extra = GuiText.Empty.textComponent(); final AEColor selected = this.getActiveColor(is); @@ -203,7 +205,7 @@ public class ColorApplicatorItem extends AEBasePoweredItem extra = new TranslatableText(selected.translationKey); } - return super.getDisplayName(is).appendText(" - ").appendSibling(extra); + return super.getName(is).append(" - ").append(extra); } public AEColor getActiveColor(final ItemStack tol) { @@ -331,11 +333,22 @@ public class ColorApplicatorItem extends AEBasePoweredItem return w.setBlockState(pos, newState); } + BlockEntity be = w.getBlockEntity(pos); + if (be instanceof IColorableTile) { + IColorableTile ct = (IColorableTile) be; + AEColor c = ct.getColor(); + if (c != newColor) { + ct.recolourBlock(side, newColor, null); + return true; + } + return false; + } + if (blk instanceof CableBusBlock && p != null) { return ((CableBusBlock) blk).recolorBlock(w, pos, side, newColor.dye, p); } - return blk.recolorBlock(state, w, pos, side, newColor.dye); + return false; } private static > BlockState copyProp(BlockState oldState, BlockState newState, @@ -356,9 +369,9 @@ public class ColorApplicatorItem extends AEBasePoweredItem @Override @Environment(EnvType.CLIENT) - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { - super.addInformation(stack, world, lines, advancedTooltips); + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { + super.appendTooltip(stack, world, lines, advancedTooltips); final ICellInventoryHandler cdi = AEApi.instance().registries().cell().getCellInventory(stack, null, AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class)); diff --git a/src/main/java/appeng/items/tools/powered/EntropyManipulatorItem.java b/src/main/java/appeng/items/tools/powered/EntropyManipulatorItem.java index e72b69815..791631623 100644 --- a/src/main/java/appeng/items/tools/powered/EntropyManipulatorItem.java +++ b/src/main/java/appeng/items/tools/powered/EntropyManipulatorItem.java @@ -36,8 +36,8 @@ import net.minecraft.item.crafting.IRecipeType; import net.minecraft.particles.ParticleTypes; import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.util.*; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.RayTraceContext; import net.minecraft.util.hit.HitResult; import net.minecraft.world.World; @@ -57,7 +57,7 @@ public class EntropyManipulatorItem extends AEBasePoweredItem implements IBlockT private final Map heatUp; private final Map coolDown; - public EntropyManipulatorItem(Item.Properties props) { + public EntropyManipulatorItem(Item.Settings props) { super(AEConfig.instance().getEntropyManipulatorBattery(), props); this.heatUp = new HashMap<>(); @@ -138,7 +138,7 @@ public class EntropyManipulatorItem extends AEBasePoweredItem implements IBlockT Platform.spawnDrops(w, pos, r.getDrops()); } - if (!w.isRemote) { + if (!w.isClient) { // Same effect as emptying a water bucket in the nether (see BucketItem) w.playSound(null, pos, SoundEvents.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 0.5F, 2.6F + (w.rand.nextFloat() - w.rand.nextFloat()) * 0.8F); @@ -206,31 +206,31 @@ public class EntropyManipulatorItem extends AEBasePoweredItem implements IBlockT final HitResult target = rayTrace(w, p, RayTraceContext.FluidMode.ANY); if (target.getType() != HitResult.Type.BLOCK) { - return new TypedActionResult<>(ActionResult.FAIL, p.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.FAIL, p.getStackInHand(hand)); } else { - BlockPos pos = ((BlockRayTraceResult) target).getPos(); + BlockPos pos = ((BlockHitResult) target).getPos(); final BlockState state = w.getBlockState(pos); if (state.getMaterial() == Material.LAVA || state.getMaterial() == Material.WATER) { if (Platform.hasPermissions(new DimensionalCoord(w, pos), p)) { - ItemUseContext context = new ItemUseContext(p, hand, (BlockRayTraceResult) target); + ItemUsageContext context = new ItemUsageContext(p, hand, (BlockHitResult) target); this.onItemUse(context); } } } - return new TypedActionResult<>(ActionResult.SUCCESS, p.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.SUCCESS, p.getStackInHand(hand)); } @Override - public ActionResult onItemUse(ItemUseContext context) { + public ActionResult onItemUse(ItemUsageContext context) { World w = context.getWorld(); - ItemStack item = context.getItem(); - BlockPos pos = context.getPos(); - Direction side = context.getFace(); + ItemStack item = context.getStack(); + BlockPos pos = context.getBlockPos(); + Direction side = context.getSide(); PlayerEntity p = context.getPlayer(); boolean tryBoth = false; if (p == null) { - if (w.isRemote) { + if (w.isClient) { return ActionResult.FAIL; } p = Platform.getPlayer((ServerWorld) w); @@ -247,17 +247,17 @@ public class EntropyManipulatorItem extends AEBasePoweredItem implements IBlockT final Block block = w.getBlockState(pos).getBlock(); final Fluid fluid = w.getFluidState(pos).getFluid(); - if (tryBoth || p.isCrouching()) { + if (tryBoth || p.isInSneakingPose()) { if (this.canCool(block, fluid)) { this.extractAEPower(item, 1600, Actionable.MODULATE); this.cool(block, fluid, w, pos); return ActionResult.SUCCESS; } } - if (tryBoth || !p.isCrouching()) { + if (tryBoth || !p.isInSneakingPose()) { if (block instanceof TNTBlock) { w.removeBlock(pos, false); - block.catchFire(w.getBlockState(pos), w, pos, context.getFace(), p); + block.catchFire(w.getBlockState(pos), w, pos, context.getSide(), p); return ActionResult.SUCCESS; } diff --git a/src/main/java/appeng/items/tools/powered/MatterCannonItem.java b/src/main/java/appeng/items/tools/powered/MatterCannonItem.java index 5ea587d50..19f2a87db 100644 --- a/src/main/java/appeng/items/tools/powered/MatterCannonItem.java +++ b/src/main/java/appeng/items/tools/powered/MatterCannonItem.java @@ -26,7 +26,7 @@ import alexiil.mc.lib.attributes.item.ItemTransferable; import net.fabricmc.api.EnvType; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.item.ItemEntity; @@ -42,7 +42,7 @@ import net.minecraft.util.math.Direction; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.EntityRayTraceResult; import net.minecraft.util.math.RayTraceContext; import net.minecraft.util.hit.HitResult; @@ -77,7 +77,7 @@ import appeng.items.contents.CellUpgrades; import appeng.items.misc.PaintBallItem; import appeng.items.tools.powered.powersink.AEBasePoweredItem; import appeng.me.helpers.PlayerSource; -import appeng.tile.misc.PaintSplotchesTileEntity; +import appeng.tile.misc.PaintSplotchesBlockEntity; import appeng.util.LookDirection; import appeng.util.Platform; @@ -88,15 +88,15 @@ public class MatterCannonItem extends AEBasePoweredItem implements IStorageCell< */ private static final int ENERGY_PER_SHOT = 1600; - public MatterCannonItem(Item.Properties props) { + public MatterCannonItem(Item.Settings props) { super(AEConfig.instance().getMatterCannonBattery(), props); } @Environment(EnvType.CLIENT) @Override - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { - super.addInformation(stack, world, lines, advancedTooltips); + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { + super.appendTooltip(stack, world, lines, advancedTooltips); final ICellInventoryHandler cdi = AEApi.instance().registries().cell().getCellInventory(stack, null, AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class)); @@ -106,16 +106,16 @@ public class MatterCannonItem extends AEBasePoweredItem implements IStorageCell< @Override public TypedActionResult onItemRightClick(final World w, final PlayerEntity p, final @Nullable Hand hand) { - if (this.getAECurrentPower(p.getHeldItem(hand)) > ENERGY_PER_SHOT) { + if (this.getAECurrentPower(p.getStackInHand(hand)) > ENERGY_PER_SHOT) { int shots = 1; - final CellUpgrades cu = (CellUpgrades) this.getUpgradesInventory(p.getHeldItem(hand)); + final CellUpgrades cu = (CellUpgrades) this.getUpgradesInventory(p.getStackInHand(hand)); if (cu != null) { shots += cu.getInstalledUpgrades(Upgrades.SPEED); } final ICellInventoryHandler inv = AEApi.instance().registries().cell().getCellInventory( - p.getHeldItem(hand), null, AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class)); + p.getStackInHand(hand), null, AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class)); if (inv != null) { final IItemList itemList = inv.getAvailableItems( AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class).createList()); @@ -124,21 +124,21 @@ public class MatterCannonItem extends AEBasePoweredItem implements IStorageCell< shots = Math.min(shots, (int) req.getStackSize()); for (int sh = 0; sh < shots; sh++) { IAEItemStack aeAmmo = req.copy(); - this.extractAEPower(p.getHeldItem(hand), ENERGY_PER_SHOT, Actionable.MODULATE); + this.extractAEPower(p.getStackInHand(hand), ENERGY_PER_SHOT, Actionable.MODULATE); if (Platform.isClient()) { - return new TypedActionResult<>(ActionResult.SUCCESS, p.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.SUCCESS, p.getStackInHand(hand)); } aeAmmo.setStackSize(1); final ItemStack ammo = aeAmmo.createItemStack(); if (ammo.isEmpty()) { - return new TypedActionResult<>(ActionResult.SUCCESS, p.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.SUCCESS, p.getStackInHand(hand)); } aeAmmo = inv.extractItems(aeAmmo, Actionable.MODULATE, new PlayerSource(p, null)); if (aeAmmo == null) { - return new TypedActionResult<>(ActionResult.SUCCESS, p.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.SUCCESS, p.getStackInHand(hand)); } final LookDirection dir = Platform.getPlayerRay(p, 32); @@ -158,7 +158,7 @@ public class MatterCannonItem extends AEBasePoweredItem implements IStorageCell< if (type.getItem() instanceof PaintBallItem) { this.shootPaintBalls(type, w, p, rayFrom, rayTo, direction, d0, d1, d2); } - return new TypedActionResult<>(ActionResult.SUCCESS, p.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.SUCCESS, p.getStackInHand(hand)); } else { this.standardAmmo(penetration, w, p, rayFrom, rayTo, direction, d0, d1, d2); } @@ -167,11 +167,11 @@ public class MatterCannonItem extends AEBasePoweredItem implements IStorageCell< if (Platform.isServer()) { p.sendMessage(PlayerMessages.AmmoDepleted.get()); } - return new TypedActionResult<>(ActionResult.SUCCESS, p.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.SUCCESS, p.getStackInHand(hand)); } } } - return new TypedActionResult<>(ActionResult.FAIL, p.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.FAIL, p.getStackInHand(hand)); } private void shootPaintBalls(final ItemStack type, final World w, final PlayerEntity p, final Vec3d Vec3d, @@ -255,9 +255,9 @@ public class MatterCannonItem extends AEBasePoweredItem implements IStorageCell< entityHit.attackEntityFrom(DamageSource.causePlayerDamage(p), 0); NetworkHandler.instance().sendToAll(marker.getPacket()); - } else if (pos instanceof BlockRayTraceResult) { - BlockRayTraceResult blockResult = (BlockRayTraceResult) pos; - final Direction side = blockResult.getFace(); + } else if (pos instanceof BlockHitResult) { + BlockHitResult blockResult = (BlockHitResult) pos; + final Direction side = blockResult.getSide(); final BlockPos hitPos = blockResult.getPos().offset(side); if (!Platform.hasPermissions(new DimensionalCoord(w, hitPos), p)) { @@ -271,10 +271,10 @@ public class MatterCannonItem extends AEBasePoweredItem implements IStorageCell< }); } - final BlockEntity te = w.getTileEntity(hitPos); - if (te instanceof PaintSplotchesTileEntity) { + final BlockEntity te = w.getBlockEntity(hitPos); + if (te instanceof PaintSplotchesBlockEntity) { final Vec3d hp = pos.getHitVec().subtract(hitPos.getX(), hitPos.getY(), hitPos.getZ()); - ((PaintSplotchesTileEntity) te).addBlot(type, side.getOpposite(), hp); + ((PaintSplotchesBlockEntity) te).addBlot(type, side.getOpposite(), hp); } } } @@ -367,8 +367,8 @@ public class MatterCannonItem extends AEBasePoweredItem implements IStorageCell< } else if (entityHit.attackEntityFrom(dmgSrc, dmg)) { hasDestroyed = true; } - } else if (pos instanceof BlockRayTraceResult) { - BlockRayTraceResult blockResult = (BlockRayTraceResult) pos; + } else if (pos instanceof BlockHitResult) { + BlockHitResult blockResult = (BlockHitResult) pos; if (!AEConfig.instance().isFeatureEnabled(AEFeature.MASS_CANNON_BLOCK_DAMAGE)) { penetration = 0; @@ -383,7 +383,7 @@ public class MatterCannonItem extends AEBasePoweredItem implements IStorageCell< hasDestroyed = true; penetration -= hardness; penetration *= 0.60; - w.destroyBlock(blockPos, true); + w.breakBlock(blockPos, true); } } } diff --git a/src/main/java/appeng/items/tools/powered/PortableCellItem.java b/src/main/java/appeng/items/tools/powered/PortableCellItem.java index 72230d3d2..5135db2ae 100644 --- a/src/main/java/appeng/items/tools/powered/PortableCellItem.java +++ b/src/main/java/appeng/items/tools/powered/PortableCellItem.java @@ -21,7 +21,7 @@ package appeng.items.tools.powered; import java.util.List; import java.util.Set; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -56,21 +56,21 @@ import appeng.items.contents.PortableCellViewer; import appeng.items.tools.powered.powersink.AEBasePoweredItem; public class PortableCellItem extends AEBasePoweredItem implements IStorageCell, IGuiItem, IItemGroup { - public PortableCellItem(Item.Properties props) { + public PortableCellItem(Item.Settings props) { super(AEConfig.instance().getPortableCellBattery(), props); } @Override public TypedActionResult onItemRightClick(final World w, final PlayerEntity player, final Hand hand) { ContainerOpener.openContainer(MEPortableCellContainer.TYPE, player, ContainerLocator.forHand(player, hand)); - return new TypedActionResult<>(ActionResult.SUCCESS, player.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.SUCCESS, player.getStackInHand(hand)); } @Override @Environment(EnvType.CLIENT) - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { - super.addInformation(stack, world, lines, advancedTooltips); + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { + super.appendTooltip(stack, world, lines, advancedTooltips); final ICellInventoryHandler cdi = AEApi.instance().registries().cell().getCellInventory(stack, null, AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class)); diff --git a/src/main/java/appeng/items/tools/powered/WirelessTerminalItem.java b/src/main/java/appeng/items/tools/powered/WirelessTerminalItem.java index 1ed7cc66e..265822b2e 100644 --- a/src/main/java/appeng/items/tools/powered/WirelessTerminalItem.java +++ b/src/main/java/appeng/items/tools/powered/WirelessTerminalItem.java @@ -22,7 +22,7 @@ import java.util.List; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -36,7 +36,6 @@ import net.minecraft.world.World; import appeng.api.AEApi; import appeng.api.config.Actionable; -import appeng.api.config.Settings; import appeng.api.config.SortDir; import appeng.api.config.SortOrder; import appeng.api.config.ViewItems; @@ -49,21 +48,21 @@ import appeng.util.ConfigManager; public class WirelessTerminalItem extends AEBasePoweredItem implements IWirelessTermHandler { - public WirelessTerminalItem(Item.Properties props) { + public WirelessTerminalItem(Item.Settings props) { super(AEConfig.instance().getWirelessTerminalBattery(), props); } @Override public TypedActionResult onItemRightClick(final World w, final PlayerEntity player, final Hand hand) { - AEApi.instance().registries().wireless().openWirelessTerminalGui(player.getHeldItem(hand), w, player, hand); - return new TypedActionResult<>(ActionResult.SUCCESS, player.getHeldItem(hand)); + AEApi.instance().registries().wireless().openWirelessTerminalGui(player.getStackInHand(hand), w, player, hand); + return new TypedActionResult<>(ActionResult.SUCCESS, player.getStackInHand(hand)); } @Override @Environment(EnvType.CLIENT) - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { - super.addInformation(stack, world, lines, advancedTooltips); + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { + super.appendTooltip(stack, world, lines, advancedTooltips); if (stack.hasTag()) { final CompoundTag tag = stack.getOrCreateTag(); diff --git a/src/main/java/appeng/items/tools/powered/powersink/AEBasePoweredItem.java b/src/main/java/appeng/items/tools/powered/powersink/AEBasePoweredItem.java index 1cfefc8f5..2abe2541c 100644 --- a/src/main/java/appeng/items/tools/powered/powersink/AEBasePoweredItem.java +++ b/src/main/java/appeng/items/tools/powered/powersink/AEBasePoweredItem.java @@ -23,7 +23,7 @@ import java.util.List; import java.util.function.DoubleSupplier; import net.fabricmc.api.Environment; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.item.TooltipContext; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; @@ -46,7 +46,7 @@ public abstract class AEBasePoweredItem extends AEBaseItem implements IAEItemPow private static final String MAX_POWER_NBT_KEY = "internalMaxPower"; private final DoubleSupplier powerCapacity; - public AEBasePoweredItem(final DoubleSupplier powerCapacity, Properties props) { + public AEBasePoweredItem(final DoubleSupplier powerCapacity, Settings props) { super(props); // FIXME this.setFull3D(); @@ -55,8 +55,8 @@ public abstract class AEBasePoweredItem extends AEBaseItem implements IAEItemPow @Environment(EnvType.CLIENT) @Override - public void addInformation(final ItemStack stack, final World world, final List lines, - final ITooltipFlag advancedTooltips) { + public void appendTooltip(final ItemStack stack, final World world, final List lines, + final TooltipContext advancedTooltips) { final CompoundTag tag = stack.getTag(); double internalCurrentPower = 0; final double internalMaxPower = this.getAEMaxPower(stack); @@ -68,9 +68,9 @@ public abstract class AEBasePoweredItem extends AEBaseItem implements IAEItemPow final double percent = internalCurrentPower / internalMaxPower; lines.add(GuiText.StoredEnergy.textComponent() - .appendText(':' + MessageFormat.format(" {0,number,#} ", internalCurrentPower)) - .appendSibling(new TranslatableText(PowerUnits.AE.unlocalizedName)) - .appendText(" - " + MessageFormat.format(" {0,number,#.##%} ", percent))); + .append(':' + MessageFormat.format(" {0,number,#} ", internalCurrentPower)) + .append(new TranslatableText(PowerUnits.AE.unlocalizedName)) + .append(" - " + MessageFormat.format(" {0,number,#.##%} ", percent))); } @Override diff --git a/src/main/java/appeng/items/tools/quartz/QuartzAxeItem.java b/src/main/java/appeng/items/tools/quartz/QuartzAxeItem.java index e6fcd8184..db6d649f0 100644 --- a/src/main/java/appeng/items/tools/quartz/QuartzAxeItem.java +++ b/src/main/java/appeng/items/tools/quartz/QuartzAxeItem.java @@ -29,7 +29,7 @@ import appeng.util.Platform; public class QuartzAxeItem extends AxeItem { private final AEFeature type; - public QuartzAxeItem(Item.Properties props, final AEFeature type) { + public QuartzAxeItem(Item.Settings props, final AEFeature type) { super(ItemTier.IRON, 6.0F, -3.1F, props); this.type = type; } diff --git a/src/main/java/appeng/items/tools/quartz/QuartzCuttingKnifeItem.java b/src/main/java/appeng/items/tools/quartz/QuartzCuttingKnifeItem.java index 9fd819abf..0d5f8a13a 100644 --- a/src/main/java/appeng/items/tools/quartz/QuartzCuttingKnifeItem.java +++ b/src/main/java/appeng/items/tools/quartz/QuartzCuttingKnifeItem.java @@ -21,7 +21,7 @@ package appeng.items.tools.quartz; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.util.TypedActionResult; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; @@ -41,13 +41,13 @@ import appeng.util.Platform; public class QuartzCuttingKnifeItem extends AEBaseItem implements IGuiItem { private final AEFeature type; - public QuartzCuttingKnifeItem(Item.Properties props, final AEFeature type) { + public QuartzCuttingKnifeItem(Item.Settings props, final AEFeature type) { super(props); this.type = type; } @Override - public ActionResult onItemUse(ItemUseContext context) { + public ActionResult onItemUse(ItemUsageContext context) { PlayerEntity player = context.getPlayer(); if (Platform.isServer() && player != null) { ContainerOpener.openContainer(QuartzKnifeContainer.TYPE, context.getPlayer(), @@ -62,7 +62,7 @@ public class QuartzCuttingKnifeItem extends AEBaseItem implements IGuiItem { ContainerOpener.openContainer(QuartzKnifeContainer.TYPE, p, ContainerLocator.forHand(p, hand)); } p.swingArm(hand); - return new TypedActionResult<>(ActionResult.SUCCESS, p.getHeldItem(hand)); + return new TypedActionResult<>(ActionResult.SUCCESS, p.getStackInHand(hand)); } @Override diff --git a/src/main/java/appeng/items/tools/quartz/QuartzHoeItem.java b/src/main/java/appeng/items/tools/quartz/QuartzHoeItem.java index dc17a8d5a..cf81d171b 100644 --- a/src/main/java/appeng/items/tools/quartz/QuartzHoeItem.java +++ b/src/main/java/appeng/items/tools/quartz/QuartzHoeItem.java @@ -29,7 +29,7 @@ import appeng.util.Platform; public class QuartzHoeItem extends HoeItem { private final AEFeature type; - public QuartzHoeItem(Item.Properties props, final AEFeature type) { + public QuartzHoeItem(Item.Settings props, final AEFeature type) { super(ItemTier.IRON, -1.0F, props); this.type = type; } diff --git a/src/main/java/appeng/items/tools/quartz/QuartzPickaxeItem.java b/src/main/java/appeng/items/tools/quartz/QuartzPickaxeItem.java index 96eeb781d..5827c6ab0 100644 --- a/src/main/java/appeng/items/tools/quartz/QuartzPickaxeItem.java +++ b/src/main/java/appeng/items/tools/quartz/QuartzPickaxeItem.java @@ -29,7 +29,7 @@ import appeng.util.Platform; public class QuartzPickaxeItem extends PickaxeItem { private final AEFeature type; - public QuartzPickaxeItem(Item.Properties props, final AEFeature type) { + public QuartzPickaxeItem(Item.Settings props, final AEFeature type) { super(ItemTier.IRON, 1, -2.8F, props); this.type = type; } diff --git a/src/main/java/appeng/items/tools/quartz/QuartzSpadeItem.java b/src/main/java/appeng/items/tools/quartz/QuartzSpadeItem.java index bb650dda1..9579bd259 100644 --- a/src/main/java/appeng/items/tools/quartz/QuartzSpadeItem.java +++ b/src/main/java/appeng/items/tools/quartz/QuartzSpadeItem.java @@ -29,7 +29,7 @@ import appeng.util.Platform; public class QuartzSpadeItem extends ShovelItem { private final AEFeature type; - public QuartzSpadeItem(Item.Properties props, final AEFeature type) { + public QuartzSpadeItem(Item.Settings props, final AEFeature type) { super(ItemTier.IRON, 1.5F, -3.0F, props); this.type = type; } diff --git a/src/main/java/appeng/items/tools/quartz/QuartzSwordItem.java b/src/main/java/appeng/items/tools/quartz/QuartzSwordItem.java index 1832eceb6..22d1346cb 100644 --- a/src/main/java/appeng/items/tools/quartz/QuartzSwordItem.java +++ b/src/main/java/appeng/items/tools/quartz/QuartzSwordItem.java @@ -29,7 +29,7 @@ import appeng.util.Platform; public class QuartzSwordItem extends SwordItem { private final AEFeature type; - public QuartzSwordItem(Item.Properties props, AEFeature type) { + public QuartzSwordItem(Item.Settings props, AEFeature type) { super(ItemTier.IRON, 3, -2.4F, props); this.type = type; } diff --git a/src/main/java/appeng/items/tools/quartz/QuartzWrenchItem.java b/src/main/java/appeng/items/tools/quartz/QuartzWrenchItem.java index d2aa16ead..dd412cb81 100644 --- a/src/main/java/appeng/items/tools/quartz/QuartzWrenchItem.java +++ b/src/main/java/appeng/items/tools/quartz/QuartzWrenchItem.java @@ -22,7 +22,7 @@ import net.minecraft.block.Block; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.util.ActionResult; import net.minecraft.util.math.BlockPos; @@ -34,27 +34,27 @@ import appeng.util.Platform; public class QuartzWrenchItem extends AEBaseItem implements IAEWrench { - public QuartzWrenchItem(Item.Properties props) { + public QuartzWrenchItem(Item.Settings props) { super(props); } @Override - public ActionResult onItemUseFirst(ItemStack stack, ItemUseContext context) { - if (!context.getPlayer().isCrouching() && Platform - .hasPermissions(new DimensionalCoord(context.getWorld(), context.getPos()), context.getPlayer())) { + public ActionResult onItemUseFirst(ItemStack stack, ItemUsageContext context) { + if (!context.getPlayer().isInSneakingPose() && Platform + .hasPermissions(new DimensionalCoord(context.getWorld(), context.getBlockPos()), context.getPlayer())) { - Block block = context.getWorld().getBlockState(context.getPos()).getBlock(); + Block block = context.getWorld().getBlockState(context.getBlockPos()).getBlock(); if (block instanceof AEBaseBlock) { if (Platform.isClient()) { // TODO 1.10-R - if we return FAIL on client, action will not be sent to server. // Fix that in all Block#onItemUseFirst overrides. - return !context.getWorld().isRemote ? ActionResult.SUCCESS : ActionResult.PASS; + return !context.getWorld().isClient ? ActionResult.SUCCESS : ActionResult.PASS; } AEBaseBlock aeBlock = (AEBaseBlock) block; - if (aeBlock.rotateAroundFaceAxis(context.getWorld(), context.getPos(), context.getFace())) { + if (aeBlock.rotateAroundFaceAxis(context.getWorld(), context.getBlockPos(), context.getFace())) { context.getPlayer().swingArm(context.getHand()); - return !context.getWorld().isRemote ? ActionResult.SUCCESS : ActionResult.FAIL; + return !context.getWorld().isClient ? ActionResult.SUCCESS : ActionResult.FAIL; } } } diff --git a/src/main/java/appeng/me/GridNode.java b/src/main/java/appeng/me/GridNode.java index 0c90cb68e..bfa70f3d8 100644 --- a/src/main/java/appeng/me/GridNode.java +++ b/src/main/java/appeng/me/GridNode.java @@ -426,7 +426,7 @@ public class GridNode implements IGridNode, IPathItem { private IGridHost findGridHost(final WorldAccess world, final int x, final int y, final int z) { final BlockPos pos = new BlockPos(x, y, z); if (world.isBlockLoaded(pos)) { - final BlockEntity te = world.getTileEntity(pos); + final BlockEntity te = world.getBlockEntity(pos); if (te instanceof IGridHost) { return (IGridHost) te; } diff --git a/src/main/java/appeng/me/cache/CraftingGridCache.java b/src/main/java/appeng/me/cache/CraftingGridCache.java index cd347b3bd..89ff53e2f 100644 --- a/src/main/java/appeng/me/cache/CraftingGridCache.java +++ b/src/main/java/appeng/me/cache/CraftingGridCache.java @@ -83,8 +83,8 @@ import appeng.crafting.CraftingWatcher; import appeng.me.cluster.implementations.CraftingCPUCluster; import appeng.me.helpers.BaseActionSource; import appeng.me.helpers.GenericInterestManager; -import appeng.tile.crafting.CraftingStorageTileEntity; -import appeng.tile.crafting.CraftingTileEntity; +import appeng.tile.crafting.CraftingStorageBlockEntity; +import appeng.tile.crafting.CraftingBlockEntity; public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper, ICellProvider, IMEInventoryHandler { @@ -163,7 +163,7 @@ public class CraftingGridCache } } - if (machine instanceof CraftingTileEntity) { + if (machine instanceof CraftingBlockEntity) { this.updateList = true; } @@ -190,7 +190,7 @@ public class CraftingGridCache } } - if (machine instanceof CraftingTileEntity) { + if (machine instanceof CraftingBlockEntity) { this.updateList = true; } @@ -264,8 +264,8 @@ public class CraftingGridCache private void updateCPUClusters() { this.craftingCPUClusters.clear(); - for (final IGridNode cst : this.grid.getMachines(CraftingStorageTileEntity.class)) { - final CraftingStorageTileEntity tile = (CraftingStorageTileEntity) cst.getMachine(); + for (final IGridNode cst : this.grid.getMachines(CraftingStorageBlockEntity.class)) { + final CraftingStorageBlockEntity tile = (CraftingStorageBlockEntity) cst.getMachine(); final CraftingCPUCluster cluster = (CraftingCPUCluster) tile.getCluster(); if (cluster != null) { this.craftingCPUClusters.add(cluster); diff --git a/src/main/java/appeng/me/cache/PathGridCache.java b/src/main/java/appeng/me/cache/PathGridCache.java index 10f3840c1..61be275d4 100644 --- a/src/main/java/appeng/me/cache/PathGridCache.java +++ b/src/main/java/appeng/me/cache/PathGridCache.java @@ -26,7 +26,7 @@ import java.util.List; import java.util.Set; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import appeng.api.AEApi; import appeng.api.features.AEFeature; @@ -56,12 +56,12 @@ import appeng.me.pathfinding.ControllerChannelUpdater; import appeng.me.pathfinding.ControllerValidator; import appeng.me.pathfinding.IPathItem; import appeng.me.pathfinding.PathSegment; -import appeng.tile.networking.ControllerTileEntity; +import appeng.tile.networking.ControllerBlockEntity; public class PathGridCache implements IPathingGrid { private final List active = new ArrayList<>(); - private final Set controllers = new HashSet<>(); + private final Set controllers = new HashSet<>(); private final Set requireChannels = new HashSet<>(); private final Set blockDense = new HashSet<>(); private final IGrid myGrid; @@ -130,11 +130,11 @@ public class PathGridCache implements IPathingGrid { // myGrid.getPivot().beginVisit( new AdHocChannelUpdater( 0 ) // ); - for (final IGridNode node : this.myGrid.getMachines(ControllerTileEntity.class)) { + for (final IGridNode node : this.myGrid.getMachines(ControllerBlockEntity.class)) { closedList.add((IPathItem) node); for (final IGridConnection gcc : node.getConnections()) { final GridConnection gc = (GridConnection) gcc; - if (!(gc.getOtherSide(node).getMachine() instanceof ControllerTileEntity)) { + if (!(gc.getOtherSide(node).getMachine() instanceof ControllerBlockEntity)) { final List open = new ArrayList<>(); closedList.add(gc); open.add(gc); @@ -160,9 +160,9 @@ public class PathGridCache implements IPathingGrid { if (this.active.isEmpty() && this.ticksUntilReady <= 0) { if (this.controllerState == ControllerState.CONTROLLER_ONLINE) { - final Iterator controllerIterator = this.controllers.iterator(); + final Iterator controllerIterator = this.controllers.iterator(); if (controllerIterator.hasNext()) { - final ControllerTileEntity controller = controllerIterator.next(); + final ControllerBlockEntity controller = controllerIterator.next(); controller.getGridNode(AEPartLocation.INTERNAL).beginVisit(new ControllerChannelUpdater()); } } @@ -179,7 +179,7 @@ public class PathGridCache implements IPathingGrid { @Override public void removeNode(final IGridNode gridNode, final IGridHost machine) { - if (machine instanceof ControllerTileEntity) { + if (machine instanceof ControllerBlockEntity) { this.controllers.remove(machine); this.recalculateControllerNextTick = true; } @@ -199,8 +199,8 @@ public class PathGridCache implements IPathingGrid { @Override public void addNode(final IGridNode gridNode, final IGridHost machine) { - if (machine instanceof ControllerTileEntity) { - this.controllers.add((ControllerTileEntity) machine); + if (machine instanceof ControllerBlockEntity) { + this.controllers.add((ControllerBlockEntity) machine); this.recalculateControllerNextTick = true; } diff --git a/src/main/java/appeng/me/cache/SpatialPylonCache.java b/src/main/java/appeng/me/cache/SpatialPylonCache.java index 7d4eb9142..853e36e63 100644 --- a/src/main/java/appeng/me/cache/SpatialPylonCache.java +++ b/src/main/java/appeng/me/cache/SpatialPylonCache.java @@ -33,8 +33,8 @@ import appeng.api.util.DimensionalCoord; import appeng.api.util.IReadOnlyCollection; import appeng.core.AEConfig; import appeng.me.cluster.implementations.SpatialPylonCluster; -import appeng.tile.spatial.SpatialIOPortTileEntity; -import appeng.tile.spatial.SpatialPylonTileEntity; +import appeng.tile.spatial.SpatialIOPortBlockEntity; +import appeng.tile.spatial.SpatialPylonBlockEntity; public class SpatialPylonCache implements ISpatialCache { @@ -44,7 +44,7 @@ public class SpatialPylonCache implements ISpatialCache { private DimensionalCoord captureMin; private DimensionalCoord captureMax; private boolean isValid = false; - private List ioPorts = new ArrayList<>(); + private List ioPorts = new ArrayList<>(); private HashMap clusters = new HashMap<>(); public SpatialPylonCache(final IGrid g) { @@ -61,14 +61,14 @@ public class SpatialPylonCache implements ISpatialCache { this.clusters = new HashMap<>(); this.ioPorts = new ArrayList<>(); - for (final IGridNode gm : grid.getMachines(SpatialIOPortTileEntity.class)) { - this.ioPorts.add((SpatialIOPortTileEntity) gm.getMachine()); + for (final IGridNode gm : grid.getMachines(SpatialIOPortBlockEntity.class)) { + this.ioPorts.add((SpatialIOPortBlockEntity) gm.getMachine()); } - final IReadOnlyCollection set = grid.getMachines(SpatialPylonTileEntity.class); + final IReadOnlyCollection set = grid.getMachines(SpatialPylonBlockEntity.class); for (final IGridNode gm : set) { if (gm.meetsChannelRequirements()) { - final SpatialPylonCluster c = ((SpatialPylonTileEntity) gm.getMachine()).getCluster(); + final SpatialPylonCluster c = ((SpatialPylonBlockEntity) gm.getMachine()).getCluster(); if (c != null) { this.clusters.put(c, c); } diff --git a/src/main/java/appeng/me/cluster/MBCalculator.java b/src/main/java/appeng/me/cluster/MBCalculator.java index c883896ef..86e055a07 100644 --- a/src/main/java/appeng/me/cluster/MBCalculator.java +++ b/src/main/java/appeng/me/cluster/MBCalculator.java @@ -100,7 +100,7 @@ public abstract class MBCalculator { } private boolean isValidTileAt(final World w, final int x, final int y, final int z) { - return this.isValidTile(w.getTileEntity(new BlockPos(x, y, z))); + return this.isValidTile(w.getBlockEntity(new BlockPos(x, y, z))); } /** @@ -194,7 +194,7 @@ public abstract class MBCalculator { for (int x = minX; x <= maxX; x++) { for (int y = minY; y <= maxY; y++) { for (int z = minZ; z <= maxZ; z++) { - final BlockEntity te = w.getTileEntity(new BlockPos(x, y, z)); + final BlockEntity te = w.getBlockEntity(new BlockPos(x, y, z)); if (this.isValidTile(te)) { return true; } diff --git a/src/main/java/appeng/me/cluster/implementations/CraftingCPUCalculator.java b/src/main/java/appeng/me/cluster/implementations/CraftingCPUCalculator.java index 8614e158a..5dad9e2d0 100644 --- a/src/main/java/appeng/me/cluster/implementations/CraftingCPUCalculator.java +++ b/src/main/java/appeng/me/cluster/implementations/CraftingCPUCalculator.java @@ -33,15 +33,15 @@ import appeng.api.util.WorldCoord; import appeng.me.cluster.IAECluster; import appeng.me.cluster.IAEMultiBlock; import appeng.me.cluster.MBCalculator; -import appeng.tile.crafting.CraftingTileEntity; +import appeng.tile.crafting.CraftingBlockEntity; public class CraftingCPUCalculator extends MBCalculator { - private final CraftingTileEntity tqb; + private final CraftingBlockEntity tqb; public CraftingCPUCalculator(final IAEMultiBlock t) { super(t); - this.tqb = (CraftingTileEntity) t; + this.tqb = (CraftingBlockEntity) t; } @Override @@ -73,14 +73,14 @@ public class CraftingCPUCalculator extends MBCalculator { for (int x = min.x; x <= max.x; x++) { for (int y = min.y; y <= max.y; y++) { for (int z = min.z; z <= max.z; z++) { - final IAEMultiBlock te = (IAEMultiBlock) w.getTileEntity(new BlockPos(x, y, z)); + final IAEMultiBlock te = (IAEMultiBlock) w.getBlockEntity(new BlockPos(x, y, z)); if (!te.isValid()) { return false; } - if (!storage && te instanceof CraftingTileEntity) { - storage = ((CraftingTileEntity) te).getStorageBytes() > 0; + if (!storage && te instanceof CraftingBlockEntity) { + storage = ((CraftingBlockEntity) te).getStorageBytes() > 0; } } } @@ -101,7 +101,7 @@ public class CraftingCPUCalculator extends MBCalculator { for (int x = min.x; x <= max.x; x++) { for (int y = min.y; y <= max.y; y++) { for (int z = min.z; z <= max.z; z++) { - final CraftingTileEntity te = (CraftingTileEntity) w.getTileEntity(new BlockPos(x, y, z)); + final CraftingBlockEntity te = (CraftingBlockEntity) w.getBlockEntity(new BlockPos(x, y, z)); te.updateStatus(c); c.addTile(te); } @@ -126,6 +126,6 @@ public class CraftingCPUCalculator extends MBCalculator { @Override public boolean isValidTile(final BlockEntity te) { - return te instanceof CraftingTileEntity; + return te instanceof CraftingBlockEntity; } } diff --git a/src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java b/src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java index e511def8d..65eb78940 100644 --- a/src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java +++ b/src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java @@ -73,8 +73,8 @@ import appeng.crafting.MECraftingInventory; import appeng.me.cache.CraftingGridCache; import appeng.me.cluster.IAECluster; import appeng.me.helpers.MachineSource; -import appeng.tile.crafting.CraftingMonitorTileEntity; -import appeng.tile.crafting.CraftingTileEntity; +import appeng.tile.crafting.CraftingMonitorBlockEntity; +import appeng.tile.crafting.CraftingBlockEntity; import appeng.util.Platform; import appeng.util.item.AEItemStack; @@ -87,9 +87,9 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { private final int[] usedOps = new int[3]; private final Map tasks = new HashMap<>(); // INSTANCE sate - private final List tiles = new ArrayList<>(); - private final List storage = new ArrayList<>(); - private final List status = new ArrayList<>(); + private final List tiles = new ArrayList<>(); + private final List storage = new ArrayList<>(); + private final List status = new ArrayList<>(); private final HashMap, Object> listeners = new HashMap<>(); private ICraftingLink myLastLink; private Text myName = null; @@ -150,7 +150,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { @Override public void updateStatus(final boolean updateGrid) { - for (final CraftingTileEntity r : this.tiles) { + for (final CraftingBlockEntity r : this.tiles) { r.updateMeta(true); } } @@ -164,7 +164,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { boolean posted = false; - for (final CraftingTileEntity r : this.tiles) { + for (final CraftingBlockEntity r : this.tiles) { final IGridNode n = r.getActionableNode(); if (n != null && !posted) { final IGrid g = n.getGrid(); @@ -183,7 +183,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { return (Iterator) this.tiles.iterator(); } - void addTile(final CraftingTileEntity te) { + void addTile(final CraftingBlockEntity te) { if (this.machineSrc == null || te.isCoreBlock()) { this.machineSrc = new MachineSource(te); } @@ -196,7 +196,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { this.availableStorage += te.getStorageBytes(); this.storage.add(te); } else if (te.isStatus()) { - this.status.add((CraftingMonitorTileEntity) te); + this.status.add((CraftingMonitorBlockEntity) te); } else if (te.isAccelerator()) { this.accelerator++; } @@ -393,7 +393,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { send = null; } - for (final CraftingMonitorTileEntity t : this.status) { + for (final CraftingMonitorBlockEntity t : this.status) { t.setJob(send); } } @@ -402,15 +402,15 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { return this.listeners.entrySet().iterator(); } - private CraftingTileEntity getCore() { + private CraftingBlockEntity getCore() { if (this.machineSrc == null) { return null; } - return (CraftingTileEntity) this.machineSrc.machine().get(); + return (CraftingBlockEntity) this.machineSrc.machine().get(); } private IGrid getGrid() { - for (final CraftingTileEntity r : this.tiles) { + for (final CraftingBlockEntity r : this.tiles) { final IGridNode gn = r.getActionableNode(); if (gn != null) { final IGrid g = gn.getGrid(); @@ -839,7 +839,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { } public boolean isActive() { - final CraftingTileEntity core = this.getCore(); + final CraftingBlockEntity core = this.getCore(); if (core == null) { return false; @@ -1024,7 +1024,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { } void done() { - final CraftingTileEntity core = this.getCore(); + final CraftingBlockEntity core = this.getCore(); core.setCoreBlock(true); @@ -1081,11 +1081,11 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { public void updateName() { this.myName = null; - for (final CraftingTileEntity te : this.tiles) { + for (final CraftingBlockEntity te : this.tiles) { if (te.hasCustomInventoryName()) { if (this.myName != null) { - this.myName.appendText(" ").appendSibling(te.getCustomInventoryName()); + this.myName.append(" ").append(te.getCustomInventoryName()); } else { this.myName = te.getCustomInventoryName().deepCopy(); } @@ -1120,7 +1120,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU { } public void breakCluster() { - final CraftingTileEntity t = this.getCore(); + final CraftingBlockEntity t = this.getCore(); if (t != null) { t.breakCluster(); diff --git a/src/main/java/appeng/me/cluster/implementations/QuantumCalculator.java b/src/main/java/appeng/me/cluster/implementations/QuantumCalculator.java index f142428c2..0760275be 100644 --- a/src/main/java/appeng/me/cluster/implementations/QuantumCalculator.java +++ b/src/main/java/appeng/me/cluster/implementations/QuantumCalculator.java @@ -30,15 +30,15 @@ import appeng.api.util.WorldCoord; import appeng.me.cluster.IAECluster; import appeng.me.cluster.IAEMultiBlock; import appeng.me.cluster.MBCalculator; -import appeng.tile.qnb.QuantumBridgeTileEntity; +import appeng.tile.qnb.QuantumBridgeBlockEntity; public class QuantumCalculator extends MBCalculator { - private final QuantumBridgeTileEntity tqb; + private final QuantumBridgeBlockEntity tqb; public QuantumCalculator(final IAEMultiBlock t) { super(t); - this.tqb = (QuantumBridgeTileEntity) t; + this.tqb = (QuantumBridgeBlockEntity) t; } @Override @@ -70,7 +70,7 @@ public class QuantumCalculator extends MBCalculator { for (int y = min.y; y <= max.y; y++) { for (int z = min.z; z <= max.z; z++) { final BlockPos p = new BlockPos(x, y, z); - final IAEMultiBlock te = (IAEMultiBlock) w.getTileEntity(p); + final IAEMultiBlock te = (IAEMultiBlock) w.getBlockEntity(p); if (!te.isValid()) { return false; @@ -107,7 +107,7 @@ public class QuantumCalculator extends MBCalculator { for (int x = min.x; x <= max.x; x++) { for (int y = min.y; y <= max.y; y++) { for (int z = min.z; z <= max.z; z++) { - final QuantumBridgeTileEntity te = (QuantumBridgeTileEntity) w.getTileEntity(new BlockPos(x, y, z)); + final QuantumBridgeBlockEntity te = (QuantumBridgeBlockEntity) w.getBlockEntity(new BlockPos(x, y, z)); num++; final byte flags; @@ -132,7 +132,7 @@ public class QuantumCalculator extends MBCalculator { @Override public boolean isValidTile(final BlockEntity te) { - return te instanceof QuantumBridgeTileEntity; + return te instanceof QuantumBridgeBlockEntity; } private boolean isBlockAtLocation(final BlockView w, final BlockPos pos, final IBlockDefinition def) { diff --git a/src/main/java/appeng/me/cluster/implementations/QuantumCluster.java b/src/main/java/appeng/me/cluster/implementations/QuantumCluster.java index 9aa622ffd..c731e44b1 100644 --- a/src/main/java/appeng/me/cluster/implementations/QuantumCluster.java +++ b/src/main/java/appeng/me/cluster/implementations/QuantumCluster.java @@ -40,7 +40,7 @@ import appeng.api.util.WorldCoord; import appeng.core.AELog; import appeng.me.cache.helpers.ConnectionWrapper; import appeng.me.cluster.IAECluster; -import appeng.tile.qnb.QuantumBridgeTileEntity; +import appeng.tile.qnb.QuantumBridgeBlockEntity; import appeng.util.iterators.ChainedIterator; public class QuantumCluster implements ILocatable, IAECluster { @@ -49,17 +49,17 @@ public class QuantumCluster implements ILocatable, IAECluster { private final WorldCoord max; private boolean isDestroyed = false; private boolean updateStatus = true; - private QuantumBridgeTileEntity[] Ring; + private QuantumBridgeBlockEntity[] Ring; private boolean registered = false; private ConnectionWrapper connection; private long thisSide; private long otherSide; - private QuantumBridgeTileEntity center; + private QuantumBridgeBlockEntity center; public QuantumCluster(final WorldCoord min, final WorldCoord max) { this.min = min; this.max = max; - this.setRing(new QuantumBridgeTileEntity[8]); + this.setRing(new QuantumBridgeBlockEntity[8]); } @SubscribeEvent @@ -165,7 +165,7 @@ public class QuantumCluster implements ILocatable, IAECluster { final DimensionType id = theWorld.dimension.getType(); final World cur = theWorld.getServer().getWorld(id); - final BlockEntity te = theWorld.getTileEntity(qc.center.getPos()); + final BlockEntity te = theWorld.getBlockEntity(qc.center.getPos()); return te != qc.center || theWorld != cur; } } @@ -208,12 +208,12 @@ public class QuantumCluster implements ILocatable, IAECluster { this.center.updateStatus(null, (byte) -1, this.isUpdateStatus()); - for (final QuantumBridgeTileEntity r : this.getRing()) { + for (final QuantumBridgeBlockEntity r : this.getRing()) { r.updateStatus(null, (byte) -1, this.isUpdateStatus()); } this.center = null; - this.setRing(new QuantumBridgeTileEntity[8]); + this.setRing(new QuantumBridgeBlockEntity[8]); } @Override @@ -222,7 +222,7 @@ public class QuantumCluster implements ILocatable, IAECluster { this.getRing()[4], this.getRing()[5], this.getRing()[6], this.getRing()[7], this.center); } - public boolean isCorner(final QuantumBridgeTileEntity tileQuantumBridge) { + public boolean isCorner(final QuantumBridgeBlockEntity tileQuantumBridge) { return this.getRing()[0] == tileQuantumBridge || this.getRing()[2] == tileQuantumBridge || this.getRing()[4] == tileQuantumBridge || this.getRing()[6] == tileQuantumBridge; } @@ -232,11 +232,11 @@ public class QuantumCluster implements ILocatable, IAECluster { return this.thisSide; } - public QuantumBridgeTileEntity getCenter() { + public QuantumBridgeBlockEntity getCenter() { return this.center; } - void setCenter(final QuantumBridgeTileEntity c) { + void setCenter(final QuantumBridgeBlockEntity c) { this.registered = true; MinecraftForge.EVENT_BUS.register(this); this.center = c; @@ -250,11 +250,11 @@ public class QuantumCluster implements ILocatable, IAECluster { this.updateStatus = updateStatus; } - QuantumBridgeTileEntity[] getRing() { + QuantumBridgeBlockEntity[] getRing() { return this.Ring; } - private void setRing(final QuantumBridgeTileEntity[] ring) { + private void setRing(final QuantumBridgeBlockEntity[] ring) { this.Ring = ring; } } diff --git a/src/main/java/appeng/me/cluster/implementations/SpatialPylonCalculator.java b/src/main/java/appeng/me/cluster/implementations/SpatialPylonCalculator.java index b593dbb55..61744466f 100644 --- a/src/main/java/appeng/me/cluster/implementations/SpatialPylonCalculator.java +++ b/src/main/java/appeng/me/cluster/implementations/SpatialPylonCalculator.java @@ -27,15 +27,15 @@ import appeng.api.util.WorldCoord; import appeng.me.cluster.IAECluster; import appeng.me.cluster.IAEMultiBlock; import appeng.me.cluster.MBCalculator; -import appeng.tile.spatial.SpatialPylonTileEntity; +import appeng.tile.spatial.SpatialPylonBlockEntity; public class SpatialPylonCalculator extends MBCalculator { - private final SpatialPylonTileEntity tqb; + private final SpatialPylonBlockEntity tqb; public SpatialPylonCalculator(final IAEMultiBlock t) { super(t); - this.tqb = (SpatialPylonTileEntity) t; + this.tqb = (SpatialPylonBlockEntity) t; } @Override @@ -57,7 +57,7 @@ public class SpatialPylonCalculator extends MBCalculator { for (int x = min.x; x <= max.x; x++) { for (int y = min.y; y <= max.y; y++) { for (int z = min.z; z <= max.z; z++) { - final IAEMultiBlock te = (IAEMultiBlock) w.getTileEntity(new BlockPos(x, y, z)); + final IAEMultiBlock te = (IAEMultiBlock) w.getBlockEntity(new BlockPos(x, y, z)); if (!te.isValid()) { return false; @@ -81,7 +81,7 @@ public class SpatialPylonCalculator extends MBCalculator { for (int x = min.x; x <= max.x; x++) { for (int y = min.y; y <= max.y; y++) { for (int z = min.z; z <= max.z; z++) { - final SpatialPylonTileEntity te = (SpatialPylonTileEntity) w.getTileEntity(new BlockPos(x, y, z)); + final SpatialPylonBlockEntity te = (SpatialPylonBlockEntity) w.getBlockEntity(new BlockPos(x, y, z)); te.updateStatus(c); c.getLine().add((te)); } @@ -91,6 +91,6 @@ public class SpatialPylonCalculator extends MBCalculator { @Override public boolean isValidTile(final BlockEntity te) { - return te instanceof SpatialPylonTileEntity; + return te instanceof SpatialPylonBlockEntity; } } diff --git a/src/main/java/appeng/me/cluster/implementations/SpatialPylonCluster.java b/src/main/java/appeng/me/cluster/implementations/SpatialPylonCluster.java index 3d294650a..630122307 100644 --- a/src/main/java/appeng/me/cluster/implementations/SpatialPylonCluster.java +++ b/src/main/java/appeng/me/cluster/implementations/SpatialPylonCluster.java @@ -25,13 +25,13 @@ import java.util.List; import appeng.api.networking.IGridHost; import appeng.api.util.DimensionalCoord; import appeng.me.cluster.IAECluster; -import appeng.tile.spatial.SpatialPylonTileEntity; +import appeng.tile.spatial.SpatialPylonBlockEntity; public class SpatialPylonCluster implements IAECluster { private final DimensionalCoord min; private final DimensionalCoord max; - private final List line = new ArrayList<>(); + private final List line = new ArrayList<>(); private boolean isDestroyed = false; private Axis currentAxis = Axis.UNFORMED; @@ -54,7 +54,7 @@ public class SpatialPylonCluster implements IAECluster { @Override public void updateStatus(final boolean updateGrid) { - for (final SpatialPylonTileEntity r : this.getLine()) { + for (final SpatialPylonBlockEntity r : this.getLine()) { r.recalculateDisplay(); } } @@ -67,7 +67,7 @@ public class SpatialPylonCluster implements IAECluster { } this.isDestroyed = true; - for (final SpatialPylonTileEntity r : this.getLine()) { + for (final SpatialPylonBlockEntity r : this.getLine()) { r.updateStatus(null); } } @@ -105,7 +105,7 @@ public class SpatialPylonCluster implements IAECluster { return this.min; } - List getLine() { + List getLine() { return this.line; } diff --git a/src/main/java/appeng/me/helpers/AENetworkProxy.java b/src/main/java/appeng/me/helpers/AENetworkProxy.java index baa9a7b52..5b020c0f2 100644 --- a/src/main/java/appeng/me/helpers/AENetworkProxy.java +++ b/src/main/java/appeng/me/helpers/AENetworkProxy.java @@ -50,7 +50,7 @@ import appeng.hooks.TickHandler; import appeng.me.GridAccessException; import appeng.me.cache.P2PCache; import appeng.parts.networking.CablePart; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.util.Platform; public class AENetworkProxy implements IGridBlock { @@ -95,8 +95,8 @@ public class AENetworkProxy implements IGridBlock { } public void validate() { - if (this.gp instanceof AEBaseTileEntity) { - TickHandler.INSTANCE.addInit((AEBaseTileEntity) this.gp); + if (this.gp instanceof AEBaseBlockEntity) { + TickHandler.INSTANCE.addInit((AEBaseBlockEntity) this.gp); } } diff --git a/src/main/java/appeng/me/pathfinding/ControllerValidator.java b/src/main/java/appeng/me/pathfinding/ControllerValidator.java index 9b4febfd6..0067e2ecb 100644 --- a/src/main/java/appeng/me/pathfinding/ControllerValidator.java +++ b/src/main/java/appeng/me/pathfinding/ControllerValidator.java @@ -23,7 +23,7 @@ import net.minecraft.util.math.BlockPos; import appeng.api.networking.IGridHost; import appeng.api.networking.IGridNode; import appeng.api.networking.IGridVisitor; -import appeng.tile.networking.ControllerTileEntity; +import appeng.tile.networking.ControllerBlockEntity; public class ControllerValidator implements IGridVisitor { @@ -48,8 +48,8 @@ public class ControllerValidator implements IGridVisitor { @Override public boolean visitNode(final IGridNode n) { final IGridHost host = n.getMachine(); - if (this.isValid() && host instanceof ControllerTileEntity) { - final ControllerTileEntity c = (ControllerTileEntity) host; + if (this.isValid() && host instanceof ControllerBlockEntity) { + final ControllerBlockEntity c = (ControllerBlockEntity) host; final BlockPos pos = c.getPos(); diff --git a/src/main/java/appeng/me/storage/SecurityStationInventory.java b/src/main/java/appeng/me/storage/SecurityStationInventory.java index e5a46faee..2f20548f5 100644 --- a/src/main/java/appeng/me/storage/SecurityStationInventory.java +++ b/src/main/java/appeng/me/storage/SecurityStationInventory.java @@ -32,15 +32,15 @@ import appeng.api.storage.channels.IItemStorageChannel; import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IItemList; import appeng.me.GridAccessException; -import appeng.tile.misc.SecurityStationTileEntity; +import appeng.tile.misc.SecurityStationBlockEntity; public class SecurityStationInventory implements IMEInventoryHandler { private final IItemList storedItems = AEApi.instance().storage() .getStorageChannel(IItemStorageChannel.class).createList(); - private final SecurityStationTileEntity securityTile; + private final SecurityStationBlockEntity securityTile; - public SecurityStationInventory(final SecurityStationTileEntity ts) { + public SecurityStationInventory(final SecurityStationBlockEntity ts) { this.securityTile = ts; } diff --git a/src/main/java/appeng/parts/AEBasePart.java b/src/main/java/appeng/parts/AEBasePart.java index dad154ec7..0f1ed26db 100644 --- a/src/main/java/appeng/parts/AEBasePart.java +++ b/src/main/java/appeng/parts/AEBasePart.java @@ -174,12 +174,12 @@ public abstract class AEBasePart implements IPart, IGridProxyable, IActionHost, @Override public Text getCustomInventoryName() { - return this.getItemStack().getDisplayName(); + return this.getItemStack().getName(); } @Override public boolean hasCustomInventoryName() { - return this.getItemStack().hasDisplayName(); + return this.getItemStack().hasCustomName(); } public void addEntityCrashInfo(final CrashReportCategory crashreportcategory) { @@ -391,7 +391,7 @@ public abstract class AEBasePart implements IPart, IGridProxyable, IActionHost, final String name = is.getTranslationKey(); - if (player.isCrouching()) { + if (player.isInSneakingPose()) { final CompoundTag data = this.downloadSettings(SettingsFrom.MEMORY_CARD); if (data != null) { memoryCard.setMemoryCardContents(memCardIS, name, data); diff --git a/src/main/java/appeng/parts/BusCollisionHelper.java b/src/main/java/appeng/parts/BusCollisionHelper.java index 9d7934220..43dc572cc 100644 --- a/src/main/java/appeng/parts/BusCollisionHelper.java +++ b/src/main/java/appeng/parts/BusCollisionHelper.java @@ -98,25 +98,25 @@ public class BusCollisionHelper implements IPartCollisionHelper { maxY /= 16.0; maxZ /= 16.0; - double aX = minX * this.x.getXOffset() + minY * this.y.getXOffset() + minZ * this.z.getXOffset(); - double aY = minX * this.x.getYOffset() + minY * this.y.getYOffset() + minZ * this.z.getYOffset(); - double aZ = minX * this.x.getZOffset() + minY * this.y.getZOffset() + minZ * this.z.getZOffset(); + double aX = minX * this.x.getOffsetX() + minY * this.y.getOffsetX() + minZ * this.z.getOffsetX(); + double aY = minX * this.x.getOffsetY() + minY * this.y.getOffsetY() + minZ * this.z.getOffsetY(); + double aZ = minX * this.x.getOffsetZ() + minY * this.y.getOffsetZ() + minZ * this.z.getOffsetZ(); - double bX = maxX * this.x.getXOffset() + maxY * this.y.getXOffset() + maxZ * this.z.getXOffset(); - double bY = maxX * this.x.getYOffset() + maxY * this.y.getYOffset() + maxZ * this.z.getYOffset(); - double bZ = maxX * this.x.getZOffset() + maxY * this.y.getZOffset() + maxZ * this.z.getZOffset(); + double bX = maxX * this.x.getOffsetX() + maxY * this.y.getOffsetX() + maxZ * this.z.getOffsetX(); + double bY = maxX * this.x.getOffsetY() + maxY * this.y.getOffsetY() + maxZ * this.z.getOffsetY(); + double bZ = maxX * this.x.getOffsetZ() + maxY * this.y.getOffsetZ() + maxZ * this.z.getOffsetZ(); - if (this.x.getXOffset() + this.y.getXOffset() + this.z.getXOffset() < 0) { + if (this.x.getOffsetX() + this.y.getOffsetX() + this.z.getOffsetX() < 0) { aX += 1; bX += 1; } - if (this.x.getYOffset() + this.y.getYOffset() + this.z.getYOffset() < 0) { + if (this.x.getOffsetY() + this.y.getOffsetY() + this.z.getOffsetY() < 0) { aY += 1; bY += 1; } - if (this.x.getZOffset() + this.y.getZOffset() + this.z.getZOffset() < 0) { + if (this.x.getOffsetZ() + this.y.getOffsetZ() + this.z.getOffsetZ() < 0) { aZ += 1; bZ += 1; } diff --git a/src/main/java/appeng/parts/CableBusContainer.java b/src/main/java/appeng/parts/CableBusContainer.java index 17a1478c9..4f989cfad 100644 --- a/src/main/java/appeng/parts/CableBusContainer.java +++ b/src/main/java/appeng/parts/CableBusContainer.java @@ -649,7 +649,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I if (p != null && p.part != null) { // forge sends activate even when sneaking in some cases (eg emtpy hand) // if sneaking try shift activate first. - if (player.isCrouching() && p.part.onShiftActivate(player, hand, pos)) { + if (player.isInSneakingPose() && p.part.onShiftActivate(player, hand, pos)) { return true; } return p.part.onActivate(player, hand, pos); @@ -661,7 +661,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I public boolean clicked(PlayerEntity player, Hand hand, Vec3d hitVec) { final SelectedPart p = this.selectPart(hitVec); if (p != null && p.part != null) { - if (player.isCrouching()) { + if (player.isInSneakingPose()) { return p.part.onShiftClicked(player, hand, hitVec); } else { return p.part.onClicked(player, hand, hitVec); @@ -946,7 +946,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I // outgoing connection // point would look too big for other cable types final BlockPos adjacentPos = this.getTile().getPos().offset(facing); - final BlockEntity adjacentTe = this.getTile().getWorld().getTileEntity(adjacentPos); + final BlockEntity adjacentTe = this.getTile().getWorld().getBlockEntity(adjacentPos); if (adjacentTe instanceof IGridHost) { final IGridHost gridHost = (IGridHost) adjacentTe; diff --git a/src/main/java/appeng/parts/PartPlacement.java b/src/main/java/appeng/parts/PartPlacement.java index f29d981ce..baf7b80dd 100644 --- a/src/main/java/appeng/parts/PartPlacement.java +++ b/src/main/java/appeng/parts/PartPlacement.java @@ -24,21 +24,21 @@ import java.util.Optional; import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.client.MinecraftClient; +import net.minecraft.item.ItemPlacementContext; import net.minecraft.sound.BlockSoundGroup; -import net.minecraft.client.Minecraft; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.BlockItem; -import net.minecraft.item.BlockItemUseContext; import net.minecraft.item.DirectionalPlaceContext; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.block.entity.BlockEntity; 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.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.RayTraceContext; import net.minecraft.util.hit.HitResult; import net.minecraft.util.math.Vec3d; @@ -83,15 +83,15 @@ public class PartPlacement { final LookDirection dir = Platform.getPlayerRay(player); RayTraceContext rtc = new RayTraceContext(dir.getA(), dir.getB(), RayTraceContext.BlockMode.OUTLINE, RayTraceContext.FluidMode.NONE, player); - final BlockRayTraceResult mop = world.rayTraceBlocks(rtc); - BlockItemUseContext useContext = new BlockItemUseContext(new ItemUseContext(player, hand, mop)); + final BlockHitResult mop = world.rayTraceBlocks(rtc); + ItemPlacementContext useContext = new ItemPlacementContext(new ItemUsageContext(player, hand, mop)); - if (!held.isEmpty() && Platform.isWrench(player, held, pos) && player.isCrouching()) { + if (!held.isEmpty() && Platform.isWrench(player, held, pos) && player.isInSneakingPose()) { if (!Platform.hasPermissions(new DimensionalCoord(world, pos), player)) { return ActionResult.FAIL; } - final BlockEntity tile = world.getTileEntity(pos); + final BlockEntity tile = world.getBlockEntity(pos); IPartHost host = null; if (tile instanceof IPartHost) { @@ -99,7 +99,7 @@ public class PartPlacement { } if (host != null) { - if (!world.isRemote) { + if (!world.isClient) { if (mop.getType() == HitResult.Type.BLOCK) { final List is = new ArrayList<>(); final SelectedPart sp = selectPart(player, host, @@ -136,7 +136,7 @@ public class PartPlacement { return ActionResult.FAIL; } - BlockEntity tile = world.getTileEntity(pos); + BlockEntity tile = world.getBlockEntity(pos); IPartHost host = null; if (tile instanceof IPartHost) { @@ -147,7 +147,7 @@ public class PartPlacement { final IFacadePart fp = isFacade(held, AEPartLocation.fromFacing(side)); if (fp != null) { if (host != null) { - if (!world.isRemote) { + if (!world.isClient) { if (host.getPart(AEPartLocation.INTERNAL) == null) { return ActionResult.FAIL; } @@ -180,14 +180,14 @@ public class PartPlacement { } if (held.isEmpty()) { - if (host != null && player.isCrouching() && world.isAirBlock(pos)) { + if (host != null && player.isInSneakingPose() && world.isAirBlock(pos)) { if (mop.getType() == HitResult.Type.BLOCK) { Vec3d hitVec = mop.getHitVec().add(-mop.getPos().getX(), -mop.getPos().getY(), -mop.getPos().getZ()); final SelectedPart sPart = selectPart(player, host, hitVec); if (sPart != null && sPart.part != null) { if (sPart.part.onShiftActivate(player, hand, hitVec)) { - if (world.isRemote) { + if (world.isClient) { NetworkHandler.instance() .sendToServer(new PartPlacementPacket(pos, side, getEyeOffset(player), hand)); } @@ -220,7 +220,7 @@ public class PartPlacement { te_pos = offset == null ? pos : pos.offset(offset); - tile = world.getTileEntity(te_pos); + tile = world.getBlockEntity(te_pos); if (tile instanceof IPartHost) { host = (IPartHost) tile; } @@ -236,15 +236,15 @@ public class PartPlacement { final boolean canMultiPartBePlaced = multiPartBlockState.isValidPosition(world, te_pos); // We cannot override the item stack of normal use context, so we use this hack - BlockItemUseContext mpUseCtx = new BlockItemUseContext( + ItemPlacementContext mpUseCtx = new ItemPlacementContext( new DirectionalPlaceContext(world, te_pos, side, maybeMultiPartStack.get(), side)); // FIXME: This is super-fishy and all needs to be re-checked. what does this // even do??? if (hostIsNotPresent && multiPartPresent && canMultiPartBePlaced - && maybeMultiPartBlockItem.get().tryPlace(mpUseCtx) == ActionResult.SUCCESS) { - if (!world.isRemote) { - tile = world.getTileEntity(te_pos); + && maybeMultiPartBlockItem.get().place(mpUseCtx) == ActionResult.SUCCESS) { + if (!world.isClient) { + tile = world.getBlockEntity(te_pos); if (tile instanceof IPartHost) { host = (IPartHost) tile; @@ -283,13 +283,13 @@ public class PartPlacement { return ActionResult.PASS; } - if (!world.isRemote) { + if (!world.isClient) { if (mop.getType() != HitResult.Type.MISS) { final SelectedPart sp = selectPart(player, host, mop.getHitVec().add(-mop.getPos().getX(), -mop.getPos().getY(), -mop.getPos().getZ())); if (sp.part != null) { - if (!player.isCrouching() && sp.part.onActivate(player, hand, mop.getHitVec())) { + if (!player.isInSneakingPose() && sp.part.onActivate(player, hand, mop.getHitVec())) { return ActionResult.FAIL; } } @@ -325,7 +325,7 @@ public class PartPlacement { } private static float getEyeOffset(final PlayerEntity p) { - if (p.world.isRemote) { + if (p.world.isClient) { return Platform.getEyeOffset(p); } @@ -360,43 +360,43 @@ public class PartPlacement { return; } - if (event instanceof PlayerInteractEvent.RightClickEmpty && event.getPlayer().world.isRemote) { + if (event instanceof PlayerInteractEvent.RightClickEmpty && event.getPlayer().world.isClient) { // re-check to see if this event was already channeled, cause these two events // are really stupid... final HitResult mop = Platform.rayTrace(event.getPlayer(), true, false); - final Minecraft mc = Minecraft.getInstance(); + final MinecraftClient mc = MinecraftClient.getInstance(); final float f = 1.0F; final double d0 = mc.playerController.getBlockReachDistance(); final Vec3d vec3 = mc.getRenderViewEntity().getEyePosition(f); - if (mop instanceof BlockRayTraceResult && mop.getHitVec().distanceTo(vec3) < d0) { - BlockRayTraceResult brtr = (BlockRayTraceResult) mop; + if (mop instanceof BlockHitResult && mop.getHitVec().distanceTo(vec3) < d0) { + BlockHitResult brtr = (BlockHitResult) mop; final World w = event.getEntity().world; - final BlockEntity te = w.getTileEntity(brtr.getPos()); + final BlockEntity te = w.getBlockEntity(brtr.getPos()); if (te instanceof IPartHost && this.wasCanceled) { event.setCanceled(true); } } else { - final ItemStack held = event.getPlayer().getHeldItem(event.getHand()); + final ItemStack held = event.getPlayer().getStackInHand(event.getHand()); final IItems items = AEApi.instance().definitions().items(); boolean supportedItem = items.memoryCard().isSameAs(held); supportedItem |= items.colorApplicator().isSameAs(held); - if (event.getPlayer().isCrouching() && !held.isEmpty() && supportedItem) { + if (event.getPlayer().isInSneakingPose() && !held.isEmpty() && supportedItem) { NetworkHandler.instance().sendToServer(new ClickPacket(event.getHand())); } } - } else if (event instanceof PlayerInteractEvent.RightClickBlock && !event.getPlayer().world.isRemote) { + } else if (event instanceof PlayerInteractEvent.RightClickBlock && !event.getPlayer().world.isClient) { if (this.placing.get() != null) { return; } this.placing.set(event); - final ItemStack held = event.getPlayer().getHeldItem(event.getHand()); + final ItemStack held = event.getPlayer().getStackInHand(event.getHand()); if (place(held, event.getPos(), event.getFace(), event.getPlayer(), event.getHand(), event.getPlayer().world, PlaceType.INTERACT_FIRST_PASS, 0) == ActionResult.SUCCESS) { event.setCanceled(true); diff --git a/src/main/java/appeng/parts/automation/AbstractFormationPlanePart.java b/src/main/java/appeng/parts/automation/AbstractFormationPlanePart.java index c59363458..4689f3ec3 100644 --- a/src/main/java/appeng/parts/automation/AbstractFormationPlanePart.java +++ b/src/main/java/appeng/parts/automation/AbstractFormationPlanePart.java @@ -78,19 +78,19 @@ public abstract class AbstractFormationPlanePart> extends final Direction e = bch.getWorldX(); final Direction u = bch.getWorldY(); - if (this.isTransitionPlane(te.getWorld().getTileEntity(pos.offset(e.getOpposite())), this.getSide())) { + if (this.isTransitionPlane(te.getWorld().getBlockEntity(pos.offset(e.getOpposite())), this.getSide())) { minX = 0; } - if (this.isTransitionPlane(te.getWorld().getTileEntity(pos.offset(e)), this.getSide())) { + if (this.isTransitionPlane(te.getWorld().getBlockEntity(pos.offset(e)), this.getSide())) { maxX = 16; } - if (this.isTransitionPlane(te.getWorld().getTileEntity(pos.offset(u.getOpposite())), this.getSide())) { + if (this.isTransitionPlane(te.getWorld().getBlockEntity(pos.offset(u.getOpposite())), this.getSide())) { minY = 0; } - if (this.isTransitionPlane(te.getWorld().getTileEntity(pos.offset(u)), this.getSide())) { + if (this.isTransitionPlane(te.getWorld().getBlockEntity(pos.offset(u)), this.getSide())) { maxY = 16; } } @@ -141,21 +141,21 @@ public abstract class AbstractFormationPlanePart> extends final BlockPos pos = te.getPos(); - if (this.isTransitionPlane(te.getWorld().getTileEntity(pos.offset(facingRight.getOpposite())), + if (this.isTransitionPlane(te.getWorld().getBlockEntity(pos.offset(facingRight.getOpposite())), this.getSide())) { left = true; } - if (this.isTransitionPlane(te.getWorld().getTileEntity(pos.offset(facingRight)), this.getSide())) { + if (this.isTransitionPlane(te.getWorld().getBlockEntity(pos.offset(facingRight)), this.getSide())) { right = true; } - if (this.isTransitionPlane(te.getWorld().getTileEntity(pos.offset(facingUp.getOpposite())), + if (this.isTransitionPlane(te.getWorld().getBlockEntity(pos.offset(facingUp.getOpposite())), this.getSide())) { down = true; } - if (this.isTransitionPlane(te.getWorld().getTileEntity(pos.offset(facingUp)), this.getSide())) { + if (this.isTransitionPlane(te.getWorld().getBlockEntity(pos.offset(facingUp)), this.getSide())) { up = true; } } diff --git a/src/main/java/appeng/parts/automation/AnnihilationPlanePart.java b/src/main/java/appeng/parts/automation/AnnihilationPlanePart.java index a3be72325..b4db9ee48 100644 --- a/src/main/java/appeng/parts/automation/AnnihilationPlanePart.java +++ b/src/main/java/appeng/parts/automation/AnnihilationPlanePart.java @@ -23,6 +23,7 @@ import java.util.List; import javax.annotation.Nonnull; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Material; @@ -32,6 +33,7 @@ import net.minecraft.entity.item.ItemEntity; 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; @@ -43,7 +45,6 @@ import net.minecraft.world.BlockView; import net.minecraft.world.World; import net.minecraft.server.world.ServerWorld; import net.minecraftforge.client.model.data.IModelData; -import net.minecraftforge.common.ToolType; import net.minecraftforge.common.util.FakePlayerFactory; import appeng.api.AEApi; @@ -122,19 +123,19 @@ public class AnnihilationPlanePart extends BasicStatePart implements IGridTickab final Direction e = bch.getWorldX(); final Direction u = bch.getWorldY(); - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(e.getOpposite())), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(e.getOpposite())), this.getSide())) { minX = 0; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(e)), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(e)), this.getSide())) { maxX = 16; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(u.getOpposite())), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(u.getOpposite())), this.getSide())) { minY = 0; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(e)), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(e)), this.getSide())) { maxY = 16; } } @@ -191,21 +192,21 @@ public class AnnihilationPlanePart extends BasicStatePart implements IGridTickab final BlockPos pos = te.getPos(); - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(facingRight.getOpposite())), + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(facingRight.getOpposite())), this.getSide())) { left = true; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(facingRight)), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(facingRight)), this.getSide())) { right = true; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(facingUp.getOpposite())), + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(facingUp.getOpposite())), this.getSide())) { down = true; } - if (this.isAnnihilationPlane(te.getWorld().getTileEntity(pos.offset(facingUp)), this.getSide())) { + if (this.isAnnihilationPlane(te.getWorld().getBlockEntity(pos.offset(facingUp)), this.getSide())) { up = true; } } @@ -502,7 +503,7 @@ public class AnnihilationPlanePart extends BasicStatePart implements IGridTickab } } - BlockEntity te = w.getTileEntity(pos); + BlockEntity te = w.getBlockEntity(pos); return Block.getDrops(state, w, pos, te, fakePlayer, harvestTool); } @@ -556,7 +557,7 @@ public class AnnihilationPlanePart extends BasicStatePart implements IGridTickab private boolean breakBlockAndStoreExtraItems(final ServerWorld w, final BlockPos pos) { // Kill the block, but signal no drops - if (!w.destroyBlock(pos, false)) { + if (!w.breakBlock(pos, false)) { // The block was no longer there return false; } @@ -605,12 +606,12 @@ public class AnnihilationPlanePart extends BasicStatePart implements IGridTickab */ protected ItemStack createHarvestTool(BlockState state) { // Try to use the right tool... - ToolType harvestToolType = state.getBlock().getHarvestTool(state); - if (harvestToolType == ToolType.AXE) { + Tag harvestToolType = state.getBlock().getHarvestTool(state); + if (harvestToolType == FabricToolTags.AXES) { return new ItemStack(Items.DIAMOND_AXE, 1); - } else if (harvestToolType == ToolType.SHOVEL) { + } else if (harvestToolType == FabricToolTags.SHOVELS) { return new ItemStack(Items.DIAMOND_SHOVEL, 1); - } else if (harvestToolType == ToolType.PICKAXE) { + } else if (harvestToolType == FabricToolTags.PICKAXES) { return new ItemStack(Items.DIAMOND_PICKAXE, 1); } else { return null; diff --git a/src/main/java/appeng/parts/automation/FormationPlanePart.java b/src/main/java/appeng/parts/automation/FormationPlanePart.java index d7f061714..4d1159e92 100644 --- a/src/main/java/appeng/parts/automation/FormationPlanePart.java +++ b/src/main/java/appeng/parts/automation/FormationPlanePart.java @@ -36,7 +36,7 @@ import net.minecraft.item.FireworkRocketItem; import net.minecraft.item.FireworkStarItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; +import net.minecraft.item.ItemUsageContext; import net.minecraft.item.WallOrFloorItem; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.ActionResult; @@ -44,7 +44,7 @@ import net.minecraft.util.math.Direction; import net.minecraft.util.Hand; import net.minecraft.util.math.Box; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import net.minecraft.server.world.ServerWorld; @@ -364,9 +364,9 @@ public class FormationPlanePart extends AbstractFormationPlanePart return list.size(); } - private class ForcedItemUseContext extends ItemUseContext { + private class ForcedItemUseContext extends ItemUsageContext { protected ForcedItemUseContext(World worldIn, @Nullable PlayerEntity player, Hand handIn, ItemStack heldItem, - BlockRayTraceResult rayTraceResultIn) { + BlockHitResult rayTraceResultIn) { super(worldIn, player, handIn, heldItem, rayTraceResultIn); } } diff --git a/src/main/java/appeng/parts/automation/PlaneModel.java b/src/main/java/appeng/parts/automation/PlaneModel.java index ee277a3c7..e74a8efa9 100644 --- a/src/main/java/appeng/parts/automation/PlaneModel.java +++ b/src/main/java/appeng/parts/automation/PlaneModel.java @@ -25,12 +25,12 @@ import java.util.function.Function; import com.mojang.datafixers.util.Pair; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.IModelTransform; import net.minecraft.client.render.model.IUnbakedModel; import net.minecraft.client.render.model.ItemOverrideList; import net.minecraft.client.render.model.Material; -import net.minecraft.client.render.model.ModelBakery; +import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.Identifier; @@ -53,9 +53,9 @@ public class PlaneModel implements IModelGeometry { } @Override - public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, - Function spriteGetter, IModelTransform modelTransform, - ItemOverrideList overrides, Identifier modelLocation) { + public BakedModel bake(IModelConfiguration owner, ModelLoader bakery, + Function spriteGetter, IModelTransform modelTransform, + ItemOverrideList overrides, Identifier modelLocation) { TextureAtlasSprite frontSprite = spriteGetter.apply(this.frontTexture); TextureAtlasSprite sidesSprite = spriteGetter.apply(this.sidesTexture); TextureAtlasSprite backSprite = spriteGetter.apply(this.backTexture); diff --git a/src/main/java/appeng/parts/automation/SharedItemBusPart.java b/src/main/java/appeng/parts/automation/SharedItemBusPart.java index ca0799e29..95a5aab65 100644 --- a/src/main/java/appeng/parts/automation/SharedItemBusPart.java +++ b/src/main/java/appeng/parts/automation/SharedItemBusPart.java @@ -82,16 +82,16 @@ public abstract class SharedItemBusPart extends UpgradeablePart implements IGrid protected InventoryAdaptor getHandler() { final BlockEntity self = this.getHost().getTile(); - final BlockEntity target = this.getTileEntity(self, self.getPos().offset(this.getSide().getFacing())); + final BlockEntity target = this.getBlockEntity(self, self.getPos().offset(this.getSide().getFacing())); return InventoryAdaptor.getAdaptor(target, this.getSide().getFacing().getOpposite()); } - private BlockEntity getTileEntity(final BlockEntity self, final BlockPos pos) { + private BlockEntity getBlockEntity(final BlockEntity self, final BlockPos pos) { final World w = self.getWorld(); if (w.getChunkProvider().isChunkLoaded(new ChunkPos(pos))) { - return w.getTileEntity(pos); + return w.getBlockEntity(pos); } return null; diff --git a/src/main/java/appeng/parts/misc/InterfacePart.java b/src/main/java/appeng/parts/misc/InterfacePart.java index 5ae4ac91c..81014bdb5 100644 --- a/src/main/java/appeng/parts/misc/InterfacePart.java +++ b/src/main/java/appeng/parts/misc/InterfacePart.java @@ -208,7 +208,7 @@ public class InterfacePart extends BasicStatePart implements IGridTickable, ISto } @Override - public BlockEntity getTileEntity() { + public BlockEntity getBlockEntity() { return super.getHost().getTile(); } diff --git a/src/main/java/appeng/parts/misc/StorageBusPart.java b/src/main/java/appeng/parts/misc/StorageBusPart.java index 49704c1ab..1e08d878b 100644 --- a/src/main/java/appeng/parts/misc/StorageBusPart.java +++ b/src/main/java/appeng/parts/misc/StorageBusPart.java @@ -207,7 +207,7 @@ public class StorageBusPart extends UpgradeablePart private void resetCache(final boolean fullReset) { if (this.getHost() == null || this.getHost().getTile() == null || this.getHost().getTile().getWorld() == null - || this.getHost().getTile().getWorld().isRemote) { + || this.getHost().getTile().getWorld().isClient) { return; } @@ -257,7 +257,7 @@ public class StorageBusPart extends UpgradeablePart @Override public void onNeighborChanged(BlockView w, BlockPos pos, BlockPos neighbor) { if (pos.offset(this.getSide().getFacing()).equals(neighbor)) { - final BlockEntity te = w.getTileEntity(neighbor); + final BlockEntity te = w.getBlockEntity(neighbor); // In case the TE was destroyed, we have to do a full reset immediately. if (te == null) { @@ -400,7 +400,7 @@ public class StorageBusPart extends UpgradeablePart this.cached = true; final BlockEntity self = this.getHost().getTile(); - final BlockEntity target = self.getWorld().getTileEntity(self.getPos().offset(this.getSide().getFacing())); + final BlockEntity target = self.getWorld().getBlockEntity(self.getPos().offset(this.getSide().getFacing())); final int newHandlerHash = this.createHandlerHash(target); if (newHandlerHash != 0 && newHandlerHash == this.handlerHash) { @@ -497,10 +497,10 @@ public class StorageBusPart extends UpgradeablePart } if (achievement != null && achievement.getActionableNode() != null) { - // Platform.addStat( achievement.getActionableNode().getPlayerID(), + // Platform.increaseStat( achievement.getActionableNode().getPlayerID(), // Achievements.Recursive.getAchievement() // ); - // Platform.addStat( getActionableNode().getPlayerID(), + // Platform.increaseStat( getActionableNode().getPlayerID(), // Achievements.Recursive.getAchievement() ); } } diff --git a/src/main/java/appeng/parts/networking/DenseCablePart.java b/src/main/java/appeng/parts/networking/DenseCablePart.java index 4a88f1972..29cb4482b 100644 --- a/src/main/java/appeng/parts/networking/DenseCablePart.java +++ b/src/main/java/appeng/parts/networking/DenseCablePart.java @@ -114,7 +114,7 @@ public abstract class DenseCablePart extends CablePart { } private boolean isDense(final AEPartLocation of) { - final BlockEntity te = this.getTile().getWorld().getTileEntity(this.getTile().getPos().offset(of.getFacing())); + final BlockEntity te = this.getTile().getWorld().getBlockEntity(this.getTile().getPos().offset(of.getFacing())); if (te instanceof IGridHost) { final AECableType t = ((IGridHost) te).getCableConnectionType(of.getOpposite()); diff --git a/src/main/java/appeng/parts/p2p/FEP2PTunnelPart.java b/src/main/java/appeng/parts/p2p/FEP2PTunnelPart.java index a65640cad..05ad2e87f 100644 --- a/src/main/java/appeng/parts/p2p/FEP2PTunnelPart.java +++ b/src/main/java/appeng/parts/p2p/FEP2PTunnelPart.java @@ -64,7 +64,7 @@ public class FEP2PTunnelPart extends P2PTunnelPart { LazyOptional energyStorageOpt = LazyOptional.empty(); if (this.isActive()) { final BlockEntity self = this.getTile(); - final BlockEntity te = self.getWorld().getTileEntity(self.getPos().offset(this.getSide().getFacing())); + final BlockEntity te = self.getWorld().getBlockEntity(self.getPos().offset(this.getSide().getFacing())); if (te != null) { energyStorageOpt = te.getCapability(Capabilities.FORGE_ENERGY, diff --git a/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java b/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java index 6f2e35011..3b55b485e 100644 --- a/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java +++ b/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java @@ -248,7 +248,7 @@ public class FluidP2PTunnelPart extends P2PTunnelPart implem } final BlockEntity te = this.getTile().getWorld() - .getTileEntity(this.getTile().getPos().offset(this.getSide().getFacing())); + .getBlockEntity(this.getTile().getPos().offset(this.getSide().getFacing())); if (te != null && te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, this.getSide().getFacing().getOpposite()).isPresent()) { diff --git a/src/main/java/appeng/parts/p2p/ItemP2PTunnelPart.java b/src/main/java/appeng/parts/p2p/ItemP2PTunnelPart.java index c69bafc4a..b857ba33e 100644 --- a/src/main/java/appeng/parts/p2p/ItemP2PTunnelPart.java +++ b/src/main/java/appeng/parts/p2p/ItemP2PTunnelPart.java @@ -24,6 +24,7 @@ import java.util.List; import javax.annotation.Nonnull; import alexiil.mc.lib.attributes.item.ItemTransferable; +import alexiil.mc.lib.attributes.item.impl.EmptyFixedItemInv; import net.minecraft.block.entity.BlockEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.math.Direction; @@ -32,7 +33,6 @@ import net.minecraft.world.BlockView; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; -import net.minecraftforge.items.wrapper.EmptyHandler; import appeng.api.networking.IGridNode; import appeng.api.networking.events.MENetworkBootingStatusChange; @@ -90,7 +90,7 @@ public class ItemP2PTunnelPart extends P2PTunnelPart implemen try { itemTunnels = this.getOutputs(); } catch (final GridAccessException e) { - return EmptyHandler.INSTANCE; + return EmptyFixedItemInv.INSTANCE; } for (final ItemP2PTunnelPart t : itemTunnels) { @@ -113,7 +113,7 @@ public class ItemP2PTunnelPart extends P2PTunnelPart implemen this.partVisited = true; if (this.getProxy().isActive()) { final Direction facing = this.getSide().getFacing(); - final BlockEntity te = this.getTile().getWorld().getTileEntity(this.getTile().getPos().offset(facing)); + final BlockEntity te = this.getTile().getWorld().getBlockEntity(this.getTile().getPos().offset(facing)); if (te != null) { ret = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite()) diff --git a/src/main/java/appeng/parts/p2p/P2PTunnelPart.java b/src/main/java/appeng/parts/p2p/P2PTunnelPart.java index a642cc4c2..9daf00b6b 100644 --- a/src/main/java/appeng/parts/p2p/P2PTunnelPart.java +++ b/src/main/java/appeng/parts/p2p/P2PTunnelPart.java @@ -166,7 +166,7 @@ public abstract class P2PTunnelPart extends BasicStateP return false; } - final ItemStack is = player.getHeldItem(hand); + final ItemStack is = player.getStackInHand(hand); final TunnelType tt = AEApi.instance().registries().p2pTunnel().getTunnelTypeByItem(is); if (!is.isEmpty() && is.getItem() instanceof IMemoryCard) { diff --git a/src/main/java/appeng/parts/reporting/AbstractMonitorPart.java b/src/main/java/appeng/parts/reporting/AbstractMonitorPart.java index 3f8e02a26..991015b09 100644 --- a/src/main/java/appeng/parts/reporting/AbstractMonitorPart.java +++ b/src/main/java/appeng/parts/reporting/AbstractMonitorPart.java @@ -150,7 +150,7 @@ public abstract class AbstractMonitorPart extends AbstractDisplayPart } if (!this.isLocked) { - final ItemStack eq = player.getHeldItem(hand); + final ItemStack eq = player.getStackInHand(hand); this.configuredItem = AEItemStack.fromItemStack(eq); this.configureWatchers(); this.getHost().markForSave(); @@ -176,7 +176,7 @@ public abstract class AbstractMonitorPart extends AbstractDisplayPart return false; } - if (player.getHeldItem(hand).isEmpty()) { + if (player.getStackInHand(hand).isEmpty()) { this.isLocked = !this.isLocked; player.sendMessage((this.isLocked ? PlayerMessages.isNowLocked : PlayerMessages.isNowUnlocked).get()); this.getHost().markForSave(); diff --git a/src/main/java/appeng/parts/reporting/AbstractTerminalPart.java b/src/main/java/appeng/parts/reporting/AbstractTerminalPart.java index 46dfe34e0..788579d5d 100644 --- a/src/main/java/appeng/parts/reporting/AbstractTerminalPart.java +++ b/src/main/java/appeng/parts/reporting/AbstractTerminalPart.java @@ -106,7 +106,7 @@ public abstract class AbstractTerminalPart extends AbstractDisplayPart @Override public boolean onPartActivate(final PlayerEntity player, final Hand hand, final Vec3d pos) { if (!super.onPartActivate(player, hand, pos)) { - if (!player.world.isRemote) { + if (!player.world.isClient) { ContainerOpener.openContainer(getContainerType(player), player, ContainerLocator.forPart(this)); } } diff --git a/src/main/java/appeng/parts/reporting/ConversionMonitorPart.java b/src/main/java/appeng/parts/reporting/ConversionMonitorPart.java index 38f6617ef..f47097792 100644 --- a/src/main/java/appeng/parts/reporting/ConversionMonitorPart.java +++ b/src/main/java/appeng/parts/reporting/ConversionMonitorPart.java @@ -86,7 +86,7 @@ public class ConversionMonitorPart extends AbstractMonitorPart { return false; } - final ItemStack eq = player.getHeldItem(hand); + final ItemStack eq = player.getStackInHand(hand); if (this.isLocked()) { if (eq.isEmpty()) { this.insertItem(player, hand, true); @@ -174,7 +174,7 @@ public class ConversionMonitorPart extends AbstractMonitorPart { } } } else { - final IAEItemStack input = AEItemStack.fromItemStack(player.getHeldItem(hand)); + final IAEItemStack input = AEItemStack.fromItemStack(player.getStackInHand(hand)); final IAEItemStack failedToInsert = Platform.poweredInsert(energy, cell, input, new PlayerSource(player, this)); player.setHeldItem(hand, failedToInsert == null ? ItemStack.EMPTY : failedToInsert.createItemStack()); diff --git a/src/main/java/appeng/server/ServerHelper.java b/src/main/java/appeng/server/ServerHelper.java index 0b57c410f..5cbdf3534 100644 --- a/src/main/java/appeng/server/ServerHelper.java +++ b/src/main/java/appeng/server/ServerHelper.java @@ -26,7 +26,7 @@ import net.minecraft.block.entity.BlockEntity; import net.minecraft.client.util.InputMappings; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.MinecraftServer; diff --git a/src/main/java/appeng/server/subcommands/ChunkLogger.java b/src/main/java/appeng/server/subcommands/ChunkLogger.java index b6545b9ea..220c5f424 100644 --- a/src/main/java/appeng/server/subcommands/ChunkLogger.java +++ b/src/main/java/appeng/server/subcommands/ChunkLogger.java @@ -52,7 +52,7 @@ public class ChunkLogger implements ISubCommand { @SubscribeEvent public void onChunkLoadEvent(final ChunkEvent.Load event) { - if (!event.getWorld().isRemote()) { + if (!event.getWorld().isClient()) { AELog.info("Chunk Loaded: " + event.getChunk().getPos().x + ", " + event.getChunk().getPos().z); this.displayStack(); } @@ -60,7 +60,7 @@ public class ChunkLogger implements ISubCommand { @SubscribeEvent public void onChunkUnloadEvent(final ChunkEvent.Unload unload) { - if (!unload.getWorld().isRemote()) { + if (!unload.getWorld().isClient()) { AELog.info("Chunk Unloaded: " + unload.getChunk().getPos().x + ", " + unload.getChunk().getPos().z); this.displayStack(); } diff --git a/src/main/java/appeng/server/subcommands/Supporters.java b/src/main/java/appeng/server/subcommands/Supporters.java index 1c28c268d..a70a1565e 100644 --- a/src/main/java/appeng/server/subcommands/Supporters.java +++ b/src/main/java/appeng/server/subcommands/Supporters.java @@ -23,7 +23,7 @@ import com.mojang.brigadier.context.CommandContext; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.server.MinecraftServer; -import net.minecraft.util.text.StringTextComponent; +import net.minecraft.text.LiteralText; import appeng.server.ISubCommand; @@ -33,6 +33,6 @@ public class Supporters implements ISubCommand { public void call(final MinecraftServer srv, final CommandContext data, final ServerCommandSource sender) { final String[] who = { "Stig Halvorsen", "Josh Ricker", "Jenny \"Othlon\" Sutherland", "Hristo Bogdanov", "BevoLJ" }; - sender.sendFeedback(new StringTextComponent("Special thanks to " + Joiner.on(", ").join(who)), true); + sender.sendFeedback(new LiteralText("Special thanks to " + Joiner.on(", ").join(who)), true); } } diff --git a/src/main/java/appeng/server/subcommands/TestMeteoritesCommand.java b/src/main/java/appeng/server/subcommands/TestMeteoritesCommand.java index 4971c063b..bbf5e0b42 100644 --- a/src/main/java/appeng/server/subcommands/TestMeteoritesCommand.java +++ b/src/main/java/appeng/server/subcommands/TestMeteoritesCommand.java @@ -31,12 +31,12 @@ import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.server.command.ServerCommandSource; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.server.MinecraftServer; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.ChunkPos; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; +import net.minecraft.text.LiteralText; import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.event.ClickEvent; import net.minecraft.util.text.event.HoverEvent; @@ -159,20 +159,20 @@ public class TestMeteoritesCommand implements ISubCommand { Text restOfLine; if (settings.getFallout() == null) { - restOfLine = new StringTextComponent( + restOfLine = new LiteralText( String.format(Locale.ROOT, ", radius=%.2f [%s]", settings.getMeteoriteRadius(), state)); } else { - restOfLine = new StringTextComponent(String.format(Locale.ROOT, ", radius=%.2f, crater=%s, fallout=%s", + restOfLine = new LiteralText(String.format(Locale.ROOT, ", radius=%.2f, crater=%s, fallout=%s", settings.getMeteoriteRadius(), settings.getCraterType().name().toLowerCase(), settings.getFallout().name().toLowerCase())); } - Text msg = new StringTextComponent(" #" + (i + 1) + " "); - msg.appendSibling(getClickablePosition(world, settings, pos)).appendSibling(restOfLine); + Text msg = new LiteralText(" #" + (i + 1) + " "); + msg.append(getClickablePosition(world, settings, pos)).append(restOfLine); // Add a tooltip - Text tooltip = new StringTextComponent(settings.toString() + "\nBiome: ") - .appendSibling(world.getBiome(pos).getDisplayName()); + Text tooltip = new LiteralText(settings.toString() + "\nBiome: ") + .append(world.getBiome(pos).getName()); msg.applyTextStyle(style -> style.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, tooltip))); sender.sendFeedback(msg, true); @@ -191,7 +191,7 @@ public class TestMeteoritesCommand implements ISubCommand { String displayText = String.format(Locale.ROOT, "pos=%d,%d,%d", tpPos.getX(), tpPos.getY(), tpPos.getZ()); String tpCommand = String.format(Locale.ROOT, "/tp @s %d %d %d", tpPos.getX(), tpPos.getY(), tpPos.getZ()); - return new StringTextComponent(displayText).applyTextStyle(TextFormatting.UNDERLINE) + return new LiteralText(displayText).applyTextStyle(TextFormatting.UNDERLINE) .applyTextStyle(style -> style.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, tpCommand))); } @@ -206,7 +206,7 @@ public class TestMeteoritesCommand implements ISubCommand { } private static void sendLine(ServerCommandSource sender, String text, Object... args) { - sender.sendFeedback(new StringTextComponent(String.format(Locale.ROOT, text, args)), true); + sender.sendFeedback(new LiteralText(String.format(Locale.ROOT, text, args)), true); } } diff --git a/src/main/java/appeng/server/subcommands/TestOreGenCommand.java b/src/main/java/appeng/server/subcommands/TestOreGenCommand.java index b234ad2ca..1ad1648dc 100644 --- a/src/main/java/appeng/server/subcommands/TestOreGenCommand.java +++ b/src/main/java/appeng/server/subcommands/TestOreGenCommand.java @@ -30,11 +30,11 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.block.BlockState; import net.minecraft.server.command.ServerCommandSource; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.server.MinecraftServer; +import net.minecraft.text.LiteralText; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.ChunkPos; -import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.chunk.ChunkStatus; import net.minecraft.world.chunk.IChunk; import net.minecraft.world.dimension.DimensionType; @@ -130,7 +130,7 @@ public class TestOreGenCommand implements ISubCommand { } private static void sendLine(ServerCommandSource sender, String text, Object... args) { - sender.sendFeedback(new StringTextComponent(String.format(Locale.ROOT, text, args)), true); + sender.sendFeedback(new LiteralText(String.format(Locale.ROOT, text, args)), true); } private static class Stats { diff --git a/src/main/java/appeng/spatial/CachedPlane.java b/src/main/java/appeng/spatial/CachedPlane.java index 7b29b2b4e..16cb8110c 100644 --- a/src/main/java/appeng/spatial/CachedPlane.java +++ b/src/main/java/appeng/spatial/CachedPlane.java @@ -120,7 +120,7 @@ public class CachedPlane { final Chunk c = w.getChunk(minCX + cx, minCZ + cz); this.myChunks[cx][cz] = c; - final List> rawTiles = new ArrayList<>(c.getTileEntityMap().entrySet()); + final List> rawTiles = new ArrayList<>(c.getBlockEntityMap().entrySet()); for (final Entry tx : rawTiles) { final BlockPos cp = tx.getKey(); final BlockEntity te = tx.getValue(); @@ -146,7 +146,7 @@ public class CachedPlane { } for (final BlockPos cp : deadTiles) { - c.getTileEntityMap().remove(cp); + c.getBlockEntityMap().remove(cp); } final long gameTime = this.getWorld().getGameTime(); @@ -286,7 +286,7 @@ public class CachedPlane { // attempt recovery... c.c.addTileEntity(te); - this.world.notifyBlockUpdate(pos, this.world.getBlockState(pos), this.world.getBlockState(pos), z); + this.world.updateListeners(pos, this.world.getBlockState(pos), this.world.getBlockState(pos), z); } mr.doneMoving(te); diff --git a/src/main/java/appeng/spatial/DefaultSpatialHandler.java b/src/main/java/appeng/spatial/DefaultSpatialHandler.java index 195ac3e7b..edf135c4f 100644 --- a/src/main/java/appeng/spatial/DefaultSpatialHandler.java +++ b/src/main/java/appeng/spatial/DefaultSpatialHandler.java @@ -50,7 +50,7 @@ public class DefaultSpatialHandler implements IMovableHandler { if (w.getChunkProvider().isChunkLoaded(c.getPos())) { final BlockState state = w.getBlockState(newPosition); w.addTileEntity(te); - w.notifyBlockUpdate(newPosition, state, state, 1); + w.updateListeners(newPosition, state, state, 1); } } } diff --git a/src/main/java/appeng/spatial/StorageHelper.java b/src/main/java/appeng/spatial/StorageHelper.java index 4dbcd635c..9b01ea9c4 100644 --- a/src/main/java/appeng/spatial/StorageHelper.java +++ b/src/main/java/appeng/spatial/StorageHelper.java @@ -26,7 +26,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.math.Box; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; diff --git a/src/main/java/appeng/tile/AEBaseTileEntity.java b/src/main/java/appeng/tile/AEBaseBlockEntity.java similarity index 79% rename from src/main/java/appeng/tile/AEBaseTileEntity.java rename to src/main/java/appeng/tile/AEBaseBlockEntity.java index bb3275a73..086745671 100644 --- a/src/main/java/appeng/tile/AEBaseTileEntity.java +++ b/src/main/java/appeng/tile/AEBaseBlockEntity.java @@ -18,41 +18,13 @@ package appeng.tile; -import java.io.IOException; -import java.lang.ref.WeakReference; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import io.netty.buffer.Unpooled; - -import net.minecraft.block.BlockState; -import net.minecraft.block.entity.BlockEntity; -import net.minecraft.item.BlockItemUseContext; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.PacketByteBuf; -import net.minecraft.network.play.server.SUpdateTileEntityPacket; -import net.minecraft.block.entity.BlockEntityType; -import net.minecraft.util.math.Direction; -import net.minecraft.util.math.BlockPos; -import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; -import net.minecraft.world.World; -import net.minecraftforge.client.model.data.IModelData; import alexiil.mc.lib.attributes.item.ItemTransferable; - import appeng.api.implementations.tiles.ISegmentedInventory; import appeng.api.util.ICommonTile; import appeng.api.util.IConfigManager; import appeng.api.util.IConfigurableObject; import appeng.api.util.IOrientable; import appeng.block.AEBaseTileBlock; -import appeng.client.render.model.AEModelData; import appeng.core.AELog; import appeng.core.features.IStackSrc; import appeng.helpers.ICustomNameObject; @@ -61,10 +33,32 @@ import appeng.hooks.TickHandler; import appeng.tile.inventory.AppEngInternalAEInventory; import appeng.util.Platform; import appeng.util.SettingsFrom; +import io.netty.buffer.Unpooled; +import net.fabricmc.fabric.api.block.entity.BlockEntityClientSerializable; +import net.minecraft.block.BlockState; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.BlockEntityType; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.PacketByteBuf; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Text; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.world.World; -public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommonTile, ICustomNameObject { +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.IOException; +import java.lang.ref.WeakReference; +import java.util.HashMap; +import java.util.List; +import java.util.Map; - private static final ThreadLocal> DROP_NO_ITEMS = new ThreadLocal<>(); +public class AEBaseBlockEntity extends BlockEntity implements IOrientable, ICommonTile, ICustomNameObject, BlockEntityClientSerializable { + + private static final ThreadLocal> DROP_NO_ITEMS = new ThreadLocal<>(); private static final Map, IStackSrc> ITEM_STACKS = new HashMap<>(); private int renderFragment = 0; @Nullable @@ -73,7 +67,7 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo private Direction up = Direction.UP; private boolean markDirtyQueued = false; - public AEBaseTileEntity(BlockEntityType tileEntityTypeIn) { + public AEBaseBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @@ -82,12 +76,12 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo } public boolean dropItems() { - final WeakReference what = DROP_NO_ITEMS.get(); + final WeakReference what = DROP_NO_ITEMS.get(); return what == null || what.get() != this; } public boolean notLoaded() { - return !this.world.isBlockLoaded(this.pos); + return !this.world.isChunkLoaded(this.pos); } @Nonnull @@ -105,8 +99,8 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); if (data.contains("customName")) { this.customName = data.getString("customName"); @@ -124,8 +118,8 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); if (this.canBeRotated()) { data.putString("forward", this.getForward().name()); @@ -139,45 +133,9 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo return data; } - @Override - public SUpdateTileEntityPacket getUpdatePacket() { - return new SUpdateTileEntityPacket(this.pos, 64, this.getUpdateTag()); - } - - @Override - public void onDataPacket(final NetworkManager net, final SUpdateTileEntityPacket pkt) { - // / pkt.actionType - if (pkt.getTileEntityType() == 64) { - this.handleUpdateTag(pkt.getNbtCompound()); - } - } - public void onReady() { } - /** - * This builds a tag with the actual data that should be sent to the client for - * update syncs. If the tile entity doesn't need update syncs, it returns null. - */ - private CompoundTag writeUpdateData() { - final CompoundTag data = new CompoundTag(); - - final PacketByteBuf stream = new PacketByteBuf(Unpooled.buffer()); - - try { - this.writeToStream(stream); - if (stream.readableBytes() == 0) { - return null; - } - } catch (final Throwable t) { - AELog.debug(t); - } - - stream.capacity(stream.readableBytes()); - data.putByteArray("X", stream.array()); - return data; - } - private boolean readUpdateData(PacketByteBuf stream) { boolean output = false; @@ -197,21 +155,25 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo return output; } - /** - * Handles tile entites that are being sent to the client as part of a full - * chunk. - */ @Override - public CompoundTag getUpdateTag() { - final CompoundTag data = this.writeUpdateData(); + public CompoundTag toClientTag(CompoundTag data) { + boolean finished = false; - if (data == null) { - return new CompoundTag(); + final PacketByteBuf stream = new PacketByteBuf(Unpooled.buffer()); + + try { + this.writeToStream(stream); + if (stream.readableBytes() == 0) { + finished = true; + } + } catch (final Throwable t) { + AELog.debug(t); + } + if (!finished) { + stream.capacity(stream.readableBytes()); + data.putByteArray("X", stream.array()); } - data.putInt("x", this.pos.getX()); - data.putInt("y", this.pos.getY()); - data.putInt("z", this.pos.getZ()); return data; } @@ -220,7 +182,7 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo * chunk. */ @Override - public void handleUpdateTag(CompoundTag tag) { + public void fromClientTag(CompoundTag tag) { final PacketByteBuf stream = new PacketByteBuf(Unpooled.copiedBuffer(tag.getByteArray("X"))); if (this.readUpdateData(stream)) { @@ -255,14 +217,12 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo } else { // TODO: Optimize Network Load if (this.world != null) { - this.requestModelDataUpdate(); - boolean alreadyUpdated = false; // Let the block update it's own state with our internal state changes - BlockState currentState = getBlockState(); + BlockState currentState = getCachedState(); if (currentState.getBlock() instanceof AEBaseTileBlock) { AEBaseTileBlock tileBlock = (AEBaseTileBlock) currentState.getBlock(); - BlockState newState = tileBlock.getTileEntityBlockState(currentState, this); + BlockState newState = tileBlock.getBlockEntityBlockState(currentState, this); if (currentState != newState) { AELog.blockUpdate(this.pos, currentState, newState, this); this.world.setBlockState(pos, newState); @@ -271,7 +231,7 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo } if (!alreadyUpdated) { - this.world.notifyBlockUpdate(this.pos, currentState, currentState, 1); + this.world.updateListeners(this.pos, currentState, currentState, 1); } } } @@ -306,8 +266,8 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo Platform.notifyBlocksOfNeighbors(this.world, this.pos); } - public void onPlacement(BlockItemUseContext context) { - ItemStack stack = context.getItem(); + public void onPlacement(ItemPlacementContext context) { + ItemStack stack = context.getStack(); if (stack.hasTag()) { this.uploadSettings(SettingsFrom.DISMANTLE_ITEM, stack.getTag()); } @@ -403,7 +363,7 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo @Override public Text getCustomInventoryName() { - return new StringTextComponent( + return new LiteralText( this.hasCustomInventoryName() ? this.customName : this.getClass().getSimpleName()); } @@ -413,7 +373,7 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo } public void securityBreak() { - this.world.destroyBlock(this.pos, true); + this.world.breakBlock(this.pos, true); this.disableDrops(); } @@ -421,9 +381,9 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo * Checks if this tile entity is remote (we are running on the logical client * side). */ - public boolean isRemote() { + public boolean isClient() { World world = getWorld(); - return world == null || world.isRemote(); + return world == null || world.isClient(); } public void disableDrops() { @@ -432,7 +392,7 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo public void saveChanges() { if (this.world != null) { - this.world.markChunkDirty(this.pos, this); + this.world.markDirty(this.pos, this); if (!this.markDirtyQueued) { TickHandler.INSTANCE.addCallable(null, this::markDirtyAtEndOfTick); this.markDirtyQueued = true; @@ -450,10 +410,4 @@ public class AEBaseTileEntity extends BlockEntity implements IOrientable, ICommo this.customName = name; } - @Nonnull - @Override - public IModelData getModelData() { - return new AEModelData(up, forward); - } - } diff --git a/src/main/java/appeng/tile/AEBaseInvTileEntity.java b/src/main/java/appeng/tile/AEBaseInvBlockEntity.java similarity index 80% rename from src/main/java/appeng/tile/AEBaseInvTileEntity.java rename to src/main/java/appeng/tile/AEBaseInvBlockEntity.java index c8772efb5..e6d701b7f 100644 --- a/src/main/java/appeng/tile/AEBaseInvTileEntity.java +++ b/src/main/java/appeng/tile/AEBaseInvBlockEntity.java @@ -22,7 +22,10 @@ import java.util.List; import javax.annotation.Nonnull; +import alexiil.mc.lib.attributes.item.FixedItemInv; import alexiil.mc.lib.attributes.item.ItemTransferable; +import alexiil.mc.lib.attributes.item.impl.EmptyFixedItemInv; +import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; @@ -32,23 +35,22 @@ import net.minecraft.world.World; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; -import net.minecraftforge.items.wrapper.EmptyHandler; import appeng.util.helpers.ItemHandlerUtil; import appeng.util.inv.IAEAppEngInventory; import appeng.util.inv.InvOperation; -public abstract class AEBaseInvTileEntity extends AEBaseTileEntity implements IAEAppEngInventory { +public abstract class AEBaseInvBlockEntity extends AEBaseBlockEntity implements IAEAppEngInventory { - public AEBaseInvTileEntity(BlockEntityType tileEntityTypeIn) { + public AEBaseInvBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); final ItemTransferable inv = this.getInternalInventory(); - if (inv != EmptyHandler.INSTANCE) { + if (inv != EmptyFixedItemInv.INSTANCE) { final CompoundTag opt = data.getCompound("inv"); for (int x = 0; x < inv.getSlots(); x++) { final CompoundTag item = opt.getCompound("item" + x); @@ -58,19 +60,19 @@ public abstract class AEBaseInvTileEntity extends AEBaseTileEntity implements IA } public abstract @Nonnull - ItemTransferable getInternalInventory(); + FixedItemInv getInternalInventory(); @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); - final ItemTransferable inv = this.getInternalInventory(); - if (inv != EmptyHandler.INSTANCE) { + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); + final FixedItemInv inv = this.getInternalInventory(); + if (inv != EmptyFixedItemInv.INSTANCE) { final CompoundTag opt = new CompoundTag(); - for (int x = 0; x < inv.getSlots(); x++) { + for (int x = 0; x < inv.getSlotCount(); x++) { final CompoundTag item = new CompoundTag(); - final ItemStack is = inv.getStackInSlot(x); + final ItemStack is = inv.getInvStack(x); if (!is.isEmpty()) { - is.write(item); + is.toTag(item); } opt.put("item" + x, item); } diff --git a/src/main/java/appeng/tile/crafting/CraftingTileEntity.java b/src/main/java/appeng/tile/crafting/CraftingBlockEntity.java similarity index 95% rename from src/main/java/appeng/tile/crafting/CraftingTileEntity.java rename to src/main/java/appeng/tile/crafting/CraftingBlockEntity.java index 00e27d1b7..31bbc7f12 100644 --- a/src/main/java/appeng/tile/crafting/CraftingTileEntity.java +++ b/src/main/java/appeng/tile/crafting/CraftingBlockEntity.java @@ -58,17 +58,17 @@ import appeng.me.cluster.implementations.CraftingCPUCalculator; import appeng.me.cluster.implementations.CraftingCPUCluster; import appeng.me.helpers.AENetworkProxy; import appeng.me.helpers.AENetworkProxyMultiblock; -import appeng.tile.grid.AENetworkTileEntity; +import appeng.tile.grid.AENetworkBlockEntity; import appeng.util.Platform; -public class CraftingTileEntity extends AENetworkTileEntity implements IAEMultiBlock, IPowerChannelState { +public class CraftingBlockEntity extends AENetworkBlockEntity implements IAEMultiBlock, IPowerChannelState { private final CraftingCPUCalculator calc = new CraftingCPUCalculator(this); private CompoundTag previousState = null; private boolean isCoreBlock = false; private CraftingCPUCluster cluster; - public CraftingTileEntity(BlockEntityType tileEntityTypeIn) { + public CraftingBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setFlags(GridFlags.MULTIBLOCK, GridFlags.REQUIRE_CHANNEL); this.getProxy().setValidSides(EnumSet.noneOf(Direction.class)); @@ -83,7 +83,7 @@ public class CraftingTileEntity extends AENetworkTileEntity implements IAEMultiB protected ItemStack getItemFromTile(final Object obj) { Optional is; - if (((CraftingTileEntity) obj).isAccelerator()) { + if (((CraftingBlockEntity) obj).isAccelerator()) { is = AEApi.instance().definitions().blocks().craftingAccelerator().maybeStack(1); } else { is = AEApi.instance().definitions().blocks().craftingUnit().maybeStack(1); @@ -174,15 +174,15 @@ public class CraftingTileEntity extends AENetworkTileEntity implements IAEMultiB } public boolean isFormed() { - if (isRemote()) { + if (isClient()) { return this.world.getBlockState(this.pos).get(AbstractCraftingUnitBlock.FORMED); } return this.cluster != null; } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); data.putBoolean("core", this.isCoreBlock()); if (this.isCoreBlock() && this.cluster != null) { this.cluster.writeToNBT(data); @@ -191,8 +191,8 @@ public class CraftingTileEntity extends AENetworkTileEntity implements IAEMultiB } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.setCoreBlock(data.getBoolean("core")); if (this.isCoreBlock()) { if (this.cluster != null) { @@ -301,7 +301,7 @@ public class CraftingTileEntity extends AENetworkTileEntity implements IAEMultiB @Override public boolean isPowered() { - if (isRemote()) { + if (isClient()) { return this.world.getBlockState(this.pos).get(AbstractCraftingUnitBlock.POWERED); } return this.getProxy().isActive(); diff --git a/src/main/java/appeng/tile/crafting/CraftingMonitorTileEntity.java b/src/main/java/appeng/tile/crafting/CraftingMonitorBlockEntity.java similarity index 92% rename from src/main/java/appeng/tile/crafting/CraftingMonitorTileEntity.java rename to src/main/java/appeng/tile/crafting/CraftingMonitorBlockEntity.java index fcdf8310f..a1a63578f 100644 --- a/src/main/java/appeng/tile/crafting/CraftingMonitorTileEntity.java +++ b/src/main/java/appeng/tile/crafting/CraftingMonitorBlockEntity.java @@ -24,6 +24,7 @@ import java.util.Optional; import javax.annotation.Nonnull; import net.fabricmc.api.Environment; +import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; @@ -39,7 +40,7 @@ import appeng.api.storage.data.IAEItemStack; import appeng.api.util.AEColor; import appeng.util.item.AEItemStack; -public class CraftingMonitorTileEntity extends CraftingTileEntity implements IColorableTile { +public class CraftingMonitorBlockEntity extends CraftingBlockEntity implements IColorableTile { @Environment(EnvType.CLIENT) private Integer dspList; @@ -50,7 +51,7 @@ public class CraftingMonitorTileEntity extends CraftingTileEntity implements ICo private IAEItemStack dspPlay; private AEColor paintedColor = AEColor.TRANSPARENT; - public CraftingMonitorTileEntity(BlockEntityType tileEntityTypeIn) { + public CraftingMonitorBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @@ -86,16 +87,16 @@ public class CraftingMonitorTileEntity extends CraftingTileEntity implements ICo } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); if (data.contains("paintedColor")) { this.paintedColor = AEColor.values()[data.getByte("paintedColor")]; } } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); data.putByte("paintedColor", (byte) this.paintedColor.ordinal()); return data; } diff --git a/src/main/java/appeng/tile/crafting/CraftingStorageTileEntity.java b/src/main/java/appeng/tile/crafting/CraftingStorageBlockEntity.java similarity index 92% rename from src/main/java/appeng/tile/crafting/CraftingStorageTileEntity.java rename to src/main/java/appeng/tile/crafting/CraftingStorageBlockEntity.java index 2600bfee6..3b88ce3dc 100644 --- a/src/main/java/appeng/tile/crafting/CraftingStorageTileEntity.java +++ b/src/main/java/appeng/tile/crafting/CraftingStorageBlockEntity.java @@ -27,17 +27,17 @@ import appeng.api.AEApi; import appeng.api.definitions.IBlocks; import appeng.block.crafting.AbstractCraftingUnitBlock; -public class CraftingStorageTileEntity extends CraftingTileEntity { +public class CraftingStorageBlockEntity extends CraftingBlockEntity { private static final int KILO_SCALAR = 1024; - public CraftingStorageTileEntity(BlockEntityType tileEntityTypeIn) { + public CraftingStorageBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @Override protected ItemStack getItemFromTile(final Object obj) { final IBlocks blocks = AEApi.instance().definitions().blocks(); - final int storage = ((CraftingTileEntity) obj).getStorageBytes() / KILO_SCALAR; + final int storage = ((CraftingBlockEntity) obj).getStorageBytes() / KILO_SCALAR; Optional is; diff --git a/src/main/java/appeng/tile/crafting/MolecularAssemblerTileEntity.java b/src/main/java/appeng/tile/crafting/MolecularAssemblerBlockEntity.java similarity index 96% rename from src/main/java/appeng/tile/crafting/MolecularAssemblerTileEntity.java rename to src/main/java/appeng/tile/crafting/MolecularAssemblerBlockEntity.java index 6da4769aa..2910bd526 100644 --- a/src/main/java/appeng/tile/crafting/MolecularAssemblerTileEntity.java +++ b/src/main/java/appeng/tile/crafting/MolecularAssemblerBlockEntity.java @@ -24,6 +24,7 @@ import java.util.List; import javax.annotation.Nullable; import net.fabricmc.api.Environment; +import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; import net.minecraft.inventory.CraftingInventory; import net.minecraft.item.ItemStack; @@ -68,7 +69,7 @@ import appeng.items.misc.EncodedPatternItem; import appeng.me.GridAccessException; import appeng.parts.automation.DefinitionUpgradeInventory; import appeng.parts.automation.UpgradeInventory; -import appeng.tile.grid.AENetworkInvTileEntity; +import appeng.tile.grid.AENetworkInvBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.ConfigManager; import appeng.util.IConfigManagerHost; @@ -81,7 +82,7 @@ import appeng.util.inv.WrapperFilteredItemHandler; import appeng.util.inv.filter.IAEItemFilter; import appeng.util.item.AEItemStack; -public class MolecularAssemblerTileEntity extends AENetworkInvTileEntity +public class MolecularAssemblerBlockEntity extends AENetworkInvBlockEntity implements IUpgradeableHost, IConfigManagerHost, IGridTickable, ICraftingMachine, IPowerChannelState { public static final String INVENTORY_MAIN = "molecular_assembler"; @@ -105,7 +106,7 @@ public class MolecularAssemblerTileEntity extends AENetworkInvTileEntity @Environment(EnvType.CLIENT) private AssemblerAnimationStatus animationStatus; - public MolecularAssemblerTileEntity(BlockEntityType tileEntityTypeIn) { + public MolecularAssemblerBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); final ITileDefinition assembler = AEApi.instance().definitions().blocks().molecularAssembler(); @@ -201,8 +202,8 @@ public class MolecularAssemblerTileEntity extends AENetworkInvTileEntity } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); if (this.forcePlan && this.myPlan != null) { final ItemStack pattern = this.myPlan.getPattern(); if (!pattern.isEmpty()) { @@ -219,8 +220,8 @@ public class MolecularAssemblerTileEntity extends AENetworkInvTileEntity } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); if (data.contains("myPlan")) { final ItemStack myPat = ItemStack.read(data.getCompound("myPlan")); @@ -488,7 +489,7 @@ public class MolecularAssemblerTileEntity extends AENetworkInvTileEntity return output; } - final BlockEntity te = this.getWorld().getTileEntity(this.pos.offset(d)); + final BlockEntity te = this.getWorld().getBlockEntity(this.pos.offset(d)); if (te == null) { return output; @@ -555,8 +556,8 @@ public class MolecularAssemblerTileEntity extends AENetworkInvTileEntity private class CraftingGridFilter implements IAEItemFilter { private boolean hasPattern() { - return MolecularAssemblerTileEntity.this.myPlan != null - && !ItemHandlerUtil.isEmpty(MolecularAssemblerTileEntity.this.patternInv); + return MolecularAssemblerBlockEntity.this.myPlan != null + && !ItemHandlerUtil.isEmpty(MolecularAssemblerBlockEntity.this.patternInv); } @Override @@ -571,8 +572,8 @@ public class MolecularAssemblerTileEntity extends AENetworkInvTileEntity } if (this.hasPattern()) { - return MolecularAssemblerTileEntity.this.myPlan.isValidItemForSlot(slot, stack, - MolecularAssemblerTileEntity.this.getWorld()); + return MolecularAssemblerBlockEntity.this.myPlan.isValidItemForSlot(slot, stack, + MolecularAssemblerBlockEntity.this.getWorld()); } return false; } diff --git a/src/main/java/appeng/tile/crafting/MolecularAssemblerRenderer.java b/src/main/java/appeng/tile/crafting/MolecularAssemblerRenderer.java index 56834511d..dac9a8ffa 100644 --- a/src/main/java/appeng/tile/crafting/MolecularAssemblerRenderer.java +++ b/src/main/java/appeng/tile/crafting/MolecularAssemblerRenderer.java @@ -21,22 +21,22 @@ package appeng.tile.crafting; import java.util.Random; import net.fabricmc.api.EnvType; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.client.util.math.MatrixStack; import com.mojang.blaze3d.vertex.IVertexBuilder; import org.lwjgl.opengl.GL11; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.RenderState; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.render.model.IBakedModel; +import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.ItemCameraTransforms; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.client.renderer.tileentity.TileEntityRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.item.BlockItem; import net.minecraft.item.ItemStack; @@ -53,26 +53,26 @@ import appeng.core.AppEng; * as the light strip when it's powered. */ @Environment(EnvType.CLIENT) -public class MolecularAssemblerRenderer extends TileEntityRenderer { +public class MolecularAssemblerRenderer extends BlockEntityRenderer { public static final Identifier LIGHTS_MODEL = new Identifier(AppEng.MOD_ID, "block/molecular_assembler_lights"); - private static final RenderType MC_161917_RENDERTYPE_FIX = createRenderType(); + private static final RenderLayer MC_161917_RENDERTYPE_FIX = createRenderType(); private final Random particleRandom = new Random(); - public MolecularAssemblerRenderer(TileEntityRendererDispatcher rendererDispatcherIn) { + public MolecularAssemblerRenderer(BlockEntityRenderDispatcher rendererDispatcherIn) { super(rendererDispatcherIn); } @Override - public void render(MolecularAssemblerTileEntity molecularAssembler, float partialTicks, MatrixStack ms, + public void render(MolecularAssemblerBlockEntity molecularAssembler, float partialTicks, MatrixStack ms, VertexConsumerProvider bufferIn, int combinedLightIn, int combinedOverlayIn) { AssemblerAnimationStatus status = molecularAssembler.getAnimationStatus(); if (status != null) { - if (!Minecraft.getInstance().isGamePaused()) { + if (!MinecraftClient.getInstance().isGamePaused()) { if (status.isExpired()) { molecularAssembler.setAnimationStatus(null); } @@ -97,22 +97,22 @@ public class MolecularAssemblerRenderer extends TileEntityRenderer tileEntityTypeIn) { + public AENetworkBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.getProxy().readFromNBT(data); } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.getProxy().writeToNBT(data); return data; } diff --git a/src/main/java/appeng/tile/grid/AENetworkInvTileEntity.java b/src/main/java/appeng/tile/grid/AENetworkInvBlockEntity.java similarity index 83% rename from src/main/java/appeng/tile/grid/AENetworkInvTileEntity.java rename to src/main/java/appeng/tile/grid/AENetworkInvBlockEntity.java index 4d51b85c1..18cd09201 100644 --- a/src/main/java/appeng/tile/grid/AENetworkInvTileEntity.java +++ b/src/main/java/appeng/tile/grid/AENetworkInvBlockEntity.java @@ -18,6 +18,7 @@ package appeng.tile.grid; +import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.nbt.CompoundTag; @@ -26,25 +27,25 @@ import appeng.api.networking.security.IActionHost; import appeng.api.util.AEPartLocation; import appeng.me.helpers.AENetworkProxy; import appeng.me.helpers.IGridProxyable; -import appeng.tile.AEBaseInvTileEntity; +import appeng.tile.AEBaseInvBlockEntity; -public abstract class AENetworkInvTileEntity extends AEBaseInvTileEntity implements IActionHost, IGridProxyable { +public abstract class AENetworkInvBlockEntity extends AEBaseInvBlockEntity implements IActionHost, IGridProxyable { private final AENetworkProxy gridProxy = new AENetworkProxy(this, "proxy", this.getItemFromTile(this), true); - public AENetworkInvTileEntity(BlockEntityType tileEntityTypeIn) { + public AENetworkInvBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.getProxy().readFromNBT(data); } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.getProxy().writeToNBT(data); return data; } diff --git a/src/main/java/appeng/tile/grid/AENetworkPowerTileEntity.java b/src/main/java/appeng/tile/grid/AENetworkPowerBlockEntity.java similarity index 84% rename from src/main/java/appeng/tile/grid/AENetworkPowerTileEntity.java rename to src/main/java/appeng/tile/grid/AENetworkPowerBlockEntity.java index ee7ff1230..eb5da5658 100644 --- a/src/main/java/appeng/tile/grid/AENetworkPowerTileEntity.java +++ b/src/main/java/appeng/tile/grid/AENetworkPowerBlockEntity.java @@ -18,6 +18,7 @@ package appeng.tile.grid; +import net.minecraft.block.BlockState; import net.minecraft.nbt.CompoundTag; import net.minecraft.block.entity.BlockEntityType; @@ -28,25 +29,25 @@ import appeng.api.util.AEPartLocation; import appeng.api.util.DimensionalCoord; import appeng.me.helpers.AENetworkProxy; import appeng.me.helpers.IGridProxyable; -import appeng.tile.powersink.AEBasePoweredTileEntity; +import appeng.tile.powersink.AEBasePoweredBlockEntity; -public abstract class AENetworkPowerTileEntity extends AEBasePoweredTileEntity implements IActionHost, IGridProxyable { +public abstract class AENetworkPowerBlockEntity extends AEBasePoweredBlockEntity implements IActionHost, IGridProxyable { private final AENetworkProxy gridProxy = new AENetworkProxy(this, "proxy", this.getItemFromTile(this), true); - public AENetworkPowerTileEntity(BlockEntityType tileEntityTypeIn) { + public AENetworkPowerBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.getProxy().readFromNBT(data); } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.getProxy().writeToNBT(data); return data; } diff --git a/src/main/java/appeng/tile/grindstone/CrankTileEntity.java b/src/main/java/appeng/tile/grindstone/CrankBlockEntity.java similarity index 90% rename from src/main/java/appeng/tile/grindstone/CrankTileEntity.java rename to src/main/java/appeng/tile/grindstone/CrankBlockEntity.java index 138a5a15a..84cc26894 100644 --- a/src/main/java/appeng/tile/grindstone/CrankTileEntity.java +++ b/src/main/java/appeng/tile/grindstone/CrankBlockEntity.java @@ -28,9 +28,9 @@ import net.minecraft.tileentity.ITickableTileEntity; import net.minecraft.util.math.Direction; import appeng.api.implementations.tiles.ICrankable; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; -public class CrankTileEntity extends AEBaseTileEntity implements ITickableTileEntity { +public class CrankBlockEntity extends AEBaseBlockEntity implements ITickableTileEntity { private final int ticksPerRotation = 18; @@ -41,7 +41,7 @@ public class CrankTileEntity extends AEBaseTileEntity implements ITickableTileEn private int hits = 0; private int rotation = 0; - public CrankTileEntity(BlockEntityType tileEntityTypeIn) { + public CrankBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @@ -63,12 +63,12 @@ public class CrankTileEntity extends AEBaseTileEntity implements ITickableTileEn } private ICrankable getGrinder() { - if (isRemote()) { + if (isClient()) { return null; } final Direction grinder = this.getUp().getOpposite(); - final BlockEntity te = this.world.getTileEntity(this.pos.offset(grinder)); + final BlockEntity te = this.world.getBlockEntity(this.pos.offset(grinder)); if (te instanceof ICrankable) { return (ICrankable) te; } @@ -99,7 +99,7 @@ public class CrankTileEntity extends AEBaseTileEntity implements ITickableTileEn * return true if this should count towards stats. */ public boolean power() { - if (isRemote()) { + if (isClient()) { return false; } @@ -114,7 +114,7 @@ public class CrankTileEntity extends AEBaseTileEntity implements ITickableTileEn } else { this.hits++; if (this.hits > 10) { - this.world.destroyBlock(this.pos, false); + this.world.breakBlock(this.pos, false); } } } diff --git a/src/main/java/appeng/tile/grindstone/GrinderTileEntity.java b/src/main/java/appeng/tile/grindstone/GrinderBlockEntity.java similarity index 95% rename from src/main/java/appeng/tile/grindstone/GrinderTileEntity.java rename to src/main/java/appeng/tile/grindstone/GrinderBlockEntity.java index 5395da3fa..5a232a760 100644 --- a/src/main/java/appeng/tile/grindstone/GrinderTileEntity.java +++ b/src/main/java/appeng/tile/grindstone/GrinderBlockEntity.java @@ -32,7 +32,7 @@ import appeng.api.implementations.tiles.ICrankable; import appeng.recipes.handlers.GrinderOptionalResult; import appeng.recipes.handlers.GrinderRecipe; import appeng.recipes.handlers.GrinderRecipes; -import appeng.tile.AEBaseInvTileEntity; +import appeng.tile.AEBaseInvBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.InventoryAdaptor; import appeng.util.Platform; @@ -41,14 +41,14 @@ import appeng.util.inv.InvOperation; import appeng.util.inv.WrapperFilteredItemHandler; import appeng.util.inv.filter.IAEItemFilter; -public class GrinderTileEntity extends AEBaseInvTileEntity implements ICrankable { +public class GrinderBlockEntity extends AEBaseInvBlockEntity implements ICrankable { private static final int SLOT_PROCESSING = 6; private final AppEngInternalInventory inv = new AppEngInternalInventory(this, 7); private final ItemTransferable invExt = new WrapperFilteredItemHandler(this.inv, new GrinderFilter()); private int points; - public GrinderTileEntity(BlockEntityType tileEntityTypeIn) { + public GrinderBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @@ -77,7 +77,7 @@ public class GrinderTileEntity extends AEBaseInvTileEntity implements ICrankable @Override public boolean canTurn() { - if (isRemote()) { + if (isClient()) { return false; } @@ -111,7 +111,7 @@ public class GrinderTileEntity extends AEBaseInvTileEntity implements ICrankable @Override public void applyTurn() { - if (isRemote()) { + if (isClient()) { return; } diff --git a/src/main/java/appeng/tile/inventory/AppEngInternalInventory.java b/src/main/java/appeng/tile/inventory/AppEngInternalInventory.java index ae8107d68..d12f8bac9 100644 --- a/src/main/java/appeng/tile/inventory/AppEngInternalInventory.java +++ b/src/main/java/appeng/tile/inventory/AppEngInternalInventory.java @@ -101,7 +101,7 @@ public class AppEngInternalInventory extends ItemStackHandler implements Iterabl @Override protected void onContentsChanged(int slot) { - if (this.getTileEntity() != null && this.eventsEnabled() && !this.dirtyFlag) { + if (this.getBlockEntity() != null && this.eventsEnabled() && !this.dirtyFlag) { this.dirtyFlag = true; ItemStack newStack = this.getStackInSlot(slot).copy(); ItemStack oldStack = this.previousStack; @@ -119,8 +119,8 @@ public class AppEngInternalInventory extends ItemStackHandler implements Iterabl } } - this.getTileEntity().onChangeInventory(this, slot, op, oldStack, newStack); - this.getTileEntity().saveChanges(); + this.getBlockEntity().onChangeInventory(this, slot, op, oldStack, newStack); + this.getBlockEntity().saveChanges(); this.previousStack = ItemStack.EMPTY; this.dirtyFlag = false; } @@ -174,7 +174,7 @@ public class AppEngInternalInventory extends ItemStackHandler implements Iterabl this.enableClientEvents = enableClientEvents; } - private IAEAppEngInventory getTileEntity() { + private IAEAppEngInventory getBlockEntity() { return this.te; } diff --git a/src/main/java/appeng/tile/misc/CellWorkbenchTileEntity.java b/src/main/java/appeng/tile/misc/CellWorkbenchBlockEntity.java similarity index 94% rename from src/main/java/appeng/tile/misc/CellWorkbenchTileEntity.java rename to src/main/java/appeng/tile/misc/CellWorkbenchBlockEntity.java index 20fa0e703..6d0288317 100644 --- a/src/main/java/appeng/tile/misc/CellWorkbenchTileEntity.java +++ b/src/main/java/appeng/tile/misc/CellWorkbenchBlockEntity.java @@ -21,6 +21,7 @@ package appeng.tile.misc; import java.util.List; import alexiil.mc.lib.attributes.item.ItemTransferable; +import net.minecraft.block.BlockState; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.block.entity.BlockEntityType; @@ -33,7 +34,7 @@ import appeng.api.config.Upgrades; import appeng.api.implementations.IUpgradeableHost; import appeng.api.storage.cells.ICellWorkbenchItem; import appeng.api.util.IConfigManager; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.tile.inventory.AppEngInternalAEInventory; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.ConfigManager; @@ -42,7 +43,7 @@ import appeng.util.helpers.ItemHandlerUtil; import appeng.util.inv.IAEAppEngInventory; import appeng.util.inv.InvOperation; -public class CellWorkbenchTileEntity extends AEBaseTileEntity +public class CellWorkbenchBlockEntity extends AEBaseBlockEntity implements IUpgradeableHost, IAEAppEngInventory, IConfigManagerHost { private final AppEngInternalInventory cell = new AppEngInternalInventory(this, 1); @@ -53,7 +54,7 @@ public class CellWorkbenchTileEntity extends AEBaseTileEntity private ItemTransferable cacheConfig = null; private boolean locked = false; - public CellWorkbenchTileEntity(BlockEntityType tileEntityTypeIn) { + public CellWorkbenchBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.manager.registerSetting(Settings.COPY_MODE, CopyMode.CLEAR_ON_REMOVE); this.cell.setEnableClientEvents(true); @@ -94,8 +95,8 @@ public class CellWorkbenchTileEntity extends AEBaseTileEntity } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.cell.writeToNBT(data, "cell"); this.config.writeToNBT(data, "config"); this.manager.writeToNBT(data); @@ -103,8 +104,8 @@ public class CellWorkbenchTileEntity extends AEBaseTileEntity } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.cell.readFromNBT(data, "cell"); this.config.readFromNBT(data, "config"); this.manager.readFromNBT(data); diff --git a/src/main/java/appeng/tile/misc/ChargerTileEntity.java b/src/main/java/appeng/tile/misc/ChargerBlockEntity.java similarity index 97% rename from src/main/java/appeng/tile/misc/ChargerTileEntity.java rename to src/main/java/appeng/tile/misc/ChargerBlockEntity.java index abc55c2aa..fff83f645 100644 --- a/src/main/java/appeng/tile/misc/ChargerTileEntity.java +++ b/src/main/java/appeng/tile/misc/ChargerBlockEntity.java @@ -48,21 +48,21 @@ import appeng.api.util.AEPartLocation; import appeng.api.util.DimensionalCoord; import appeng.core.settings.TickRates; import appeng.me.GridAccessException; -import appeng.tile.grid.AENetworkPowerTileEntity; +import appeng.tile.grid.AENetworkPowerBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.Platform; import appeng.util.inv.InvOperation; import appeng.util.inv.filter.IAEItemFilter; import appeng.util.item.AEItemStack; -public class ChargerTileEntity extends AENetworkPowerTileEntity implements ICrankable, IGridTickable { +public class ChargerBlockEntity extends AENetworkPowerBlockEntity implements ICrankable, IGridTickable { private static final int POWER_MAXIMUM_AMOUNT = 1600; private static final int POWER_THRESHOLD = POWER_MAXIMUM_AMOUNT - 1; private static final int POWER_PER_CRANK_TURN = 160; private final AppEngInternalInventory inv = new AppEngInternalInventory(this, 1, 1, new ChargerInvFilter()); - public ChargerTileEntity(BlockEntityType tileEntityTypeIn) { + public ChargerBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setValidSides(EnumSet.noneOf(Direction.class)); this.getProxy().setFlags(); diff --git a/src/main/java/appeng/tile/misc/CondenserTileEntity.java b/src/main/java/appeng/tile/misc/CondenserBlockEntity.java similarity index 94% rename from src/main/java/appeng/tile/misc/CondenserTileEntity.java rename to src/main/java/appeng/tile/misc/CondenserBlockEntity.java index 51e2cd720..e5bd917c6 100644 --- a/src/main/java/appeng/tile/misc/CondenserTileEntity.java +++ b/src/main/java/appeng/tile/misc/CondenserBlockEntity.java @@ -23,6 +23,7 @@ import javax.annotation.Nullable; import alexiil.mc.lib.attributes.fluid.volume.FluidVolume; import alexiil.mc.lib.attributes.item.ItemTransferable; +import net.minecraft.block.BlockState; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.block.entity.BlockEntityType; @@ -52,7 +53,7 @@ import appeng.api.storage.data.IAEStack; import appeng.api.util.IConfigManager; import appeng.api.util.IConfigurableObject; import appeng.capabilities.Capabilities; -import appeng.tile.AEBaseInvTileEntity; +import appeng.tile.AEBaseInvBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.ConfigManager; import appeng.util.IConfigManagerHost; @@ -61,7 +62,7 @@ import appeng.util.inv.WrapperChainedItemHandler; import appeng.util.inv.WrapperFilteredItemHandler; import appeng.util.inv.filter.AEItemFilters; -public class CondenserTileEntity extends AEBaseInvTileEntity implements IConfigManagerHost, IConfigurableObject { +public class CondenserBlockEntity extends AEBaseInvBlockEntity implements IConfigManagerHost, IConfigurableObject { public static final int BYTE_MULTIPLIER = 8; @@ -80,22 +81,22 @@ public class CondenserTileEntity extends AEBaseInvTileEntity implements IConfigM private double storedPower = 0; - public CondenserTileEntity(BlockEntityType tileEntityTypeIn) { + public CondenserBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.cm.registerSetting(Settings.CONDENSER_OUTPUT, CondenserOutput.TRASH); } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.cm.writeToNBT(data); data.putDouble("storedPower", this.getStoredPower()); return data; } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.cm.readFromNBT(data); this.setStoredPower(data.getDouble("storedPower")); } @@ -235,7 +236,7 @@ public class CondenserTileEntity extends AEBaseInvTileEntity implements IConfigM return stack; } if (!simulate && !stack.isEmpty()) { - CondenserTileEntity.this.addPower(stack.getCount()); + CondenserBlockEntity.this.addPower(stack.getCount()); } return ItemStack.EMPTY; } @@ -283,7 +284,7 @@ public class CondenserTileEntity extends AEBaseInvTileEntity implements IConfigM if (action == FluidAction.EXECUTE) { final IStorageChannel chan = AEApi.instance().storage() .getStorageChannel(IFluidStorageChannel.class); - CondenserTileEntity.this + CondenserBlockEntity.this .addPower((resource.isEmpty() ? 0.0 : (double) resource.getAmount()) / chan.transferFactor()); } @@ -331,7 +332,7 @@ public class CondenserTileEntity extends AEBaseInvTileEntity implements IConfigM * to make sure a condenser is only ever used if an item can't go anywhere else. */ private class MEHandler implements IStorageMonitorableAccessor, IStorageMonitorable { - private final CondenserItemInventory itemInventory = new CondenserItemInventory(CondenserTileEntity.this); + private final CondenserItemInventory itemInventory = new CondenserItemInventory(CondenserBlockEntity.this); void outputChanged(ItemStack added, ItemStack removed) { this.itemInventory.updateOutput(added, removed); @@ -348,7 +349,7 @@ public class CondenserTileEntity extends AEBaseInvTileEntity implements IConfigM if (channel == AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class)) { return (IMEMonitor) this.itemInventory; } else { - return new CondenserVoidInventory<>(CondenserTileEntity.this, channel); + return new CondenserVoidInventory<>(CondenserBlockEntity.this, channel); } } } diff --git a/src/main/java/appeng/tile/misc/CondenserItemInventory.java b/src/main/java/appeng/tile/misc/CondenserItemInventory.java index 82ec28c34..247a35435 100644 --- a/src/main/java/appeng/tile/misc/CondenserItemInventory.java +++ b/src/main/java/appeng/tile/misc/CondenserItemInventory.java @@ -42,13 +42,13 @@ import appeng.util.item.ItemList; class CondenserItemInventory implements IMEMonitor, ITickingMonitor { private final HashMap, Object> listeners = new HashMap<>(); - private final CondenserTileEntity target; + private final CondenserBlockEntity target; private boolean hasChanged = true; private final ItemList cachedList = new ItemList(); private IActionSource actionSource = new BaseActionSource(); private ItemList changeSet = new ItemList(); - CondenserItemInventory(final CondenserTileEntity te) { + CondenserItemInventory(final CondenserBlockEntity te) { this.target = te; } diff --git a/src/main/java/appeng/tile/misc/CondenserVoidInventory.java b/src/main/java/appeng/tile/misc/CondenserVoidInventory.java index f916bd433..9f4a423b5 100644 --- a/src/main/java/appeng/tile/misc/CondenserVoidInventory.java +++ b/src/main/java/appeng/tile/misc/CondenserVoidInventory.java @@ -29,10 +29,10 @@ import appeng.api.storage.data.IItemList; class CondenserVoidInventory> implements IMEMonitor { - private final CondenserTileEntity target; + private final CondenserBlockEntity target; private final IStorageChannel channel; - CondenserVoidInventory(final CondenserTileEntity te, final IStorageChannel channel) { + CondenserVoidInventory(final CondenserBlockEntity te, final IStorageChannel channel) { this.target = te; this.channel = channel; } diff --git a/src/main/java/appeng/tile/misc/InscriberTileEntity.java b/src/main/java/appeng/tile/misc/InscriberBlockEntity.java similarity index 95% rename from src/main/java/appeng/tile/misc/InscriberTileEntity.java rename to src/main/java/appeng/tile/misc/InscriberBlockEntity.java index 017e0c070..8048259b9 100644 --- a/src/main/java/appeng/tile/misc/InscriberTileEntity.java +++ b/src/main/java/appeng/tile/misc/InscriberBlockEntity.java @@ -26,6 +26,7 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; import alexiil.mc.lib.attributes.item.ItemTransferable; +import net.minecraft.block.BlockState; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.PacketByteBuf; @@ -57,7 +58,7 @@ import appeng.me.GridAccessException; import appeng.parts.automation.DefinitionUpgradeInventory; import appeng.parts.automation.UpgradeInventory; import appeng.recipes.handlers.InscriberRecipe; -import appeng.tile.grid.AENetworkPowerTileEntity; +import appeng.tile.grid.AENetworkPowerBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.ConfigManager; import appeng.util.IConfigManagerHost; @@ -73,7 +74,7 @@ import appeng.util.item.AEItemStack; * @version rv2 * @since rv0 */ -public class InscriberTileEntity extends AENetworkPowerTileEntity +public class InscriberBlockEntity extends AENetworkPowerBlockEntity implements IGridTickable, IUpgradeableHost, IConfigManagerHost { private final int maxProcessingTime = 100; @@ -98,7 +99,7 @@ public class InscriberTileEntity extends AENetworkPowerTileEntity private final IItemHandlerModifiable inv = new WrapperChainedItemHandler(this.topItemHandler, this.bottomItemHandler, this.sideItemHandler); - public InscriberTileEntity(BlockEntityType tileEntityTypeIn) { + public InscriberBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setValidSides(EnumSet.noneOf(Direction.class)); @@ -127,16 +128,16 @@ public class InscriberTileEntity extends AENetworkPowerTileEntity } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.upgrades.writeToNBT(data, "upgrades"); this.settings.writeToNBT(data); return data; } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.upgrades.readFromNBT(data, "upgrades"); this.settings.readFromNBT(data); } @@ -411,11 +412,11 @@ public class InscriberTileEntity extends AENetworkPowerTileEntity private class ItemHandlerFilter implements IAEItemFilter { @Override public boolean allowExtract(ItemTransferable inv, int slot, int amount) { - if (InscriberTileEntity.this.isSmash()) { + if (InscriberBlockEntity.this.isSmash()) { return false; } - return inv == InscriberTileEntity.this.topItemHandler || inv == InscriberTileEntity.this.bottomItemHandler + return inv == InscriberBlockEntity.this.topItemHandler || inv == InscriberBlockEntity.this.bottomItemHandler || slot == 1; } @@ -426,11 +427,11 @@ public class InscriberTileEntity extends AENetworkPowerTileEntity return false; } - if (InscriberTileEntity.this.isSmash()) { + if (InscriberBlockEntity.this.isSmash()) { return false; } - if (inv == InscriberTileEntity.this.topItemHandler || inv == InscriberTileEntity.this.bottomItemHandler) { + if (inv == InscriberBlockEntity.this.topItemHandler || inv == InscriberBlockEntity.this.bottomItemHandler) { if (AEApi.instance().definitions().materials().namePress().isSameAs(stack)) { return true; } diff --git a/src/main/java/appeng/tile/misc/InscriberRecipes.java b/src/main/java/appeng/tile/misc/InscriberRecipes.java index 21d95a0f2..a133f9330 100644 --- a/src/main/java/appeng/tile/misc/InscriberRecipes.java +++ b/src/main/java/appeng/tile/misc/InscriberRecipes.java @@ -11,8 +11,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.Ingredient; import net.minecraft.nbt.CompoundTag; +import net.minecraft.text.LiteralText; import net.minecraft.util.Identifier; -import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.World; import appeng.api.AEApi; @@ -90,7 +90,7 @@ public final class InscriberRecipes { final ItemStack renamedItem = input.copy(); if (!name.isEmpty()) { - renamedItem.setDisplayName(new StringTextComponent(name)); + renamedItem.setDisplayName(new LiteralText(name)); } else { renamedItem.setDisplayName(null); } diff --git a/src/main/java/appeng/tile/misc/InterfaceTileEntity.java b/src/main/java/appeng/tile/misc/InterfaceBlockEntity.java similarity index 95% rename from src/main/java/appeng/tile/misc/InterfaceTileEntity.java rename to src/main/java/appeng/tile/misc/InterfaceBlockEntity.java index 79ceffc2f..ab0a21327 100644 --- a/src/main/java/appeng/tile/misc/InterfaceTileEntity.java +++ b/src/main/java/appeng/tile/misc/InterfaceBlockEntity.java @@ -26,6 +26,7 @@ import javax.annotation.Nullable; import com.google.common.collect.ImmutableSet; +import net.minecraft.block.BlockState; import net.minecraft.inventory.CraftingInventory; import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.ItemStack; @@ -62,12 +63,12 @@ import appeng.container.implementations.InterfaceContainer; import appeng.helpers.DualityInterface; import appeng.helpers.IInterfaceHost; import appeng.helpers.IPriorityHost; -import appeng.tile.grid.AENetworkInvTileEntity; +import appeng.tile.grid.AENetworkInvBlockEntity; import appeng.util.Platform; import appeng.util.inv.IInventoryDestination; import appeng.util.inv.InvOperation; -public class InterfaceTileEntity extends AENetworkInvTileEntity +public class InterfaceBlockEntity extends AENetworkInvBlockEntity implements IGridTickable, IInventoryDestination, IInterfaceHost, IPriorityHost { private final DualityInterface duality = new DualityInterface(this.getProxy(), this); @@ -75,7 +76,7 @@ public class InterfaceTileEntity extends AENetworkInvTileEntity // Indicates that this interface has no specific direction set private boolean omniDirectional = true; - public InterfaceTileEntity(BlockEntityType tileEntityTypeIn) { + public InterfaceBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @@ -90,7 +91,7 @@ public class InterfaceTileEntity extends AENetworkInvTileEntity } public void setSide(final Direction facing) { - if (isRemote()) { + if (isClient()) { return; } @@ -150,16 +151,16 @@ public class InterfaceTileEntity extends AENetworkInvTileEntity } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); data.putBoolean("omniDirectional", this.omniDirectional); this.duality.writeToNBT(data); return data; } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.omniDirectional = data.getBoolean("omniDirectional"); this.duality.readFromNBT(data); @@ -234,7 +235,7 @@ public class InterfaceTileEntity extends AENetworkInvTileEntity } @Override - public BlockEntity getTileEntity() { + public BlockEntity getBlockEntity() { return this; } diff --git a/src/main/java/appeng/tile/misc/LightDetectorTileEntity.java b/src/main/java/appeng/tile/misc/LightDetectorBlockEntity.java similarity index 88% rename from src/main/java/appeng/tile/misc/LightDetectorTileEntity.java rename to src/main/java/appeng/tile/misc/LightDetectorBlockEntity.java index 30f26d5f3..5ce8fa1ca 100644 --- a/src/main/java/appeng/tile/misc/LightDetectorTileEntity.java +++ b/src/main/java/appeng/tile/misc/LightDetectorBlockEntity.java @@ -21,15 +21,15 @@ package appeng.tile.misc; import net.minecraft.tileentity.ITickableTileEntity; import net.minecraft.block.entity.BlockEntityType; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.util.Platform; -public class LightDetectorTileEntity extends AEBaseTileEntity implements ITickableTileEntity { +public class LightDetectorBlockEntity extends AEBaseBlockEntity implements ITickableTileEntity { private int lastCheck = 30; private int lastLight = 0; - public LightDetectorTileEntity(BlockEntityType tileEntityTypeIn) { + public LightDetectorBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } diff --git a/src/main/java/appeng/tile/misc/PaintSplotchesTileEntity.java b/src/main/java/appeng/tile/misc/PaintSplotchesBlockEntity.java similarity index 94% rename from src/main/java/appeng/tile/misc/PaintSplotchesTileEntity.java rename to src/main/java/appeng/tile/misc/PaintSplotchesBlockEntity.java index 30f1b94a7..937cf70fe 100644 --- a/src/main/java/appeng/tile/misc/PaintSplotchesTileEntity.java +++ b/src/main/java/appeng/tile/misc/PaintSplotchesBlockEntity.java @@ -46,9 +46,9 @@ import appeng.api.util.AEColor; import appeng.block.paint.PaintSplotches; import appeng.helpers.Splotch; import appeng.items.misc.PaintBallItem; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; -public class PaintSplotchesTileEntity extends AEBaseTileEntity { +public class PaintSplotchesBlockEntity extends AEBaseBlockEntity { public static final ModelProperty SPLOTCHES = new ModelProperty<>(); @@ -57,7 +57,7 @@ public class PaintSplotchesTileEntity extends AEBaseTileEntity { private int isLit = 0; private List dots = null; - public PaintSplotchesTileEntity(BlockEntityType tileEntityTypeIn) { + public PaintSplotchesBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @@ -67,8 +67,8 @@ public class PaintSplotchesTileEntity extends AEBaseTileEntity { } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); final PacketByteBuf myDat = new PacketByteBuf(Unpooled.buffer()); this.writeBuffer(myDat); if (myDat.hasArray()) { @@ -91,8 +91,8 @@ public class PaintSplotchesTileEntity extends AEBaseTileEntity { } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); if (data.contains("dots")) { this.readBuffer(new PacketByteBuf(Unpooled.copiedBuffer(data.getByteArray("dots")))); } diff --git a/src/main/java/appeng/tile/misc/QuartzGrowthAcceleratorTileEntity.java b/src/main/java/appeng/tile/misc/QuartzGrowthAcceleratorBlockEntity.java similarity index 94% rename from src/main/java/appeng/tile/misc/QuartzGrowthAcceleratorTileEntity.java rename to src/main/java/appeng/tile/misc/QuartzGrowthAcceleratorBlockEntity.java index fa05404f6..8a0eb26bb 100644 --- a/src/main/java/appeng/tile/misc/QuartzGrowthAcceleratorTileEntity.java +++ b/src/main/java/appeng/tile/misc/QuartzGrowthAcceleratorBlockEntity.java @@ -32,15 +32,15 @@ import appeng.api.networking.events.MENetworkPowerStatusChange; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; import appeng.me.GridAccessException; -import appeng.tile.grid.AENetworkTileEntity; +import appeng.tile.grid.AENetworkBlockEntity; import appeng.util.Platform; -public class QuartzGrowthAcceleratorTileEntity extends AENetworkTileEntity +public class QuartzGrowthAcceleratorBlockEntity extends AENetworkBlockEntity implements IPowerChannelState, ICrystalGrowthAccelerator { private boolean hasPower = false; - public QuartzGrowthAcceleratorTileEntity(BlockEntityType tileEntityTypeIn) { + public QuartzGrowthAcceleratorBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setValidSides(EnumSet.noneOf(Direction.class)); this.getProxy().setFlags(); diff --git a/src/main/java/appeng/tile/misc/SecurityStationTileEntity.java b/src/main/java/appeng/tile/misc/SecurityStationBlockEntity.java similarity index 95% rename from src/main/java/appeng/tile/misc/SecurityStationTileEntity.java rename to src/main/java/appeng/tile/misc/SecurityStationBlockEntity.java index d5a3ed0ec..e5dfacb3d 100644 --- a/src/main/java/appeng/tile/misc/SecurityStationTileEntity.java +++ b/src/main/java/appeng/tile/misc/SecurityStationBlockEntity.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import alexiil.mc.lib.attributes.item.ItemTransferable; +import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; @@ -70,7 +71,7 @@ import appeng.helpers.PlayerSecurityWrapper; import appeng.me.GridAccessException; import appeng.me.helpers.MEMonitorHandler; import appeng.me.storage.SecurityStationInventory; -import appeng.tile.grid.AENetworkTileEntity; +import appeng.tile.grid.AENetworkBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.ConfigManager; import appeng.util.IConfigManagerHost; @@ -80,7 +81,7 @@ import appeng.util.inv.IAEAppEngInventory; import appeng.util.inv.InvOperation; import appeng.util.item.AEItemStack; -public class SecurityStationTileEntity extends AENetworkTileEntity implements ITerminalHost, IAEAppEngInventory, +public class SecurityStationBlockEntity extends AENetworkBlockEntity implements ITerminalHost, IAEAppEngInventory, ILocatable, IConfigManagerHost, ISecurityProvider, IColorableTile { private static int difference = 0; @@ -92,7 +93,7 @@ public class SecurityStationTileEntity extends AENetworkTileEntity implements IT private AEColor paintedColor = AEColor.TRANSPARENT; private boolean isActive = false; - public SecurityStationTileEntity(BlockEntityType tileEntityTypeIn) { + public SecurityStationBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setFlags(GridFlags.REQUIRE_CHANNEL); this.getProxy().setIdlePowerUsage(2.0); @@ -149,8 +150,8 @@ public class SecurityStationTileEntity extends AENetworkTileEntity implements IT } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.cm.writeToNBT(data); data.putByte("paintedColor", (byte) this.paintedColor.ordinal()); @@ -172,8 +173,8 @@ public class SecurityStationTileEntity extends AENetworkTileEntity implements IT } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.cm.readFromNBT(data); if (data.contains("paintedColor")) { this.paintedColor = AEColor.values()[data.getByte("paintedColor")]; @@ -244,7 +245,7 @@ public class SecurityStationTileEntity extends AENetworkTileEntity implements IT } public boolean isActive() { - if (world != null && !world.isRemote) { + if (world != null && !world.isClient) { return isPowered(); } else { return this.isActive; diff --git a/src/main/java/appeng/tile/misc/SkyCompassTileEntity.java b/src/main/java/appeng/tile/misc/SkyCompassBlockEntity.java similarity index 84% rename from src/main/java/appeng/tile/misc/SkyCompassTileEntity.java rename to src/main/java/appeng/tile/misc/SkyCompassBlockEntity.java index fd53f2ea0..be1e3c32b 100644 --- a/src/main/java/appeng/tile/misc/SkyCompassTileEntity.java +++ b/src/main/java/appeng/tile/misc/SkyCompassBlockEntity.java @@ -20,11 +20,11 @@ package appeng.tile.misc; import net.minecraft.block.entity.BlockEntityType; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; -public class SkyCompassTileEntity extends AEBaseTileEntity { +public class SkyCompassBlockEntity extends AEBaseBlockEntity { - public SkyCompassTileEntity(BlockEntityType tileEntityTypeIn) { + public SkyCompassBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } diff --git a/src/main/java/appeng/tile/misc/VibrationChamberTileEntity.java b/src/main/java/appeng/tile/misc/VibrationChamberBlockEntity.java similarity index 95% rename from src/main/java/appeng/tile/misc/VibrationChamberTileEntity.java rename to src/main/java/appeng/tile/misc/VibrationChamberBlockEntity.java index 73b52c58a..e2abff2ec 100644 --- a/src/main/java/appeng/tile/misc/VibrationChamberTileEntity.java +++ b/src/main/java/appeng/tile/misc/VibrationChamberBlockEntity.java @@ -23,6 +23,7 @@ import java.io.IOException; import javax.annotation.Nonnull; import alexiil.mc.lib.attributes.item.ItemTransferable; +import net.minecraft.block.BlockState; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; @@ -42,14 +43,14 @@ import appeng.api.util.AEPartLocation; import appeng.api.util.DimensionalCoord; import appeng.core.settings.TickRates; import appeng.me.GridAccessException; -import appeng.tile.grid.AENetworkInvTileEntity; +import appeng.tile.grid.AENetworkInvBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.Platform; import appeng.util.inv.InvOperation; import appeng.util.inv.WrapperFilteredItemHandler; import appeng.util.inv.filter.IAEItemFilter; -public class VibrationChamberTileEntity extends AENetworkInvTileEntity implements IGridTickable { +public class VibrationChamberBlockEntity extends AENetworkInvBlockEntity implements IGridTickable { public static final double POWER_PER_TICK = 5; public static final int MIN_BURN_SPEED = 20; public static final int MAX_BURN_SPEED = 200; @@ -64,7 +65,7 @@ public class VibrationChamberTileEntity extends AENetworkInvTileEntity implement // client side.. public boolean isOn; - public VibrationChamberTileEntity(BlockEntityType tileEntityTypeIn) { + public VibrationChamberBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setIdlePowerUsage(0); this.getProxy().setFlags(); @@ -92,8 +93,8 @@ public class VibrationChamberTileEntity extends AENetworkInvTileEntity implement } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); data.putDouble("burnTime", this.getBurnTime()); data.putDouble("maxBurnTime", this.getMaxBurnTime()); data.putInt("burnSpeed", this.getBurnSpeed()); @@ -101,8 +102,8 @@ public class VibrationChamberTileEntity extends AENetworkInvTileEntity implement } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.setBurnTime(data.getDouble("burnTime")); this.setMaxBurnTime(data.getDouble("maxBurnTime")); this.setBurnSpeed(data.getInt("burnSpeed")); diff --git a/src/main/java/appeng/tile/networking/CableBusTileEntity.java b/src/main/java/appeng/tile/networking/CableBusBlockEntity.java similarity index 94% rename from src/main/java/appeng/tile/networking/CableBusTileEntity.java rename to src/main/java/appeng/tile/networking/CableBusBlockEntity.java index ed7170927..a29763019 100644 --- a/src/main/java/appeng/tile/networking/CableBusTileEntity.java +++ b/src/main/java/appeng/tile/networking/CableBusBlockEntity.java @@ -25,6 +25,7 @@ import java.util.Set; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; @@ -54,28 +55,28 @@ import appeng.client.render.cablebus.CableBusRenderState; import appeng.helpers.AEMultiTile; import appeng.hooks.TickHandler; import appeng.parts.CableBusContainer; -import appeng.tile.AEBaseTileEntity; +import appeng.tile.AEBaseBlockEntity; import appeng.util.Platform; -public class CableBusTileEntity extends AEBaseTileEntity implements AEMultiTile { +public class CableBusBlockEntity extends AEBaseBlockEntity implements AEMultiTile { private CableBusContainer cb = new CableBusContainer(this); private int oldLV = -1; // on re-calculate light when it changes - public CableBusTileEntity(BlockEntityType tileEntityTypeIn) { + public CableBusBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.getCableBus().readFromNBT(data); } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.getCableBus().writeToNBT(data); return data; } @@ -182,8 +183,8 @@ public class CableBusTileEntity extends AEBaseTileEntity implements AEMultiTile public void onReady() { super.onReady(); if (this.getCableBus().isEmpty()) { - if (this.world.getTileEntity(this.pos) == this) { - this.world.destroyBlock(this.pos, true); + if (this.world.getBlockEntity(this.pos) == this) { + this.world.breakBlock(this.pos, true); } } else { this.getCableBus().addToWorld(); diff --git a/src/main/java/appeng/tile/networking/CableBusTESR.java b/src/main/java/appeng/tile/networking/CableBusTESR.java index e46b9cf3c..d9490b481 100644 --- a/src/main/java/appeng/tile/networking/CableBusTESR.java +++ b/src/main/java/appeng/tile/networking/CableBusTESR.java @@ -21,21 +21,21 @@ package appeng.tile.networking; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.renderer.tileentity.TileEntityRenderer; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; +import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; import net.minecraft.util.math.Direction; import appeng.api.parts.IPart; -public class CableBusTESR extends TileEntityRenderer { +public class CableBusTESR extends BlockEntityRenderer { - public CableBusTESR(TileEntityRendererDispatcher rendererDispatcherIn) { + public CableBusTESR(BlockEntityRenderDispatcher rendererDispatcherIn) { super(rendererDispatcherIn); } @Override - public void render(CableBusTileEntity te, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers, - int combinedLightIn, int combinedOverlayIn) { + public void render(CableBusBlockEntity te, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers, + int combinedLightIn, int combinedOverlayIn) { if (!te.getCableBus().isRequiresDynamicRender()) { return; } diff --git a/src/main/java/appeng/tile/networking/ControllerTileEntity.java b/src/main/java/appeng/tile/networking/ControllerBlockEntity.java similarity index 94% rename from src/main/java/appeng/tile/networking/ControllerTileEntity.java rename to src/main/java/appeng/tile/networking/ControllerBlockEntity.java index 5c89648dc..a46de5c1d 100644 --- a/src/main/java/appeng/tile/networking/ControllerTileEntity.java +++ b/src/main/java/appeng/tile/networking/ControllerBlockEntity.java @@ -26,7 +26,7 @@ import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.ChunkPos; import alexiil.mc.lib.attributes.item.ItemTransferable; -import net.minecraftforge.items.wrapper.EmptyHandler; +import alexiil.mc.lib.attributes.item.impl.EmptyFixedItemInv; import appeng.api.config.Actionable; import appeng.api.networking.GridFlags; @@ -42,13 +42,13 @@ import appeng.api.util.AEPartLocation; import appeng.block.networking.ControllerBlock; import appeng.block.networking.ControllerBlock.ControllerBlockState; import appeng.me.GridAccessException; -import appeng.tile.grid.AENetworkPowerTileEntity; +import appeng.tile.grid.AENetworkPowerBlockEntity; import appeng.util.inv.InvOperation; -public class ControllerTileEntity extends AENetworkPowerTileEntity { +public class ControllerBlockEntity extends AENetworkPowerBlockEntity { private boolean isValid = false; - public ControllerTileEntity(BlockEntityType tileEntityTypeIn) { + public ControllerBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.setInternalMaxPower(8000); this.setInternalPublicPowerStorage(true); @@ -169,7 +169,7 @@ public class ControllerTileEntity extends AENetworkPowerTileEntity { @Override public ItemTransferable getInternalInventory() { - return EmptyHandler.INSTANCE; + return EmptyFixedItemInv.INSTANCE; } @Override @@ -184,7 +184,7 @@ public class ControllerTileEntity extends AENetworkPowerTileEntity { */ private boolean checkController(final BlockPos pos) { if (this.world.getChunkProvider().isChunkLoaded(new ChunkPos(pos.getX() >> 4, pos.getZ() >> 4))) { - return this.world.getTileEntity(pos) instanceof ControllerTileEntity; + return this.world.getBlockEntity(pos) instanceof ControllerBlockEntity; } return false; diff --git a/src/main/java/appeng/tile/networking/CreativeEnergyCellTileEntity.java b/src/main/java/appeng/tile/networking/CreativeEnergyCellBlockEntity.java similarity index 89% rename from src/main/java/appeng/tile/networking/CreativeEnergyCellTileEntity.java rename to src/main/java/appeng/tile/networking/CreativeEnergyCellBlockEntity.java index 08d88cc7e..dce839065 100644 --- a/src/main/java/appeng/tile/networking/CreativeEnergyCellTileEntity.java +++ b/src/main/java/appeng/tile/networking/CreativeEnergyCellBlockEntity.java @@ -26,11 +26,11 @@ import appeng.api.config.PowerMultiplier; import appeng.api.networking.energy.IAEPowerStorage; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; -import appeng.tile.grid.AENetworkTileEntity; +import appeng.tile.grid.AENetworkBlockEntity; -public class CreativeEnergyCellTileEntity extends AENetworkTileEntity implements IAEPowerStorage { +public class CreativeEnergyCellBlockEntity extends AENetworkBlockEntity implements IAEPowerStorage { - public CreativeEnergyCellTileEntity(BlockEntityType tileEntityTypeIn) { + public CreativeEnergyCellBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setIdlePowerUsage(0); } diff --git a/src/main/java/appeng/tile/networking/DenseEnergyCellTileEntity.java b/src/main/java/appeng/tile/networking/DenseEnergyCellBlockEntity.java similarity index 86% rename from src/main/java/appeng/tile/networking/DenseEnergyCellTileEntity.java rename to src/main/java/appeng/tile/networking/DenseEnergyCellBlockEntity.java index 3bcc049c4..fc785d21b 100644 --- a/src/main/java/appeng/tile/networking/DenseEnergyCellTileEntity.java +++ b/src/main/java/appeng/tile/networking/DenseEnergyCellBlockEntity.java @@ -20,9 +20,9 @@ package appeng.tile.networking; import net.minecraft.block.entity.BlockEntityType; -public class DenseEnergyCellTileEntity extends EnergyCellTileEntity { +public class DenseEnergyCellBlockEntity extends EnergyCellBlockEntity { - public DenseEnergyCellTileEntity(BlockEntityType tileEntityTypeIn) { + public DenseEnergyCellBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.setInternalMaxPower(200000 * 8); } diff --git a/src/main/java/appeng/tile/networking/EnergyAcceptorTileEntity.java b/src/main/java/appeng/tile/networking/EnergyAcceptorBlockEntity.java similarity index 89% rename from src/main/java/appeng/tile/networking/EnergyAcceptorTileEntity.java rename to src/main/java/appeng/tile/networking/EnergyAcceptorBlockEntity.java index 06d75e16c..8618dfd52 100644 --- a/src/main/java/appeng/tile/networking/EnergyAcceptorTileEntity.java +++ b/src/main/java/appeng/tile/networking/EnergyAcceptorBlockEntity.java @@ -18,22 +18,22 @@ package appeng.tile.networking; +import alexiil.mc.lib.attributes.item.impl.EmptyFixedItemInv; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.item.ItemStack; import alexiil.mc.lib.attributes.item.ItemTransferable; -import net.minecraftforge.items.wrapper.EmptyHandler; import appeng.api.config.Actionable; import appeng.api.networking.energy.IEnergyGrid; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; import appeng.me.GridAccessException; -import appeng.tile.grid.AENetworkPowerTileEntity; +import appeng.tile.grid.AENetworkPowerBlockEntity; import appeng.util.inv.InvOperation; -public class EnergyAcceptorTileEntity extends AENetworkPowerTileEntity { +public class EnergyAcceptorBlockEntity extends AENetworkPowerBlockEntity { - public EnergyAcceptorTileEntity(BlockEntityType tileEntityTypeIn) { + public EnergyAcceptorBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setIdlePowerUsage(0.0); this.setInternalMaxPower(0); @@ -69,7 +69,7 @@ public class EnergyAcceptorTileEntity extends AENetworkPowerTileEntity { @Override public ItemTransferable getInternalInventory() { - return EmptyHandler.INSTANCE; + return EmptyFixedItemInv.INSTANCE; } @Override diff --git a/src/main/java/appeng/tile/networking/EnergyCellTileEntity.java b/src/main/java/appeng/tile/networking/EnergyCellBlockEntity.java similarity index 93% rename from src/main/java/appeng/tile/networking/EnergyCellTileEntity.java rename to src/main/java/appeng/tile/networking/EnergyCellBlockEntity.java index 2e7bf12cf..afcdc041d 100644 --- a/src/main/java/appeng/tile/networking/EnergyCellTileEntity.java +++ b/src/main/java/appeng/tile/networking/EnergyCellBlockEntity.java @@ -18,6 +18,7 @@ package appeng.tile.networking; +import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.nbt.CompoundTag; @@ -31,17 +32,17 @@ import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; import appeng.block.networking.EnergyCellBlock; import appeng.me.GridAccessException; -import appeng.tile.grid.AENetworkTileEntity; +import appeng.tile.grid.AENetworkBlockEntity; import appeng.util.SettingsFrom; -public class EnergyCellTileEntity extends AENetworkTileEntity implements IAEPowerStorage { +public class EnergyCellBlockEntity extends AENetworkBlockEntity implements IAEPowerStorage { private double internalCurrentPower = 0.0; private double internalMaxPower = 200000.0; private byte currentMeta = -1; - public EnergyCellTileEntity(BlockEntityType tileEntityTypeIn) { + public EnergyCellBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setIdlePowerUsage(0); } @@ -90,15 +91,15 @@ public class EnergyCellTileEntity extends AENetworkTileEntity implements IAEPowe } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); data.putDouble("internalCurrentPower", this.internalCurrentPower); return data; } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.internalCurrentPower = data.getDouble("internalCurrentPower"); } diff --git a/src/main/java/appeng/tile/networking/WirelessTileEntity.java b/src/main/java/appeng/tile/networking/WirelessBlockEntity.java similarity index 95% rename from src/main/java/appeng/tile/networking/WirelessTileEntity.java rename to src/main/java/appeng/tile/networking/WirelessBlockEntity.java index 81c2951da..c0d83b180 100644 --- a/src/main/java/appeng/tile/networking/WirelessTileEntity.java +++ b/src/main/java/appeng/tile/networking/WirelessBlockEntity.java @@ -40,12 +40,12 @@ import appeng.api.util.AEPartLocation; import appeng.api.util.DimensionalCoord; import appeng.core.AEConfig; import appeng.me.GridAccessException; -import appeng.tile.grid.AENetworkInvTileEntity; +import appeng.tile.grid.AENetworkInvBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.inv.InvOperation; import appeng.util.inv.filter.AEItemDefinitionFilter; -public class WirelessTileEntity extends AENetworkInvTileEntity implements IWirelessAccessPoint, IPowerChannelState { +public class WirelessBlockEntity extends AENetworkInvBlockEntity implements IWirelessAccessPoint, IPowerChannelState { public static final int POWERED_FLAG = 1; public static final int CHANNEL_FLAG = 2; @@ -54,7 +54,7 @@ public class WirelessTileEntity extends AENetworkInvTileEntity implements IWirel private int clientFlags = 0; - public WirelessTileEntity(BlockEntityType tileEntityTypeIn) { + public WirelessBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.inv.setFilter(new AEItemDefinitionFilter(AEApi.instance().definitions().materials().wirelessBooster())); this.getProxy().setFlags(GridFlags.REQUIRE_CHANNEL); @@ -155,7 +155,7 @@ public class WirelessTileEntity extends AENetworkInvTileEntity implements IWirel @Override public boolean isActive() { - if (isRemote()) { + if (isClient()) { return this.isPowered() && (CHANNEL_FLAG == (this.getClientFlags() & CHANNEL_FLAG)); } diff --git a/src/main/java/appeng/tile/powersink/AEBasePoweredTileEntity.java b/src/main/java/appeng/tile/powersink/AEBasePoweredBlockEntity.java similarity index 95% rename from src/main/java/appeng/tile/powersink/AEBasePoweredTileEntity.java rename to src/main/java/appeng/tile/powersink/AEBasePoweredBlockEntity.java index ae5e8eacb..bb6ad5f7f 100644 --- a/src/main/java/appeng/tile/powersink/AEBasePoweredTileEntity.java +++ b/src/main/java/appeng/tile/powersink/AEBasePoweredBlockEntity.java @@ -25,6 +25,7 @@ import javax.annotation.Nonnull; import com.google.common.collect.ImmutableSet; +import net.minecraft.block.BlockState; import net.minecraft.nbt.CompoundTag; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.util.math.Direction; @@ -39,9 +40,9 @@ import appeng.api.config.PowerUnits; import appeng.api.networking.energy.IAEPowerStorage; import appeng.api.networking.events.MENetworkPowerStorage.PowerEventType; import appeng.capabilities.Capabilities; -import appeng.tile.AEBaseInvTileEntity; +import appeng.tile.AEBaseInvBlockEntity; -public abstract class AEBasePoweredTileEntity extends AEBaseInvTileEntity +public abstract class AEBasePoweredBlockEntity extends AEBaseInvBlockEntity implements IAEPowerStorage, IExternalPowerSink { // values that determine general function, are set by inheriting classes if @@ -59,7 +60,7 @@ public abstract class AEBasePoweredTileEntity extends AEBaseInvTileEntity // IC2 private IC2PowerSink ic2Sink; - public AEBasePoweredTileEntity(BlockEntityType tileEntityTypeIn) { + public AEBasePoweredBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.forgeEnergyAdapter = new ForgeEnergyAdapter(this); this.forgeEnergyAdapterOptional = LazyOptional.of(() -> forgeEnergyAdapter); @@ -78,15 +79,15 @@ public abstract class AEBasePoweredTileEntity extends AEBaseInvTileEntity } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); data.putDouble("internalCurrentPower", this.getInternalCurrentPower()); return data; } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.setInternalCurrentPower(data.getDouble("internalCurrentPower")); } diff --git a/src/main/java/appeng/tile/qnb/QuantumBridgeTileEntity.java b/src/main/java/appeng/tile/qnb/QuantumBridgeBlockEntity.java similarity index 93% rename from src/main/java/appeng/tile/qnb/QuantumBridgeTileEntity.java rename to src/main/java/appeng/tile/qnb/QuantumBridgeBlockEntity.java index 0a44c2642..8cabe16ab 100644 --- a/src/main/java/appeng/tile/qnb/QuantumBridgeTileEntity.java +++ b/src/main/java/appeng/tile/qnb/QuantumBridgeBlockEntity.java @@ -36,7 +36,7 @@ import net.minecraft.util.math.Direction; import net.minecraftforge.client.model.data.IModelData; import net.minecraftforge.client.model.data.ModelDataMap; import net.minecraftforge.client.model.data.ModelProperty; -import net.minecraftforge.items.wrapper.EmptyHandler; +import alexiil.mc.lib.attributes.item.impl.EmptyFixedItemInv; import appeng.api.AEApi; import appeng.api.definitions.IBlockDefinition; @@ -52,11 +52,11 @@ import appeng.me.cluster.IAECluster; import appeng.me.cluster.IAEMultiBlock; import appeng.me.cluster.implementations.QuantumCalculator; import appeng.me.cluster.implementations.QuantumCluster; -import appeng.tile.grid.AENetworkInvTileEntity; +import appeng.tile.grid.AENetworkInvBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.inv.InvOperation; -public class QuantumBridgeTileEntity extends AENetworkInvTileEntity implements IAEMultiBlock, ITickableTileEntity { +public class QuantumBridgeBlockEntity extends AENetworkInvBlockEntity implements IAEMultiBlock, ITickableTileEntity { public static final ModelProperty FORMED_STATE = new ModelProperty<>(); @@ -70,7 +70,7 @@ public class QuantumBridgeTileEntity extends AENetworkInvTileEntity implements I private QuantumCluster cluster; private boolean updateStatus = false; - public QuantumBridgeTileEntity(BlockEntityType tileEntityTypeIn) { + public QuantumBridgeBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setValidSides(EnumSet.noneOf(Direction.class)); this.getProxy().setFlags(GridFlags.DENSE_CAPACITY); @@ -130,12 +130,12 @@ public class QuantumBridgeTileEntity extends AENetworkInvTileEntity implements I if (this.isCenter()) { return this.internalInventory; } - return EmptyHandler.INSTANCE; + return EmptyFixedItemInv.INSTANCE; } private boolean isCenter() { return AEApi.instance().definitions().blocks().quantumLink().maybeBlock() - .map(link -> this.getBlockState().getBlock() == link).orElse(false); + .map(link -> getCachedState().getBlock() == link).orElse(false); } @MENetworkEventSubscribe @@ -159,7 +159,7 @@ public class QuantumBridgeTileEntity extends AENetworkInvTileEntity implements I final boolean isPresent = maybeLinkBlock.isPresent() && maybeLinkStack.isPresent(); - if (isPresent && this.getBlockState().getBlock() == maybeLinkBlock.get()) { + if (isPresent && getCachedState().getBlock() == maybeLinkBlock.get()) { final ItemStack linkStack = maybeLinkStack.get(); this.getProxy().setVisualRepresentation(linkStack); @@ -229,8 +229,8 @@ public class QuantumBridgeTileEntity extends AENetworkInvTileEntity implements I final EnumSet set = EnumSet.noneOf(Direction.class); for (final Direction d : Direction.values()) { - final BlockEntity te = this.world.getTileEntity(this.pos.offset(d)); - if (te instanceof QuantumBridgeTileEntity) { + final BlockEntity te = this.world.getBlockEntity(this.pos.offset(d)); + if (te instanceof QuantumBridgeBlockEntity) { set.add(d); } } @@ -250,7 +250,7 @@ public class QuantumBridgeTileEntity extends AENetworkInvTileEntity implements I } public boolean isPowered() { - if (isRemote()) { + if (isClient()) { return (this.constructed & this.powered) == this.powered && this.constructed != -1; } diff --git a/src/main/java/appeng/tile/spatial/SpatialIOPortTileEntity.java b/src/main/java/appeng/tile/spatial/SpatialIOPortBlockEntity.java similarity index 92% rename from src/main/java/appeng/tile/spatial/SpatialIOPortTileEntity.java rename to src/main/java/appeng/tile/spatial/SpatialIOPortBlockEntity.java index 67713a9b2..d657c70fb 100644 --- a/src/main/java/appeng/tile/spatial/SpatialIOPortTileEntity.java +++ b/src/main/java/appeng/tile/spatial/SpatialIOPortBlockEntity.java @@ -21,6 +21,7 @@ package appeng.tile.spatial; import javax.annotation.Nonnull; import alexiil.mc.lib.attributes.item.ItemTransferable; +import net.minecraft.block.BlockState; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.block.entity.BlockEntityType; @@ -43,7 +44,7 @@ import appeng.api.util.AEPartLocation; import appeng.api.util.DimensionalCoord; import appeng.hooks.TickHandler; import appeng.me.cache.SpatialPylonCache; -import appeng.tile.grid.AENetworkInvTileEntity; +import appeng.tile.grid.AENetworkInvBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.IWorldCallable; import appeng.util.Platform; @@ -51,27 +52,27 @@ import appeng.util.inv.InvOperation; import appeng.util.inv.WrapperFilteredItemHandler; import appeng.util.inv.filter.IAEItemFilter; -public class SpatialIOPortTileEntity extends AENetworkInvTileEntity implements IWorldCallable { +public class SpatialIOPortBlockEntity extends AENetworkInvBlockEntity implements IWorldCallable { private final AppEngInternalInventory inv = new AppEngInternalInventory(this, 2); private final ItemTransferable invExt = new WrapperFilteredItemHandler(this.inv, new SpatialIOFilter()); private YesNo lastRedstoneState = YesNo.UNDECIDED; - public SpatialIOPortTileEntity(BlockEntityType tileEntityTypeIn) { + public SpatialIOPortBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setFlags(GridFlags.REQUIRE_CHANNEL); } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); data.putInt("lastRedstoneState", this.lastRedstoneState.ordinal()); return data; } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); if (data.contains("lastRedstoneState")) { this.lastRedstoneState = YesNo.values()[data.getInt("lastRedstoneState")]; } @@ -183,7 +184,7 @@ public class SpatialIOPortTileEntity extends AENetworkInvTileEntity implements I @Override public boolean allowInsert(ItemTransferable inv, int slot, ItemStack stack) { - return (slot == 0 && SpatialIOPortTileEntity.this.isSpatialCell(stack)); + return (slot == 0 && SpatialIOPortBlockEntity.this.isSpatialCell(stack)); } } diff --git a/src/main/java/appeng/tile/spatial/SpatialPylonTileEntity.java b/src/main/java/appeng/tile/spatial/SpatialPylonBlockEntity.java similarity index 97% rename from src/main/java/appeng/tile/spatial/SpatialPylonTileEntity.java rename to src/main/java/appeng/tile/spatial/SpatialPylonBlockEntity.java index 7fd39d234..87bd73053 100644 --- a/src/main/java/appeng/tile/spatial/SpatialPylonTileEntity.java +++ b/src/main/java/appeng/tile/spatial/SpatialPylonBlockEntity.java @@ -40,9 +40,9 @@ import appeng.me.cluster.implementations.SpatialPylonCalculator; import appeng.me.cluster.implementations.SpatialPylonCluster; import appeng.me.helpers.AENetworkProxy; import appeng.me.helpers.AENetworkProxyMultiblock; -import appeng.tile.grid.AENetworkTileEntity; +import appeng.tile.grid.AENetworkBlockEntity; -public class SpatialPylonTileEntity extends AENetworkTileEntity implements IAEMultiBlock { +public class SpatialPylonBlockEntity extends AENetworkBlockEntity implements IAEMultiBlock { public static final ModelProperty STATE = new ModelProperty<>(value -> { // The lower 6 bits are used @@ -66,7 +66,7 @@ public class SpatialPylonTileEntity extends AENetworkTileEntity implements IAEMu private SpatialPylonCluster cluster; private boolean didHaveLight = false; - public SpatialPylonTileEntity(BlockEntityType tileEntityTypeIn) { + public SpatialPylonBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setFlags(GridFlags.REQUIRE_CHANNEL, GridFlags.MULTIBLOCK); this.getProxy().setIdlePowerUsage(0.5); diff --git a/src/main/java/appeng/tile/storage/ChestTileEntity.java b/src/main/java/appeng/tile/storage/ChestBlockEntity.java similarity index 92% rename from src/main/java/appeng/tile/storage/ChestTileEntity.java rename to src/main/java/appeng/tile/storage/ChestBlockEntity.java index 5935d5173..15f97e840 100644 --- a/src/main/java/appeng/tile/storage/ChestTileEntity.java +++ b/src/main/java/appeng/tile/storage/ChestBlockEntity.java @@ -27,6 +27,7 @@ import javax.annotation.Nullable; import alexiil.mc.lib.attributes.fluid.volume.FluidVolume; import alexiil.mc.lib.attributes.item.ItemTransferable; +import net.minecraft.block.BlockState; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.Item; @@ -97,7 +98,7 @@ import appeng.me.GridAccessException; import appeng.me.helpers.MEMonitorHandler; import appeng.me.helpers.MachineSource; import appeng.me.storage.MEInventoryHandler; -import appeng.tile.grid.AENetworkPowerTileEntity; +import appeng.tile.grid.AENetworkPowerBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.ConfigManager; import appeng.util.IConfigManagerHost; @@ -108,7 +109,7 @@ import appeng.util.inv.WrapperChainedItemHandler; import appeng.util.inv.filter.IAEItemFilter; import appeng.util.item.AEItemStack; -public class ChestTileEntity extends AENetworkPowerTileEntity +public class ChestBlockEntity extends AENetworkPowerBlockEntity implements IMEChest, ITerminalHost, IPriorityHost, IConfigManagerHost, IColorableTile, ITickableTileEntity { private final AppEngInternalInventory inputInventory = new AppEngInternalInventory(this, 1); private final AppEngInternalInventory cellInventory = new AppEngInternalInventory(this, 1); @@ -127,7 +128,7 @@ public class ChestTileEntity extends AENetworkPowerTileEntity private Accessor accessor; private IFluidHandler fluidHandler; - public ChestTileEntity(BlockEntityType tileEntityTypeIn) { + public ChestBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.setInternalMaxPower(PowerMultiplier.CONFIG.multiply(40)); this.getProxy().setFlags(GridFlags.REQUIRE_CHANNEL); @@ -244,7 +245,7 @@ public class ChestTileEntity extends AENetworkPowerTileEntity @Override public CellState getCellStatus(final int slot) { - if (isRemote()) { + if (isClient()) { return CellState.values()[(this.state >> (slot * 3)) & 3]; } @@ -272,7 +273,7 @@ public class ChestTileEntity extends AENetworkPowerTileEntity @Override public boolean isPowered() { - if (isRemote()) { + if (isClient()) { return (this.state & 0x40) == 0x40; } @@ -318,7 +319,7 @@ public class ChestTileEntity extends AENetworkPowerTileEntity @Override public void tick() { - if (this.world.isRemote) { + if (this.world.isClient) { return; } @@ -384,8 +385,8 @@ public class ChestTileEntity extends AENetworkPowerTileEntity } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.config.readFromNBT(data); this.priority = data.getInt("priority"); if (data.contains("paintedColor")) { @@ -394,8 +395,8 @@ public class ChestTileEntity extends AENetworkPowerTileEntity } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.config.writeToNBT(data); data.putInt("priority", this.priority); data.putByte("paintedColor", (byte) this.paintedColor.ordinal()); @@ -575,7 +576,7 @@ public class ChestTileEntity extends AENetworkPowerTileEntity if (cellInventory != null) { cellInventory.persist(); } - this.world.markChunkDirty(this.pos, this); + this.world.markDirty(this.pos, this); } private class ChestNetNotifier> implements IMEMonitorHandlerReceiver { @@ -588,29 +589,29 @@ public class ChestTileEntity extends AENetworkPowerTileEntity @Override public boolean isValid(final Object verificationToken) { - ChestTileEntity.this.updateHandler(); - if (ChestTileEntity.this.cellHandler != null - && this.chan == ChestTileEntity.this.cellHandler.getChannel()) { - return verificationToken == ChestTileEntity.this.cellHandler; + ChestBlockEntity.this.updateHandler(); + if (ChestBlockEntity.this.cellHandler != null + && this.chan == ChestBlockEntity.this.cellHandler.getChannel()) { + return verificationToken == ChestBlockEntity.this.cellHandler; } return false; } @Override public void postChange(final IBaseMonitor monitor, final Iterable change, final IActionSource source) { - if (source == ChestTileEntity.this.mySrc - || source.machine().map(machine -> machine == ChestTileEntity.this).orElse(false)) { + if (source == ChestBlockEntity.this.mySrc + || source.machine().map(machine -> machine == ChestBlockEntity.this).orElse(false)) { try { - if (ChestTileEntity.this.getProxy().isActive()) { - ChestTileEntity.this.getProxy().getStorage().postAlterationOfStoredItems(this.chan, change, - ChestTileEntity.this.mySrc); + if (ChestBlockEntity.this.getProxy().isActive()) { + ChestBlockEntity.this.getProxy().getStorage().postAlterationOfStoredItems(this.chan, change, + ChestBlockEntity.this.mySrc); } } catch (final GridAccessException e) { // :( } } - ChestTileEntity.this.blinkCell(0); + ChestBlockEntity.this.blinkCell(0); } @Override @@ -642,9 +643,9 @@ public class ChestTileEntity extends AENetworkPowerTileEntity } private boolean securityCheck(final PlayerEntity player, final SecurityPermissions requiredPermission) { - if (ChestTileEntity.this.getTile() instanceof IActionHost && requiredPermission != null) { + if (ChestBlockEntity.this.getTile() instanceof IActionHost && requiredPermission != null) { - final IGridNode gn = ((IActionHost) ChestTileEntity.this.getTile()).getActionableNode(); + final IGridNode gn = ((IActionHost) ChestBlockEntity.this.getTile()).getActionableNode(); if (gn != null) { final IGrid g = gn.getGrid(); if (g != null) { @@ -696,8 +697,8 @@ public class ChestTileEntity extends AENetworkPowerTileEntity @Nullable @Override public IStorageMonitorable getInventory(IActionSource src) { - if (Platform.canAccess(ChestTileEntity.this.getProxy(), src)) { - return ChestTileEntity.this; + if (Platform.canAccess(ChestBlockEntity.this.getProxy(), src)) { + return ChestBlockEntity.this; } return null; } @@ -706,7 +707,7 @@ public class ChestTileEntity extends AENetworkPowerTileEntity private class FluidHandler implements IFluidHandler, IFluidTank { private boolean canAcceptLiquids() { - return ChestTileEntity.this.cellHandler != null && ChestTileEntity.this.cellHandler.getChannel() == AEApi + return ChestBlockEntity.this.cellHandler != null && ChestBlockEntity.this.cellHandler.getChannel() == AEApi .instance().storage().getStorageChannel(IFluidStorageChannel.class); } @@ -754,11 +755,11 @@ public class ChestTileEntity extends AENetworkPowerTileEntity @Override public int fill(FluidVolume resource, FluidAction action) { - ChestTileEntity.this.updateHandler(); + ChestBlockEntity.this.updateHandler(); if (canAcceptLiquids()) { - final IAEFluidStack results = Platform.poweredInsert(ChestTileEntity.this, - ChestTileEntity.this.cellHandler, AEFluidStack.fromFluidStack(resource), - ChestTileEntity.this.mySrc, + final IAEFluidStack results = Platform.poweredInsert(ChestBlockEntity.this, + ChestBlockEntity.this.cellHandler, AEFluidStack.fromFluidStack(resource), + ChestBlockEntity.this.mySrc, action == FluidAction.EXECUTE ? Actionable.MODULATE : Actionable.SIMULATE); if (results == null) { @@ -790,9 +791,9 @@ public class ChestTileEntity extends AENetworkPowerTileEntity @Override public boolean allowInsert(ItemTransferable inv, int slot, ItemStack stack) { - if (ChestTileEntity.this.isPowered()) { - ChestTileEntity.this.updateHandler(); - return ChestTileEntity.this.cellHandler != null && ChestTileEntity.this.cellHandler + if (ChestBlockEntity.this.isPowered()) { + ChestBlockEntity.this.updateHandler(); + return ChestBlockEntity.this.cellHandler != null && ChestBlockEntity.this.cellHandler .getChannel() == AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class); } return false; diff --git a/src/main/java/appeng/tile/storage/DriveTileEntity.java b/src/main/java/appeng/tile/storage/DriveBlockEntity.java similarity index 96% rename from src/main/java/appeng/tile/storage/DriveTileEntity.java rename to src/main/java/appeng/tile/storage/DriveBlockEntity.java index 1740fcbc3..2adde1982 100644 --- a/src/main/java/appeng/tile/storage/DriveTileEntity.java +++ b/src/main/java/appeng/tile/storage/DriveBlockEntity.java @@ -30,6 +30,7 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; import alexiil.mc.lib.attributes.item.ItemTransferable; +import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.Item; @@ -67,13 +68,13 @@ import appeng.helpers.IPriorityHost; import appeng.me.GridAccessException; import appeng.me.helpers.MachineSource; import appeng.me.storage.DriveWatcher; -import appeng.tile.grid.AENetworkInvTileEntity; +import appeng.tile.grid.AENetworkInvBlockEntity; import appeng.tile.inventory.AppEngCellInventory; import appeng.util.Platform; import appeng.util.inv.InvOperation; import appeng.util.inv.filter.IAEItemFilter; -public class DriveTileEntity extends AENetworkInvTileEntity implements IChestOrDrive, IPriorityHost { +public class DriveBlockEntity extends AENetworkInvBlockEntity implements IChestOrDrive, IPriorityHost { private static final int BIT_POWER_MASK = 0x80000000; private static final int BIT_BLINK_MASK = 0x24924924; @@ -103,7 +104,7 @@ public class DriveTileEntity extends AENetworkInvTileEntity implements IChestOrD */ private int state = 0; - public DriveTileEntity(BlockEntityType tileEntityTypeIn) { + public DriveBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.mySrc = new MachineSource(this); this.getProxy().setFlags(GridFlags.REQUIRE_CHANNEL); @@ -202,7 +203,7 @@ public class DriveTileEntity extends AENetworkInvTileEntity implements IChestOrD @Override public Item getCellItem(int slot) { // Client-side we'll need to actually use the synced state - if (world == null || world.isRemote) { + if (world == null || world.isClient) { return cellItems[slot]; } @@ -229,7 +230,7 @@ public class DriveTileEntity extends AENetworkInvTileEntity implements IChestOrD @Override public boolean isPowered() { - if (isRemote()) { + if (isClient()) { return (this.state & BIT_POWER_MASK) == BIT_POWER_MASK; } @@ -242,15 +243,15 @@ public class DriveTileEntity extends AENetworkInvTileEntity implements IChestOrD } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.isCached = false; this.priority = data.getInt("priority"); } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); data.putInt("priority", this.priority); return data; } @@ -415,7 +416,7 @@ public class DriveTileEntity extends AENetworkInvTileEntity implements IChestOrD @Override public void saveChanges(final ICellInventory cellInventory) { - this.world.markChunkDirty(this.pos, this); + this.world.markDirty(this.pos, this); } private class CellValidInventoryFilter implements IAEItemFilter { diff --git a/src/main/java/appeng/tile/storage/IOPortTileEntity.java b/src/main/java/appeng/tile/storage/IOPortBlockEntity.java similarity index 97% rename from src/main/java/appeng/tile/storage/IOPortTileEntity.java rename to src/main/java/appeng/tile/storage/IOPortBlockEntity.java index 04c33fd58..8f174d257 100644 --- a/src/main/java/appeng/tile/storage/IOPortTileEntity.java +++ b/src/main/java/appeng/tile/storage/IOPortBlockEntity.java @@ -24,6 +24,7 @@ import java.util.Map; import alexiil.mc.lib.attributes.item.ItemTransferable; import net.minecraft.block.Block; +import net.minecraft.block.BlockState; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.block.entity.BlockEntityType; @@ -61,7 +62,7 @@ import appeng.me.GridAccessException; import appeng.me.helpers.MachineSource; import appeng.parts.automation.BlockUpgradeInventory; import appeng.parts.automation.UpgradeInventory; -import appeng.tile.grid.AENetworkInvTileEntity; +import appeng.tile.grid.AENetworkInvBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.ConfigManager; import appeng.util.IConfigManagerHost; @@ -74,7 +75,7 @@ import appeng.util.inv.WrapperChainedItemHandler; import appeng.util.inv.WrapperFilteredItemHandler; import appeng.util.inv.filter.AEItemFilters; -public class IOPortTileEntity extends AENetworkInvTileEntity +public class IOPortBlockEntity extends AENetworkInvBlockEntity implements IUpgradeableHost, IConfigManagerHost, IGridTickable { private static final int NUMBER_OF_CELL_SLOTS = 6; private static final int NUMBER_OF_UPGRADE_SLOTS = 3; @@ -96,7 +97,7 @@ public class IOPortTileEntity extends AENetworkInvTileEntity private ItemStack currentCell; private Map, IMEInventory> cachedInventories; - public IOPortTileEntity(BlockEntityType tileEntityTypeIn) { + public IOPortBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setFlags(GridFlags.REQUIRE_CHANNEL); this.manager = new ConfigManager(this); @@ -111,8 +112,8 @@ public class IOPortTileEntity extends AENetworkInvTileEntity } @Override - public CompoundTag write(final CompoundTag data) { - super.write(data); + public CompoundTag toTag(final CompoundTag data) { + super.toTag(data); this.manager.writeToNBT(data); this.upgrades.writeToNBT(data, "upgrades"); data.putInt("lastRedstoneState", this.lastRedstoneState.ordinal()); @@ -120,8 +121,8 @@ public class IOPortTileEntity extends AENetworkInvTileEntity } @Override - public void read(final CompoundTag data) { - super.read(data); + public void fromTag(BlockState state, final CompoundTag data) { + super.fromTag(state, data); this.manager.readFromNBT(data); this.upgrades.readFromNBT(data, "upgrades"); if (data.contains("lastRedstoneState")) { diff --git a/src/main/java/appeng/tile/storage/SkyChestTileEntity.java b/src/main/java/appeng/tile/storage/SkyChestBlockEntity.java similarity index 94% rename from src/main/java/appeng/tile/storage/SkyChestTileEntity.java rename to src/main/java/appeng/tile/storage/SkyChestBlockEntity.java index 8002ef70f..d65fcc970 100644 --- a/src/main/java/appeng/tile/storage/SkyChestTileEntity.java +++ b/src/main/java/appeng/tile/storage/SkyChestBlockEntity.java @@ -33,11 +33,11 @@ import net.minecraft.util.math.MathHelper; import alexiil.mc.lib.attributes.item.ItemTransferable; import appeng.block.storage.SkyChestBlock; -import appeng.tile.AEBaseInvTileEntity; +import appeng.tile.AEBaseInvBlockEntity; import appeng.tile.inventory.AppEngInternalInventory; import appeng.util.inv.InvOperation; -public class SkyChestTileEntity extends AEBaseInvTileEntity implements ITickableTileEntity, IChestLid { +public class SkyChestBlockEntity extends AEBaseInvBlockEntity implements ITickableTileEntity, IChestLid { private final AppEngInternalInventory inv = new AppEngInternalInventory(this, 9 * 4); @@ -48,7 +48,7 @@ public class SkyChestTileEntity extends AEBaseInvTileEntity implements ITickable private float lidAngle; private float prevLidAngle; - public SkyChestTileEntity(BlockEntityType type) { + public SkyChestBlockEntity(BlockEntityType type) { super(type); } @@ -115,7 +115,7 @@ public class SkyChestTileEntity extends AEBaseInvTileEntity implements ITickable // See ChestTileEntity private void onOpenOrClose() { - Block block = this.getBlockState().getBlock(); + Block block = getCachedState().getBlock(); if (block instanceof SkyChestBlock) { this.world.addBlockEvent(this.pos, block, 1, this.numPlayersUsing); this.world.notifyNeighborsOfStateChange(this.pos, block); diff --git a/src/main/java/appeng/util/Platform.java b/src/main/java/appeng/util/Platform.java index 79cb3d926..60b7e760d 100644 --- a/src/main/java/appeng/util/Platform.java +++ b/src/main/java/appeng/util/Platform.java @@ -36,8 +36,8 @@ import net.fabricmc.api.Environment; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; -import net.minecraft.client.Minecraft; -import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.Entity; import net.minecraft.entity.item.ItemEntity; import net.minecraft.entity.player.PlayerEntity; @@ -53,7 +53,7 @@ import net.minecraft.util.math.EntityRayTraceResult; import net.minecraft.util.math.RayTraceContext; import net.minecraft.util.hit.HitResult; import net.minecraft.text.Text; -import net.minecraft.util.text.StringTextComponent; +import net.minecraft.text.LiteralText; import net.minecraft.util.text.TextFormatting; import net.minecraft.text.TranslatableText; import net.minecraft.world.World; @@ -179,9 +179,9 @@ public class Platform { } public static Direction crossProduct(final Direction forward, final Direction up) { - final int west_x = forward.getYOffset() * up.getZOffset() - forward.getZOffset() * up.getYOffset(); - final int west_y = forward.getZOffset() * up.getXOffset() - forward.getXOffset() * up.getZOffset(); - final int west_z = forward.getXOffset() * up.getYOffset() - forward.getYOffset() * up.getXOffset(); + final int west_x = forward.getOffsetY() * up.getOffsetZ() - forward.getOffsetZ() * up.getOffsetY(); + final int west_y = forward.getOffsetZ() * up.getOffsetX() - forward.getOffsetX() * up.getOffsetZ(); + final int west_z = forward.getOffsetX() * up.getOffsetY() - forward.getOffsetY() * up.getOffsetX(); switch (west_x + west_y * 2 + west_z * 3) { case 1: @@ -273,7 +273,7 @@ public class Platform { ServerWorld serverWorld = (ServerWorld) w; final BlockState state = w.getBlockState(pos); - final BlockEntity tileEntity = w.getTileEntity(pos); + final BlockEntity tileEntity = w.getBlockEntity(pos); List out = Block.getDrops(state, serverWorld, pos, tileEntity); @@ -329,10 +329,10 @@ public class Platform { } try { - ITooltipFlag.TooltipFlags tooltipFlag = Minecraft.getInstance().gameSettings.advancedItemTooltips - ? ITooltipFlag.TooltipFlags.ADVANCED - : ITooltipFlag.TooltipFlags.NORMAL; - return itemStack.getTooltip(Minecraft.getInstance().player, tooltipFlag); + TooltipContext.TooltipFlags tooltipFlag = MinecraftClient.getInstance().gameSettings.advancedItemTooltips + ? TooltipContext.TooltipFlags.ADVANCED + : TooltipContext.TooltipFlags.NORMAL; + return itemStack.getTooltip(MinecraftClient.getInstance().player, tooltipFlag); } catch (final Exception errB) { return Collections.emptyList(); } @@ -363,33 +363,33 @@ public class Platform { public static Text getItemDisplayName(final Object o) { if (o == null) { - return new StringTextComponent("** Null"); + return new LiteralText("** Null"); } ItemStack itemStack = ItemStack.EMPTY; if (o instanceof AEItemStack) { final Text n = ((AEItemStack) o).getDisplayName(); - return n == null ? new StringTextComponent("** Null") : n; + return n == null ? new LiteralText("** Null") : n; } else if (o instanceof ItemStack) { itemStack = (ItemStack) o; } else { - return new StringTextComponent("**Invalid Object"); + return new LiteralText("**Invalid Object"); } try { - return itemStack.getDisplayName(); + return itemStack.getName(); } catch (final Exception errA) { try { return new TranslatableText(itemStack.getTranslationKey()); } catch (final Exception errB) { - return new StringTextComponent("** Exception"); + return new LiteralText("** Exception"); } } } public static Text getFluidDisplayName(Object o) { if (o == null) { - return new StringTextComponent("** Null"); + return new LiteralText("** Null"); } FluidVolume fluidStack = null; if (o instanceof AEFluidStack) { @@ -397,9 +397,9 @@ public class Platform { } else if (o instanceof FluidVolume) { fluidStack = (FluidVolume) o; } else { - return new StringTextComponent("**Invalid Object"); + return new LiteralText("**Invalid Object"); } - Text n = fluidStack.getDisplayName(); + Text n = fluidStack.getName(); if (n == null) { n = new TranslatableText(fluidStack.getTranslationKey()); } @@ -673,7 +673,7 @@ public class Platform { final double y = playerIn.prevPosY + (playerIn.getPosY() - playerIn.prevPosY) + playerIn.getEyeHeight(); final double z = playerIn.prevPosZ + (playerIn.getPosZ() - playerIn.prevPosZ); - final float playerPitch = playerIn.prevRotationPitch + (playerIn.rotationPitch - playerIn.prevRotationPitch); + final float playerPitch = playerIn.prevRotationPitch + (playerIn.pitch - playerIn.prevRotationPitch); final float playerYaw = playerIn.prevRotationYaw + (playerIn.rotationYaw - playerIn.prevRotationYaw); final float yawRayX = MathHelper.sin(-playerYaw * 0.017453292f - (float) Math.PI); @@ -694,10 +694,10 @@ public class Platform { final World w = p.getEntityWorld(); final float f = 1.0F; - float f1 = p.prevRotationPitch + (p.rotationPitch - p.prevRotationPitch) * f; + float f1 = p.prevRotationPitch + (p.pitch - p.prevRotationPitch) * f; final float f2 = p.prevRotationYaw + (p.rotationYaw - p.prevRotationYaw) * f; final double d0 = p.prevPosX + (p.getPosX() - p.prevPosX) * f; - final double d1 = p.prevPosY + (p.getPosY() - p.prevPosY) * f + 1.62D - p.getYOffset(); + final double d1 = p.prevPosY + (p.getPosY() - p.prevPosY) * f + 1.62D - p.getOffsetY(); final double d2 = p.prevPosZ + (p.getPosZ() - p.prevPosZ) * f; final Vec3d vec3 = new Vec3d(d0, d1, d2); final float f3 = MathHelper.cos(-f2 * 0.017453292F - (float) Math.PI); @@ -988,7 +988,7 @@ public class Platform { switch (side) { case DOWN: pitch = 90.0f; - // player.getYOffset() = -1.8f; + // player.getOffsetY() = -1.8f; break; case EAST: yaw = -90.0f; @@ -1121,7 +1121,7 @@ public class Platform { } public static void notifyBlocksOfNeighbors(final World world, final BlockPos pos) { - if (!world.isRemote) { + if (!world.isClient) { TickHandler.INSTANCE.addCallable(world, new BlockUpdate(pos)); } } @@ -1146,7 +1146,7 @@ public class Platform { } public static float getEyeOffset(final PlayerEntity player) { - assert player.world.isRemote : "Valid only on client"; + assert player.world.isClient : "Valid only on client"; // FIXME: The entire premise of this seems broken return (float) (player.getPosY() + player.getEyeHeight() - /* FIXME player.getDefaultEyeHeight() */ 1.62F); } diff --git a/src/main/java/appeng/util/inv/WrapperChainedItemHandler.java b/src/main/java/appeng/util/inv/WrapperChainedItemHandler.java index 004ae6b84..1a5487665 100644 --- a/src/main/java/appeng/util/inv/WrapperChainedItemHandler.java +++ b/src/main/java/appeng/util/inv/WrapperChainedItemHandler.java @@ -25,7 +25,7 @@ import javax.annotation.Nonnull; import alexiil.mc.lib.attributes.item.ItemTransferable; import net.minecraft.item.ItemStack; import net.minecraftforge.items.IItemHandlerModifiable; -import net.minecraftforge.items.wrapper.EmptyHandler; +import alexiil.mc.lib.attributes.item.impl.EmptyFixedItemInv; import appeng.util.helpers.ItemHandlerUtil; @@ -65,7 +65,7 @@ public class WrapperChainedItemHandler implements IItemHandlerModifiable { private ItemTransferable getHandlerFromIndex(int index) { if (index < 0 || index >= this.itemHandler.length) { - return EmptyHandler.INSTANCE; + return EmptyFixedItemInv.INSTANCE; } return this.itemHandler[index]; } diff --git a/src/main/java/appeng/worldgen/meteorite/MeteoritePlacer.java b/src/main/java/appeng/worldgen/meteorite/MeteoritePlacer.java index 536f665f6..3eef7bf96 100644 --- a/src/main/java/appeng/worldgen/meteorite/MeteoritePlacer.java +++ b/src/main/java/appeng/worldgen/meteorite/MeteoritePlacer.java @@ -204,7 +204,7 @@ public final class MeteoritePlacer { if (AEConfig.instance().isFeatureEnabled(AEFeature.SPAWN_PRESSES_IN_METEORITES)) { this.putter.put(world, pos, this.skyChestDefinition.block().getDefaultState()); - final BlockEntity te = world.getTileEntity(pos); // FIXME: this is also probably a band-aid for another issue + final BlockEntity te = world.getBlockEntity(pos); // FIXME: this is also probably a band-aid for another issue final InventoryAdaptor ap = InventoryAdaptor.getAdaptor(te, Direction.UP); if (ap != null && !ap.containsItems()) // FIXME: band-aid for meteorites being generated multiple times {