diff --git a/changelog b/changelog index aa9da4a6f..d786ea219 100644 --- a/changelog +++ b/changelog @@ -52,6 +52,8 @@ * Reeds rendering into water can now be toggled with the RENDER_REEDS client config * This option is usually enabled by default, unless Angelica is installed * Microwave explosions no longer destroy blocks, only the microwave and nearby players +* Wings can now be used like armor mods +* At higher pollution levels, skeletons can now spawn with guns ## Fixed * The conveyor grabber should no longer skip over items when used in long lines @@ -68,3 +70,4 @@ * Fixed issue regarding mass storage filters when using GTNH-NEI * Fixed DFC emitters calculating their original 98% inefficiency twice when hitting another emitter or tungsten crate * Fixed the wood burner destroying container items like buckets when using lava as fuel +* Fixed pollution serialization for the fluid trait config being wrong diff --git a/gradle.properties b/gradle.properties index a49fdc272..bee7541d3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -49,7 +49,7 @@ credits=HbMinecraft,\ \ Voxelstice (OpenComputers integration, turbine spinup),\ \ BallOfEnergy1 (OpenComputers integration),\ \ sdddddf80 (recipe configs, chinese localization, custom machine holograms),\ - \ Abel1502 (optimization, crate upgrade recipes, strand caster improvements),\ + \ Abel1502 (optimization, crate upgrade recipes, strand caster improvements, varous tweaks),\ \ SuperCraftAlex (tooltips)\ \ Ice-Arrow (research reactor tweaks),\ \ 245tt (anvil GUI improvements),\ diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java index 457c5b639..76ba6e86d 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java @@ -60,12 +60,12 @@ public class FT_Polluting extends FluidTrait { public void serializeJSON(JsonWriter writer) throws IOException { writer.name("release").beginObject(); for(Entry entry : releaseMap.entrySet()) { - writer.name(entry.toString()).value(entry.getValue()); + writer.name(entry.getKey().name()).value(entry.getValue()); } writer.endObject(); writer.name("burn").beginObject(); for(Entry entry : burnMap.entrySet()) { - writer.name(entry.toString()).value(entry.getValue()); + writer.name(entry.getKey().name()).value(entry.getValue()); } writer.endObject(); } diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java index d39a167f8..c47a2f87e 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java @@ -141,16 +141,23 @@ public class XFactoryEnergy { int amount = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory); switch(type) { case EQUIP: return new BusAnimation() - .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 1000, IType.SIN_DOWN)); + .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); case CYCLE: return new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.5 : -1, 100, IType.SIN_DOWN).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.5 : -1, 50, IType.SIN_DOWN).addPos(0, 0, 0, 150, IType.SIN_FULL)) .addBus("CYCLE", new BusAnimationSequence().addPos(0, 0, 0, 150).addPos(0, 0, 22.5, 350)) .addBus("COUNT", new BusAnimationSequence().addPos(amount, 0, 0, 0)); - case CYCLE_DRY: return new BusAnimation() - .addBus("CYCLE", new BusAnimationSequence().addPos(0, 0, 0, 150).addPos(0, 0, 22.5, 350)); + case RELOAD: return new BusAnimation() + .addBus("LEVER", new BusAnimationSequence().addPos(-90, 0, 0, 350, IType.SIN_UP).addPos(-90, 0, 0, 1500).addPos(0, 0, 0, 350, IType.SIN_UP)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 350).addPos(0, -5, 0, 350, IType.SIN_UP).addPos(0, -5, 0, 500).addPos(0, -0.25, 0, 500, IType.SIN_FULL).addPos(0, -0.25, 0, 150).addPos(0, 0, 0, 350)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 1700).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); + case JAMMED: return new BusAnimation() + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(-90, 0, 0, 350, IType.SIN_UP).addPos(-90, 0, 0, 600).addPos(0, 0, 0, 350, IType.SIN_UP)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 350).addPos(0, -2, 0, 200, IType.SIN_UP).addPos(0, -0.25, 0, 250, IType.SIN_FULL).addPos(0, -0.25, 0, 150).addPos(0, 0, 0, 350)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 800).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); case INSPECT: return new BusAnimation() - .addBus("YOMI", new BusAnimationSequence().addPos(8, -4, 0, 0).addPos(4, -1, 0, 500, IType.SIN_DOWN).addPos(4, -1, 0, 1000).addPos(6, -6, 0, 500, IType.SIN_UP)) - .addBus("SQUEEZE", new BusAnimationSequence().addPos(1, 1, 1, 0).addPos(1, 1, 1, 750).addPos(1, 1, 0.5, 125).addPos(1, 1, 1, 125)); + .addBus("LEVER", new BusAnimationSequence().addPos(-90, 0, 0, 350, IType.SIN_UP).addPos(-90, 0, 0, 600).addPos(0, 0, 0, 350, IType.SIN_UP)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 350).addPos(0, -2, 0, 200, IType.SIN_UP).addPos(0, -0.25, 0, 250, IType.SIN_FULL).addPos(0, -0.25, 0, 150).addPos(0, 0, 0, 350)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 800).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); } return null; diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java index 5c007ecd3..23c1d8190 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java @@ -34,10 +34,12 @@ public class ItemRenderLasrifle extends ItemRenderWeaponBase { double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] lever = HbmAnimations.getRelevantTransformation("LEVER"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); - GL11.glTranslated(0, -1, -4); + GL11.glTranslated(0, -1, -6); GL11.glRotated(equip[0], 1, 0, 0); - GL11.glTranslated(0, 1, 4); + GL11.glTranslated(0, 1, 6); GL11.glTranslated(0, 0, recoil[2]); @@ -47,8 +49,18 @@ public class ItemRenderLasrifle extends ItemRenderWeaponBase { ResourceManager.lasrifle.renderPart("Barrel"); ResourceManager.lasrifle.renderPart("Stock"); ResourceManager.lasrifle.renderPart("Scope"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, -0.375, 2.375); + GL11.glRotated(lever[0], 1, 0, 0); + GL11.glTranslated(0, 0.375, -2.375); ResourceManager.lasrifle.renderPart("Lever"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); ResourceManager.lasrifle.renderPart("Battery"); + GL11.glPopMatrix(); GL11.glShadeModel(GL11.GL_FLAT); }