XYC is a library containing a rich set of more or less helpful tools, mainly intended for Minecraft use.
Switch branches/tags
xyc-parent-4.5.0.1 xyc-parent-4.5.0.0 xyc-parent-4.4.0.4 xyc-parent-4.4.0.3 xyc-parent-4.4.0.2 xyc-parent-4.4.0.1 xyc-parent-4.4.0.0 xyc-parent-4.3.4.0 xyc-parent-4.3.3.2 xyc-parent-4.3.3.1 xyc-parent-4.3.3.0 xyc-parent-4.3.2.1 xyc-parent-4.3.2.0 xyc-parent-4.3.1.3 xyc-parent-4.3.1.2 xyc-parent-4.3.1.1 xyc-parent-4.3.1.0 xyc-parent-4.3.0.1 xyc-parent-4.3.0.0 xyc-parent-4.2.2.0 xyc-parent-4.2.1.4 xyc-parent-4.2.1.3 xyc-parent-4.2.1.2 xyc-parent-4.2.1.1 xyc-parent-4.2.1.0 xyc-parent-4.2.0.6 xyc-parent-4.2.0.5 xyc-parent-4.2.0.4 xyc-parent-4.2.0.3 xyc-parent-4.2.0.2 xyc-parent-4.2.0.1 xyc-parent-4.2.0.0 xyc-parent-4.1.2.0 xyc-parent-4.1.1.0 xyc-parent-4.1.0.0 xyc-parent-4.0.5.1 xyc-parent-4.0.5.0 xyc-parent-4.0.4.2 xyc-parent-4.0.4.1 xyc-parent-4.0.4.0 xyc-parent-4.0.3.1 xyc-parent-4.0.3.0 xyc-parent-4.0.2.3 xyc-parent-4.0.2.2 xyc-parent-4.0.2.1 xyc-parent-4.0.2.0 xyc-parent-4.0.1.10 xyc-parent-4.0.1.9 xyc-parent-4.0.1.8 xyc-parent-4.0.1.7 xyc-parent-4.0.1.6 xyc-parent-4.0.1.5 xyc-parent-4.0.1.4 xyc-parent-4.0.1.3 xyc-parent-4.0.1.2 xyc-parent-4.0.1.1 xyc-parent-4.0.1.0 xyc-parent-4.0.0.1 xyc-parent-4.0.0.0 xyc-parent-3.3.10.1 xyc-parent-3.3.10.0 xyc-parent-3.3.9.1 xyc-parent-3.3.9.0 xyc-parent-3.3.8.0 xyc-parent-3.3.7.0 xyc-parent-3.3.6.0 xyc-parent-3.3.5.2 xyc-parent-3.3.5.1 xyc-parent-3.3.5.0 xyc-parent-3.3.4.0 xyc-parent-3.3.3.3 xyc-parent-3.3.3.2 xyc-parent-3.3.3.1 xyc-parent-3.3.3.0 xyc-parent-3.3.2.5 xyc-parent-3.3.2.4 xyc-parent-3.3.2.3 xyc-parent-3.3.2.2 xyc-parent-3.3.2.1 xyc-parent-3.3.2.0 xyc-parent-3.2.2.1 xyc-parent-3.2.2.0 xyc-parent-3.2.1.1 xyc-parent-3.2.1.0 xyc-parent-3.2.0.15 xyc-parent-3.2.0.14 xyc-parent-3.2.0.13 xyc-parent-3.2.0.12 xyc-parent-3.2.0.11 xyc-parent-3.2.0.10 xyc-parent-3.2.0.9 xyc-parent-3.2.0.8 xyc-parent-3.2.0.7 xyc-parent-3.2.0.6 xyc-1.8-parent-4.4.2.10 xyc-1.8-parent-4.4.2.9 xyc-1.8-parent-4.4.2.8 xyc-1.8-parent-4.4.2.7 xyc-1.8-parent-4.4.2.6 xyc-1.8-parent-4.4.2.5
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea
bukkit
bungee
core
games-bootstrap
games
lanatus
.gitignore
Jenkinsfile
LICENSE
README.md
pom.xml

README.md

XYC

XYC is a library containing a rich set of features, mainly intended for Minecraft use.

Note: Even though there are some relatively recent parts, certain legacy components haven't been significantly refactored since the project's inception in 2013. These may expose dirty APIs and usually don't follow clean code guidelines.

Modules

xyc-core

This module contains core functionality which doesn't depend on anything Minecraft-related - It can therefore be used in any kind of Java project. It includes some annotations, an API for checklists, a few Collection-related classes, Mojang's AuthLib, a (not totally efficient) MySQL connection thingy as well as a class for determining jar versions and a few miscellaneous utilities.

3rd-party libraries included:

xyc-bukkit

This module contains utilities for Bukkit, such as a locale and help framework (both not really up-to-date), a registry for UUID providers, several classes which make performing actions (such as opening/closing inventories, updating signs, etc.) on Bukkit's main thread easier, an extension framework for Bukkit's JavaPlugin class, offering easier SQL integration and more, as well as several utility classes.

Obviously, this requires you to have Bukkit or Spigot-API in your classpath.

Oh yeah, and you can run this as a Bukkit plugin to avoid shading everything into your plugin.

xyc-bungee

This module currently only provides a single utility class for BungeeCord, but is probably going to be extended in the future. You need BungeeCord-API in your classpath to use this.

xyc-bukkit-test

This module contains some helpful utilities for testing Bukkit plugins. You need xyc-bukkit, JUnit 4 and Mockito in your classpath to be able to use this.

xyc-games

This module contains some utilities for creating custom minigames for Bukkit, such as a player data framework (needs improvement), a framework for saving and loading kits from YAML files, some classes for managing teams, as well as a Bukkit task that lets you easily teleport people to another location while making sure that they don't move, etc.

You need xyc-bukkit in your classpath for this to work.

You can run this as a Bukkit plugin too if you want. (Use the standalone distribution)

Documentation

You can build documentation yourself using Maven:

mvn javadoc:aggregate

On the other hand, you could find JavaDocs at my CI server

Compilation

This project uses Apache Maven for compilation.

mvn clean install

You can also find pre-built artifacts at my CI server.

Maven artifact descriptor:

<repositories>
  <repository>
    <id>xxyy-repo</id>
    <url>http://repo.l1t.li/repo/xxyy-lib/</url>
  </repository>
</repositories>
<dependencies>
  <dependency>
    <groupId>li.l1t.common</groupId>
    <artifactId>xyc-[[your module]]</artifactId>
    <version>[[See pom.xml]]</version>
  </dependency>
</dependencies>

Versioning

XYC uses a a.y.x.z semantic versioning scheme.

a is the overall version. This gets bumped when the project structure is significantly changed.

x is the major version. This gets bumped when considerable new APIs are introduced, or serious binary incompatibilities are introduced.

y is the minor version. This gets bumped for new features and considerable changes. Small binary incompatibilities may arise.

z is the bugfix version. This gets bumped for bugfixes.

Support

Just open an issue on GitHub.

License

This project is licensed under a MIT License. See the LICENSE file for details.