XSeries Versions Save

Library for cross-version Minecraft Bukkit support and various efficient API methods.

v9.4.0

1 year ago

Maven

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

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:9.4.0") { isTransitive = false }
}

Warning Don't forget to shade the library.


Updated for v1.20

XMaterial Fixed matchXMaterial("BRICK") in older versions.

XSound Add support for playing a sound for multiple entities in a single task.

ReflectionUtils Added support for patch numbers.

XTag Added some missing materials.

v9.3.1

1 year ago

Maven

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

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:9.3.1") { isTransitive = false }
}

Warning Don't forget to shade the library.


Added 1.19.4 support.

v9.3.0

1 year ago

Maven

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

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:9.3.0") { isTransitive = false }
}

Warning Don't forget to shade the library.


Changed some stuff according to CodeFactor. I still don't know why it's whining about some methods' complexity, they're meant to be complex for fuck's sake.

XItemStack

  • The "book" section for writable books will no longer be serialized if there's no information.
  • Fixed no-damage-ticks option.

XTag

  • Improved INVENTORY_NOT_DISPLAYABLE

XMaterial

  • Fixed an error caused by custom MAP in outdated server versions.

XBlock

  • Fixed isCrop()

XEntity

  • Fixed an error caused in v1.10 servers and below.

XSound

  • Record can be cloned now.

NoteBlockMusic

  • Now has an option to play the sound "at location".

v9.2.0

1 year ago

Maven

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

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:9.2.0") { isTransitive = false }
}

Warning Don't forget to shade the library.


Added 1.19.3 support

XSound

  • Throws an exception instead of returning null for unknown sounds.

XBlock

  • Fixed setDirection() for ladders in old versions.

XTag

  • Fixed INVENTORY_NOT_DISPLAYABLE
  • Added a few missing blocks to other tags.

XItemStack

  • Fixed shulker contents not being deserialized/serialized correctly.

ParticleDisplay

  • The count is now 1 by default.

SkullUtils

  • Recoded the entire class.
  • Added setSkin() which sets the skin for a block.

v9.1.0

1 year ago

Maven

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

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("com.github.cryptomorin:XSeries:9.1.0") { isTransitive = false }
}

Improved abstraction by allowing Plugin instances instead of JavaPlugin for scheduled tasks.

XMaterial

  • Added or() method which is very simple method for fallback values.
  • Fixed a few legacy data values for leaves and logs.
  • Fixed an issue with yellow and red dye on 1.13
  • Removed deprecated isNewVersion() and isOneEight() methods.

XItemStack

  • Fixed an issue with material restart conditions.

ActionBar

  • Fixed color codes in 1.9-1.11

v9.0.0

1 year ago

Maven

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

Removed the use of apache commons due to future planned removal of the library. Removed "unused" package and all its classes.

XMaterial

  • Fixed a few issues regarding some wood and disc materials.
  • Fixed an error in 1.8 servers with spawn eggs.

XItemStack

  • Custom model data option name is now consistent.

XEnchantment

  • Removed "ItemStack addEnchantFromString(@Nonnull ItemStack item, @Nullable String enchantment)" because I believe it's useless and I encourage all devs to make a simple yaml map based with key as enchant name and value as the level config system instead.

v8.8.0

1 year ago

Maven

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

Updated for 1.19

ItemStack

  • Added a lisp-like condition-restart system for deserialization material errors.
  • Changed the way how configs are accessed for a few options. This is necessary for external config handlers.

v8.7.1

2 years ago

Maven

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

ItemStack

  • Changed the names of a few options to more abstract name for future items.

SkullUtils

  • Fixed an issue where using ItemStack#equals or ItemStack#isSimilar caused a NPE when used between two custom skulls.

XTag

  • Fixed isItem() for outdated versions above 1.13

v8.7.0

2 years ago

Maven

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

XMaterial

  • Fixed YELLOW_GLAZED_TERRACOTTA, SILVER_GLAZED_TERRACOTTA, END_STONE_BRICK_STAIRS and a lot slabs for outdated servers.
  • Fixed potion / splash potion checks in 1.8.8

XEntity

  • Added support for two illager methods. Patrol leader and join raid.
  • All options that represent a color are named to "color" and all options that represent a variant/type are renamed to variant.
  • All the "type" options are now renamed to "variant"

XItemStack

  • They now support editing itemstacks rather than constructing them from scratch.
  • The "glow" option will now automatically enable HIDE_ENCHANTS flag.
  • Removed \n support for single line lore. If you genuinely want to break line just use a simple list. There's no reason to use \n instead.
  • It no longer translates colors automatically. It'll use the passed function translator instead.

ActionBar

  • Added a format for configuring ActionBar time from the message string itself. Note that you need to use the new method (which is just plugin,player,string) for this to work.

ReflectionUtils

  • Fixed a version detection error in 1.13

XBlock

  • Fixed an error in outdated servers.

v8.6.2

2 years ago

Maven

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

Titles

  • You can now construct an object with this class that holds all title related information.
  • Added a transformer function parameter to parseTitle for placeholder and other purposes.

XMaterial

  • Fixed Terracotta/clay/stained_clay/Hardened_clay related issues.
  • Fixed an issue with pork/cooked

XItemStack

  • Added "glow" option which adds a random enchantment to the item for GUI aesthetics.
  • "flag" option now only accepts "ALL" option as a string, not in the list.

ParticleDisplay

  • Fixed DustTransition compatibility with older versions