Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Represents an enumeration of dynamic packages of NMS and CraftBukkit
- *
- * This class is part of the '''ReflectionUtils''' and follows the same usage conditions
- *
- * @constructor Construct a new package type
- * @param path Path of the package
- * @author DarkBlade12
- * @since 1.0
- */
- object PackageTypes extends Enumeration {
- sealed abstract class PackageTypeBase
- case class PackageType(parent: PackageTypePath, path: String) {
- PackageTypes.path = path
- }
- case class PackageTypePath(path: String) {
- PackageTypes.path = path
- }
- object MINECRAFT_SERVER extends PackageTypePath("net.minecraft.server." + getServerVersion)
- object CRAFTBUKKIT extends PackageTypePath("org.bukkit.craftbukkit." + getServerVersion)
- object CRAFTBUKKIT_BLOCK extends PackageType(CRAFTBUKKIT, "block")
- object CRAFTBUKKIT_BLOCK extends PackageType(CRAFTBUKKIT, "block")
- object CRAFTBUKKIT_CHUNKIO extends PackageType(CRAFTBUKKIT, "chunkio")
- object CRAFTBUKKIT_COMMAND extends PackageType(CRAFTBUKKIT, "command")
- object CRAFTBUKKIT_CONVERSATIONS extends PackageType(CRAFTBUKKIT, "conversations")
- object CRAFTBUKKIT_ENCHANTMENTS extends PackageType(CRAFTBUKKIT, "enchantments")
- object CRAFTBUKKIT_ENTITY extends PackageType(CRAFTBUKKIT, "entity")
- object CRAFTBUKKIT_EVENT extends PackageType(CRAFTBUKKIT, "event")
- object CRAFTBUKKIT_GENERATOR extends PackageType(CRAFTBUKKIT, "generator")
- object CRAFTBUKKIT_HELP extends PackageType(CRAFTBUKKIT, "help")
- object CRAFTBUKKIT_INVENTORY extends PackageType(CRAFTBUKKIT, "inventory")
- object CRAFTBUKKIT_MAP extends PackageType(CRAFTBUKKIT, "map")
- object CRAFTBUKKIT_METADATA extends PackageType(CRAFTBUKKIT, "metadata")
- object CRAFTBUKKIT_POTION extends PackageType(CRAFTBUKKIT, "potion")
- object CRAFTBUKKIT_PROJECTILES extends PackageType(CRAFTBUKKIT, "projectiles")
- object CRAFTBUKKIT_SCHEDULER extends PackageType(CRAFTBUKKIT, "scheduler")
- object CRAFTBUKKIT_SCOREBOARD extends PackageType(CRAFTBUKKIT, "scoreboard")
- object CRAFTBUKKIT_UPDATER extends PackageType(CRAFTBUKKIT, "updater")
- object CRAFTBUKKIT_UTIL extends PackageType(CRAFTBUKKIT, "util")
- var path = "": String
- /**
- * Returns the path of this package type
- *
- * @return The path
- */
- def getPath: String = path
- /**
- * Returns the class of the given name
- *
- * @param classname Name of the desired class
- * @throws java.lang.ClassNotFoundException If the desired class with the specified name and package cannot be found
- * @return The class with the specified name
- */
- @throws(classOf[ClassNotFoundException])
- def getClass(classname: String): Class[_] = Class.forName(this + "." + classname)
- // Override for convenience
- override def toString(): String = path
- /**
- * Returns the version of your server
- *
- * @return The server version
- */
- def getServerVersion = Bukkit.getServer.getClass.getPackage.getName substring 23
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement