aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java')
-rw-r--r--src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java
index 5a2e88b242..d0b7a2e194 100644
--- a/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java
@@ -13,6 +13,9 @@ import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
import appeng.api.crafting.ICraftingIconProvider;
+import appeng.api.implementations.tiles.ISoundP2PHandler;
+import appeng.me.cache.helpers.TunnelCollection;
+import appeng.parts.p2p.PartP2PSound;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ItemList;
@@ -29,7 +32,7 @@ import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Utility;
public abstract class CommonMetaTileEntity extends CoverableTileEntity
- implements IGregTechTileEntity, ICraftingIconProvider {
+ implements IGregTechTileEntity, ICraftingIconProvider, ISoundP2PHandler {
protected boolean mNeedsBlockUpdate = true, mNeedsUpdate = true, mSendClientData = false, mInventoryChanged = false;
@@ -337,4 +340,33 @@ public abstract class CommonMetaTileEntity extends CoverableTileEntity
}
return builder.build();
}
+
+ @Override
+ public boolean allowSoundProxying(PartP2PSound p2p) {
+ if (hasValidMetaTileEntity() && getMetaTileEntity() instanceof ISoundP2PHandler metaHandler) {
+ return metaHandler.allowSoundProxying(p2p);
+ }
+ return ISoundP2PHandler.super.allowSoundProxying(p2p);
+ }
+
+ @Override
+ public void onSoundP2PAttach(PartP2PSound p2p) {
+ if (hasValidMetaTileEntity() && getMetaTileEntity() instanceof ISoundP2PHandler metaHandler) {
+ metaHandler.onSoundP2PAttach(p2p);
+ }
+ }
+
+ @Override
+ public void onSoundP2PDetach(PartP2PSound p2p) {
+ if (hasValidMetaTileEntity() && getMetaTileEntity() instanceof ISoundP2PHandler metaHandler) {
+ metaHandler.onSoundP2PDetach(p2p);
+ }
+ }
+
+ @Override
+ public void onSoundP2POutputUpdate(PartP2PSound p2p, TunnelCollection<PartP2PSound> outputs) {
+ if (hasValidMetaTileEntity() && getMetaTileEntity() instanceof ISoundP2PHandler metaHandler) {
+ metaHandler.onSoundP2POutputUpdate(p2p, outputs);
+ }
+ }
}