From 06e5e7eaa267d0123f5142e2cddea92bb082cc18 Mon Sep 17 00:00:00 2001 From: 70000hp <105080577+70000hp@users.noreply.github.com> Date: Wed, 25 Mar 2026 14:13:31 -0300 Subject: [PATCH] crane is done? maybe --- .../com/hbm/blocks/generic/LogicBlock.java | 5 ++ .../java/com/hbm/main/ModEventHandler.java | 10 +-- .../java/com/hbm/main/StructureManager.java | 2 +- src/main/java/com/hbm/util/MobUtil.java | 69 ++++++++++++++++-- .../hbm/world/gen/util/LogicBlockActions.java | 15 +++- .../assets/hbm/structures/crane_mod.nbt | Bin 14682 -> 14651 bytes 6 files changed, 84 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/hbm/blocks/generic/LogicBlock.java b/src/main/java/com/hbm/blocks/generic/LogicBlock.java index 5487f4263..e78a85355 100644 --- a/src/main/java/com/hbm/blocks/generic/LogicBlock.java +++ b/src/main/java/com/hbm/blocks/generic/LogicBlock.java @@ -56,6 +56,11 @@ public class LogicBlock extends BlockContainer { return this != ModBlocks.logic_block_invis; } + @Override + public int getRenderType() { + return this == ModBlocks.logic_block_invis ? -1 : 0; + } + @Override public boolean onBlockActivated(World worldIn, int x, int y, int z, EntityPlayer player, int side, float subX, float subY, float subZ) { TileEntity te = worldIn.getTileEntity(x, y, z); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 2284c4c70..931502cde 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -398,10 +398,10 @@ public class ModEventHandler { MobUtil.equipFullSet(entity, ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots); return; } - slotPools = MobUtil.slotPoolCommon; + slotPools = MobUtil.slotPoolCommonS; } else if(entity instanceof EntitySkeleton) { - slotPools = MobUtil.slotPoolRanged; + slotPools = MobUtil.slotPoolRangedS; ItemStack bowReplacement = getSkelegun(soot, world.rand); slotPools.put(0, createSlotPool(50, bowReplacement != null ? new Object[][]{{bowReplacement, 1}} : new Object[][]{})); } @@ -506,7 +506,7 @@ public class ModEventHandler { @SubscribeEvent public void onLivingUpdate(LivingUpdateEvent event) { - + if(event.entityLiving instanceof EntityCreeper && event.entityLiving.getEntityData().getBoolean("hfr_defused")) { ItemModDefuser.defuse((EntityCreeper) event.entityLiving, null, false); } @@ -516,7 +516,7 @@ public class ModEventHandler { if(event.entityLiving instanceof EntityPlayerMP && prevArmor != null && event.entityLiving.getHeldItem() != null && (prevArmor[0] == null || prevArmor[0].getItem() != event.entityLiving.getHeldItem().getItem()) && event.entityLiving.getHeldItem().getItem() instanceof IEquipReceiver) { - + ((IEquipReceiver)event.entityLiving.getHeldItem().getItem()).onEquip((EntityPlayer) event.entityLiving, event.entityLiving.getHeldItem()); } @@ -1193,7 +1193,7 @@ public class ModEventHandler { int y = event.y; int z = event.z; World world = event.world; - + if(GeneralConfig.enable528ExplosiveEnergistics && !world.isRemote && event.action == Action.RIGHT_CLICK_BLOCK) { Block b = world.getBlock(x, y, z); String name = Block.blockRegistry.getNameForObject(b); diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java index 639f9a402..1fa86803a 100644 --- a/src/main/java/com/hbm/main/StructureManager.java +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -84,7 +84,7 @@ public class StructureManager { public static final NBTStructure plane2 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed_plane_2.nbt")); public static final NBTStructure factory = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/factory.nbt")); - public static final NBTStructure crane = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crane.nbt")); + public static final NBTStructure crane = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crane_mod.nbt")); public static final NBTStructure broadcasting_tower = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/broadcasting_tower.nbt")); public static final NBTStructure excavator = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/excavator.nbt")); diff --git a/src/main/java/com/hbm/util/MobUtil.java b/src/main/java/com/hbm/util/MobUtil.java index 803619357..f16795a0f 100644 --- a/src/main/java/com/hbm/util/MobUtil.java +++ b/src/main/java/com/hbm/util/MobUtil.java @@ -14,7 +14,11 @@ import java.util.*; public class MobUtil { + //for soot mobs + public static Map> slotPoolCommonS = new HashMap<>(); + public static Map> slotPoolRangedS = new HashMap<>(); + //for gob block public static Map> slotPoolCommon = new HashMap<>(); public static Map> slotPoolRanged = new HashMap<>(); @@ -33,25 +37,73 @@ public class MobUtil { public static Map> slotPoolMelee = new HashMap<>(); public static void intializeMobPools(){ - slotPoolCommon.put(4, createSlotPool(8000, new Object[][]{ //new slots, smooth, brushed, no wrinkles // old slots, wrinkled, rusty, not smooth + //soot mobs + slotPoolCommonS.put(4, createSlotPool(8000, new Object[][]{ //new slots, smooth, brushed, no wrinkles // old slots, wrinkled, rusty, not smooth {ModItems.gas_mask_m65, 16}, {ModItems.gas_mask_olde, 12}, {ModItems.mask_of_infamy, 8}, {ModItems.gas_mask_mono, 8}, {ModItems.robes_helmet, 32}, {ModItems.no9, 16}, {ModItems.cobalt_helmet, 2}, {ModItems.rag_piss, 1}, {ModItems.hat, 1}, {ModItems.alloy_helmet, 2}, {ModItems.titanium_helmet, 4}, {ModItems.steel_helmet, 8} })); - slotPoolCommon.put(3, createSlotPool(7000, new Object[][]{ + slotPoolCommonS.put(3, createSlotPool(7000, new Object[][]{ {ModItems.starmetal_plate, 1}, {ModItems.cobalt_plate, 2}, {ModItems.robes_plate, 32}, {ModItems.jackt, 32}, {ModItems.jackt2, 32}, {ModItems.alloy_plate, 2}, {ModItems.steel_plate, 2} })); - slotPoolCommon.put(2, createSlotPool(7000, new Object[][]{ + slotPoolCommonS.put(2, createSlotPool(7000, new Object[][]{ {ModItems.zirconium_legs, 1}, {ModItems.cobalt_legs, 2}, {ModItems.steel_legs, 16}, {ModItems.titanium_legs, 8}, {ModItems.robes_legs, 32}, {ModItems.alloy_legs, 2} })); - slotPoolCommon.put(1, createSlotPool(7000, new Object[][]{ + slotPoolCommonS.put(1, createSlotPool(7000, new Object[][]{ {ModItems.robes_boots, 32}, {ModItems.steel_boots, 16}, {ModItems.cobalt_boots, 2}, {ModItems.alloy_boots, 2} })); - slotPoolCommon.put(0, createSlotPool(10000, new Object[][]{ + slotPoolCommonS.put(0, createSlotPool(10000, new Object[][]{ + {ModItems.pipe_lead, 30}, {ModItems.crowbar, 25}, {ModItems.geiger_counter, 20}, + {ModItems.reer_graar, 16}, {ModItems.steel_pickaxe, 12}, {ModItems.stopsign, 10}, + {ModItems.sopsign, 8}, {ModItems.chernobylsign, 6}, {ModItems.steel_sword, 15}, + {ModItems.titanium_sword, 8}, {ModItems.lead_gavel, 4}, {ModItems.wrench_flipped, 2}, + {ModItems.wrench, 20} + })); + + slotPoolRangedS.put(4, createSlotPool(8000, new Object[][]{ + {ModItems.gas_mask_m65, 16}, {ModItems.gas_mask_olde, 12}, {ModItems.mask_of_infamy, 8}, + {ModItems.gas_mask_mono, 8}, {ModItems.robes_helmet, 32}, {ModItems.no9, 16}, + {ModItems.rag_piss, 1}, {ModItems.goggles, 1}, {ModItems.alloy_helmet, 2}, + {ModItems.titanium_helmet, 4}, {ModItems.steel_helmet, 8} + })); + slotPoolRangedS.put(3, createSlotPool(7000, new Object[][]{ + {ModItems.starmetal_plate, 1}, {ModItems.cobalt_plate, 2}, {ModItems.alloy_plate, 2}, //sadly they cant wear jackets bc it breaks it + {ModItems.steel_plate, 8}, {ModItems.titanium_plate, 4} + })); + slotPoolRangedS.put(2, createSlotPool(7000, new Object[][]{ + {ModItems.zirconium_legs, 1}, {ModItems.cobalt_legs, 2}, {ModItems.steel_legs, 16}, + {ModItems.titanium_legs, 8}, {ModItems.robes_legs, 32}, {ModItems.alloy_legs, 2}, + })); + slotPoolRangedS.put(1, createSlotPool(10000, new Object[][]{ + {ModItems.robes_boots, 32}, {ModItems.steel_boots, 16}, {ModItems.cobalt_boots, 2}, {ModItems.alloy_boots, 2}, + {ModItems.titanium_boots, 6} + })); + + //gob block + //soot mobs + slotPoolCommon.put(4, createSlotPool(0, new Object[][]{ //new slots, smooth, brushed, no wrinkles // old slots, wrinkled, rusty, not smooth + {ModItems.gas_mask_m65, 16}, {ModItems.gas_mask_olde, 12}, {ModItems.mask_of_infamy, 8}, + {ModItems.gas_mask_mono, 8}, {ModItems.robes_helmet, 32}, {ModItems.no9, 16}, + {ModItems.cobalt_helmet, 2}, {ModItems.rag_piss, 1}, {ModItems.hat, 1}, {ModItems.alloy_helmet, 2}, + {ModItems.titanium_helmet, 4}, {ModItems.steel_helmet, 8} + })); + slotPoolCommon.put(3, createSlotPool(10, new Object[][]{ + {ModItems.starmetal_plate, 1}, {ModItems.cobalt_plate, 2}, {ModItems.robes_plate, 32}, + {ModItems.jackt, 32}, {ModItems.jackt2, 32}, {ModItems.alloy_plate, 2}, + {ModItems.steel_plate, 2} + })); + slotPoolCommon.put(2, createSlotPool(20, new Object[][]{ + {ModItems.zirconium_legs, 1}, {ModItems.cobalt_legs, 2}, {ModItems.steel_legs, 16}, + {ModItems.titanium_legs, 8}, {ModItems.robes_legs, 32}, {ModItems.alloy_legs, 2} + })); + slotPoolCommon.put(1, createSlotPool(10, new Object[][]{ + {ModItems.robes_boots, 32}, {ModItems.steel_boots, 16}, {ModItems.cobalt_boots, 2}, {ModItems.alloy_boots, 2} + })); + slotPoolCommon.put(0, createSlotPool(1000, new Object[][]{ {ModItems.pipe_lead, 30}, {ModItems.crowbar, 25}, {ModItems.geiger_counter, 20}, {ModItems.reer_graar, 16}, {ModItems.steel_pickaxe, 12}, {ModItems.stopsign, 10}, {ModItems.sopsign, 8}, {ModItems.chernobylsign, 6}, {ModItems.steel_sword, 15}, @@ -78,6 +130,7 @@ public class MobUtil { {ModItems.titanium_boots, 6} })); + //soot guns slotPoolGuns.put(0.3, createSlotPool(new Object[][]{ {ModItems.gun_light_revolver, 16}, {ModItems.gun_greasegun, 8}, {ModItems.gun_maresleg, 2} })); @@ -111,9 +164,9 @@ public class MobUtil { {ModItems.t51_boots, 4}, {ModItems.hazmat_boots, 6}, {ModItems.robes_boots, 8} })); - slotPoolAdv.put(0, createSlotPool(new Object[][]{ - {ModItems.pipe_lead, 20}, {ModItems.crowbar, 30}, {ModItems.geiger_counter, 20}, - {ModItems.reer_graar, 20}, {ModItems.wrench_flipped, 12}, {ModItems.stopsign, 16}, + slotPoolAdv.put(0, createSlotPool(500,new Object[][]{ + {ModItems.pipe_lead, 20}, {ModItems.crowbar, 10}, {ModItems.geiger_counter, 10}, + {ModItems.reer_graar, 20}, {ModItems.wrench_flipped, 20}, {ModItems.stopsign, 16}, {ModItems.sopsign, 4}, {ModItems.chernobylsign, 16}, {ModItems.titanium_sword, 18}, {ModItems.lead_gavel, 8}, {ModItems.wrench, 20} diff --git a/src/main/java/com/hbm/world/gen/util/LogicBlockActions.java b/src/main/java/com/hbm/world/gen/util/LogicBlockActions.java index 2a9db50d0..0aebf583b 100644 --- a/src/main/java/com/hbm/world/gen/util/LogicBlockActions.java +++ b/src/main/java/com/hbm/world/gen/util/LogicBlockActions.java @@ -2,7 +2,6 @@ package com.hbm.world.gen.util; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.bomb.BlockChargeBase; import com.hbm.blocks.generic.BlockSkeletonHolder; import com.hbm.blocks.generic.LogicBlock; import com.hbm.entity.item.EntityFallingBlockNT; @@ -201,6 +200,14 @@ public class LogicBlockActions { for (int i = 0; i < 3; i++) { EntitySkeleton mob = new EntitySkeleton(world); mob.setPositionAndRotation(x, y, z, 0, 0); + EntityAIFireGun gunTask = new EntityAIFireGun(mob); + gunTask.minWait = 4; + gunTask.maxWait = 5; + gunTask.maxRange = 50; + gunTask.burstTime = 6; + gunTask.inaccuracy = 5F; + gunTask.randomBurst = false; + MobUtil.addFireTask(mob, gunTask); MobUtil.assignItemsToEntity(mob, MobUtil.slotPoolGunsTier2, new Random()); MobUtil.assignItemsToEntity(mob, MobUtil.slotPoolRanged, new Random()); world.spawnEntityInWorld(mob); @@ -221,8 +228,9 @@ public class LogicBlockActions { EntityAIFireGun gunTask = new EntityAIFireGun(mob); gunTask.minWait = 4; gunTask.maxWait = 5; + gunTask.maxRange = 100; gunTask.burstTime = 6; - gunTask.inaccuracy = 5F; + gunTask.inaccuracy = 1F; gunTask.randomBurst = false; MobUtil.addFireTask(mob, gunTask); MobUtil.assignItemsToEntity(mob, MobUtil.slotPoolGunsTier3, new Random()); @@ -436,7 +444,7 @@ public class LogicBlockActions { TileEntity te = world.getTileEntity(x, y + 1, z); if (te instanceof TileEntityCharge) { TileEntityCharge bomb = (TileEntityCharge) te; - bomb.timer = 200; + bomb.timer = 1200; } } @@ -446,6 +454,7 @@ public class LogicBlockActions { TileEntityCharge bomb = (TileEntityCharge) te; bomb.started = true; } + world.setBlock(x, y, z, ModBlocks.block_steel); } diff --git a/src/main/resources/assets/hbm/structures/crane_mod.nbt b/src/main/resources/assets/hbm/structures/crane_mod.nbt index 7a13e830d6a23aeb89072e798d9848bc74773ba3..fe86cd9b065a4172d64ba488825a1e7bfafb457c 100644 GIT binary patch literal 14651 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 literal 14682 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 R7)k8O%`$G0a+Y~{{vY2fu@3+M