Repository navigation
Releases: kylepitcock/Legacy-Connector
Release list
v0.3.20
- Network frames longer than 2 MiB are sent and read (joining a large pack's server failed with "Packet too large: size 2974722 is over 8"). Needs this version on the server and the clients.
- Distant Horizons: legacy leaves are tinted in LOD colours (they were grey) because the block's own colour is used when the tint getter cannot answer block queries.
- 1.7.10 shim: BiomeGenJungle/Mesa/River/MushroomIsland, TileEntityDropper/EnderChest, EntityWitherSkull, ItemCloth, PlayerWakeUpEvent, Minecraft.resize, Framebuffer.setFramebufferColor.
- 1.12.2 shim: entity.passive.EntityFlying marker interface (Midnight's mobs), EnumHelper.addCreatureAttribute.
Legacy Connector 0.3.19
Patch release. Forge 1.20.1 support is started but not usable yet and is off by default.
Fixes for open compatibility reports
These fix the specific errors in the attached logs. They were compiled and the 1.7.10 self-test was re-run (Thaumcraft + Iron Chests: all legacy tests pass), but they were not run against the reporters' jars; please retest and attach a fresh latest.log.
- #149 Recurrent Complex (1.12.2):
NetworkRegistry.registrynow gives every mod aNetworkModHolder(the NullPointerException inpreInit);BiomeDictionary.Type.byNameis named as in Forge. - #150 NovaCraft (1.7.10):
TileEntityBrewingStand()constructor,BlockEnchantmentTable,ContainerBeacon,EnchantmentNameParts,WorldGenSpikes,BiomeEndDecorator,INpc, a bridgedLivingHealEvent, the cave carver hooks (func_151541_a/func_151542_a) and a few members. Its GUIs are probably not fully working yet. - #147 HuajiAge, #148 Electroblob's Wizardry (1.12.2):
SPacketServerInfo.GSON,RenderHusk, vanilla sounds resolve by name in theSoundEventregistry, a provider for dimensions no legacy mod registered,RenderLivingEvent.getRenderer()is never null.
Forge 1.20.1 (experimental, off by default)
Set experimental.forge1201=true in config/legacyconnector.properties to try it. No 1.20.1 mod has been run in game yet.
- Jar detection for Forge 1.20.1 (
mods.toml), including mods that declare no Minecraft version, multi-loader jars and data-only mods. - In-place remap onto NeoForge 1.21.1: SRG to Mojang names (table built at build time from MCPConfig and Mojang's mappings), Forge to NeoForge classes (rename tables from RetroMod via PortKit, credited),
mods.tomltoneoforge.mods.toml, access transformers, mixin refmaps. - First compatibility layer:
FMLJavaModLoadingContext,DistExecutor, theNonNull*types,new ResourceLocation(...)andIEventBus.postcall-site rewrites. - Still missing: registries (
ForgeRegistries/RegistryObject), networking, capabilities, ticks, item NBT to data components, rendering, mixin retargeting, library adapters. Measured on 54 real 1.20.1 jars: see the wiki page "Legacy 1.20.1 estimate" (section 9).
Tooling
checkLegacyModnow runs an ASM bytecode verification pass over every translated jar../gradlew gap1201reports which 1.20.1 symbols are missing on 1.21.1.fetch_probe_mods.pyhas--content/--client-extrafilters.
Roadmap
1.7.10, then 1.12.2, then 1.20.1, then 1.16.5, then 1.2.5.
Legacy Connector 0.3.18
0.3.18
Fixes from the compatibility reports, a new automated compatibility checker with a redesigned results site, and tools for pack makers. None of this has been exercised in a real client; the server self tests (blocks, items, entities, dimensions) behave as before.
Fixes
- 1.12.2 crafting leftovers: items that declare a container item now leave the right leftover. Void Scissors lose durability instead of being consumed, and the Verdantizer stays (issue #113). Tested at item level with a damageable tool, not with Kindred Legacy itself.
- Vanilla textures and models: about 420 vanilla texture renames (block and item; it was about 100, block only), 8 more vanilla model parent renames, and 37 vanilla entity texture paths (boats, llamas, shulkers and others) that mods bind in code. All were checked against the 1.21.1 jar. They come from Retromod (MIT).
- Ore dictionary: 19 vanilla names (
chest,fenceWood,dye,gravel,workbenchand others) now map to the common tags, so legacy and modern recipes accept each other's items. This affects 1.7.10 as well.
New
- Crash reports: they now say Legacy Connector is running and list every translated mod with version and jar, so crashes from translated mods reach us first.
- Risky-mod warning: a single loading warning lists mods with unresolved references or 10 or more stubbed features. It shows once, stays quiet while the set is unchanged, and returns when it changes. Turn it off with
warnings.riskyMods = false. The client warning screen was not seen. - Pack-maker config:
mods.skipleaves legacy mods out.mods.alias.<id>satisfies a dependency with another id.energy.fePerEu.in/outandenergy.fePerMj.in/outset conversion rates per direction, and 0 turns that direction off. The zero-rate behaviour was only tested at unit level.
- Self tests: six new silent-failure checks (attribute maps, payload encoding, registries).
- Loader: orphaned
lambda$bodies are removed after side stripping. This does nothing for 1.12.2 yet (see Known issues).
Compatibility site and checker
- Site: redesigned with Mods, Automated results and About tabs, and a logo.
- Automated results: results come from translating about 920 1.7.10 and 700 1.12.2 jars offline. Mods fall into six categories: Ready to test, Partly placeholder, Missing game features, Needs another mod, Needs removed code and Not needed. 1.7.10: 609 of 811 are ready to test. 1.12.2: 513 of 646. "Ready to test" is not "works".
- Resource check: a new offline check finds references to missing textures and models without starting the game, and separates those the translation lost from those the mod never shipped. 35 of 646 1.12.2 mods and 5 of 811 1.7.10 mods lose references in translation, mostly vanilla templates that 1.21.1 no longer has.
- Checker fixes and tools:
- A mod's bundled, stripped copy of a library no longer hides the real one from other mods. "Needs removed code" on 1.12.2 went from 85 to 26.
- Dependencies are downloaded for the probe.
- Runs are compared for regressions.
tools/compat/missing_report.pyranks missing classes and stubs by how many mods they block.tools/dev/check_mod_specific.pykeeps mod-specific code out of the core.
Known issues
- 1.12.2 server stripping: 1.12.2 jars are not side-stripped on a dedicated server, because the stripper only knows the 1.7.10 annotation. The naive fix adds about 300 link errors, so it needs its own change.
- Top gaps: NEI API extras and Thaumcraft API methods on 1.7.10, Baubles
BaubleTypemembers on 1.12.2, and vanilla templates such ascolumn_side,glass_pane_post_ends,cocoa_age*_s, the redstone dust models andobserver_back_liton 1.12.2.
Credits: texture, model and ore-dictionary tables adapted from Retromod (MIT); the crash header, pack-maker config and several checks are inspired by Sinytra Connector (MIT). See THIRD_PARTY_NOTICES.md.
Legacy Connector 0.3.17
0.3.17
Shim gaps found from the compatibility reports pasted in issues and from a fresh corpus run. None of this has been exercised in a real client; the server self tests (blocks, items, entities, dimensions) behave as before.
1.7.10
- Thrown items (snowballs, eggs, mod grenades) are drawn;
RenderSnowballused to draw nothing. - New:
ModelHorse/RenderHorse,Stitcher,LayeredTexture,ClippingHelper, a workingGLUtessellator, GLUCylinder/Disk,FlatLayerInfo/FlatGeneratorInfo,TileEntityEnchantmentTable,BiomeGenMutated, villager/golem AI tasks, ice features,PathFinder.canEntityStandAt,BlockCake/BlockWeb/BlockWoodSlab/ItemSkull/ItemReed/ItemEditableBook, save commands, brewing stand/comparator/jukebox tile entities. - Real attribute bookkeeping (
ModifiableAttributeInstance,ServersideAttributeMap),ChatStyleparent styles,ForgeHooks.onNoteChange, nether portal creation,EnchantmentHelper.func_92099_a,MultiPlaceEvent,PotionBrewedEvent, shader hooks onEntityRenderer. - Chest-content fields of the stronghold, mineshaft, pyramid, village and nether fortress pieces feed the loot tables.
1.12.2
- Forge armour pipeline (
ISpecialArmor.ArmorProperties.applyArmor,ForgeHooks.getTotalArmorValue), minecart rail positions, ender chestFACING, new packet classes, particle factories,RenderBoat,LayerCreeperCharge, chunk and HUD fields. - Some
RenderGlobalterrain/chunk methods only link and draw nothing.
Diagnostics
-Dlegacyconnector.joinSizeTest=truelogs the size of every join-time payload; the server logs an error at startup if a recipe or tag packet would exceed Minecraft's 2 MiB network frame limit.- New wiki page Troubleshooting: the
length wider than 21-bitjoin error (check packet-pipeline mods such as KryptonFNP and a NeoForge version mismatch first).
README and store pages: star history chart.
Legacy Connector 0.3.16
v0.3.15
0.3.15
- Faster load: split-package merge reads no class on a warm launch, stripped jars are byte copies built in parallel; 1.12.2 asset translation caches resource lookups and parsed model JSON; vanilla item upgrade answers persist across launches; per-phase timers.
- 1.12.2: item/block names from getUnlocalizedName(stack) and getTranslationKey(ItemStack) overrides (AbyssalCraft), Item.getItemStackDisplayName default, waterlily/torch_wall model names (The Midnight).
- Players arriving in a legacy dimension inside solid blocks are moved to the nearest free spot (The Midnight).
- HBM: TagStack.getDisplayStacks no longer scans the whole item registry (JEI recipes phase 58 s in ATM10).
0.3.14
Changes since 0.3.13. Tested with Sodium, Iris/Complementary and Distant Horizons.
Highlights
- 1.12.2 mods now get their JSON recipes and loot tables. None of a 1.12.2 mod's JSON recipes existed before (Atum 176, AbyssalCraft 434, Mystical Agriculture 519), and no mob or chest loot of a 1.12.2 jar was served. Both load now, so crafting chains and drops work.
- Planet and other runtime dimensions (1.12.2). Dimensions a mod registers after the world starts (Galacticraft's planets) are created on first use instead of not existing.
- Mekanism runs next to Iris. Other mods' mixins no longer hit classes of translated legacy jars (#127).
- Crash fix for legacy tile entity renderers: every legacy tile entity renderer in view leaked a matrix per frame and crashed the frame ("Pose stack not empty"). Introduced after 0.3.13's predecessor, now fixed.
- Compatibility site: new Playable rating between Near-perfect and Works, a legend panel at the top, and a note that most Works entries are simply not tested thoroughly yet. First survival verdicts: Near-perfect for Atum 2, Thaumcraft 4 and Twilight Forest; Playable for AbyssalCraft, The Midnight, Botania, Witchery, the Reika mods (RotaryCraft, ElectriCraft, ReactorCraft, ChromatiCraft), Galacticraft (1.7.10), OreSpawn, Scape and Run and Fisk's Superheroes.
1.7.10
- Names, held items, shapes: item and block names read the legacy name hook (Botania: 618 of 779 items showed raw keys); cube blocks are held at block size (double slabs were three times too big); block shapes may be up to 1.5 high (Botania's altar).
- Used-up stacks keep their item when copied (Botania's apothecary now completes recipes; Witchery's thrown brews no longer lose their data).
- Placement:
onBlockAddedruns during a player's placement as in 1.7.10 (Witchery's oven faces the player). - Witchery: coven witches get their generated names, the mirror demon shows the player's skin, the leech chest lid opens.
- Thaumcraft: the anvil repairs thaumium tools; golems path to their target, teleport when stuck in a wall and find double chests' second half; lamp and floor-clamp rewrites.
- Fisk's Superheroes: the ability list background draws; Doctor Octopus's claw lights no longer draw as red cubes under shader packs.
- Roguelike Dungeons (#124): chests and spawners a populator places outside the generation region keep their contents (most chests and spawners came out empty), spawners take their mob, enchantments set through numeric ids and potions built from damage values reach the modern item data. Verified: a generated dungeon's chests were filled and its spawner had a mob; potions and spawner properties still need a full retest.
- Chest-like legacy containers now tell their tile entity when they are opened and closed.
1.12.2
- Models and structures: stairs rotate with structures (Atum's pyramid), blocks draw the model of their actual state (stairs corners, fence/wall/pane connections), every item subtype and OBJ item models get models (AbyssalCraft staffs and crystals), iron doors and plain rails use the renamed vanilla models, Scape and Run fences use the right textures.
- Block and world rules:
Block.harvestersis Forge's instance field (The Midnight's Suavis dropped nothing); legacy worlds start at y=0 (AbyssalCraft's explosions failed below y=0); Galacticraft's registry subclasses (recipes) register; biome names with spaces work; The Midnight's rift puts you on the surface of its dimension, not in the bedrock. - Spawns during chunk generation use a thread-safe random source (C2ME worker threads).
- Recipe conditions:
minecraft:item_existsis supported. - NTM-CE: chunk section internals, live equipment lists; a tile entity needing an absent optional mod stays inert with one warning.
Known issues
- Galacticraft (1.12.2, #131): the mods load and rockets fly, but travelling to another planet does not complete yet; GalaxySpace's mixins are not applied.
- Fisk's Superheroes (#118, #132): the Iron Man blade renders pale, the key hint list flickers on some setups, and the progression side (suits, arc reactor, GUIs) was only tested on a server: several custom recipes, the spellwhip entity's NBT and a few names (suit chest/legs/boots) are not right.
- Witchery (#107): thrown brews untested with real brews; wolf-form altar glitch and the mutating sprig are open.
- Roguelike (#124): layout problems and the "Uncraftable potion" case are open.
- AbyssalCraft: the ritual and boss list is only partly tested (#133).
- The Midnight: Rifter and Nova fights, progression and structures not yet tested.
- Thaumcraft 6: workbench, pedestal and focal manipulator GUIs (#125). MCHeli aircraft do not draw. Distant Horizons draws mod dimensions' distant terrain flat.
Legacy Connector 0.3.13
Changes since 0.3.10 (this release also includes everything from 0.3.11 and 0.3.12). Tested in a large NeoForge pack (All the Mods 10) with Thaumcraft, Witchery and Reika's mods, with Sodium, Iris/Complementary and Distant Horizons.
Highlights
- Big modpacks start again (ATM10): the legacy-era libraries Legacy Connector carries (Scala 2.11, trove, vecmath, typesafe config, akka, activation) are loaded only when a legacy mod uses them and nothing in the pack already provides them. A modern mod shipping its own Scala no longer stops the game. Scala-based legacy mods are skipped with a clear line in
legacyconnector-report.txtwhen the pack has a different Scala. - Fewer world-breaking bugs: worlds no longer fail to load when a legacy block item has no modern block; spectators no longer fall through the world after joining or changing dimension; chunk generation no longer freezes on writes at chunk borders or on Atum's tombs; the Traincraft JEI start-up freeze and Roguelike's dungeon crash are fixed.
- World generation through native extension points: legacy biomes are placed through TerraBlender (or climate points), each legacy world generator is a placed feature in a biome modifier, legacy MapGenStructures are real modern structures, chest loot goes through loot tables, ores are as common as in the original mod, and
/locatefinds what legacy generators build. - Villages: vanilla villages generate unchanged and legacy buildings (Thaumcraft, Witchery, ...) are added beside the streets, rolled per village as in 1.7.10. Witchery's town walls, keeps and watchtowers come back. Works in ATM10 alongside its village mods.
- 1.12.2 mod dimensions feel like their mods: mod biomes are real biomes with their climate, colours and spawns, the dimension uses the mod's own biome provider, and sky, fog, clouds and sky renderers come from the dimension (tested with Atum, AbyssalCraft and The Midnight).
- Mods distributed as a folder (MCHeli) load.
- No manual store review any more: the per-installation signing of cached translations (a random key file plus HMAC over jars) is gone; store malware scanners held every release that had it. Translated jars still carry a provenance notice and are refused in
mods/. Leftoverinstallation.keyand.sigfiles can be deleted.
1.7.10
- Thaumcraft: elemental axe, shovel and Primal Crusher work again; the Travelling Trunk follows its owner; wand attaches to aura nodes; Thaumometer scans give Water/Lava and read nodes and logs correctly; taint spreads; thaumium and elemental hoes till.
- Witchery: crops drop their seeds and ingredients; potions that clash with another mod's id (ChromatiCraft) move to a free id instead of aborting DragonAPI.
- ChromatiCraft and Reika mods: no see-through structure blocks under Sodium; structure controllers generate (dungeons complete); block items no longer lost as
minecraft:air; ore extracts keep all subtypes; rainbow forest, dimension gating and village buildings; RotaryCraft/ReactorCraft/ElectriCraft machines push energy, fluids and items into modern machines. - Fisk's Superheroes: flight and gliding, hero poses, HUD, suit icons, size changes (through bundled Pehkui), gravity, healing, stealth and slow motion.
- Other mods: Mystcraft generation, Binnie's Extra Trees initialises, Thaumic Tinkerer loads, HBM's armour table accepts modern armour, ProjectE armour rules, Traincraft recipes in JEI, legacy mod ids that clash with modern mods load as
<id>_legacy, shaded APIs are relocated. - Gameplay: mob sounds play as in 1.7.10 and follow the volume sliders; creative tab and item names are translated; legacy mobs get spawn rules (on the ground, monsters in the dark); enchanting works as in 1.7.10; held and dropped leaves and grass are tinted; key bindings (mouse buttons, rebinding, late registration) work.
- Jade / JEI: villagers with a legacy job show as Minecraft; NEI recipe categories belong to their mod and show its machine as icon and station, with the handler's own picture and gauges.
1.12.2
- Thaumcraft 6: crystals render, the Caster's Gauntlet, nuggets, loot bags and other item models, flux goo.
- Models: stairs face, connect and collide correctly (also in structures); fence, wall and pane connections render; 1.12 vanilla model names are converted; item property overrides work; EnderIO machine models; Tinkers' slime islands.
- Atum: kiln recipes, biome decorators and the Baubles inventory work; its sky and sandstorm fog show.
- Also: JEI buttons and backgrounds, translated entity names in death messages, legacy armour drawn on the player, Scape and Run blocks and post shaders, NTM-CE boots, Kindred Legacy.
Rendering and performance
- Iris/Complementary: GL state is restored after legacy drawing and legacy draws use the matching shader-pack programs.
- Per-thread legacy render state, compiled display lists, culling of legacy tile entity renderers and particles, shared models, and memory released for unloaded levels and removed players.
Known issues
- Thaumcraft 6: the workbench, pedestal and focal manipulator GUIs and beds.
- Thaumcraft 4: golem tasks. Fisk's Superheroes: the blade and crab cannon abilities; Doctor Octopus's claw eyes draw as red cubes under shader packs.
- MCHeli: aircraft models do not draw. Chisel (1.12.2): no connected textures.
- Distant Horizons draws Atum's distant terrain in a flat colour; shader packs show their own sky in mod dimensions.
v0.3.12
Tested in a large NeoForge pack (All the Mods 10, ~450 mods) with Thaumcraft, Witchery and Reika's mods (DragonAPI, RotaryCraft, ReactorCraft, ElectriCraft, ChromatiCraft).
World generation through native extension points
Legacy content now enters the game the way a modern mod adds it.
- Biomes: placed through TerraBlender (or climate points), so Thaumcraft's magical biomes appear and
/locate biomefinds them. - Generators: each legacy world generator is its own placed feature in a biome modifier, and so is its deep-layer pass. Data packs can remove or retune them.
- Ores: as common as in the original mod. Ores in legacy y 0-63 are split between the old range and the deep layer, with the same total.
- Legacy MapGenStructures become real modern structures.
- Villages:
- Vanilla villages are generated unchanged.
- Legacy village buildings (Thaumcraft, Witchery, ...) are added beside the streets, rolled per village as in 1.7.10 with their per-village limits.
- Witchery's town walls, keeps and watchtowers come back.
- Legacy doors are placed whole and facing the right way.
- Loot: legacy chests filled from a ChestGenHooks category get the matching modern loot table, so the pack's loot applies.
- Block subtypes are flattened into blocks of their own (
blocks.flattenSubtypes).
Mod fixes
- Mod ids: a legacy mod whose id a modern mod also uses loads as
<id>_legacy(Witchery next to Bibliowoods). Its registry namespace is unchanged. - Shaded APIs: APIs that a legacy jar shades and a modern mod also ships (AE2's API in DragonAPI) are relocated.
- Mod checks: legacy
Loader.isModLoadedno longer counts modern mods. - Failing handlers: an event handler that fails 1,000 times in a row is unregistered.
events.skipswitches handlers off by hand. - JEI (NEI recipe handlers): categories draw the handler's own machine picture, gauges and text. Class-path texture paths (
/Reika/...) load. - Names: legacy lang files are read before the mods are constructed (ReactorCraft's "ore.cadmium"). Vanilla 1.7.10 keys resolve (
tile.stone.name). - Villagers: legacy villager professions get a proper name.
- Sounds: legacy sounds fall off with distance as in 1.7.10 (stereo files played at full volume everywhere) and follow their category's volume slider.
- Key bindings:
- Mouse-button bindings (ChromatiCraft's middle click) work.
- Rebinding in Controls reaches the mod.
- Bindings registered late show up.
- Leaves: legacy leaf textures that are recolours of the old vanilla leaves are rebuilt in the modern leaf pattern (
textures.modernLeaves). - Rendering:
- Full opaque legacy cubes drawn by block renderers keep all their faces.
- The PoseStack underflow is fixed.
- Legacy HUD overlays draw above modern HUD layers.
- Creative tabs with a duplicate stack no longer fail.
- Ships: legacy containers on Create Aeronautics/Sable ships no longer close at once.
- Mod dimensions: they run DragonAPI's population hooks, so ChromatiCraft's dimension structures are placed.
- Install key: the installation key now lives in the game folder (
.legacyconnector/installation.key).
Performance (each switch is a perf.* key, see the wiki)
- Client: per-thread legacy render state, so the render thread no longer waits for chunk meshing. Also: allocation-free legacy drawing, compiled display lists, culling of legacy tile entity renderers and particles, shared block and item models, generated pack files spilled to disk, and a texture location cache.
- Server: tile entities that never tick get no ticker, legacy views are cached on the modern objects, and the hot paths no longer allocate.
- Memory: legacy views of unloaded levels are released, removed players and dead views are swept, and the loader tables are dropped after discovery.
- World load: a world generator registered twice no longer causes a feature-order cycle in every biome, the pack metadata reads are lazy, and the biome templates are cached.
Pack compat (optional mixins)
- Architectury: event listener lists are thread-safe (a crash while loading).
- Rocketnautics: the star plasma sky texture is rebuilt every 4 ticks instead of every tick (
compat.rocketnautics.plasmaEveryTicks). - Auroras: auroras are drawn in the sky pass unless Iris actually has a shader pack in use (
compat.auroras.irisPackCheck).
Legacy Connector 0.3.11
Highlights
- Big modpacks start again (ATM10 2026): the legacy-era libraries Legacy Connector carried (Scala 2.11, trove, vecmath, typesafe config, akka, activation) are now loaded only when a legacy mod uses them and nothing in the pack already provides them. Before, a modern mod shipping its own Scala (ScalableCatsForce / Kotori Scala) stopped the whole game with
Modules kotori_scala and scala.library export package scala.annotation. Scala-based legacy mods are skipped (with a clear line inlegacyconnector-report.txt) when the pack has a different Scala. - Translated jars are marked and tied to your installation: every translated jar carries a provenance notice, cached translations are signed with a per-installation key, and a translated jar placed in
mods/is refused. Copying an instance to another machine re-translates once. Seedocs/wiki/Cache-and-Redistribution.md. - Pehkui is bundled (MIT) for entity size: Ant-Man/Atom Smasher style hitbox, eye height and model scale go through it.
1.7.10
- Thaumcraft: the wand attaches to aura nodes; Thaumometer scans give Water/Lava (not "air"), nodes show as "Aura Node" (not a golden sword), all-bark logs scan as their species, and scanning blocks without a legacy item no longer poisons the aspect table (the
?crash); taint fibres spread; Thaumium and elemental hoes till. - Thaumic Tinkerer loads (mod slabs report
isOpaqueCubelike 1.7.10). - Witchery: crops drop their seeds and ingredients (they dropped barriers); the broom no longer logs a custom-name error on every load.
- Fisk's Superheroes: flight/gliding hook, hero poses, HUD bar heights, front-lit suit icons, client hooks (player scale, camera roll and shake, first-person arms, attack and block-breaking locks), gravity, healing factor, mob stealth and slow-motion hooks, suit footsteps.
- ChromatiCraft: rainbow forest decoration, the dimension's biome gating and invisible walls, village buildings (sign crash).
- ReactorCraft / RotaryCraft / ElectriCraft: steam line placement, stale tile after a throwing
breakBlock; legacy energy, fluid and item pushers (RotaryCraft Dynamo, borer, grinder) reach modern NeoForge machines. Note: DragonAPI kills ReactorCraft neutrons below y=0, so build reactors at y >= 0. - Mod dimensions: sky colour and star brightness from the provider; sounds from a mod's own
sounds.jsonresolve first; tabs without a label get the mod's name. - Others: modern armour counts as legacy
ItemArmor(HBM's armour table),ISpecialArmordamage rules (ProjectE matter armour), grass/dead bush shearing, Forestry's texture manager (Binnie's Extra Trees), Mystcraft null chunk in generation regions.
1.12.2
- NTM-CE no longer crashes boot (
Invalid package name: 'NTM-CE'). - Legacy armour is drawn on the player; renamed slab parents keep their namespace (SRParasites blocks); post shaders needing old GLSL are ignored (purple tint near parasites);
com.mojang.realmsclientrelocated (Kindred Legacy). -Dlegacyconnector.genTiming=truetimes the legacy world generators.
Developer tools
Headless script consoles (-PserverScript, -PserverTickScript, -PserverDevScript) with probe libraries for Fisk, Thaumcraft, ChromatiCraft, Reika mods and RotaryCraft scenarios (docs/wiki/Development.md), and a modern-library survey (docs/wiki/Library-Candidates.md).
Known open: JEI corner buttons (1.12.2), Magnetostatic Engine shaft power, first-person off-hand item for Fisk heroes, several Thaumcraft/Witchery/Fisk mechanics that could only be probed headlessly (see the wiki test log).