aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2018-01-16 21:50:48 +0100
committerTechnus <daniel112092@gmail.com>2018-01-16 21:50:48 +0100
commit9679be46072c1d1346d13f40b1e4b619a9277a7b (patch)
treebda58a4f02de4ccf67d6d06dedc53e3fca159320
parente5da8603ceeca8aa8a3227d030a3c27aab0c60fe (diff)
downloadGT5-Unofficial-9679be46072c1d1346d13f40b1e4b619a9277a7b.tar.gz
GT5-Unofficial-9679be46072c1d1346d13f40b1e4b619a9277a7b.tar.bz2
GT5-Unofficial-9679be46072c1d1346d13f40b1e4b619a9277a7b.zip
Add sounds
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java10
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java10
-rw-r--r--src/main/java/com/github/technus/tectech/proxy/ClientProxy.java6
-rw-r--r--src/main/java/com/github/technus/tectech/proxy/CommonProxy.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java10
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java3
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java3
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java3
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java7
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java9
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java13
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java14
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java19
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java13
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java23
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java29
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java59
-rw-r--r--src/main/resources/assets/tectech/sounds.json40
-rw-r--r--src/main/resources/assets/tectech/sounds/fx_alarm.oggbin0 -> 14122 bytes
-rw-r--r--src/main/resources/assets/tectech/sounds/fx_click.oggbin0 -> 9928 bytes
-rw-r--r--src/main/resources/assets/tectech/sounds/fx_hi_freq.oggbin0 -> 71722 bytes
-rw-r--r--src/main/resources/assets/tectech/sounds/fx_lo_freq.oggbin0 -> 14802 bytes
-rw-r--r--src/main/resources/assets/tectech/sounds/fx_mid_freq.oggbin0 -> 15252 bytes
-rw-r--r--src/main/resources/assets/tectech/sounds/fx_noise.oggbin0 -> 5413 bytes
-rw-r--r--src/main/resources/assets/tectech/sounds/fx_whooum.oggbin0 -> 17069 bytes
-rw-r--r--src/main/resources/assets/tectech/sounds/fx_woo_uu.oggbin0 -> 17197 bytes
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
new file mode 100644
index 0000000000..6156f6b1eb
--- /dev/null
+++ b/src/main/resources/assets/tectech/sounds/fx_alarm.ogg
Binary files differ
diff --git a/src/main/resources/assets/tectech/sounds/fx_click.ogg b/src/main/resources/assets/tectech/sounds/fx_click.ogg
new file mode 100644
index 0000000000..3211d0d12e
--- /dev/null
+++ b/src/main/resources/assets/tectech/sounds/fx_click.ogg
Binary files differ
diff --git a/src/main/resources/assets/tectech/sounds/fx_hi_freq.ogg b/src/main/resources/assets/tectech/sounds/fx_hi_freq.ogg
new file mode 100644
index 0000000000..bb21d14ea5
--- /dev/null
+++ b/src/main/resources/assets/tectech/sounds/fx_hi_freq.ogg
Binary files differ
diff --git a/src/main/resources/assets/tectech/sounds/fx_lo_freq.ogg b/src/main/resources/assets/tectech/sounds/fx_lo_freq.ogg
new file mode 100644
index 0000000000..8eab2d92e2
--- /dev/null
+++ b/src/main/resources/assets/tectech/sounds/fx_lo_freq.ogg
Binary files differ
diff --git a/src/main/resources/assets/tectech/sounds/fx_mid_freq.ogg b/src/main/resources/assets/tectech/sounds/fx_mid_freq.ogg
new file mode 100644
index 0000000000..b16d1297f4
--- /dev/null
+++ b/src/main/resources/assets/tectech/sounds/fx_mid_freq.ogg
Binary files differ
diff --git a/src/main/resources/assets/tectech/sounds/fx_noise.ogg b/src/main/resources/assets/tectech/sounds/fx_noise.ogg
new file mode 100644
index 0000000000..0bb3a58dc0
--- /dev/null
+++ b/src/main/resources/assets/tectech/sounds/fx_noise.ogg
Binary files differ
diff --git a/src/main/resources/assets/tectech/sounds/fx_whooum.ogg b/src/main/resources/assets/tectech/sounds/fx_whooum.ogg
new file mode 100644
index 0000000000..4e9331924d
--- /dev/null
+++ b/src/main/resources/assets/tectech/sounds/fx_whooum.ogg
Binary files differ
diff --git a/src/main/resources/assets/tectech/sounds/fx_woo_uu.ogg b/src/main/resources/assets/tectech/sounds/fx_woo_uu.ogg
new file mode 100644
index 0000000000..51a35371a1
--- /dev/null
+++ b/src/main/resources/assets/tectech/sounds/fx_woo_uu.ogg
Binary files differ