diff options
author | Raven Szewczyk <git@eigenraven.me> | 2024-08-15 22:44:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-15 21:44:13 +0000 |
commit | 5decfda1dd1b3bbfdb1098f409aa50162ea32dc2 (patch) | |
tree | fd3dd1c237a0c8c4d4953dd7e529f5b5d89e6e34 /src/main/java/gregtech/api/metatileentity | |
parent | 799d5edf98e7e9f6152f432cdc48eac858398c8a (diff) | |
download | GT5-Unofficial-5decfda1dd1b3bbfdb1098f409aa50162ea32dc2.tar.gz GT5-Unofficial-5decfda1dd1b3bbfdb1098f409aa50162ea32dc2.tar.bz2 GT5-Unofficial-5decfda1dd1b3bbfdb1098f409aa50162ea32dc2.zip |
Electric jukebox (#2827)
* GT music system
* Minor fix for some glitches when switching dimensions with P2Ps on both sides
* Most features implemented except headphones
* Implement wireless headphones
* Disable debug mode
* Spotless
---------
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java | 34 |
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); + } + } } |