promotional bannermobile promotional banner

Infx

An all-new gameplay experience featuring a new crafting system, brand-new dimensions, and a redesigned progression path.
Back to Files

infx-0t11.jar

File nameinfx-0t11.jar
Uploader
inxupsinxups
Uploaded
Aug 18, 2026
Downloads
18
Size
7.3 MB
Mod Loaders
NeoForge
File ID
8676488
Type
B
Beta
Supported game versions
  • 26.1.2

Curse Maven Snippet

NeoForge

implementation "curse.maven:infx-1634439:8676488"

Learn more about Curse Maven

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. SpawnerLifetime persists the counter through the infx:spawner_kills attachment. BaseSpawnerMixin gates spawning in serverTick, while SpawnerEvents records kills through LivingDeathEvent. Only player kills count; environmental deaths and deaths from wearing mobs down do not. Controlled by mobs.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. MonsterRoomFeatureMixin rewrites the type according to y during generation. The monster_room_mobs datamap also includes weighted entries for all seven depth-based mobs as a fallback, so any dungeon can potentially spawn them. Controlled by mobs.spawnerDepthLayering (default: true).
    • Existing allowSpawnerLight already exempts spawner spawning from light-level checks while still preventing sunlight ignition. Existing equipForWorldAge already handles tension equipment through FinalizeSpawnEvent for spawner-origin mobs; no additional changes were needed.
    • Spawner mining already uses modern vanilla requiresCorrectToolForDrops and requires a proper pickaxe. Experience drops of 15–44 already match MITE, so no increase was made.
  • 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_skeleton with 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.
  • 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. PiglinAiMixin gates isWearingSafeArmor, canAdmire, and admireGoldItem.
    • 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.
  • 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.
    • findNearestMapStructure results are cached per player for 200 ticks, matching MITE's WorldServer.getStrongholdProximity:2498.
  • 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.
  • 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.
  • Daily spawn-rate correction:

    • Each Overworld day can randomly set the hostile natural-spawn rate to ×0.5, ×2, or ×0.
    • SpawnRateTracker persists the value as SavedData.
    • 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.1 or y≥60: 0.17, multiplied by the rate modifier.
    • This reproduces MITE's 10%/17% per-tick rhythm.
  • 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×difficulty seconds.
    • This follows MITE's EntityMob.attackEntityAsMob:209–212.
  • 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.tickThunder changes 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.precipitationAt bypasses 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.
  • Blood Moon red eyes:

    • EntityRenderer.extractRenderState assigns hostile mobs the MITE enraged glow color 8527390 during Blood Moon nights.
    • In modern Minecraft, outlineColor corresponds 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.
    • BlightTracker persists the state through SavedData, and CropBlock.randomTick intercepts 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:

    • LivingEntityFrenzySpeedMixin no longer applies the ×1.2 speed bonus to InfxEnderman.
    • The attack-damage exemption was already present, matching MITE's isFrenzied=false.
  • Creeper block-explosion radius reduced by ×0.715:

    • Creeper.explodeCreeper multiplies the explosion-radius parameter for InfxCreeper.
    • Block radius changes from 3 to 2.145, and charged radius from 6 to 4.29.
    • Entity damage continues to use ExplosionRanges radius 4.4.
    • The 1.1× entity-radius change was already implemented.
  • Burning slimes no longer split:

    • MobSplitEvent cancels splitting for burning slimes.
    • A burning slime disappears directly when it dies.
  • Completed zombie-family MITE mechanics:

    1. Baby zombies are disabled: vanilla's 5% baby-zombie roll is cancelled, including jockeys after dismounting.
    2. 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.
    3. Food seeking: vanilla zombies walk toward dropped raw meat tagged #minecraft:meat and eat it. This does not heal them and has a 400-tick cooldown.
    4. 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.
    5. 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:

    1. 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.
    2. Monsters move at ×1.2 speed during Blood Moon nights through LivingEntity.getSpeed.
    3. 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.
    4. Door breaking is twice as fast: BreakDoorGoal.getDoorBreakTime is 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.
  • Monster cap changed to MITE's 50 mobs per player:

    • MobCategory.MONSTER.getMaxInstancesPerChunk changes 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_zombie replacement entity was removed. Vanilla zombies now receive MITE behavior directly through NeoForge events.
    • FinalizeSpawnEvent injects the smart-zombie state: 1/8 of zombies are smart at birth, and any zombie hit by a player becomes smart. The state persists as infx.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 by 1+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.
    • LivingDamageEvent makes a zombie smart when it is hit.
    • Ordinary zombie drops are restored to the vanilla loot table.
  • Added the MITE Tension difficulty system:

    • Tension reads vanilla chunk.inhabitedTime and the moon-phase factor from DimensionType.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.tensionEnabled can 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 is 10%×tension, with level 5+tension×rand(18).
    • Dirt-element mining cooldowns and spider potion probabilities also use tension.
  • Invisible Stalkers, Ghouls, Shadows, Wights, and Revenants were split from InfxZombie variants into independent entity classes:

    • InvisibleStalker, Ghoul, Shadow, Wight, and Revenant all extend Zombie.
    • 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 as infx.is_smart, infx.summoned_troops, and infx.phase_evasions.
    • Method names were renamed to remove R196, for example checkR196MonsterSpawnRules became checkMonsterSpawnRules.
  • Added symmetric client/server dev-mode validation:

    • During login configuration, the client and server exchange the devMode setting.
    • 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.
  • Dev mode configuration migration:

    • The switch moved out of the development sections of config/infx/infx-common.json and config/infx/infx-client.json.
    • It is now stored in config/infx/infx-devmode.json, using server.devMode and client.devMode, both defaulting to false.
    • Any old development.testMode field is ignored. Existing configurations must be re-enabled in the new file.
  • “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.json to infx-devmode.json.
    • Existing testMode fields are ignored and must be recreated as devMode.

