mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
guh
This commit is contained in:
parent
7ba7f8c6c6
commit
f97076bb94
16
changelog
16
changelog
@ -1,15 +1,3 @@
|
||||
## Changed
|
||||
* Removed most legacy boilers
|
||||
* Electric boilers have been completely removed
|
||||
* Fired boilers no longer have an on-state, GUI or functionality
|
||||
* Fired boilers still sometimes spawn in certain structures as loot, they drop 3-6 steel scraps containing 1 ingot worth of steel each
|
||||
* The rare earth chunk texture is now consistent with the bedrock ores
|
||||
* Removed the unused watz control elements
|
||||
|
||||
## Fixed
|
||||
* Fixed automatic crafting table filters being broken
|
||||
* Fixed missing localization for black lung death messages
|
||||
* Fixed disconnect caused by using a filter on the autocrafter's template output slot
|
||||
* Fixed sentry turret "Brown" being uncraftable
|
||||
* Fixed instant crash caused by processing some bedrock ores in an electrolyzer
|
||||
* Disabled unused debug code for reflection testing
|
||||
* Fixed crash caused by decontaminating items with the radiolysis machine
|
||||
* Fixed ICFs not forming correctly depending on the orientation
|
||||
@ -3,7 +3,6 @@ package com.hbm.main;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Random;
|
||||
@ -155,8 +154,6 @@ public class ModEventHandlerClient {
|
||||
public static long flashTimestamp;
|
||||
public static final int shakeDuration = 1_500;
|
||||
public static long shakeTimestamp;
|
||||
public static List<DelayedSound> delayedSounds = new ArrayList();
|
||||
public static boolean soundLock = false; // for thread safety or some bullshit
|
||||
|
||||
@SubscribeEvent
|
||||
public void onOverlayRender(RenderGameOverlayEvent.Pre event) {
|
||||
@ -1385,23 +1382,6 @@ public class ModEventHandlerClient {
|
||||
client.sendQueue.addToSendQueue(new C0CPacketInput(client.moveStrafing, client.moveForward, client.movementInput.jump, client.movementInput.sneak));
|
||||
}
|
||||
}
|
||||
|
||||
if(event.phase == event.phase.START) {
|
||||
|
||||
while(soundLock);
|
||||
soundLock = true;
|
||||
Iterator<DelayedSound> it = delayedSounds.iterator();
|
||||
|
||||
while(it.hasNext()) {
|
||||
DelayedSound sound = it.next();
|
||||
if(sound.delay == 0) {
|
||||
MainRegistry.proxy.playSoundClient(sound.x, sound.y, sound.z, sound.sound, sound.volume, sound.pitch);
|
||||
it.remove();
|
||||
}
|
||||
sound.delay--;
|
||||
}
|
||||
soundLock = false;
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@ -1432,21 +1412,4 @@ public class ModEventHandlerClient {
|
||||
else if(d < 0.2) main.splashText = "Can someone tell me what corrosive fumes the people on Reddit are huffing so I can avoid those more effectively?";
|
||||
}
|
||||
}
|
||||
|
||||
public static class DelayedSound {
|
||||
public String sound;
|
||||
public int delay;
|
||||
public double x, y, z;
|
||||
public float volume, pitch;
|
||||
|
||||
public DelayedSound(String sound, int delay, double x, double y, double z, float volume, float pitch) {
|
||||
this.sound = sound;
|
||||
this.delay = delay;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.volume = volume;
|
||||
this.pitch = pitch;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,8 +2,6 @@ package com.hbm.particle.helper;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.main.ModEventHandlerClient;
|
||||
import com.hbm.main.ModEventHandlerClient.DelayedSound;
|
||||
import com.hbm.particle.ParticleDebris;
|
||||
import com.hbm.particle.ParticleMukeWave;
|
||||
import com.hbm.particle.ParticleRocketFlame;
|
||||
@ -13,16 +11,18 @@ import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
import net.minecraft.client.renderer.texture.TextureManager;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ExplosionCreator implements IParticleCreator {
|
||||
|
||||
public static final double speedOfSound = (17.15D) * 0.33;
|
||||
public static final double speedOfSound = (17.15D) * 0.5;
|
||||
|
||||
public static void composeEffect(World world, double x, double y, double z, int cloudCount, float cloudScale, float cloudSpeedMult, float waveScale,
|
||||
int debrisCount, int debrisSize, int debrisRetry, float debrisVelocity, float debrisHorizontalDeviation, float debrisVerticalOffset, float soundRange) {
|
||||
@ -71,11 +71,9 @@ public class ExplosionCreator implements IParticleCreator {
|
||||
float dist = (float) player.getDistance(x, y, z);
|
||||
|
||||
if(dist <= soundRange) {
|
||||
while(ModEventHandlerClient.soundLock);
|
||||
ModEventHandlerClient.soundLock = true;
|
||||
String sound = dist <= soundRange * 0.4 ? "hbm:weapon.explosionLargeNear" : "hbm:weapon.explosionLargeFar";
|
||||
ModEventHandlerClient.delayedSounds.add(new DelayedSound(sound, (int) (dist / speedOfSound), x, y, z, 1000F, 0.9F + rand.nextFloat() * 0.2F));
|
||||
ModEventHandlerClient.soundLock = false;
|
||||
PositionedSoundRecord positionedsoundrecord = new PositionedSoundRecord(new ResourceLocation(sound), 1000F, 0.9F + rand.nextFloat() * 0.2F, (float) x, (float) y, (float) z);
|
||||
Minecraft.getMinecraft().getSoundHandler().playDelayedSound(positionedsoundrecord, (int) (dist / speedOfSound));
|
||||
}
|
||||
|
||||
// WAVE
|
||||
|
||||
@ -41,12 +41,12 @@ public class TileEntityICFStruct extends TileEntity {
|
||||
}
|
||||
|
||||
/** check block at relative position */
|
||||
public boolean cbarp(Block block, int meta, int x, int y, int z, ForgeDirection dir) {
|
||||
public boolean cbarp(Block block, int meta, int widthwiseOffset, int y, int lengthwiseOffset, ForgeDirection dir) {
|
||||
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
|
||||
|
||||
int ix = xCoord + dir.offsetX * z + rot.offsetX * z;
|
||||
int ix = xCoord + rot.offsetX * lengthwiseOffset + dir.offsetX * widthwiseOffset;
|
||||
int iy = yCoord + y;
|
||||
int iz = zCoord + dir.offsetZ * x + rot.offsetZ * x;
|
||||
int iz = zCoord + rot.offsetZ * lengthwiseOffset + dir.offsetZ * widthwiseOffset;
|
||||
|
||||
return worldObj.getBlock(ix, iy, iz) == block && worldObj.getBlockMetadata(ix, iy, iz) == meta;
|
||||
}
|
||||
|
||||
@ -210,50 +210,38 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement
|
||||
private void sterilize() {
|
||||
if(slots[12] != null) {
|
||||
if(slots[12].getItem() instanceof ItemFood && !(slots[12].getItem() == ModItems.pancake)) {
|
||||
slots[12].stackSize -= 1;
|
||||
if(slots[12].stackSize <= 0)
|
||||
slots[12] = null;
|
||||
this.decrStackSize(12, 1);
|
||||
}
|
||||
|
||||
if(!checkIfValid())
|
||||
return;
|
||||
if(!checkIfValid()) return;
|
||||
|
||||
ItemStack output = slots[12].copy();
|
||||
output.stackSize = 1;
|
||||
|
||||
if(slots[13] == null) {
|
||||
slots[12].stackSize -= output.stackSize;
|
||||
if(slots[12].stackSize <= 0)
|
||||
slots[12] = null;
|
||||
this.decrStackSize(12, output.stackSize);
|
||||
slots[13] = output;
|
||||
slots[13].stackTagCompound.removeTag("ntmContagion");
|
||||
if(slots[13].stackTagCompound.hasNoTags()) {
|
||||
slots[13].stackTagCompound = null;
|
||||
}
|
||||
} else if(slots[13].isItemEqual(output) && slots[13].stackSize + output.stackSize <= slots[13].getMaxStackSize()) {
|
||||
slots[12].stackSize -= output.stackSize;
|
||||
if(slots[12].stackSize <= 0)
|
||||
slots[12] = null;
|
||||
|
||||
this.decrStackSize(12, output.stackSize);
|
||||
slots[13].stackSize += output.stackSize;
|
||||
slots[13].stackTagCompound.removeTag("ntmContagion");
|
||||
if(slots[13].stackTagCompound.hasNoTags()) {
|
||||
slots[13].stackTagCompound = null;
|
||||
if(slots[13].hasTagCompound()) { // redundant but just to be sure
|
||||
slots[13].stackTagCompound.removeTag("ntmContagion");
|
||||
if(slots[13].stackTagCompound.hasNoTags()) {
|
||||
slots[13].stackTagCompound = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkIfValid() {
|
||||
if(slots[12] == null)
|
||||
return false;
|
||||
|
||||
if(!slots[12].hasTagCompound())
|
||||
return false;
|
||||
|
||||
if(!slots[12].getTagCompound().getBoolean("ntmContagion"))
|
||||
return false;
|
||||
|
||||
if(slots[12] == null) return false;
|
||||
if(!slots[12].hasTagCompound()) return false;
|
||||
if(!slots[12].getTagCompound().getBoolean("ntmContagion")) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -72,6 +72,7 @@ public class ShadyUtil {
|
||||
public static Set<String> contributors = Sets.newHashSet(new String[] {
|
||||
"06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf
|
||||
"5bf069bc-5b46-4179-aafe-35c0a07dee8b", //JMF781
|
||||
"ccd9aa1c-26b9-4dde-8f37-b96f8d99de22", //kakseao
|
||||
});
|
||||
|
||||
// simple cryptographic utils
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user