diff options
26 files changed, 261 insertions, 12 deletions
diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java index ad67367172..9c0008ab07 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java @@ -8,7 +8,10 @@ import com.github.technus.tectech.elementalMatter.core.stacks.cElementalInstance import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.casing.TT_Container_Casings; import com.github.technus.tectech.thing.metaTileEntity.IConstructable; +import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_quantizer; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.block.Block; @@ -16,6 +19,7 @@ import net.minecraft.block.material.Material; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.util.ForgeDirection; import static com.github.technus.tectech.Util.StructureBuilder; @@ -68,6 +72,12 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ } @Override + @SideOnly(Side.CLIENT) + protected ResourceLocation getActivitySound(){ + return GT_MetaTileEntity_EM_quantizer.activitySound; + } + + @Override public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { return essentiaContainerCompat.check(this) && structureCheck_EM(shape, blockType, blockMeta, addingMethods, casingTextures, blockTypeFallback, blockMetaFallback, 1, 1, 0); } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java index acc386fb66..085884b80a 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java @@ -8,7 +8,10 @@ import com.github.technus.tectech.elementalMatter.core.stacks.cElementalInstance import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.casing.TT_Container_Casings; import com.github.technus.tectech.thing.metaTileEntity.IConstructable; +import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_quantizer; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.block.Block; @@ -16,6 +19,7 @@ import net.minecraft.block.material.Material; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.util.ForgeDirection; import static com.github.technus.tectech.Util.StructureBuilder; @@ -63,6 +67,12 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu } @Override + @SideOnly(Side.CLIENT) + protected ResourceLocation getActivitySound(){ + return GT_MetaTileEntity_EM_quantizer.activitySound; + } + + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_EM_essentiaQuantizer(mName); } diff --git a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java index 154dd898f8..92e0fa6822 100644 --- a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java +++ b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java @@ -1,6 +1,7 @@ package com.github.technus.tectech.proxy; import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.auxiliary.Reference; import com.github.technus.tectech.entity.fx.BlockHint; import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.block.QuantumGlassRender; @@ -107,4 +108,9 @@ public class ClientProxy extends CommonProxy { chat.printChatMessage(new ChatComponentText(s)); } } + + @Override + public void playSound(IGregTechTileEntity base,String name) { + base.getWorld().playSoundEffect(base.getXCoord(),base.getYCoord(),base.getZCoord(), Reference.MODID+':'+name, 1, 1); + } } diff --git a/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java b/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java index 2db569cd8e..271887d579 100644 --- a/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java +++ b/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java @@ -40,4 +40,6 @@ public class CommonProxy implements IGuiHandler { } public void printInchat(String... strings){} + + public void playSound(IGregTechTileEntity base,String name){} } diff --git a/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java b/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java index 140e8e07be..3c8411639a 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java +++ b/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java @@ -1,8 +1,11 @@ package com.github.technus.tectech.thing.item.gui; import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.auxiliary.Reference; import com.github.technus.tectech.thing.item.ElementalDefinitionScanStorage_EM; import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.audio.SoundHandler; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; @@ -141,5 +144,12 @@ public class ScanDisplayScreen extends GuiScreen { glEnable(GL_BLEND); } } + + //play cool sound fx + @Override + public void func_146113_a(SoundHandler soundHandler) + { + soundHandler.playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation(Reference.MODID+":fx_click"), 1.0F)); + } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java index f686c7ef91..fec3be6e20 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java @@ -1,5 +1,6 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -112,6 +113,8 @@ public class GT_Container_Param extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { + IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base,"fx_click"); if (paramH.param > 9) { paramH.param = 9; } else if (paramH.param < -1) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java index 8c56e57279..289588a40a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java @@ -1,5 +1,6 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -181,6 +182,8 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { + IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base,"fx_click"); if(columnPointer>=32) { columnPointer = 31; } else if(columnPointer<0) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java index 38162c36f1..45bc8dede0 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java @@ -1,5 +1,6 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Uncertainty; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -52,6 +53,8 @@ public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { GT_MetaTileEntity_Hatch_Uncertainty catH = (GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity(); if (aSlotIndex < 16 && catH.matrix != null) { + IGregTechTileEntity base=catH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base,"fx_click"); if (catH.selection == -1) { catH.selection = (byte) aSlotIndex; } else { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java index e7d518c874..66c32ac761 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java @@ -24,6 +24,7 @@ import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; import java.util.ArrayList; @@ -75,6 +76,12 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } @Override + @SideOnly(Side.CLIENT) + protected ResourceLocation getActivitySound(){ + return GT_MetaTileEntity_EM_switch.activitySound; + } + + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_EM_computer(mName); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java index 0d1671f5fa..26793ba894 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java @@ -10,11 +10,14 @@ import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.IConstructable; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputElemental; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; @@ -64,6 +67,12 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo } @Override + @SideOnly(Side.CLIENT) + protected ResourceLocation getActivitySound(){ + return GT_MetaTileEntity_EM_quantizer.activitySound; + } + + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_EM_dequantizer(mName); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index 729d60bfbb..797be1d259 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -3,10 +3,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import cofh.api.energy.IEnergyContainerItem; import com.github.technus.tectech.CommonValues; import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.auxiliary.Reference; import com.github.technus.tectech.thing.metaTileEntity.IConstructable; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import ic2.api.item.ElectricItem; @@ -16,6 +19,7 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; import static com.github.technus.tectech.Util.StructureBuilder; import static com.github.technus.tectech.auxiliary.TecTechConfig.DEBUG_MODE; @@ -57,6 +61,15 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa eDismantleBoom=true; } + @SideOnly(Side.CLIENT) + public final static ResourceLocation activitySound=new ResourceLocation(Reference.MODID+":fx_whooum"); + + @Override + @SideOnly(Side.CLIENT) + protected ResourceLocation getActivitySound(){ + return activitySound; + } + @Override public boolean isFacingValid(byte aFacing) { return aFacing >= 2; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java index ffe9b45a94..c2c80b5bc8 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java @@ -2,6 +2,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import com.github.technus.tectech.CommonValues; import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.auxiliary.Reference; import com.github.technus.tectech.elementalMatter.core.cElementalInstanceStackMap; import com.github.technus.tectech.elementalMatter.core.stacks.iHasElementalDefinition; import com.github.technus.tectech.elementalMatter.core.stacks.cElementalInstanceStack; @@ -12,12 +13,15 @@ import com.github.technus.tectech.elementalMatter.core.transformations.bTransfor import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.IConstructable; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.GregTech_API; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; @@ -65,6 +69,16 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock super(aName); } + + @SideOnly(Side.CLIENT) + public final static ResourceLocation activitySound=new ResourceLocation(Reference.MODID+":fx_mid_freq"); + + @Override + @SideOnly(Side.CLIENT) + protected ResourceLocation getActivitySound(){ + return activitySound; + } + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_EM_quantizer(mName); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java index 1db5cf2ead..8370700e3f 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java @@ -2,11 +2,14 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import com.github.technus.tectech.CommonValues; import com.github.technus.tectech.Vec3pos; +import com.github.technus.tectech.auxiliary.Reference; import com.github.technus.tectech.dataFramework.QuantumDataPacket; import com.github.technus.tectech.thing.metaTileEntity.IConstructable; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputData; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputData; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -15,6 +18,7 @@ import gregtech.api.objects.GT_RenderedTexture; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; import static com.github.technus.tectech.Util.StructureBuilder; import static com.github.technus.tectech.Util.V; @@ -35,7 +39,7 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas private static final Block[] blockType = new Block[]{sBlockCasingsTT}; private static final byte[] blockMeta = new byte[]{3}; private static final String[] addingMethods = new String[]{"addClassicToMachineList"}; - private static final short[] casingTextures = new short[]{textureOffset}; + private static final short[] casingTextures = new short[]{textureOffset+1}; private static final Block[] blockTypeFallback = new Block[]{sBlockCasingsTT}; private static final byte[] blockMetaFallback = new byte[]{1}; private static final String[] description = new String[]{ @@ -52,6 +56,15 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas super(aName); } + @SideOnly(Side.CLIENT) + public final static ResourceLocation activitySound=new ResourceLocation(Reference.MODID+":fx_hi_freq"); + + @Override + @SideOnly(Side.CLIENT) + protected ResourceLocation getActivitySound(){ + return activitySound; + } + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_EM_switch(mName); @@ -166,14 +179,14 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas double weight, dest; for (int i = 0; i < 10; i++) { weight = getParameterIn(i, 0); - if (weight <= 0) { + if (weight < 0) { setStatusOfParameterIn(i, 0, GT_MetaTileEntity_MultiblockBase_EM.STATUS_TOO_LOW); setStatusOfParameterIn(i, 1, GT_MetaTileEntity_MultiblockBase_EM.STATUS_UNUSED); } else if (Double.isNaN(weight)) { setStatusOfParameterIn(i, 0, GT_MetaTileEntity_MultiblockBase_EM.STATUS_WRONG); setStatusOfParameterIn(i, 1, GT_MetaTileEntity_MultiblockBase_EM.STATUS_UNUSED); } else { - setStatusOfParameterIn(i, 0, GT_MetaTileEntity_MultiblockBase_EM.STATUS_OK); + setStatusOfParameterIn(i, 0, weight==0?STATUS_LOW:GT_MetaTileEntity_MultiblockBase_EM.STATUS_OK); dest = getParameterIn(i, 1); if (dest < 0) { setStatusOfParameterIn(i, 1, GT_MetaTileEntity_MultiblockBase_EM.STATUS_TOO_LOW); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java index a713e173b1..8139c70ad7 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java @@ -1,10 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.auxiliary.Reference; import com.github.technus.tectech.thing.metaTileEntity.IConstructable; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -14,6 +17,7 @@ import net.minecraft.block.Block; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; import static com.github.technus.tectech.Util.StructureBuilder; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; @@ -65,6 +69,15 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo eDismantleBoom=true; } + @SideOnly(Side.CLIENT) + public final static ResourceLocation activitySound=new ResourceLocation(Reference.MODID+":fx_noise"); + + @Override + @SideOnly(Side.CLIENT) + protected ResourceLocation getActivitySound(){ + return activitySound; + } + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_EM_transformer(mName); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java index c744c6019c..b0b8a5a070 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java @@ -1,5 +1,6 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; +import com.github.technus.tectech.TecTech; import gregtech.api.gui.GT_ContainerMetaTile_Machine; import gregtech.api.gui.GT_Slot_Holo; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -48,31 +49,35 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_MultiblockBase_EM base = (GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_MultiblockBase_EM mte = (GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity(); + IGregTechTileEntity base = mte.getBaseMetaTileEntity(); switch (aSlotIndex) { case 1: if(ePowerPassButton) { - base.ePowerPass ^= true; + TecTech.proxy.playSound(base,"fx_click"); + mte.ePowerPass ^= true; if (!allowedToWorkButton) {//TRANSFORMER HACK - if (base.ePowerPass) { - base.getBaseMetaTileEntity().enableWorking(); + if (mte.ePowerPass) { + mte.getBaseMetaTileEntity().enableWorking(); } else { - base.getBaseMetaTileEntity().disableWorking(); + mte.getBaseMetaTileEntity().disableWorking(); } } } break; case 2: if(eSafeVoidButton) { - base.eSafeVoid ^= true; + TecTech.proxy.playSound(base,"fx_click"); + mte.eSafeVoid ^= true; } break; case 3: if(allowedToWorkButton) { - if (base.getBaseMetaTileEntity().isAllowedToWork()) { - base.getBaseMetaTileEntity().disableWorking(); + TecTech.proxy.playSound(base,"fx_click"); + if (mte.getBaseMetaTileEntity().isAllowedToWork()) { + mte.getBaseMetaTileEntity().disableWorking(); } else { - base.getBaseMetaTileEntity().enableWorking(); + mte.getBaseMetaTileEntity().enableWorking(); } } break; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index fd85b39647..8ee7e94d54 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -2,6 +2,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.Vec3pos; +import com.github.technus.tectech.auxiliary.Reference; import com.github.technus.tectech.elementalMatter.core.cElementalInstanceStackMap; import com.github.technus.tectech.elementalMatter.core.stacks.cElementalDefinitionStack; import com.github.technus.tectech.elementalMatter.core.stacks.cElementalInstanceStack; @@ -21,11 +22,13 @@ import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gregtech.common.GT_Pollution; import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import java.lang.reflect.InvocationTargetException; @@ -54,6 +57,11 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt protected static Textures.BlockIcons.CustomIcon ScreenOFF; protected static Textures.BlockIcons.CustomIcon ScreenON; + @SideOnly(Side.CLIENT) + public final static ResourceLocation activitySound=new ResourceLocation(Reference.MODID+":fx_lo_freq"); + @SideOnly(Side.CLIENT) + private SoundLoop activitySoundLoop; + protected ArrayList<GT_MetaTileEntity_Hatch_InputElemental> eInputHatches = new ArrayList<>(); protected ArrayList<GT_MetaTileEntity_Hatch_OutputElemental> eOutputHatches = new ArrayList<>(); protected ArrayList<GT_MetaTileEntity_Hatch_OverflowElemental> eMufflerHatches = new ArrayList<>(); @@ -983,6 +991,27 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_Muffler aMuffler : mMufflerHatches) { aMuffler.getBaseMetaTileEntity().setActive(active); } + }else{ + soundMagic(getActivitySound()); + } + } + + @SideOnly(Side.CLIENT) + protected ResourceLocation getActivitySound(){ + return activitySound; + } + + @SideOnly(Side.CLIENT) + protected void soundMagic(ResourceLocation activitySound){ + if(getBaseMetaTileEntity().isActive()){ + if(activitySoundLoop==null){ + activitySoundLoop =new SoundLoop(activitySound,getBaseMetaTileEntity(),false,true); + Minecraft.getMinecraft().getSoundHandler().playSound(activitySoundLoop); + } + }else { + if(activitySoundLoop!=null) { + activitySoundLoop = null; + } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java new file mode 100644 index 0000000000..a0d7b421aa --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java @@ -0,0 +1,59 @@ +package com.github.technus.tectech.thing.metaTileEntity.multi.base; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.MovingSound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +@SideOnly(Side.CLIENT) +public class SoundLoop extends MovingSound{ + private final boolean whileActive; + private final boolean whileInactive; + private final int worldID; + private boolean fadeMe=false; + + public SoundLoop(ResourceLocation p_i45104_1_, IGregTechTileEntity base, boolean stopWhenActive,boolean stopWhenInactive) { + super(p_i45104_1_); + this.whileActive = stopWhenActive; + this.whileInactive = stopWhenInactive; + xPosF=base.getXCoord(); + yPosF=base.getYCoord(); + zPosF=base.getZCoord(); + worldID=base.getWorld().provider.dimensionId; + repeat=true; + volume=0.001f; + } + + @Override + public void update() { + if(donePlaying) { + return; + } + if(fadeMe) { + volume-=0.05f; + if(volume<0){ + volume=0; + }else if(volume==0){ + donePlaying=true; + } + }else if(volume<1){ + volume+=0.05f; + } else { + volume=1f; + } + World world=Minecraft.getMinecraft().thePlayer.worldObj; + donePlaying=world.provider.dimensionId!=worldID || + !world.checkChunksExist((int)xPosF,(int)yPosF,(int)zPosF,(int)xPosF,(int)yPosF,(int)zPosF); + if(donePlaying) return; + TileEntity tile= world.getTileEntity((int)xPosF,(int)yPosF,(int)zPosF); + if(!(tile instanceof IGregTechTileEntity)) { + donePlaying=true; + return; + } + fadeMe|=((IGregTechTileEntity) tile).isActive()?whileActive:whileInactive; + } +} diff --git a/src/main/resources/assets/tectech/sounds.json b/src/main/resources/assets/tectech/sounds.json index 73c9e62808..c4049f5f02 100644 --- a/src/main/resources/assets/tectech/sounds.json +++ b/src/main/resources/assets/tectech/sounds.json @@ -3,5 +3,45 @@ "category": "block", "subtitle": "tectech.subtitle.microwave_ding", "sounds": [{"name": "microwave_ding","stream": false}] + }, + "fx_alarm": { + "category": "block", + "subtitle": "tectech.subtitle.fx_alarm", + "sounds": [{"name": "fx_alarm","stream": false}] + }, + "fx_click": { + "category": "block", + "subtitle": "tectech.subtitle.fx_click", + "sounds": [{"name": "fx_click","stream": false}] + }, + "fx_lo_freq": { + "category": "block", + "subtitle": "tectech.subtitle.fx_lo_freq", + "sounds": [{"name": "fx_lo_freq","stream": false}] + }, + "fx_mid_freq": { + "category": "block", + "subtitle": "tectech.subtitle.fx_mid_freq", + "sounds": [{"name": "fx_mid_freq","stream": false}] + }, + "fx_hi_freq": { + "category": "block", + "subtitle": "tectech.subtitle.fx_hi_freq", + "sounds": [{"name": "fx_hi_freq","stream": false}] + }, + "fx_noise": { + "category": "block", + "subtitle": "tectech.subtitle.fx_noise", + "sounds": [{"name": "fx_noise","stream": false}] + }, + "fx_woo_uu": { + "category": "block", + "subtitle": "tectech.subtitle.fx_woo_uu", + "sounds": [{"name": "fx_woo_uu","stream": false}] + }, + "fx_whooum": { + "category": "block", + "subtitle": "tectech.subtitle.fx_whooum", + "sounds": [{"name": "fx_whooum","stream": false}] } }
\ No newline at end of file diff --git a/src/main/resources/assets/tectech/sounds/fx_alarm.ogg b/src/main/resources/assets/tectech/sounds/fx_alarm.ogg Binary files differnew file mode 100644 index 0000000000..6156f6b1eb --- /dev/null +++ b/src/main/resources/assets/tectech/sounds/fx_alarm.ogg diff --git a/src/main/resources/assets/tectech/sounds/fx_click.ogg b/src/main/resources/assets/tectech/sounds/fx_click.ogg Binary files differnew file mode 100644 index 0000000000..3211d0d12e --- /dev/null +++ b/src/main/resources/assets/tectech/sounds/fx_click.ogg diff --git a/src/main/resources/assets/tectech/sounds/fx_hi_freq.ogg b/src/main/resources/assets/tectech/sounds/fx_hi_freq.ogg Binary files differnew file mode 100644 index 0000000000..bb21d14ea5 --- /dev/null +++ b/src/main/resources/assets/tectech/sounds/fx_hi_freq.ogg diff --git a/src/main/resources/assets/tectech/sounds/fx_lo_freq.ogg b/src/main/resources/assets/tectech/sounds/fx_lo_freq.ogg Binary files differnew file mode 100644 index 0000000000..8eab2d92e2 --- /dev/null +++ b/src/main/resources/assets/tectech/sounds/fx_lo_freq.ogg diff --git a/src/main/resources/assets/tectech/sounds/fx_mid_freq.ogg b/src/main/resources/assets/tectech/sounds/fx_mid_freq.ogg Binary files differnew file mode 100644 index 0000000000..b16d1297f4 --- /dev/null +++ b/src/main/resources/assets/tectech/sounds/fx_mid_freq.ogg diff --git a/src/main/resources/assets/tectech/sounds/fx_noise.ogg b/src/main/resources/assets/tectech/sounds/fx_noise.ogg Binary files differnew file mode 100644 index 0000000000..0bb3a58dc0 --- /dev/null +++ b/src/main/resources/assets/tectech/sounds/fx_noise.ogg diff --git a/src/main/resources/assets/tectech/sounds/fx_whooum.ogg b/src/main/resources/assets/tectech/sounds/fx_whooum.ogg Binary files differnew file mode 100644 index 0000000000..4e9331924d --- /dev/null +++ b/src/main/resources/assets/tectech/sounds/fx_whooum.ogg diff --git a/src/main/resources/assets/tectech/sounds/fx_woo_uu.ogg b/src/main/resources/assets/tectech/sounds/fx_woo_uu.ogg Binary files differnew file mode 100644 index 0000000000..51a35371a1 --- /dev/null +++ b/src/main/resources/assets/tectech/sounds/fx_woo_uu.ogg |