-
Notifications
You must be signed in to change notification settings - Fork 306
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Added activity sound * Added acitivity sound to DTPF * Added missing annotation * Missed one
- Loading branch information
1 parent
3681f2f
commit b0843b0
Showing
6 changed files
with
111 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
package gregtech.client; | ||
|
||
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; | ||
|
||
import cpw.mods.fml.relauncher.Side; | ||
import cpw.mods.fml.relauncher.SideOnly; | ||
import gregtech.api.interfaces.tileentity.IGregTechTileEntity; | ||
|
||
@SideOnly(Side.CLIENT) | ||
public class GT_SoundLoop extends MovingSound { | ||
|
||
private static final float VOLUME_RAMP = 0.0625f; | ||
private final boolean whileActive; | ||
private final boolean whileInactive; | ||
private final int worldID; | ||
private boolean fadeMe = false; | ||
|
||
public GT_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 = VOLUME_RAMP; | ||
} | ||
|
||
@Override | ||
public void update() { | ||
if (donePlaying) { | ||
return; | ||
} | ||
if (fadeMe) { | ||
volume -= VOLUME_RAMP; | ||
if (volume <= 0) { | ||
volume = 0; | ||
donePlaying = true; | ||
} | ||
} else if (volume < 1) { | ||
volume += VOLUME_RAMP; | ||
} | ||
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; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.