From 9085dc5f0c666ef65da42cf29bb4a8ae92ffecce Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 19 May 2025 16:12:10 +0200 Subject: [PATCH] :b:alls --- CONTRIBUTING.md | 1 + changelog | 48 ++----------------- .../com/hbm/blocks/bomb/BlockCrashedBomb.java | 2 +- .../inventory/recipes/AssemblerRecipes.java | 26 ++++++++++ .../weapon/sedna/factory/XFactoryTool.java | 2 + .../machine/TileEntityCondenser.java | 13 +---- 6 files changed, 36 insertions(+), 56 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c900bddfa..8e1acbedf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,6 +13,7 @@ Things you should also avoid include: * duplicate util functions (just use what we have, man) * unused or half finished util functions (for obvious reasons) * half finished or obviously broken features (à la "bob will fix it, i'm sure of it", please don't do that) +* updating the changelog (you're guaranteed to cause a merge conflict with that) ## Test your code diff --git a/changelog b/changelog index 947d5839a..87762a2d6 100644 --- a/changelog +++ b/changelog @@ -1,47 +1,7 @@ -## Added -* Sandbags - * Connect to other sandbags or solid blocks - * Pretty -* Wooden barrier - * Pretty - * Automatically walls off connected solid blocks in addition to the direction it was placed in -* Some other wooden blocks like a roof, ceiling and scaffold -* Flow control pump - * The fluid equivalent to a diode - * Supports up to 10,000mB/t - * Unlike the diode, it is configured via GUI - * Can be shut off with redstone like a fluid valve -* Charge thrower - * A new weapon/tool - * Can fire two tiers of demolition charges or a grappling hook - * The grappling hook's line can be controlled via left and right mouse buttons -* Anti-materiel rifle - * Fires 12.7mm of fun - * x5 magnification scope - ## Changed -* Increased bayonet damage from 5 to 7.5 hearts -* Two numeric redstone over radio signals sent over the same channel will now be added together instead of one signal replacing the other - * This means that reading the fill state of multiple batteries over the same channel should result the combined fill state of all batteries -* Halved base spread of the .22 SMG -* Certain secret guns now have a proper way of being obtained -* Demolition mini nukes now create fire again -* New server configs - * `CRATE_OPEN_HELD` can toggle whether crates can be opened when held - * `CRATE_KEEP_CONTENTS` can toggle whether crates keep their contents when broken - * `ITEM_HAZARD_DROP_TICKRATE` can change the time between ticks for dropped item hazard checks (gunpowder, lithium), default is 2, lowest is 1 -* Duds now have multiple variants - * Dismantling different variants yields different drops - * Magnetic extraction can no longer be performed -* `isItemBlacklisted` on the item hazard checks now employs caching instead of doing a full ore dictionary lookup for every single check, this should make it marginally more performant -* The unfinished trains stuff is no longer listed in the creative tabs +* All compound plates can now also be made in the assembler ## Fixed -* Fixed RoR controller having the wrong recipe -* Either fixed the crate dupe/voiding issues or made them even worse -* Fixed skeletons and pedestals allowing blocks to be placed inside the player -* Fixed artillery shells not playing the explosion animation when directly impacting entities -* Fixed bauxite and malachite vein toggles being on backwards -* Fixed pneumatic tube order settings not saving -* Fixed crash caused by launching ABMs with blank target designators -* Fixed particle source throwing errors when trying to save nonexistant particles +* Fixed all dud variants having the balefire explosion effect +* Fixed demolition charges being able to explode multiple times when hitting entities +* Condensers are no longer affected by post-impact effects, fixing an issue where HP condenser tanks would go into the negatives \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java b/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java index 811d2a128..5a2e037b4 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java @@ -83,8 +83,8 @@ public class BlockCrashedBomb extends BlockEnumMulti implements ITileEntityProvi if(!world.isRemote) { - world.setBlockToAir(x, y, z); EnumDudType type = EnumUtil.grabEnumSafely(EnumDudType.class, world.getBlockMetadata(x, y, z)); + world.setBlockToAir(x, y, z); if(type == type.BALEFIRE) { EntityBalefire bf = new EntityBalefire(world); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 935f371ed..b416a49a9 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -1075,6 +1075,31 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.motor, 4), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BISMOID) }, 100); + + + /// PLATES /// + makeRecipe(new ComparableStack(ModItems.plate_desh, 4), new AStack[] { + new OreDictStack(DESH.ingot(), 4), + new OreDictStack(ANY_PLASTIC.dust(), 2), + new OreDictStack(DURA.ingot(), 1), + }, 200); + makeRecipe(new ComparableStack(ModItems.plate_bismuth, 1), new AStack[] { + new ComparableStack(ModItems.nugget_bismuth, 2), + new OreDictStack(U238.billet(), 2), + new OreDictStack(NB.dust(), 1), + }, 200); + makeRecipe(new ComparableStack(ModItems.plate_euphemium, 1), new AStack[] { + new OreDictStack(EUPH.ingot(), 4), + new OreDictStack(AT.dust(), 3), + new OreDictStack(BI.dust(), 1), + new OreDictStack(VOLCANIC.gem(), 1), + new ComparableStack(ModItems.ingot_osmiridium), + }, 600); + makeRecipe(new ComparableStack(ModItems.plate_dineutronium, 4), new AStack[] { + new OreDictStack(DNT.ingot(), 4), + new ComparableStack(ModItems.powder_spark_mix, 2), + new OreDictStack(DESH.ingot(), 1), + }, 600); makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.NUKA)), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10); makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.QUANTUM)), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10); @@ -1239,6 +1264,7 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(DURA.bolt(), 16), new ComparableStack(ModItems.motor, 2) }, 200); + makeRecipe(new ComparableStack(ModBlocks.large_vehicle_door, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 16), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 16), new OreDictStack("dyeGreen", 4)}, 400); makeRecipe(new ComparableStack(ModBlocks.water_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 16), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeRed", 1)}, 200); makeRecipe(new ComparableStack(ModBlocks.qe_containment, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 4), new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 32), new OreDictStack("dyeBlack", 4)}, 400); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java index 8fc728847..f010af5a2 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java @@ -71,6 +71,7 @@ public class XFactoryTool { vnt.setPlayerProcessor(new PlayerProcessorStandard()); vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F)); vnt.explode(); + bullet.setDead(); }; public static BiConsumer LAMBDA_MORTAR_CHARGE = (bullet, mop) -> { @@ -82,6 +83,7 @@ public class XFactoryTool { vnt.setPlayerProcessor(new PlayerProcessorStandard()); ExplosionCreator.composeEffectSmall(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord); vnt.explode(); + bullet.setDead(); }; public static void init() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java index f29d0c0c1..31eaee685 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java @@ -6,7 +6,6 @@ import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.saveddata.TomSaveData; import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IConfigurableMachine; @@ -17,7 +16,6 @@ import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IInfoProviderEC; import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.EnumSkyBlock; public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidStandardTransceiver, IInfoProviderEC, IConfigurableMachine, IBufPacketReceiver, IFluidCopiable { @@ -75,15 +73,8 @@ public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidS if(convert > 0) this.waterTimer = 20; - - int light = this.worldObj.getSavedLightValue(EnumSkyBlock.Sky, this.xCoord, this.yCoord, this.zCoord); - - if(TomSaveData.forWorld(worldObj).fire > 1e-5 && light > 7) { // Make both steam and water evaporate during firestorms... - tanks[1].setFill(tanks[1].getFill() - convert); - } else { - tanks[1].setFill(tanks[1].getFill() + convert); - } - + + tanks[1].setFill(tanks[1].getFill() + convert); postConvert(convert); }