Skip to content

Port to Minecraft 26.1.2 (NeoForge)#411

Open
vanlueckn wants to merge 22 commits into
MrTroble:26.1.2-neoforge-masterfrom
vanlueckn:26.1.2-neoforge
Open

Port to Minecraft 26.1.2 (NeoForge)#411
vanlueckn wants to merge 22 commits into
MrTroble:26.1.2-neoforge-masterfrom
vanlueckn:26.1.2-neoforge

Conversation

@vanlueckn

Copy link
Copy Markdown
Collaborator

Portiert TC-Wireless-Redstone auf Minecraft 26.1.2 (NeoForge).

Hinweis: Setzt voraus, dass zuerst MrTroble/linkableapi#5 gemergt wird, damit das Submodul gegen den Upstream-linkableapi auflöst.

Jeronimo97 and others added 22 commits August 6, 2024 10:40
1.20.4 ref: update linkable api, remoteactivator
Replace ForgeGradle with NeoGradle userdev 7.0.171, swap
net.minecraftforge.* APIs for net.neoforged.* (Mod constructor takes
IEventBus, DeferredHolder replaces RegistryObject, BuiltInRegistries
replaces ForgeRegistries), rename mods.toml to neoforge.mods.toml,
and point the linkableapi submodule at the vanlueckn fork's
1.21-neoforge branch. Bumps Gradle wrapper to 8.10 (required by
NeoGradle 7.x).
Update neoforge_version to 21.1.196, raise minecraft and neoforge
dependency ranges in neoforge.mods.toml, and rename the artifact to
TC-Redstone-1.21.1. Reuses the existing linkableapi 1.21-neoforge
branch unchanged.
Update neoforge_version to 21.3.86, bump dependency ranges, and
raise pack_format to 42. Migrate API breaks: ItemInteractionResult
collapsed back into InteractionResult (SKIP_DEFAULT_BLOCK_INTERACTION
becomes TRY_WITH_EMPTY_HAND), InteractionResultHolder removed (Item#use
returns InteractionResult), BlockEntityType.Builder removed in favor of
the BlockEntityType constructor, and neighborChanged now takes
Orientation instead of fromPos. Switch the linkableapi submodule to
the new 1.21.3-neoforge branch.
Use DeferredRegister.Blocks#registerBlock and
DeferredRegister.Items#registerItem so Properties get a ResourceKey
attached via setId before the Block/Item constructors run. MC 1.21.3
otherwise crashes RegisterEvent dispatch with "Block id not set" /
"Trying to access unbound value". RemoteActivator now takes
Item.Properties to match the new Linkingtool constructor.
Update neoforge_version to 21.4.139, raise dependency ranges, and
bump pack_format to 46. No source changes required; the 1.21.3
linkableapi branch keeps working unchanged.
MC 1.21.4 introduces assets/<modid>/items/<id>.json wrappers that
point at the underlying item model; without them items render as
the missing-texture placeholder in inventory and in-hand.
Update neoforge_version to 21.5.95, raise dependency ranges, and
bump pack_format to 55. Drop usages of NbtUtils.writeBlockPos /
readBlockPos (removed in 1.21.5) and switch CompoundTag.getInt to
the new Optional-returning API. Point the linkableapi submodule at
the new 1.21.5-neoforge branch, which carries the matching NBT and
TooltipDisplay-aware appendHoverText migration.
Update neoforge_version to 21.8.50, raise dependency ranges, and
bump pack_format to 81. Migrate BlockEntity#loadAdditional and
saveAdditional to the new ValueInput / ValueOutput API introduced
in 1.21.6 — the multi-emitter now stores its position list via
BlockPos.CODEC.listOf() while the single emitter keeps the legacy
xLinkedPos / yLinkedPos / zLinkedPos integer keys for save
compatibility. The 1.21.5 linkableapi branch keeps working
unchanged; its TooltipDisplay-aware appendHoverText already matches
the 1.21.8 signature.
The 7.0.171 plugin produced a client-extra jar without the
Minecraft-Dists manifest attribute, which 1.21.8 NeoForge refuses
to load. NeoGradle 7.1.x requires Gradle 8.14+, so the wrapper
moves with it.
Update neoforge_version to 21.10.64, raise dependency ranges, and
set pack_format to 69 (1.21.10 resource pack version). Replace the
now-private Level.isClientSide field reads with isClientSide() calls
across the block, item, and tool classes. Point the linkableapi
submodule at the matching 1.21.10-neoforge branch.
Update neoforge_version to 21.11.42, raise dependency ranges, and
set pack_format to 75. Mojang renamed ResourceLocation to Identifier
in 1.21.11; rewire the data-component registration accordingly. The
1.21.10 linkableapi branch keeps working unchanged.
Update neoforge_version to 26.1.2.36-beta, raise dependency ranges,
set pack_format to 84, and bump the Java toolchain to 26 (Mojang
patches now use unnamed variables that need Java 22+). Switch to
NeoForge 26.1.2's UnaryOperator-based registerBlock/registerItem
overloads and let the helper handle the props pipeline. Point the
linkableapi submodule at the freshly fixed 26.1.2-neoforge branch.

Note: Gradle 8.14 cannot run on JDK 26 yet, so the build needs a JDK
21 launcher (JAVA_HOME) while the toolchain provisions JDK 26 for
compilation.
26.1.2 rejects any pack.mcmeta with pack_format > 64 unless it also
carries min_format and max_format. Add the matching [84, 0] ranges
so PackRepository#discoverAvailable stops failing with "missing
mandatory fields min_format and max_format".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants