diff --git a/changelog b/changelog index e69de29bb..1f0e42906 100644 --- a/changelog +++ b/changelog @@ -0,0 +1,22 @@ +## Added + +## Changed +* Updated chinese localization +* Tweaked certain assembler recipes + * Some welded plate requirements have been lowered + * The plasma heater now requires slightly more resources, but yields 4 blocks per operation instead of 1 +* The fractioning tower now requires welded plates, but the total steel cost has been reduced by roughly a third +* The cyclotron now has three automation ports on each side, corresponding with the colors of the three input pairs +* Updated the PWR sound + +## Fixed +* Fixed multi fluid ID's search not behaving correctly +* Fixed jetpack's description using unlocalized fluid names +* Fixed the CM structure wand being broken when used in most directions +* Fixed the custom machine recipe handler using the original references to the output stacks, causing the chance percentage indicator getting stuck on the actual outputs +* Fixed the desh suit's boot models not being separated from the legs +* Fixed dupe caused by defusing TNT-like blocks +* Fixed containment box being able to contain itself when using the number keys, crashing the game +* Fixed a critical game-breaking error where the custom tool's ability toggle is misspelled +* (Hopefully) fixed the vampire ability not firing the onDeath event, causing the target to not drop any items and any death releated events to not happen +* Fixed water creatures vomitting when irradiated, when they logically shouldn't \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java b/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java index b6ea8e4eb..680ea9030 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java @@ -145,8 +145,8 @@ public abstract class BlockTNTBase extends BlockFlammable implements IToolable { if(tool == ToolType.DEFUSER) { if(!world.isRemote) { - world.func_147480_a(x, y, z, true); - this.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0); + world.func_147480_a(x, y, z, false); + this.dropBlockAsItem(world, x, y, z, 0, 0); } return true; } diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 467318ff7..c38cf5755 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -35,6 +35,7 @@ import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -159,7 +160,7 @@ public class EntityEffectHandler { if(HbmLivingProps.getRadiation(entity) > 600) { - if((world.getTotalWorldTime() + r600) % 600 < 20) { + if((world.getTotalWorldTime() + r600) % 600 < 20 && canVomit(entity)) { NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); nbt.setString("mode", "blood"); @@ -173,7 +174,7 @@ public class EntityEffectHandler { } } - } else if(HbmLivingProps.getRadiation(entity) > 200 && (world.getTotalWorldTime() + r1200) % 1200 < 20) { + } else if(HbmLivingProps.getRadiation(entity) > 200 && (world.getTotalWorldTime() + r1200) % 1200 < 20 && canVomit(entity)) { NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); @@ -329,7 +330,7 @@ public class EntityEffectHandler { entity.attackEntityFrom(ModDamageSource.mku, 2F); } - if(contagion < 30 * minute && (contagion + entity.getEntityId()) % 200 < 20) { + if(contagion < 30 * minute && (contagion + entity.getEntityId()) % 200 < 20 && canVomit(entity)) { NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); nbt.setString("mode", "blood"); @@ -633,4 +634,9 @@ public class EntityEffectHandler { props.plinkCooldown--; } } + + private static boolean canVomit(Entity e) { + if(e.isCreatureType(EnumCreatureType.waterCreature, false)) return false; + return true; + } } diff --git a/src/main/java/com/hbm/handler/WeaponAbility.java b/src/main/java/com/hbm/handler/WeaponAbility.java index 60a8ae6b7..919b149a2 100644 --- a/src/main/java/com/hbm/handler/WeaponAbility.java +++ b/src/main/java/com/hbm/handler/WeaponAbility.java @@ -35,6 +35,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; @@ -86,6 +87,7 @@ public abstract class WeaponAbility { EntityLivingBase living = (EntityLivingBase) victim; living.setHealth(living.getHealth() - amount); + if(living.getHealth() <= 0) living.onDeath(DamageSource.magic); player.heal(amount); } } diff --git a/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java b/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java index 17acd394c..f5a4226d2 100644 --- a/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java +++ b/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java @@ -63,7 +63,7 @@ public class CustomMachineHandler extends TemplateRecipeHandler { for(int i = 0; i < 3; i++) if(recipe.outputItems.length > i) { Pair pair = recipe.outputItems[i]; - ItemStack out = pair.getKey(); + ItemStack out = pair.getKey().copy(); if(pair.getValue() != 1) { ItemStackUtil.addTooltipToStack(out, EnumChatFormatting.RED + "" + (((int)(pair.getValue() * 1000)) / 10D) + "%"); } @@ -72,7 +72,7 @@ public class CustomMachineHandler extends TemplateRecipeHandler { for(int i = 3; i < 6; i++) if(recipe.outputItems.length > i) { Pair pair = recipe.outputItems[i]; - ItemStack out = pair.getKey(); + ItemStack out = pair.getKey().copy(); if(pair.getValue() != 1) { ItemStackUtil.addTooltipToStack(out, EnumChatFormatting.RED + "" + (((int)(pair.getValue() * 1000)) / 10D) + "%"); } diff --git a/src/main/java/com/hbm/inventory/container/ContainerLeadBox.java b/src/main/java/com/hbm/inventory/container/ContainerLeadBox.java index 2d015033f..3e8a6d0cf 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerLeadBox.java +++ b/src/main/java/com/hbm/inventory/container/ContainerLeadBox.java @@ -66,6 +66,7 @@ public class ContainerLeadBox extends Container { @Override public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { // prevents the player from moving around the currently open box + if(mode == 2 && button == player.inventory.currentItem) return null; if(index == player.inventory.currentItem + 47) return null; return super.slotClick(index, button, mode, player); } diff --git a/src/main/java/com/hbm/items/armor/JetpackBase.java b/src/main/java/com/hbm/items/armor/JetpackBase.java index 204ddd28b..e5701e3d8 100644 --- a/src/main/java/com/hbm/items/armor/JetpackBase.java +++ b/src/main/java/com/hbm/items/armor/JetpackBase.java @@ -37,7 +37,7 @@ public abstract class JetpackBase extends ItemArmorMod implements IFillableItem @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.LIGHT_PURPLE + fuel.getUnlocalizedName() + ": " + this.getFuel(itemstack) + "mB / " + this.maxFuel + "mB"); + list.add(EnumChatFormatting.LIGHT_PURPLE + fuel.getLocalizedName() + ": " + this.getFuel(itemstack) + "mB / " + this.maxFuel + "mB"); list.add(""); super.addInformation(itemstack, player, list, bool); list.add(EnumChatFormatting.GOLD + "Can be worn on its own!"); diff --git a/src/main/java/com/hbm/items/tool/ItemToolAbility.java b/src/main/java/com/hbm/items/tool/ItemToolAbility.java index f0c4496ad..7fcded778 100644 --- a/src/main/java/com/hbm/items/tool/ItemToolAbility.java +++ b/src/main/java/com/hbm/items/tool/ItemToolAbility.java @@ -208,7 +208,7 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc } list.add("Right click to cycle through abilities!"); - list.add("Sneak-click to turn abilitty off!"); + list.add("Sneak-click to turn ability off!"); } if(!this.hitAbility.isEmpty()) {