All Projects → CryptoMorin → Xseries

CryptoMorin / Xseries

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

Programming Languages

java
68154 projects - #9 most used programming language
reflection
70 projects

Projects that are alternatives of or similar to Xseries

Lagmonitor
Monitor performance of your Minecraft server. Similar to VisualVM and Java Mission Control.
Stars: ✭ 147 (+34.86%)
Mutual labels:  minecraft, spigot, bukkit, plugin, performance
Item Nbt Api
Add custom NBT tags to Items/Tiles/Entities without NMS!
Stars: ✭ 163 (+49.54%)
Mutual labels:  api, minecraft, spigot, bukkit, library
Mobarena
MobArena plugin for Minecraft
Stars: ✭ 147 (+34.86%)
Mutual labels:  minecraft, spigot, bukkit, plugin
Advanced Achievements
🎆 Popular plugin that adds unique and challenging achievements to Minecraft servers.
Stars: ✭ 151 (+38.53%)
Mutual labels:  minecraft, spigot, bukkit, plugin
Fastboard
Simple Bukkit scoreboard API with 1.7.10 to 1.16 support.
Stars: ✭ 62 (-43.12%)
Mutual labels:  api, minecraft, spigot, bukkit
Webconsole
Spigot plugin to manage your server remotely using a web interface
Stars: ✭ 62 (-43.12%)
Mutual labels:  minecraft, spigot, bukkit, plugin
Craftbook
🔧 Machines, ICs, PLCs, and more!
Stars: ✭ 226 (+107.34%)
Mutual labels:  minecraft, spigot, bukkit, plugin
Viaversion
Allows the connection of newer clients to older server versions for Minecraft servers.
Stars: ✭ 463 (+324.77%)
Mutual labels:  minecraft, spigot, bukkit, plugin
Slimefun4
Slimefun 4 - A unique Spigot/Paper plugin that looks and feels like a modpack. We've been giving you backpacks, jetpacks, reactors and much more since 2013.
Stars: ✭ 369 (+238.53%)
Mutual labels:  minecraft, spigot, bukkit, plugin
Akarin
Akarin is a powerful (not yet) server software from the 'new dimension'
Stars: ✭ 332 (+204.59%)
Mutual labels:  minecraft, spigot, bukkit, performance
Nocheatplus
Anti cheating plugin for Minecraft (Bukkit/Spigot).
Stars: ✭ 260 (+138.53%)
Mutual labels:  minecraft, spigot, bukkit, plugin
Confiscate
Discover duplication glitches, abusive staff giving items, x-ray or simply poor server economy.
Stars: ✭ 23 (-78.9%)
Mutual labels:  minecraft, spigot, bukkit, plugin
Antilaby
AntiLaby plug-in for Bukkit
Stars: ✭ 6 (-94.5%)
Mutual labels:  api, minecraft, spigot, plugin
Unifiedmetrics
Fully-featured metrics collection agent for Minecraft servers. Supports Prometheus and InfluxDB. Dashboard included out-of-box.
Stars: ✭ 29 (-73.39%)
Mutual labels:  api, minecraft, spigot, bukkit
Redprotect
RedProtect Easy and Light Weight Antigrief plugin.
Stars: ✭ 51 (-53.21%)
Mutual labels:  minecraft, spigot, bukkit
Luckperms
A permissions plugin for Minecraft servers.
Stars: ✭ 1,100 (+909.17%)
Mutual labels:  minecraft, spigot, bukkit
Geotic
Entity Component System library for javascript
Stars: ✭ 97 (-11.01%)
Mutual labels:  library, performance, fast
Shopchest
ShopChest - Spigot/Bukkit Plugin
Stars: ✭ 38 (-65.14%)
Mutual labels:  minecraft, spigot, bukkit
Npclib
(Minecraft) NPCLib – Basic non-player character library.
Stars: ✭ 98 (-10.09%)
Mutual labels:  minecraft, spigot, library
Bedwarsrel
Bedwars Reloaded - The Minecraft Bedwars Plugin!
Stars: ✭ 108 (-0.92%)
Mutual labels:  minecraft, spigot, bukkit

XSeries

Bukkit Version Java Build Status maven-central

Library mainly designed to provide cross-version support for Minecraft Bukkit servers, but it also includes numerous extra methods to help developers design their plugins easier and efficiently. Some utilities are completely unrelated to cross-version support such as NoteBlockMusic.

Don't forget to add api-version: "1.13" to your plugin.yml. This will keep the plugin working even if the server is not 1.13

This project aims to provide quality utilities with high performance using the latest, yet efficient techniques. Although support for old versions (like 1.8) will still remain for future updates, I highly encourage all developers drop support for anything below 1.12

Links

This project was mainly posted in SpigotMC
Most of the updates and news will be announced there.

Getting Started

When compiling your plugin you should be using the latest version that your plugin is going to support.
Which means, at least you have to use 1.13 (for cross-version support utilities only) You can clone the project using: git clone https://github.com/CryptoMorin/XSeries.git

All the methods are explained in the JavaDocs. Please read them before using a method. It's quite common to miss the whole purpose of cross-version support and the efficiency of the utility by using the wrong methods.

You can use most of these utilities individually or use the maven dependency. Most of the utilities are intended to be independent. However, some utilities such as XParticle are intended to use another class (ParticleDisplay)

Maven maven-central

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

You shouldn't worry if the reflection or other classes are going to use your memory with heavy useless static cache. As long as you don't use them anywhere in your code, they won't initialize. The memory usage of these utilities are extremely enhanced.

Note: DO NOT extract the JAR into your project if you're using maven. You have to shade the library, otherwise your plugin or other plugins will break due to version mismatch. To shade the library, add the following under your maven plugins:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.2.4</version>
    <configuration>
        <relocations>
            <relocation>
                <pattern>com.cryptomorin.xseries</pattern>
                <!-- Be sure to change the package below -->
                <shadedPattern>my.plugin.utils</shadedPattern>
            </relocation>
        </relocations>
        <!-- Here you can remove the classes you don't use. -->
        <!-- These are some examples. -->
        <!-- The "unused" package and SkullCacheListener are excluded by default. -->
        <!-- Some utilities such a XItemStack depend on more than 3 other classes, so watch out. -->
        <filters>
            <filter>
                <artifact>*:*</artifact>
                <excludes>
                    <exclude>com/cryptomorin/xseries/XBiome*</exclude>
                    <exclude>com/cryptomorin/xseries/NMSExtras*</exclude>
                    <exclude>com/cryptomorin/xseries/NoteBlockMusic*</exclude>
                </excludes>
            </filter>
        </filters>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Contributing

There's always room for improvement. If you know better ways of doing things, I really appreciate it if you can share it with me, but please make sure you know what you're doing and tested the project on different versions. Any new ideas are welcome as long as they're useful; not just for you, but for everyone else.
Please refer to contributing guidelines for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].