Advertisement
TheReturningVoid

Untitled

Sep 18th, 2015
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 2.42 KB | None | 0 0
  1. object PackageType extends Enum {
  2.     // Constants
  3.     val MINECRAFT_SERVER = SValue("net.minecraft.server." + getServerVersion)
  4.     val CRAFTBUKKIT = SValue("org.bukkit.craftbukkit." + getServerVersion)
  5.     val CRAFTBUKKIT_BLOCK = PSValue(CRAFTBUKKIT, "block")
  6.     val CRAFTBUKKIT_CHUNKIO = PSValue(CRAFTBUKKIT, "chunkio")
  7.     val CRAFTBUKKIT_COMMAND = PSValue(CRAFTBUKKIT, "command")
  8.     val CRAFTBUKKIT_CONVERSATIONS = PSValue(CRAFTBUKKIT, "conversations")
  9.     val CRAFTBUKKIT_ENCHANTMENTS = PSValue(CRAFTBUKKIT, "enchantments")
  10.     val CRAFTBUKKIT_ENTITY = PSValue(CRAFTBUKKIT, "entity")
  11.     val CRAFTBUKKIT_EVENT = PSValue(CRAFTBUKKIT, "event")
  12.     val CRAFTBUKKIT_GENERATOR = PSValue(CRAFTBUKKIT, "generator")
  13.     val CRAFTBUKKIT_HELP = PSValue(CRAFTBUKKIT, "help")
  14.     val CRAFTBUKKIT_INVENTORY = PSValue(CRAFTBUKKIT, "inventory")
  15.     val CRAFTBUKKIT_MAP = PSValue(CRAFTBUKKIT, "map")
  16.     val CRAFTBUKKIT_METADATA = PSValue(CRAFTBUKKIT, "metadata")
  17.     val CRAFTBUKKIT_POTION = PSValue(CRAFTBUKKIT, "potion")
  18.     val CRAFTBUKKIT_PROJECTILES = PSValue(CRAFTBUKKIT, "projectiles")
  19.     val CRAFTBUKKIT_SCHEDULER = PSValue(CRAFTBUKKIT, "scheduler")
  20.     val CRAFTBUKKIT_SCOREBOARD = PSValue(CRAFTBUKKIT, "scoreboard")
  21.     val CRAFTBUKKIT_UPDATER = PSValue(CRAFTBUKKIT, "updater")
  22.     val CRAFTBUKKIT_UTIL = PSValue(CRAFTBUKKIT, "util")
  23.  
  24.     // Constant constructors
  25.     class SPackageTypeVal(val path: String) extends Val(nextId, path)
  26.     class PSPackageTypeVal(parent: SPackageTypeVal, override val path: String) extends SPackageTypeVal(parent.path + "." + path)
  27.     // Constructor factory methods
  28.     protected final def SValue(path: String): SPackageTypeVal = new SPackageTypeVal(path)
  29.     protected final def PSValue(parent: SPackageTypeVal, path: String): PSPackageTypeVal = new PSPackageTypeVal(parent, path)
  30.  
  31.     /**
  32.       * Returns the class of the given name
  33.       *
  34.       * @param classname Name of the desired class
  35.       * @throws java.lang.ClassNotFoundException If the desired class with the specified name and package cannot be found
  36.       * @return The class with the specified name
  37.       */
  38.     @throws(classOf[ClassNotFoundException])
  39.     def getClass(classname: String): Class[_] = Class.forName(this + "." + classname)
  40.  
  41.     /**
  42.       * Returns the version of your server
  43.       *
  44.       * @return The server version
  45.       */
  46.     def getServerVersion = Bukkit.getServer.getClass.getPackage.getName substring 23
  47.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement