n643064 / Apocalypse

Allows zombies to break blocks
Other
3 stars 1 forks source link

Block breaking #11

Open ArieTheTrainGirl opened 2 weeks ago

ArieTheTrainGirl commented 2 weeks ago

I've noticed an issue with the Fabric 1.20.4 release 1.1.1.

When I have the maximumTargetHardness set to 1.1 in the config, zombies can break through most blocks except extremely hard ones like Obsidian. This includes wood, cobblestone, quartz blocks, and even iron blocks.

When I have the maximumTargetHardness set to 1, zombies can only break through extremely soft blocks like moss blocks.

Unless there's something I'm missing I believe this to be a bug? Here's my config for reference: { "horde": { "enabled": true, "cooldownMin": 1440, "cooldownMax": 2160, "distanceMin": 30, "distanceMax": 70, "ZombieAmountMin": 20, "ZombieAmountMax": 35, "PersistentZombies": true }, "zombie": { "attackSpeed": 1.4, "burnsInDaylight": true, "avoidSunlight": true, "pathThroughDoors": true, "enablePounce": true, "pounceVelocity": 0.2, "pouncePriority": 12, "revengeEnabled": true, "groupRevengeEnabled": false, "revengePriority": 1, "targets": [ "minecraft:player,2,false,false", "minecraft:villager,3,true,false", "minecraft:wandering_trader,3,true,false", "minecraft:iron_golem,1,true,false", "minecraft:sheep,3,true,false", "minecraft:cow,3,true,false", "minecraft:pig,3,true,false" ], "enableDigging": true, "blockBreakPriority": 2, "dropBrokenBlocks": true, "instantDoorBreak": false, "climbEachOther": true, "climbingVelocity": 0.2, "instantDoorBreakHardness": 1.0, "diggingProgressTick": 0.03, "maximumTargetHardness": 1.1, "modifyPiglins": false } }

n643064 commented 2 weeks ago

maximumTargetHardness is declared as an integer, so if you use a number with a decimal part, like 1.1, the json deserializer will fail to parse it, crash, and the default config, which has maximumTargetHardness set to 20, will remain in use.

ArieTheTrainGirl commented 1 week ago

That explains a lot.... I noticed shortly after the fact that the config was being ignored. Are there plans to fix or declare config errors in the event of an invalid config? I never saw any logs that would have indicated as such.