Skip to content

Add support for newer versions and upgrade to Java 21#4348

Open
intisy wants to merge 157 commits into
Slimefun:experimentalfrom
Slimefun5:experimental
Open

Add support for newer versions and upgrade to Java 21#4348
intisy wants to merge 157 commits into
Slimefun:experimentalfrom
Slimefun5:experimental

Conversation

@intisy

@intisy intisy commented Mar 3, 2026

Copy link
Copy Markdown

Description

This commit adds support for Minecraft versions up to 1.21.11 and upgrades to Java 21.

Proposed changes

I modified the code to work with newer spigot versions, while still supporting any older versions.

Checklist

  • I have fully tested the proposed changes and promise that they will not break everything into chaos.
  • I have also tested the proposed changes in combination with various popular addons and can confirm my changes do not break them.
  • I have made sure that the proposed changes do not break compatibility across the supported Minecraft versions (1.16.* - 1.20.*).
  • I followed the existing code standards and didn't mess up the formatting.
  • I did my best to add documentation to any public classes or methods I added.
  • I have added Nonnull and Nullable annotations to my methods to indicate their behaviour for null values
  • I added sufficient Unit Tests to cover my code.

TheBusyBiscuit and others added 30 commits March 6, 2020 23:21
into stable

Conflicts:
	src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/generators/SolarGenerator.java
intisy added 30 commits June 12, 2026 20:39
…all, bump github-gradle 1.8.3

 - byte-swap slimefun4->slimefun5 in copied addon jars (shaded metrics module the source patch can't reach)
 - githubImplementation dough :all (multi-module), drop mockbukkit, disable tests on Java-8 toolchain
 - NbtItemCompat writes/reads the id via CraftMetaItem unhandledTags reflectively, so identity survives renames and lore edits
 - CustomItemDataService falls back to it when PdcCompat.isSupported() is false; the PDC path is unchanged on 1.14+
…e-1.13

 - HashedArmorpiece referenced org.bukkit.inventory.meta.Damageable (1.13+), crashing SlimefunArmorTask with NoClassDefFoundError on 1.8
 - normalize durability via reflective setDamage on 1.13+, ItemStack#setDurability on older versions
 - BlockDataService hard-referenced org.bukkit.block.TileState (1.14+), throwing NoClassDefFoundError on every block place/break/interact on 1.8
 - guard the instanceof reflectively; pre-1.14 relies on the file-based BlockStorage
 - cast to org.bukkit.inventory.meta.Damageable (1.13+) crashed Seismic Axe and similar items on 1.8
 - reflective getDamage/setDamage on 1.13+, ItemStack durability on older versions
 - refresh() built dough's RecipeSnapshot unconditionally; its instanceof Keyed threw NoClassDefFoundError on 1.8 and aborted the snapshot
 - guard construction on org.bukkit.Keyed presence; the getters already tolerate a null snapshot
 - -PlocalAddons builds addons-src working copies as-is (skips git reset) for iterating local addon ports
 - run-headless.ps1 boots a version, captures the log, auto-stops once started
 - copyAddonJar survives a jar locked by a stale server; resolve addon gradlew by absolute path
…ports the real version (not 5.0.0-UNOFFICIAL)
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