infx-0v7.jar
Curse Maven Snippet
What's new
0v7
新功能
- 精英怪发光红眼(地狱犬 / 亡魂 / 骷髅领主):三只精英怪身体贴图本就画有红眼像素,但画在受世界光照的身体层上、不会发光;新增
EliteEyesLayer(继承 vanillaEyesLayer,以RenderTypes.eyes()全亮 emissive 渲染)挂到WolfTexture(HELLHOUND 变体)/ZombieTexture(REVENANT)/SkeletonTexture(BONE_LORD 变体),叠加透明底 + 红色眼部的眼部贴图(由现有授权身体贴图派生,红色眼像素落在身体贴图原有红眼的同一 UV,保证对齐),使眼睛永亮——不分昼夜/月相/维度,地狱犬在下界亦亮。开关client.eliteEyeGlow(默认 true,关闭即真正关停全部发光)。 - 管理员指令
/infx day <天数>:直接设置主世界生存天数。/infx day(读取)保持全员可用;写入需 OP 2(LEVEL_GAMEMASTERS,与 vanilla/time set同级),经ServerClockManager.setTotalTicks设置主世界时钟总 tick(等价 vanilla/time set对主世界时钟的设置),广播给全员并标记存盘——血月/月相/刷怪密度/结构解锁门等天数派生机制自动跟随。设置后回到该天黎明(tick=0 对应 06:00)。 - 血月/蓝月玩家运势 buff:血月日在线玩家获得霉运(Bad Luck)、蓝月日获得幸运(Luck),相位日结束后随剩余时长自动消失(
MoonEvents.applyLunarBuffs经PlayerTickEvent.Post每 100 tick 把效果剩余时长刷新至当日末尾,自然到期,不显式移除以免误删其它来源效果)。开关world.lunarBuffs(默认 true)。 - 僵尸改为新建 InfX 实体替换生成:vanilla
Zombie不再被保留,与骷髅/蜘蛛/苦力怕等一致,改为新建infx_zombie实体(InfxZombie extends Zombie)替换生成。原ZombieEvents的 7 个事件逻辑折入实体 override:属性对齐(近战 5、护甲 0)、1/8 聪明、无幼体、烧树 AI、寻食生肉、村民转化门(持挖掘工具拒绝转化 + 转化后清空 5 装备槽)、被玩家打一次变聪明、稀有金属粒掉落。首领仍由 vanillaZombie.handleAttributes原生承担;张力装备(equipForWorldAge)与锈铁装备(RustedIronSources)路径因直接继承Zombie(非InfxZombieBase)无需改动守卫即生效。- 地牢刷怪笼(
spawnerDepthTypedanger 0 与 datamapmonster_room_mobs)及床伏击改为直接生成infx_zombie——initializeReplacement不复制刷怪笼来源标记,靠运行时替换会丢来源导致 15 杀寿命失效,故刷怪笼必须直接刷 InfxZombie。 - 仅
isWorldSpawn来源(自然/区块生成/刷怪笼/结构/增援/巡逻/试炼刷怪笼)的 vanilla 僵尸被替换;COMMAND/SPAWN_ITEM_USE/DISPENSER/LOAD 不替换(沿用现有替换怪模式;vanilla 僵尸蛋仍出 vanilla,infx_zombie_spawn_egg自动生成出 InfxZombie)。已存档的 vanilla 僵尸(LOAD)不替换(沿用女巫先例)。 infx_zombieloot 表照搬 vanilla 僵尸(腐肉 0-2+抢夺、铁/胡萝卜/土豆稀有池 2.5%+抢夺),金属粒稀有掉落保留在dropCustomDeathLoot。加入zombies/burn_in_daylighttag(白天燃烧受MobSunBurnMixin的 MITE 昼夜门控)。
- 地牢刷怪笼(
- 材质分级盾牌系列(替换工具格挡):新增
EquipmentType.SHIELD+InfxShieldItem(FactoryKind.SHIELD),精简为三档材质盾——wood / ancient_metal / adamantium。盾的BlocksAttacks按材质分级,BYPASSES_SHIELD(fall/fire/lava/cactus 等)穿透所有盾;耐久走material.toolDurability(2)(木 400 / 远古金属 12800 / 艾德曼 204800)。原版minecraft:shield/shield_decoration配方保持禁用,盾改由对应工作台合成(木盾手工台、远古金属盾远古金属台、艾德曼盾艾德曼台);盾仅可附耐久/经验修补类附魔(对齐原版盾,不误入MELEE_WEAPON_ENCHANTABLE)。移除ItemProperties.toolBlocking()与工具上的BLOCKS_ATTACKS组件——工具不再格挡,盾成为唯一格挡途径(斧的disablesBlockingSeconds保留以 disable 对方盾)。- per-material 贴图:远古金属/艾德曼盾用各自
infx:entity/shield/<material>_shield_base(+_nopattern) 贴图,经自定义InfXShieldSpecialRenderer(仿 vanillaShieldSpecialRenderer+ InfXSafeSpecialRenderer范式,per-materialSheets.SHIELD_MAPPER.apply取贴图;经RegisterSpecialModelRendererEvent注册为infx:shield);木盾复用原版minecraft:shield贴图(原版盾本即木/铁主题)。原 owner 提供的贴图文件名曾被误写(如copper_shield_base..png),已 rename 至干净命名。盾贴图经 vanillashield_patterns.json的directorysprite source 跨命名空间聚合自动注册(与 InfX 僵尸/苦力怕贴图同机制)。 - GameTest
shields校验三档减伤比例、配方加载与工具不再格挡,并做破坏断言验证(故意改错木盾期望值 0.60→0.61 确认测试会失败)。
- per-material 贴图:远古金属/艾德曼盾用各自
问题修复
- 迅捷潜行误进附魔台:
minecraft:swift_sneak在 vanilla 26.1 属#treasure(in_enchanting_table = #non_treasure,本不进附魔台),但InfXEnchantments.TREASURE_ONLY漏列,使其混入TABLE、可在附魔台 roll 到护腿。补入TREASURE_ONLY(现含两诅咒/soul_speed/frost_walker/swift_sneak),in_enchanting_table标签经 runData 同步剔除;仍属ALL,故战利品/交易/怪物装备仍可产出,符合原版宝藏语义。 - 月相对齐 MITE 三处偏差:① 血月雷暴窗口由 noon→1AM(raw
[6_000, 19_000))修正为 MITE 的 6AM→7PM(raw[0, 13_000)),与World.java:8675-8680的WeatherEvent(first_tick_of_day + 6_000, 13_000)对齐——first_tick_of_day + 6_000落在未调整日始 = raw 0 = 黎明(非 noon),原 infx 注释"from noon"误读了first_tick_of_day(实为午夜);② 月晕(MoonDog/PHANTOM)月亮亮度由误与蓝月同组 1.1 改回 MITE 默认公式(factor × 0.5 + 0.75),MITEgetMoonBrightnessswitch 不含 MoonDog;③ 月晕夜不再出幻影波(MITE 月晕纯视觉,刷怪不引用isMoonDog),仅血月夜出幻影波(SpawnGate.phantomWaveCount去掉PHANTOM分支,MonsterEvents消费方随之生效)。同步更新BasicSystemsTest与infx_phantom_moon_spawnsGameTest 断言。 - 动物地面进食对齐 MITE 并扩展到所有可繁殖动物:
Livestock.consumeNearbyFood只消耗物品并回 wellness,从不触发setInLove——动物吃了地上的繁殖食物却不进求爱;且进食无任何门控,求爱中/繁殖冷却中照吃。改为统一eatDroppedFood:进食前过 MITEcanEat门(!isInLove() && getAge()==0,排除幼崽与冷却),进食后在动物 well 时setInLove(牲畜需isWell;非牲畜isWell恒真,故进食即繁殖——InfX 未移植 MITE 进食回血子系统,故不取满血门以免受伤动物永不能繁殖)。新增MoveToFoodItemGoal(MITEEntityAIMoveToFoodItem现代移植)经EntityJoinLevelEvent装到所有可繁殖Animal(除马——保留其交互式 4000-tick 喂食门;除 InfX 牲畜——已有NeedsGoal负责寻路进食,避免重复 goal)。兔子/乌龟等原版可繁殖动物现可吃地上繁殖食物并繁殖。 - worldgen 死锁卡死:
Tension.forBlock原用level.getChunkAt(pos)同步加载区块;finalizeSpawn在区块生成期可于 worldgen 线程触发(结构/地牢刷怪笼替换生成InfxZombie等),同步加载会排区块任务并在CompletableFuture.join自死锁,连带服务器停 tick 致整局冻死(打开选项/对局域网界面时表现最明显)。改为非阻塞getChunk(x, z, ChunkStatus.FULL, false)(与 vanillaServerLevel#getCurrentDifficultyAt同范式),取不到按新区块 inhabitedTime=0 处理。一次性覆盖所有经difficultyTension → Tension.forBlock的调用方(MonsterEvents/Revenant/InfxSkeleton/VanillaMobEquipmentMixin/InfxSpider)。
This mod has no additional files

