Spigot 1.18 Snapshot

The Spigot 1.18 modpack has recently been released, meaning you cannot test the Spigot 1.18 mod with snapshot. Instead, you can totally run the Spigot 1.18 modpack in Minecraft without any testing stage. Since the Spigot 1.18 modpack is now available, you can run the mod and see what kinds of features come to the game.

Spigot developer has announced that the 1.18 version is a smaller update than previous major releases, as it seems to be a shorter interval between 1.17 and 1.18. However, Spigot 1.18 still comes with a number of significant changes, around world generation and biomes. To know more about Spigot 1.18, you can learn it through our post below!

Spigot 1.18 Snapshot

What Does Spigot 1.18 Bring?

Even though the Spigot 1.18 is such a shorter interval with the previous version, you do not have to worry, as this version still comes with a number of gorgeous features within. So, here’s what the Spigot 1.18 brings to the game!

    • Plugin Updates

There are some changes to the third-party libraries, especially MySQL. If a plugin breaks down on Minecraft update, as a server owner, you may need to encourage developers to code their plugin in a way which it does not break. However, if you do this once, it is much more efficient than depending on an update every release.

As a developer, you may need to use the API wherever possible. In this case, a stable API is what differentiates plugins from mods. Otherwise, if you cannot use the API, you may need to contribute one or at least open a feature request that states the API desired and why you need it.

By doing so, it will prevent you from updating your plugin each release. It will also cumulatively store the server owners. So, you have to consider your duty to the community to do this.

    • Java Version

Since Mojang has decided to create Minecraft 1.18, sure it will require Java 17 or later. To get the version, you may be able to install it from a third party, such as Azul Zulu or your Linux package manager.

It’s important to note, the –illegal-access=permit workaround is no longer possible on this version. Keep in mind, the current version of Java 17 actually has a bug that may affect users on single-core systems. If you already have such a system, take a consideration to add ‘Djava.util.concurrent.ForkJoinPool.common.parallelism=1’ as a Java argument.

    • Backups

Before upgrading, ensure that you have recent and tested backups for your server. As usual, it may not be possible to downgrade your server to an earlier version. However, it is an important thing for this release, because of the permanent alterations to older worlds.

    • World Upgrading

It will be recommended that all upgrades are conducted from 1.17 version, even though the upgrades from between any two version pairs are technically possible. That means you must first upgrade your Minecraft world completely on the 1.17 version with the –ForceUpgrade server argument. Then, you can do the same on the 1.18 version.

    • Bug Reports

If you report a bug to JIRA, ensure that you read the guidelines and have compared the results between Vanilla and Spigot. You might have compared the results between Vanilla and Spigot as well as the 1.17.1 versions before reporting.

By doing this way, it will speed the process and make sure more bugs get fixed as quickly as possible. You can also report any bugs or issues that you may think are bugs to JIRA. Spigot developer technicians will choose good quality, but uncertain reports over no reports at all.

    • Downloading/ Installing

To get Spigot 1.18, you just simply run the latest BuildTools with the required arguments. In this case, ensure both your BuildTools and Java versions are up to date. Additionally, there may be mandatory updates of BuildTools throughout the 1.18 release cycle. So, it is a good practice for you to make sure that you are always using the latest version.

To download the latest BuildTools, you can go to this link.

Code (Text):

java -jar BuildTools.jar –rev 1.18

If you have not used BuildTools to create a server jar yet, it would be better for you to read any information about the 1.8 announcement and the BuildTools on any sources and Minecraft Wiki.

    • Closing Notes

Each closing note release actually represents the culmination of hundreds of hours of effort. So, if SpigotMc has helped you in any shape or way, the Spigot developer will encourage you to leave a donation, nice message or contribution.

If nothing else, you need to ensure that any bug reports that you open are clear, polite, specific and also have been tested thoroughly both without plugins and on Vanilla.

    • API Changes

You may also need to view a complete summary of the API changes between 1.17.1 and 1.18.x through this link. Need to know, there are no intentional API breakages, however there may be slight unavoidable changes. So, here’s a list of API changes that includes:

    • Java 17 comes to change behaviour, especially if reflection is used.
    • MySQL has been upgraded to the 8.x driver series. Furthermore, this driver may be more strict in some operations.
    • Google GSON and Guava have been bumped to the newer versions per Mojang.
    • A number of biomes actually have been renamed or deleted.
    • The world height will extend to less than 0 and greater than 256.
    • There might have been extensive internal changes to biome code and world generation. You can also report as bugs about any plugin-facing changes at this stage are not intentional.
    • Future API

It is leaked that there will be plans underway to change the way  to handle a lot of enums in the API, so that the custom content will be better supported. Need to know,  those changes will not be expected to break most plugin jars, but they may break plugin source code unavoidably.

If you want to reduce the risk of breakage, make sure to take a consideration to avoid the use of switch statements and EnumSet over enums that implement ‘Keyed’.