🅱️alls

This commit is contained in:
Boblet 2025-05-19 16:12:10 +02:00
parent 345fe2ef06
commit 9085dc5f0c
6 changed files with 36 additions and 56 deletions

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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);

View File

@ -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<EntityBulletBaseMK4, MovingObjectPosition> 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() {

View File

@ -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);
}