aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces/tileentity
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2020-04-17 23:20:02 +0200
committerGitHub <noreply@github.com>2020-04-17 23:20:02 +0200
commitc999a88cbf914244fb70cf17eda0b5f261642451 (patch)
treeea11192e1f660ad373a8e0ad33d8cd98cd4d27e7 /src/main/java/gregtech/api/interfaces/tileentity
parent7be85ea0742de92b2c211ee8bd362e2a3f55c2ed (diff)
parent3287a00923693d0084bb60061c3211da832710fc (diff)
downloadGT5-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.java21
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IMachineBlockUpdateable.java7
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;
+ }
}