diff options
author | Martin Robertz <dream-master@gmx.net> | 2020-04-17 23:20:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-17 23:20:02 +0200 |
commit | c999a88cbf914244fb70cf17eda0b5f261642451 (patch) | |
tree | ea11192e1f660ad373a8e0ad33d8cd98cd4d27e7 /src/main/java/gregtech/api/interfaces/tileentity | |
parent | 7be85ea0742de92b2c211ee8bd362e2a3f55c2ed (diff) | |
parent | 3287a00923693d0084bb60061c3211da832710fc (diff) | |
download | GT5-Unofficial-c999a88cbf914244fb70cf17eda0b5f261642451.tar.gz GT5-Unofficial-c999a88cbf914244fb70cf17eda0b5f261642451.tar.bz2 GT5-Unofficial-c999a88cbf914244fb70cf17eda0b5f261642451.zip |
Merge pull request #266 from GTNewHorizons/experimentalMogballThreading
Tried to make Mogballs Optimisation properly threaded
Diffstat (limited to 'src/main/java/gregtech/api/interfaces/tileentity')
-rw-r--r-- | src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java | 21 | ||||
-rw-r--r-- | src/main/java/gregtech/api/interfaces/tileentity/IMachineBlockUpdateable.java | 7 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java index af9ead9543..8e135fbc85 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java @@ -135,4 +135,25 @@ public interface IGregTechTileEntity extends ITexturedTileEntity, IGearEnergyTil AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ); void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity collider); + + /** + * Checks validity of meta tile and delegates to it + */ + @Override + default void onMachineBlockUpdate(){ + if(!isDead() && getMetaTileEntity()!=null && + getMetaTileEntity().getBaseMetaTileEntity()==this){ + getMetaTileEntity().onMachineBlockUpdate(); + } + } + + /** + * Checks validity of meta tile and delegates to it + */ + @Override + default boolean isMachineBlockUpdateRecursive() { + return !isDead() && getMetaTileEntity()!=null && + getMetaTileEntity().getBaseMetaTileEntity()==this && + getMetaTileEntity().isMachineBlockUpdateRecursive(); + } }
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IMachineBlockUpdateable.java b/src/main/java/gregtech/api/interfaces/tileentity/IMachineBlockUpdateable.java index c7f6fe5f23..31590f3d57 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/IMachineBlockUpdateable.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/IMachineBlockUpdateable.java @@ -13,4 +13,11 @@ public interface IMachineBlockUpdateable { * RP-Frames could for example cause Problems when you instacheck the Machine Parts. */ void onMachineBlockUpdate(); + + /** + * Should recurse? + */ + default boolean isMachineBlockUpdateRecursive(){ + return true; + } } |