infx-0t11.jar
Curse Maven Snippet
What's new
New Features
Ported the MITE spawner mechanics:
- Lifetime (stop after 15 kills): Block spawners in the Overworld, Nether, and End permanently stop spawning after a cumulative total of 15 mobs spawned by that spawner have been killed.
SpawnerLifetimepersists the counter through theinfx:spawner_killsattachment.BaseSpawnerMixingates spawning inserverTick, whileSpawnerEventsrecords kills throughLivingDeathEvent. Only player kills count; environmental deaths and deaths from wearing mobs down do not. Controlled bymobs.spawnerLifetime(default:true). Minecart spawners are unaffected because they have no position marker. - Depth-layered mob selection: Overworld dungeon spawners select mobs based on generation depth (
WorldGenDungeons.pickMobSpawner): surface-level zombies, ghouls, skeletons, and spiders; wights become available at y ≤ 32; demon spiders at y ≤ 16; hellhounds only at y ≤ 0.MonsterRoomFeatureMixinrewrites the type according to y during generation. Themonster_room_mobsdatamap also includes weighted entries for all seven depth-based mobs as a fallback, so any dungeon can potentially spawn them. Controlled bymobs.spawnerDepthLayering(default:true). - Existing
allowSpawnerLightalready exempts spawner spawning from light-level checks while still preventing sunlight ignition. ExistingequipForWorldAgealready handles tension equipment throughFinalizeSpawnEventfor spawner-origin mobs; no additional changes were needed. - Spawner mining already uses modern vanilla
requiresCorrectToolForDropsand requires a proper pickaxe. Experience drops of 15–44 already match MITE, so no increase was made.
- Lifetime (stop after 15 kills): Block spawners in the Overworld, Nether, and End permanently stop spawning after a cumulative total of 15 mobs spawned by that spawner have been killed.
Completed MITE spider web projection:
- When a target is within 8 blocks and reachable by ray tracing, spiders predict the target's movement 10 ticks ahead and fire a web.
- After hitting an entity or block, the web is placed permanently in a replaceable position.
- Demon spiders and burning spiders fire flaming webs and ignite adjacent blocks according to the rules, subject to
mobGriefing. - Phase Spider pursuit now advances randomly by 1–4 nodes along the unfinished path.
Completed Bone King and Wither Skeleton support:
- Added
infx_wither_skeletonwith wither-inflicting melee attacks, fire/lava immunity, a poor-quality iron sword, bone repair, and Bone King inspiration every 20 ticks. - Structure generation, spawn eggs, and dispenser spawning replace the relevant vanilla entity with this entity. The Nether's natural spawn pool remains vanilla.
- Bone King summoning now uses a persistent per-dimension roster, with a maximum of six entries and a 9,600-tick protection period against natural despawning. An expired entry releases its slot with a 5% chance only when the mob is at full health and has no target. Legacy counters in old saves no longer block summoning.
- Added
Completed cactus and light-seeking mechanics:
- A cactus column tracks 0–127 kills through its bottom sand block.
- The top segment decays on random ticks; removing the bottom cactus resets the counter.
- A creeper damaged by a cactus with a kill count greater than one has a 50% chance to receive a 120-tick fuse window.
- Shadows and Invisible Stalkers search every 40 and 200 ticks, respectively, within a 16×4 area for reachable light sources and dismantle them.
Piglin MITE hostility:
- Gold armor no longer pacifies piglins.
PiglinAiMixingatesisWearingSafeArmor,canAdmire, andadmireGoldItem. - Giving or picking up gold ingots no longer triggers bartering.
- When a player kills a piglin, there is a 25% chance to award one payout from the vanilla barter table, filtered through the shared progression rules, including iron-equipment conversion and prohibited-item removal.
- Controlled by
mobs.piglinHostility.
- Gold armor no longer pacifies piglins.
Phantom spawning is now moon-phase based:
- Phantoms spawn only in waves of 1–2 during Blood Moon or Phantom Moon nights.
- Daytime and ordinary nights always reject spawning.
- Controlled by
mobs.phantomMoonSpawns.
Hoglin MITE attributes:
- Health increased from 40 to 50.
- Melee attack increased from 6 to 7.
Ghasts cannot naturally spawn within 48 blocks of a player. Source verification confirmed that the distance is measured from players, not from other ghasts.
Phase Spider spawn weight increased from 5 to 40. This approximates MITE's reliability from 64 spawn attempts; modern spawning determines attempt count before mob type selection, so a literal port is not possible.
Hostile spawn density near strong dungeons is increased:
- The nearby-player hostile cap is multiplied by
1 + stronghold proximity factor. findNearestMapStructureresults are cached per player for 200 ticks, matching MITE'sWorldServer.getStrongholdProximity:2498.
- The nearby-player hostile cap is multiplied by
Day/night timing now matches MITE:
- The moon-phase night window is
[13000, 23000). - This gives 14 hours of day and 10 hours of night, matching MITE's adjusted 5000/19000 values.
- Undead sunlight burning now has a hard MITE daytime gate in
Mob.isSunBurnTick.
- The moon-phase night window is
Blood Moon spawn density is multiplied by 1.5:
- The nearby-player hostile cap is increased 1.5× on Blood Moon nights, including both global and local mob caps.
- MITE's apparent 8→12 chunk “spawn radius” is actually a nearby-player mob-density threshold; the search area remains 17×17 chunks.
Depth-based spawn density:
- The nearby-player hostile cap scales as
8×(1+(64-y)/32). - y=64 gives 1×, y=32 gives 2×, and y=0 gives 3×.
- Deeper areas therefore allow more hostile mobs to accumulate.
- The nearby-player hostile cap scales as
Daily spawn-rate correction:
- Each Overworld day can randomly set the hostile natural-spawn rate to ×0.5, ×2, or ×0.
SpawnRateTrackerpersists the value asSavedData.- Blood Moons and thunderstorms force the modifier back to 1.0.
- This matches MITE's
calcEffectiveHostileMobSpawningRateModifier:612–659.
Nightly spawning cadence:
- Each position rolls for hostile natural spawning every tick using
y<60: 0.1ory≥60: 0.17, multiplied by the rate modifier. - This reproduces MITE's 10%/17% per-tick rhythm.
- Each position rolls for hostile natural spawning every tick using
Thunderstorm exposed-light checking was verified as already covered by vanilla's thunderstorm branch in
Monster.isDarkEnoughToSpawn; this was a false positive and required no implementation.Universal fire transfer:
- A burning hostile mob with no main-hand weapon has a difficulty×0.3 chance to ignite its melee target for
2×difficultyseconds. - This follows MITE's
EntityMob.attackEntityAsMob:209–212.
- A burning hostile mob with no main-hand weapon has a difficulty×0.3 chance to ignite its melee target for
Zombie villager conversion now has the correct difficulty gate:
- On Normal difficulty, zombie conversion is skipped 50% of the time.
- Tool-wielding zombie cancellation and equipment-clearing behavior remain.
Zombie weapon upgrades:
- From day 10 onward, rusty short axes become an additional weapon option on the tension curve.
- This follows MITE's
EntityZombie.addRandomWeapon.
Blood Moon lightning frequency is increased fivefold:
ServerLevel.tickThunderchanges the random bound from 100,000 to 20,000.- This matches MITE's
WorldServer.java:1310.
Blood Moon rain now affects every biome:
- On Blood Moon days,
Level.precipitationAtbypasses the hot-biome “no precipitation” gate. - Deserts, badlands, and other normally dry biomes can receive rain.
- Undead daytime burning immunity and crop watering therefore work in every biome.
- Client rain particles use the same method and follow automatically.
- On Blood Moon days,
Blood Moon red eyes:
EntityRenderer.extractRenderStateassigns hostile mobs the MITE enraged glow color8527390during Blood Moon nights.- In modern Minecraft,
outlineColorcorresponds to the glow-color field from 1.6.4.
Crop blight expanded to vanilla crops:
- Wheat, beetroot, and other vanilla crops have a 25% chance to wilt on each random tick during Blood Moon nights.
BlightTrackerpersists the state throughSavedData, andCropBlock.randomTickintercepts growth.- Wilted crops stop growing, have a 1/64 chance per random tick to die and drop seeds, and can infect adjacent vanilla crops.
- Bone meal cures blight instead of accelerating growth.
- Breaking the block clears its tracking state.
- InfX crops already had this mechanism.
Enderman Blood Moon frenzy exemption completed:
LivingEntityFrenzySpeedMixinno longer applies the ×1.2 speed bonus toInfxEnderman.- The attack-damage exemption was already present, matching MITE's
isFrenzied=false.
Creeper block-explosion radius reduced by ×0.715:
Creeper.explodeCreepermultiplies the explosion-radius parameter forInfxCreeper.- Block radius changes from 3 to 2.145, and charged radius from 6 to 4.29.
- Entity damage continues to use
ExplosionRangesradius 4.4. - The 1.1× entity-radius change was already implemented.
Burning slimes no longer split:
MobSplitEventcancels splitting for burning slimes.- A burning slime disappears directly when it dies.
Completed zombie-family MITE mechanics:
- Baby zombies are disabled: vanilla's 5% baby-zombie roll is cancelled, including jockeys after dismounting.
- Rare drops: a player kill has approximately a 2.5% chance to drop one copper, silver, gold, or iron nugget, using
(5+looting×2)/200. - Food seeking: vanilla zombies walk toward dropped raw meat tagged
#minecraft:meatand eat it. This does not heal them and has a 400-tick cooldown. - Villager conversion: zombies holding digging tools refuse to convert villagers. After conversion, the killer zombie's equipment within 5 blocks is cleared. Vanilla conversion, profession inheritance, and anti-cure behavior remain.
- Block digging: zombies prioritize the column below the target's feet, down to the digger's feet, before digging blocks that obstruct line of sight.
Blood Moon frenzy completed:
- Bone King inspiration and Blood Moon frenzy stack. Skeletons inspired by the Bone King gain an additional +100% base melee attack on Blood Moon nights; previously the two effects were mutually exclusive at +50% each.
- Monsters move at ×1.2 speed during Blood Moon nights through
LivingEntity.getSpeed. - Ranged cooldowns are reduced by ×0.67: skeleton bows and witch projectiles go from 60 to 40 ticks, or approximately 26 ticks when Bone King inspiration also applies.
- Door breaking is twice as fast:
BreakDoorGoal.getDoorBreakTimeis halved, covering ghouls, Invisible Stalkers, and hard-difficulty vanilla zombies.
Moonlight brightness table customized to MITE:
- Overworld regional-difficulty moonlight brightness is set to 0.6 for Blood Moon, 1.0 for Harvest Moon, and 1.1 for Blue Moon/Moon Dog.
- Other phases use
moon phase factor×0.5+0.75, giving 1.25 at full moon and 0.75 at new moon. - This overrides the vanilla phase table in
ServerLevel.getMoonBrightness.
Blood Moon thunderstorm behavior fixed:
- Blood Moon days force a thunderstorm starting at noon (tick 6000) for 13,000 ticks, matching MITE's
World.java:8675. - This replaces the former 6,000-tick daytime trigger.
- Combined with the daytime hard gate, undead do not burn during the Blood Moon daytime window.
- Blood Moon days force a thunderstorm starting at noon (tick 6000) for 13,000 ticks, matching MITE's
Monster cap changed to MITE's 50 mobs per player:
MobCategory.MONSTER.getMaxInstancesPerChunkchanges from 70 to 50.
Completed skeleton-family MITE mechanics:
- Injured skeletons move toward dropped bones within 16 blocks and eat them, restoring 50% of maximum health.
- Bone pickup has a 400-tick cooldown.
- Skeletons are immune to cactus damage.
- Wither Skeletons use InfX iron swords instead of vanilla stone swords. The sword is poor quality, while equipment drops still follow vanilla's 8.5% rule.
- Ancient Corpse Guardians dynamically switch equipment: bow to an ancient-metal dagger when the target is closer than 5 blocks, and back to a bow when using melee weapons and the target is farther than 6 blocks. The check runs every 10 ticks.
Zombie-system refactor:
- The
infx_zombiereplacement entity was removed. Vanilla zombies now receive MITE behavior directly through NeoForge events. FinalizeSpawnEventinjects the smart-zombie state: 1/8 of zombies are smart at birth, and any zombie hit by a player becomes smart. The state persists asinfx.is_smart.- Vanilla attributes are aligned to melee attack 5 and armor 0.
- Zombie digging is driven by
EntityTickEvent.Post: 300×block hardness ticks per hit, 10 hits per block; Blood Moon frenzy halves the time; valid tools accelerate digging by1+strVsBlock×0.5; smart or frenzied zombies can dig bare-handed; soft blocks use a whitelist, with liquid, cactus, and feet-block gates. - Burning zombies seek the nearest log within 16 blocks every 40 ticks and ignite it when a player is near the tree canopy.
LivingDamageEventmakes a zombie smart when it is hit.- Ordinary zombie drops are restored to the vanilla loot table.
- The
Added the MITE Tension difficulty system:
- Tension reads vanilla
chunk.inhabitedTimeand the moon-phase factor fromDimensionType.MOON_BRIGHTNESS_PER_PHASE. - Formula:
clamp(inhabitedTime/3,600,000,0,1)×(hard?1:0.75)+moon phase×0.25. - Hard difficulty caps at 1.5.
mobs.tensionEnabledcan disable the system and fall back to the old day-based curve.- Equipment, enchantment, and boss probabilities use tension.
- Equipment chance is
15%×tension; enchantment chance is10%×tension, with level5+tension×rand(18). - Dirt-element mining cooldowns and spider potion probabilities also use tension.
- Tension reads vanilla
Invisible Stalkers, Ghouls, Shadows, Wights, and Revenants were split from
InfxZombievariants into independent entity classes:InvisibleStalker,Ghoul,Shadow,Wight, andRevenantall extendZombie.- They share
InfxZombieBase. - Each retains its own attributes, sounds, immunities, and behavior.
- The shared base initially disabled babies, underwater conversion, and reinforcements.
Removed the R196 prefix from the monster system:
- Entity NBT keys now use the
infx.namespace, such asinfx.is_smart,infx.summoned_troops, andinfx.phase_evasions. - Method names were renamed to remove R196, for example
checkR196MonsterSpawnRulesbecamecheckMonsterSpawnRules.
- Entity NBT keys now use the
Added symmetric client/server dev-mode validation:
- During login configuration, the client and server exchange the
devModesetting. - A mismatch disconnects the client before entering the world, with an explanatory message.
- Integrated servers and LAN worlds with cheats remain compatible because the server-side configuration switch is still off; ordinary clients can join them.
- During login configuration, the client and server exchange the
Dev mode configuration migration:
- The switch moved out of the
developmentsections ofconfig/infx/infx-common.jsonandconfig/infx/infx-client.json. - It is now stored in
config/infx/infx-devmode.json, usingserver.devModeandclient.devMode, both defaulting to false. - Any old
development.testModefield is ignored. Existing configurations must be re-enabled in the new file.
- The switch moved out of the
“Test mode” was renamed to “dev mode” throughout:
- Class names, configuration keys, network handshake payloads, and language keys now use
testMode→devMode. - The configuration path changed from
infx-testmode.jsontoinfx-devmode.json. - Existing
testModefields are ignored and must be recreated asdevMode.
- Class names, configuration keys, network handshake payloads, and language keys now use
Bug Fixes
Swift Sneak slot corrected:
minecraft:swift_sneakwas incorrectly registered underFOOT_ARMOR_ENCHANTABLE/FEET(boots), contrary to vanilla 26.1 and MITE, which use leggings. It now usesLEG_ARMOR_ENCHANTABLE/LEGS. GameTests now assert that boots do not support it and leggings do.Vanishing and Binding Curse registration restored:
minecraft:vanishing_curse(VANISHING_ENCHANTABLE/ANY) andminecraft:binding_curse(EQUIPPABLE_ENCHANTABLE/ARMOR) were missing fromInfXEnchantments.ALL. Because the source tags usedreplace:true, the vanilla definitions were erased and could not be obtained normally. Both are now registered and included in the source pool. As treasure enchantments, they remain excluded from the enchanting table but can appear in loot and trades.Vanilla armor protection now works:
EquipmentBehaviors.typedProtectionPoints,protectionBonus, andmundaneArmorPointspreviously requiredInfXItems.catalog().equipment(stack)to be non-null, so vanilla armor was skipped. The newpieceBaseProtectionhelper usesarmorProtectionfor InfX equipment and the vanilla ARMOR attribute value for vanilla armor. Non-player paths also convert vanilla armor using an effective coefficient of 1.0 to the 0.5× scale.Vanilla equipment now enters
infx:enchantable/*target tags:ModItemTagsProviderpreviously iterated only over InfX catalog equipment.addVanillaEnchantmentTargetsnow references vanilla item tags for pickaxes, shovels, axes, hoes, swords, and armor, covering durability, efficiency, fortune, silk touch, tree felling, harvesting, fertility, penetration, free movement, chest armor, and all sword-related tags.Club/Mattock/War Hammer inheritance completed:
isDurabilityEnchantablenow includesMATTOCK,WAR_HAMMER, andCLUB.addR196EnchantmentTagsnow includes Club for Stun, Knockback, and Looting, matching MITE inheritance: Club extends Cudgel, Mattock extends Shovel, and War Hammer extends Pickaxe.Vampirism now covers knives and daggers: The old check only accepted
SWORD || SCYTHE, unlike MITE'sinstanceof ItemSword.KNIFE || DAGGERwere added, while silver and mithril exclusions remain.Thorns now supports chainmail chestplates and uses first-match behavior:
CHAINMAIL_CHESTPLATEwas added toINFX_THORNS_ENCHANTABLE, matching MITE's acceptance of allItemCuirass.applyThornsnow uses the first qualifying piece in HEAD → CHEST → LEGS → FEET order instead of the highest enchantment level.Feather Falling now uses first-match behavior: The fall branch of
typedProtectionPointspreviously summed all four pieces. It now returns the first piece with Feather Falling, matching MITE. This mainly affects command/NBT-created multi-piece enchantments.Enchanted books no longer lose additional enchantments: The book branch of
EnchantmentSelector.selectpreviously returned only one random entry and silently discarded the rest. It now returns all entries, up to three, matching MITE'sEnchantmentHelper.addRandomEnchantment.Looting now affects equipment drops and has complete incompatibility rules:
minecraft:lootinglacked anEQUIPMENT_DROPScomponent, so non-InfX custom drops received no Looting bonus. It now addsAddValue(perLevel(0.01F))under the attacker-is-player condition, matching vanilla 26.1. Looting and Silk Touch are now mutually exclusive.Vanilla bows now provide Precision/Recovery/Poisoning data: These enchantments were previously written only by
InfxBowItem.shootProjectile.BowItemProjectileMixinnow redirectsBowItem.shootProjectile'sshootFromRotationcall, covering all bows.InfxBowItemnow only adds its material speed multiplier.Off-hand bows and crossbows no longer read the main hand:
InfxBowItem.shootProjectileandCrossbowItemProjectileMixinnow usegetUseItem(), which correctly identifies the active item duringreleaseUsing. If empty, they fall back to the main-hand item.Baiting now follows the MITE bite-probability model:
infx:baitingpreviously redirectedtimeUntilLuredand shortened the countdown by ×0.9 per level. MITE modifies thechance_indenominator and applies modifiers in a specific order. The ×9/10-per-level effect now lives inFishingRules.lureDelay'schance_inpath, in the order day/night → Blue Moon → rain → Baiting → bait.baitingLureDelaywas renamed tobaitingBiteChance. Vanilla's countdown structure differs from MITE's per-check model, but the expected bite-rate increase is equivalent.Butchering formulas aligned with MITE:
- Horse, donkey, and mule previously shared
1+rand.nextInt(1+butchering)+rand.nextInt(2), which over-rewarded donkeys and mules. - Only ordinary horses now receive the extra
rand.nextInt(2), matching MITE'sEntityHorse.dropFewItems. - Spider-eye drops now include an independent
rand.nextInt(3)==0branch and no longer require that no spider eye has already been generated. - Cow, pig, and sheep Butchering bonus meat now consistently uses
Livestock.isWell. Unhealthy livestock produce no extra meat, independent of listener ordering.
- Horse, donkey, and mule previously shared
Exploded diamond and emerald ore now drop shards: Diamond ore and emerald ore, including deepslate variants, previously used vanilla loot tables after explosions and dropped full gems.
PhysicsEvents.convertExplodedBlocknow emits oneinfx:diamond_shardorinfx:emerald_shardper explosion, with quantity 1 and chance 1.0, matching MITE. Stone material does not trigger explosion loss or zeroing. Lapis, Nether quartz, and coal ore remain future work.Silver armor tooltip corrected:
EquipmentBehaviors.addQualityTooltipincorrectly displayed “+25% damage to undead” for every silver item, including armor, chainmail, and horse armor. That bonus is provided only by a silver main-hand weapon or silver arrow throughMobDamageRules.hasSilverAspect. Non-armor tools, weapons, and arrows now show the undead-damage line; armor shows the negative-effect resistance line.Surface lava lakes removed: The
remove_surface_lava_lakesbiome modifier removesminecraft:lake_lava_surfacefrom every Overworld biome at the LAKES step.NoiseBasedAquiferMixinonly suppresses exposed aquifer lava and cannot affect the placedlake_lava_surfacefeature. Together, both changes remove surface lava lakes while preserving underground lava lakes and aquifer lava.MITE river seagrass fixed:
desert_river,jungle_river, andswamp_riverreused vanilla river generation settings, includingseagrass_river, butSeagrassFeatureused theOCEAN_FLOORheightmap and often missed the water column in shallow or narrow rivers.InfXSeagrassFeaturenow scans downward from the surface until it finds the riverbed, stopping at the first non-water block to avoid decorating cave water.remove_river_seagrassandadd_river_seagrassreplace the feature in the three MITE river biomes withinfx:river_seagrass, count 48, using theWORLD_SURFACEheightmap. Vanilla rivers and frozen rivers retain their original feature.Free Movement now covers cobweb slowdown:
applyFreeMovementResistancepreviously replaced only theMOVEMENT_SPEEDattribute effects from Slowness and Paralysis. ModernWebBlockusesEntity.makeStuckInBlockandstuckSpeedMultiplierinstead.EntityStuckInBlockMixin, together withEntityAccessor, now intercepts this method and softens each movement component toward 1.0 according to free-movement resistance:base+(1-base)×resistance, matching MITE'sgetSpeedBoostVsSlowDown.InfX zombie-family water conversion restored: The
InfxZombieBase.convertsInWater()=falsesuppression was removed. Ghoul, Wight, Revenant, Shadow, and Invisible Stalker now convert into vanilla drowned after spending 600 ticks in water. This restores vanilla behavior, at the cost of losing their InfX traits after conversion.Disarming exemptions added: The
disarmingenchantment no longer affects witches, villagers, wandering traders, or drowned holding a trident. The exemptions are enforced inEnchantmentEvents.disarm.Zombie boss double-roll fixed: The event-level boss roll was removed. Vanilla
Zombie.handleAttributesalready performs the nativedifficultyModifier×0.05boss roll, giving 2–5× health and +0.5–0.75 knockback resistance. The old double roll could produce up to 7× health (140 HP) and resistance of at least 1. Boss selection is now handled only by vanilla.Dev-mode handshake no longer conflicts with cheat-enabled integrated worlds: Integrated servers, including singleplayer and LAN hosts, skip the raw configuration comparison because both sides read the same file. A client with dev mode enabled and a server switch disabled is intentional for cheat-enabled worlds. Dedicated servers still perform the normal comparison.
Blood Moon thunderstorm duration fixed: Forced storms now end at 19:00 (noon plus 13,000 ticks). They are no longer reset every 200 ticks to another 13,000 ticks, which previously extended the storm into the following noon.
Normal zombie conversion no longer receives the 50% penalty twice: The duplicate event implementation was removed. Vanilla
Zombie.killedEntityalready skips conversion 50% of the time on Normal, restoring a net 50% conversion rate instead of 25%.Duplicate equipment rolls removed: The extra
equipForWorldAgecall afterFinalizeSpawnEventwas removed. Equipment probability is no longer squared from0.15Tto1-(1-0.15T)^2.Configuration gates completed:
bloodMoonFrenzynow controls Blood Moon frenzy speed, door breaking, red eyes, and ranged cooldowns throughisBloodMoonFrenzied.- Lightning ×5 and all-biome rain are gated by
world.moonEvents. - Crop blight has a new
world.bloodMoonBlightswitch. - The 50-mob cap is gated by
mobs.enabled.
Ghoul slowdown weakened: The hit slowdown amplifier was reduced from 5 (90%) to 2 (45%), preventing near-total immobilization.
zombifiesVillagershook connected: The base class now overridesconvertVillagerToZombieVillagerand gates conversion according to its return value. Invisible Stalkers therefore never convert villagers, while other new mobs retain default behavior.Wither Skeleton duplicate equipment source removed: The no-quality iron-sword branch in
VanillaMobEquipmentMixinwas removed becauseWitherSkeletonDropsMixinimmediately replaced it with a poor-quality iron sword.Enderman pearl and eye pickup changed: Endermen now teleport to safe landing spots with two blocks of headroom instead of actively pathfinding to pick up ender pearls or eyes. Random teleportation and damage-triggered teleportation remain.
Phase Spider evasion corrected: Only non-fall, non-fire, and non-poison damage consumes evasions. Failed teleports also consume an evasion. When there is no attacker, the spider's own position is used as the threat point.
Blood Moon frenzy mining, mining cooldowns, and Dirt Element door-breaking/mining now all use
isBloodMoonFrenziedconfiguration gating. Bone King inspiration is unaffected by this setting.Zombie block digging now uses the exact MITE formula instead of a player-speed approximation. Dirt takes approximately 75 seconds per block, Blood Moon frenzy halves the time, and valid tools provide significant acceleration.
Test-mode LAN/singleplayer cheat permissions fixed:
- LAN “Allow Cheats” was controlled by the client-side
development.testMode, while server permission tightening used the independent server-side value. - Integrated worlds with cheats enabled, including LAN worlds published with cheats and singleplayer worlds created with commands enabled, are now treated as valid test-mode worlds and grant operator permissions.
- Normal mode still forces the option lock closed every tick.
- LAN “Allow Cheats” was controlled by the client-side
Compatibility
Modern enchantment gaps filled:
luck_of_the_sea,lure,depth_strider,multishot,quick_charge,piercing,frost_walker, andsoul_speedwere missing fromInfXEnchantments.ALLand were erased by thereplace:truesource tags. They are now included without re-bootstrapping, reusing vanilla definitions and effects.- Non-treasure entries can appear at the enchanting table.
frost_walker,soul_speed, and both curses retain vanilla treasure behavior and are available only through loot, trades, or mob equipment.
Jade sick-state display: Pointing Jade at a sick InfX cow, chicken, sheep, or pig now shows “Sick” in the entity tooltip. It uses the livestock wellness state already synchronized to clients.
Spawn tables no longer wipe third-party entries wholesale:
- In the Overworld,
SpawnsBiomeModifierselectively removes only the vanilla entries that InfX re-adds: six monster types, livestock/mounts, fish, bats, and squids. - Entries added by other mods during the ADD stage are preserved.
- Nether and End behavior retains exact replacement semantics.
mobs.wipeOtherSpawnTables(default:false) restores the old wholesale-wipe behavior.- Pure vanilla results remain unchanged, and all GameTests pass.
- In the Overworld,
Vanilla entity replacement exemptions:
- Third-party mods can add an entity type to the datapack tag
infx:keep_vanilla_entity(data/infx/tags/entity_type/keep_vanilla_entity.json, with"replace": false). - InfX will then leave that entity as vanilla, allowing other mods' changes to vanilla attributes, AI, and drops to work again.
mobs.replaceVanillaMobs(default:true) can disable all 26 vanilla replacements at once.
- Third-party mods can add an entity type to the datapack tag
Source-pool split:
InfXEnchantmentsnow definesTABLEasALLminus the four treasure-only entries, plus aTREASURE_ONLYcollection.IN_ENCHANTING_TABLEwritesTABLE; all other source tags writeALL.EnchantmentSelector.candidateKeysnow usesTABLE.- The enchanting table can no longer roll curses, Soul Speed, or Frost Walker.
Balance
Fire Aspect aligned with MITE:
Ignite(LevelBasedValue.constant(1.0F))was replaced withperLevel(4.0F), giving 4 seconds at level I and 8 seconds at level II, matching MITE'ssetFire(fire_aspect*4)and vanilla 26.1.Sharpness and Slaughter now add +1 damage per level: Vanilla Sharpness changed from
perLevel(1.0F, 0.5F)(level V = +3) toperLevel(1.0F, 1.0F)(level V = +5).SLAUGHTER_DAMAGE_PER_EXTRA_LEVELchanged from 0.75 to 1.0, also giving +5 at level V and matching MITE.
Balance Adjustments
Unified spawning control:
- Added
world/SpawnGateas the single authority for whether spawning occurs, what spawns, and how many can spawn. - Events and six spawning mixins for capacity, cadence, depth, patrols, and daytime burning now act as thin delegates.
- Entity replacement, placement predicates, phantom waves, spawner light/population limits, despawn prevention, witch-cancellation exemptions, Blood Moon frenzy, and piglin-hostility predicates are also routed through
SpawnGate.
- Added
Moon-phase spawn-gating configuration migrated:
- Added
mobs.moonSpawnGating(default:true) for moon-phase spawn gates. world.moonEventsnow controls weather only.- Disabling
world.enabledno longer disables spawn gates; the main switch is nowmobs.enabled.
- Added
Ordinary zombie weapon probability now follows tension instead of the day curve:
- It uses
15%×tension, capped at approximately 22.5%. - Long-inhabited chunks still progressively increase monster pressure through tension.
- It uses
This mod has no additional files

