Skip to content

Releases: CryptoMorin/XSeries

v13.6.0

13 Dec 16:41

Choose a tag to compare

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.6.0</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.6.0")
}

Important

Don't forget to set api-version: 1.13 in your plugins.yml.
Don't forget to shade the library.


Added support for 1.21.11

XBlock

  • Fixed errors with getType() and isSimilar() (which depended on getType()) on slab blocks pre-1.13 (Fixes #381)

XParticle

  • Added the experimental getDataType() method similar to Spigot's API.

ParticleDisplay

  • Added withRawData() for easier access.

XItemStack

  • the serialize(), deserialize() and edit() methods are now deprecated. You should use the inner classes instead
    which provide a much cleaner API.
  • Fixed backwards compatibility of base potion effect serialization and deserialization. (Fixes #379)
  • Fixed serialization issues with item-model options.
  • Added MiniMessage support (Closes #382)

v13.5.1

08 Oct 12:08

Choose a tag to compare

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.5.1</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.5.1")
}

Important

Don't forget to set api-version: 1.13 in your plugins.yml.
Don't forget to shade the library.


No changes were needed for 1.21.10 support.

XSkull

  • Fixed an issue with older versions (~pre-1.21.7)

v13.5.0

06 Oct 11:24

Choose a tag to compare

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.5.0</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.5.0")
}

Important

Don't forget to set api-version: 1.13 in your plugins.yml.
Don't forget to shade the library.


Added 1.21.9 support.

XSkull

  • After Mojang ass fucked us by changing the GameProfile object after many years, all APIs concerning a GameProfile object now deal with a custom MojangGameProfile object instead.

XEntity

  • Added methods that support modifying the entity before spawning them.

XTag

  • Fixed BAMBOO, CARROT and POTATO being listed as INVENTORY_NOT_DISPLAYABLE.

v13.4.0

13 Sep 19:39

Choose a tag to compare

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.4.0</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.4.0")
}

Important

Don't forget to set api-version: 1.13 in your plugins.yml.
Don't forget to shade the library.


General

  • Fixed JitPack repository issues.

MinecraftConnection

  • Fix packet sending for 1.21.6 and 1.21.7 for Spigot

Titles

  • Fixed when Titles are sent with null title or subtitle.

XMaterial

  • Fixed some compatibility issues with egg materials pre-1.11
  • Fixed unknown material PUMPKIN for pre-1.12

ParticleDisplay

  • Fixed a ConcurrentModificationException for the visibility list, making the class thread-safe.

Particles

  • Fixed issues with displayRenderedImage() rotation.

XItemStack

  • Fixed a rare error in outdated server software caused by XItemStack.stack(...) when giving it a Material.AIR item.
  • Fixed some issues with custom model data deserialization and serialization.

XBlock

  • Added experimental getType() method for as a cross-version compatible method.
  • Fixed setType() when the material is sugar cane (pre v1.13).
  • Most is...() methods are deprecated now. Use isSimilar(Block, XMaterial) instead.

XTag

  • Fixed shovel duplicated in DIAMOND_TOOLS and NETHERITE_TOOLS.
  • Added XTag#SWORDS, XTag#PICKAXES, XTag#AXES, XTag#SHOVELS, and XTag#HOES.

v13.3.3

03 Jul 00:32

Choose a tag to compare

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.3.3</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.3.3")
}

Important

Don't forget to set api-version: 1.13 in your plugins.yml.
Don't forget to shade the library.


  • Added v1.21.7 support.

v13.3.2

29 Jun 09:43

Choose a tag to compare

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.3.2</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.3.2")
}

Important

Don't forget to set api-version: 1.13 in your plugins.yml.
Don't forget to shade the library.


  • Added v1.21.6 support.
  • Fixed some incorrect materials in XTag.INVENTORY_NOT_DISPLAYABLE
  • Fixed some issues with XWorldBorder.

v13.3.1

31 May 18:17

Choose a tag to compare

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.3.1</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.3.1")
}

Important

Don't forget to set api-version: 1.13 in your plugins.yml.
Don't forget to shade the library.


XSkull

  • Added Profileable#prepare()
  • More documentation.
  • Performance improvements.

Titles

  • Fixed an error in newer versions.

XItemStack

  • Fixed custom model data deserialization.

v13.3.0

23 May 05:38

Choose a tag to compare

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.3.0</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.3.0")
}

Important

Don't forget to set api-version: 1.13 in your plugins.yml.
Don't forget to shade the library.


Updated the links in the README page with a logo and added some info about each of the classes.

XRegistry

  • Fixed an error caused by running the server in some outdated server versions (Around 1.13-1.15)

Titles & ActionBar

  • Now support BaseComponent support (Mainly because of text shadow color for now)

NoteBlockMusic

  • No longer uses CompletableFuture due to Paper blocking async sound plays.

XSkull

  • Support for Bukkit's new PlayerProfile API.
  • Added a way to directly use a GameProfile without updating its textures using Profileable.of(GameProfile, false)
  • More documentation specifically for Geyser and NetEase.
  • Added Profileable#isReady() which is useful for knowing if a profile will send requests or not.
  • Performance improvements.

XItemFlag

  • Added nullability and contract annotations.
  • Fixed Set<XItemFlag> getFlags(ItemMeta) not being static.

XItemStack

  • Added support for new custom model data identifier types.
  • Fixed SpawnEggMeta in older versions.
  • Improved version support for certain item components.

v13.2.0

29 Mar 14:51

Choose a tag to compare

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.2.0</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.2.0")
}

Important

Don't forget to set api-version: 1.13 in your plugins.yml.
Don't forget to shade the library.


Added v1.21.5 support.

XRegistry

  • Added a way to get registries of modules by their class.

XInventoryView & XArt

  • Fixed errors on older versions when equals()/hashcode()/toString() are called.

XItemStack

  • Revamped the serialization system to use a cleaner item meta chaining system instead of the current YanDev if-else chain.
  • Fixed an issue with armor trims not being properly deserialized.
  • Improved Unit Tests.

XWorldBorder

  • Now uses the native Bukkit API when possible.

XItemFlag

  • Renamed hideEverything(ItemMeta) to decorationOnly(ItemMeta) due to the new v1.21.5 new flags.

v13.1.0

15 Mar 13:20

Choose a tag to compare

Maven

<dependency>
    <groupId>com.github.cryptomorin</groupId>
    <artifactId>XSeries</artifactId>
    <version>13.1.0</version>
</dependency>

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:13.1.0")
}

Important

Don't forget to shade the library.


Maven Aggregate Project

This project has been converted into an aggregator Maven project with
submodules. This change was necessary to implement the new API classes
mentioned below.

XInventoryView & XArt

Introducing XInventoryView.of(InventoryView) & XArt.of(Art) which allows you to use Bukkit's InventoryView
and Art
classes respectively in a cross-version compatible way. Bukkit changed their API from abstract/enum classes to
interfaces for these classes. Although this might not appear to cause any issues at first, plugins compiled for
non-interface vs interface have a different underlying bytecode which can cause runtime errors depending on which
version the plugin was compiled against. These two classes add a minimal zero-overhead wrapper that handles this issue.

XItemStack

  • Fixed ItemFlags for v1.20.6+
  • addItems() now uses item-specific stack size checking instead of inventory-based stack size by default.

XBlock

  • Fixed setColor() for 1.13+

XSkull

  • Attempted a fix for hybrid server softwares like Arclight Forge.