From 59766c69f7622309075efd577c9543a8ac24c3f9 Mon Sep 17 00:00:00 2001 From: Jason Mitchell Date: Sat, 29 Jun 2024 10:48:10 -0700 Subject: MultiTileEntityBlock work * Merge MultiTileEntityBlockRegistryInternal into MultiTileEntityBlock * Add a hard dep on NEID for meta extension * Use in world block meta for MuTE ID * Use one block per MuTE Registry * Add WeakTargetRef * Migrate `controller` reference for parts over to a non non cachable WeakTargetRef * Migrate controller WeakReference usage to WeakTargetRef --- .../api/multitileentity/base/MultiTileEntity.java | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/main/java/gregtech/api/multitileentity/base') diff --git a/src/main/java/gregtech/api/multitileentity/base/MultiTileEntity.java b/src/main/java/gregtech/api/multitileentity/base/MultiTileEntity.java index 85f9f2497a..eeadfe7602 100644 --- a/src/main/java/gregtech/api/multitileentity/base/MultiTileEntity.java +++ b/src/main/java/gregtech/api/multitileentity/base/MultiTileEntity.java @@ -47,7 +47,7 @@ import gregtech.api.gui.modularui.GT_UIInfos; import gregtech.api.interfaces.ITexture; import gregtech.api.metatileentity.CoverableTileEntity; import gregtech.api.metatileentity.GregTechTileClientEvents; -import gregtech.api.multitileentity.MultiTileEntityBlockRegistryInternal; +import gregtech.api.multitileentity.MultiTileEntityBlock; import gregtech.api.multitileentity.MultiTileEntityClassContainer; import gregtech.api.multitileentity.MultiTileEntityRegistry; import gregtech.api.multitileentity.interfaces.IMultiTileEntity; @@ -171,12 +171,11 @@ public abstract class MultiTileEntity extends CoverableTileEntity @Override public void copyTextures() { // Loading an instance - final TileEntity tCanonicalTileEntity = MultiTileEntityRegistry - .getCanonicalTileEntity(getMultiTileEntityRegistryID(), getMultiTileEntityID()); - if (!(tCanonicalTileEntity instanceof MultiTileEntity)) { + final TileEntity referenceTileEntity = MultiTileEntityRegistry + .getReferenceTileEntity(getMultiTileEntityRegistryID(), getMultiTileEntityID()); + if (!(referenceTileEntity instanceof MultiTileEntity canonicalEntity)) { return; } - final MultiTileEntity canonicalEntity = (MultiTileEntity) tCanonicalTileEntity; baseTexture = canonicalEntity.baseTexture; topOverlayTexture = canonicalEntity.topOverlayTexture; bottomOverlayTexture = canonicalEntity.bottomOverlayTexture; @@ -225,7 +224,7 @@ public abstract class MultiTileEntity extends CoverableTileEntity if (tClass != null) { // Add the Default Parameters. Useful for things that differ between different tiers/types of the // same machine - nbt = GT_Util.fuseNBT(nbt, tClass.parameters); + nbt = GT_Util.fuseNBT(nbt, tClass.getParameters()); } } } @@ -996,8 +995,8 @@ public abstract class MultiTileEntity extends CoverableTileEntity } @Override - public boolean getSubItems(MultiTileEntityBlockRegistryInternal block, Item item, CreativeTabs tab, - List list, short aID) { + public boolean getSubItems(MultiTileEntityBlock block, Item item, CreativeTabs tab, List list, + short aID) { return true; } @@ -1378,4 +1377,9 @@ public abstract class MultiTileEntity extends CoverableTileEntity getTimedPacketData(timedPacket); GT_Values.NW.sendPacketToAllPlayersInRange(worldObj, timedPacket, getXCoord(), getZCoord()); } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + } } -- cgit