Bug Fixes

  • Swift Sneak slot corrected: minecraft:swift_sneak was incorrectly registered under FOOT_ARMOR_ENCHANTABLE/FEET (boots), contrary to vanilla 26.1 and MITE, which use leggings. It now uses LEG_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) and minecraft:binding_curse (EQUIPPABLE_ENCHANTABLE/ARMOR) were missing from InfXEnchantments.ALL. Because the source tags used replace: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, and mundaneArmorPoints previously required InfXItems.catalog().equipment(stack) to be non-null, so vanilla armor was skipped. The new pieceBaseProtection helper uses armorProtection for 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: ModItemTagsProvider previously iterated only over InfX catalog equipment. addVanillaEnchantmentTargets now 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: isDurabilityEnchantable now includes MATTOCK, WAR_HAMMER, and CLUB. addR196EnchantmentTags now 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's instanceof ItemSword. KNIFE || DAGGER were added, while silver and mithril exclusions remain.

  • Thorns now supports chainmail chestplates and uses first-match behavior: CHAINMAIL_CHESTPLATE was added to INFX_THORNS_ENCHANTABLE, matching MITE's acceptance of all ItemCuirass. applyThorns now 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 typedProtectionPoints previously 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.select previously returned only one random entry and silently discarded the rest. It now returns all entries, up to three, matching MITE's EnchantmentHelper.addRandomEnchantment.

  • Looting now affects equipment drops and has complete incompatibility rules: minecraft:looting lacked an EQUIPMENT_DROPS component, so non-InfX custom drops received no Looting bonus. It now adds AddValue(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. BowItemProjectileMixin now redirects BowItem.shootProjectile's shootFromRotation call, covering all bows. InfxBowItem now only adds its material speed multiplier.

  • Off-hand bows and crossbows no longer read the main hand: InfxBowItem.shootProjectile and CrossbowItemProjectileMixin now use getUseItem(), which correctly identifies the active item during releaseUsing. If empty, they fall back to the main-hand item.

  • Baiting now follows the MITE bite-probability model: infx:baiting previously redirected timeUntilLured and shortened the countdown by ×0.9 per level. MITE modifies the chance_in denominator and applies modifiers in a specific order. The ×9/10-per-level effect now lives in FishingRules.lureDelay's chance_in path, in the order day/night → Blue Moon → rain → Baiting → bait. baitingLureDelay was renamed to baitingBiteChance. 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's EntityHorse.dropFewItems.
    • Spider-eye drops now include an independent rand.nextInt(3)==0 branch 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.
  • 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.convertExplodedBlock now emits one infx:diamond_shard or infx:emerald_shard per 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.addQualityTooltip incorrectly 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 through MobDamageRules.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_lakes biome modifier removes minecraft:lake_lava_surface from every Overworld biome at the LAKES step. NoiseBasedAquiferMixin only suppresses exposed aquifer lava and cannot affect the placed lake_lava_surface feature. Together, both changes remove surface lava lakes while preserving underground lava lakes and aquifer lava.

  • MITE river seagrass fixed: desert_river, jungle_river, and swamp_river reused vanilla river generation settings, including seagrass_river, but SeagrassFeature used the OCEAN_FLOOR heightmap and often missed the water column in shallow or narrow rivers. InfXSeagrassFeature now scans downward from the surface until it finds the riverbed, stopping at the first non-water block to avoid decorating cave water. remove_river_seagrass and add_river_seagrass replace the feature in the three MITE river biomes with infx:river_seagrass, count 48, using the WORLD_SURFACE heightmap. Vanilla rivers and frozen rivers retain their original feature.

  • Free Movement now covers cobweb slowdown: applyFreeMovementResistance previously replaced only the MOVEMENT_SPEED attribute effects from Slowness and Paralysis. Modern WebBlock uses Entity.makeStuckInBlock and stuckSpeedMultiplier instead. EntityStuckInBlockMixin, together with EntityAccessor, now intercepts this method and softens each movement component toward 1.0 according to free-movement resistance: base+(1-base)×resistance, matching MITE's getSpeedBoostVsSlowDown.

  • InfX zombie-family water conversion restored: The InfxZombieBase.convertsInWater()=false suppression 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 disarming enchantment no longer affects witches, villagers, wandering traders, or drowned holding a trident. The exemptions are enforced in EnchantmentEvents.disarm.

  • Zombie boss double-roll fixed: The event-level boss roll was removed. Vanilla Zombie.handleAttributes already performs the native difficultyModifier×0.05 boss 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.killedEntity already skips conversion 50% of the time on Normal, restoring a net 50% conversion rate instead of 25%.

  • Duplicate equipment rolls removed: The extra equipForWorldAge call after FinalizeSpawnEvent was removed. Equipment probability is no longer squared from 0.15T to 1-(1-0.15T)^2.

  • Configuration gates completed:

    • bloodMoonFrenzy now controls Blood Moon frenzy speed, door breaking, red eyes, and ranged cooldowns through isBloodMoonFrenzied.
    • Lightning ×5 and all-biome rain are gated by world.moonEvents.
    • Crop blight has a new world.bloodMoonBlight switch.
    • 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.

  • zombifiesVillagers hook connected: The base class now overrides convertVillagerToZombieVillager and 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 VanillaMobEquipmentMixin was removed because WitherSkeletonDropsMixin immediately 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 isBloodMoonFrenzied configuration 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.

Compatibility

  • Modern enchantment gaps filled: luck_of_the_sea, lure, depth_strider, multishot, quick_charge, piercing, frost_walker, and soul_speed were missing from InfXEnchantments.ALL and were erased by the replace:true source 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, SpawnsBiomeModifier selectively 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.
  • 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.
  • Source-pool split:

    • InfXEnchantments now defines TABLE as ALL minus the four treasure-only entries, plus a TREASURE_ONLY collection.
    • IN_ENCHANTING_TABLE writes TABLE; all other source tags write ALL.
    • EnchantmentSelector.candidateKeys now uses TABLE.
    • 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 with perLevel(4.0F), giving 4 seconds at level I and 8 seconds at level II, matching MITE's setFire(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) to perLevel(1.0F, 1.0F) (level V = +5). SLAUGHTER_DAMAGE_PER_EXTRA_LEVEL changed from 0.75 to 1.0, also giving +5 at level V and matching MITE.

Balance Adjustments

  • Unified spawning control:

    • Added world/SpawnGate as 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.
  • Moon-phase spawn-gating configuration migrated:

    • Added mobs.moonSpawnGating (default: true) for moon-phase spawn gates.
    • world.moonEvents now controls weather only.
    • Disabling world.enabled no longer disables spawn gates; the main switch is now mobs.enabled.
  • 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.

This mod has no additional files