@Override
 public <T extends Trait> T getTrait(Class<T> clazz) {
   for (TraitInfo entry : registered.values()) {
     if (clazz == entry.getTraitClass()) {
       return create(entry);
     }
   }
   return null;
 }
 @Override
 public void registerTrait(TraitInfo info) {
   Preconditions.checkNotNull(info, "info cannot be null");
   if (registered.containsKey(info.getTraitName())) {
     System.out.println(info.getTraitClass());
     throw new IllegalArgumentException("trait name already registered");
   }
   registered.put(info.getTraitName(), info);
   if (info.isDefaultTrait()) {
     defaultTraits.add(info);
   }
 }
示例#3
0
  public void onEnable() {

    if (getServer().getPluginManager().getPlugin("Citizens") == null
        || getServer().getPluginManager().getPlugin("Citizens").isEnabled() == false) {
      getLogger().log(java.util.logging.Level.SEVERE, "Citizens 2.0 not found or not enabled");
      getServer().getPluginManager().disablePlugin(this);
      return;
    }

    if (getServer().getPluginManager().getPlugin("dynmap") == null
        || getServer().getPluginManager().getPlugin("dynmap").isEnabled() == false) {
      getLogger().log(java.util.logging.Level.SEVERE, "dynmap not found or not enabled");
      getServer().getPluginManager().disablePlugin(this);
    }

    if (getServer().getPluginManager().getPlugin("HyperConomy") == null) {
      getLogger().log(java.util.logging.Level.SEVERE, "Hyperconomoy Not found");
      bHyperConomyExists = false;
    } else {
      for (Plugin oPlug : getServer().getPluginManager().getPlugins()) {
        getLogger().log(java.util.logging.Level.SEVERE, "plugin:" + oPlug.getName());
      }

      if (getServer().getPluginManager().getPlugin("HyperMerchant") == null) {
        getLogger().log(java.util.logging.Level.SEVERE, "HyperMerchant Not found");
        bHyperConomyExists = false;
      } else {
        getLogger()
            .log(java.util.logging.Level.SEVERE, "Hyperconomy / Hypermerchant found. Enabled");
        bHyperConomyExists = true;
      }
    }

    SetupConfig();

    getLogger().log(java.util.logging.Level.INFO, "Connecting to DynMap");

    try {
      SetupDynMap();
    } catch (Exception err) {
      getLogger().log(java.util.logging.Level.INFO, "Errors while connecting to the Dynmap API");
      getServer().getPluginManager().disablePlugin(this);
      cDyn_Plugin = null;
      cDyn_MarkAPI = null;
      cDyn_Markers = null;
      return;
    }

    // Setup the Citizens NPC link
    net.citizensnpcs.api.CitizensAPI.getTraitFactory()
        .registerTrait(
            net.citizensnpcs.api.trait.TraitInfo.create(DynMapNPC_Trait.class)
                .withName("dynmapnpc"));

    // Schedule the main thread to monitor for NPCs
    cProcessing_Task =
        new DynMapNPC_Task(this)
            .runTaskTimer(
                this,
                this.getConfig().getLong("interval", 100L),
                this.getConfig().getLong("interval", 100L));

    if (this.getConfig().getBoolean("mcstats", true)) {
      try {
        MCStatsMetrics metrics = new MCStatsMetrics(this);
        metrics.start();
      } catch (Exception e) {
        // Failed to submit the stats :-(
      }
    }
  }
示例#4
0
 public void onEnable() {
   Bukkit.broadcastMessage("RELOADING TEST FIVE");
   pl = this;
   MySQL = new MySQL((Plugin) this, "localhost", "3306", "RPG", "root", "enter11284");
   MySQL.openConnection();
   connect =
       new BukkitRunnable() {
         public void run() {
           if (!MySQL.checkConnection()) {
             BlackLance.openConnect();
           }
         }
       }.runTaskTimer(this, 20, 60);
   c = MySQL.getConnection();
   try {
     RPGPlayer.createRPGPlayers();
   } catch (SQLException e) {
     e.printStackTrace();
   }
   try {
     ResourceNodes.generateHay();
     ResourceNodes.generateSweetGum();
   } catch (SQLException e) {
     e.printStackTrace();
   }
   File configFile = new File(this.getDataFolder(), "config.yml");
   PluginManager pm = getServer().getPluginManager();
   pm.registerEvents(new CombatListeners(this), this);
   pm.registerEvents(new Horses(), this);
   pm.registerEvents(new PlayerListeners(this, configFile), this);
   pm.registerEvents(new ExperienceListeners(), this);
   pm.registerEvents(new ObjectiveProcessor(this), this);
   pm.registerEvents(new DropListeners(this), this);
   pm.registerEvents(new NPCListeners(this), this);
   pm.registerEvents(new SmeltingListeners(), this);
   pm.registerEvents(new SmithingListeners(), this);
   pm.registerEvents(new HerbloreListeners(), this);
   pm.registerEvents(new BlockListeners(this), this);
   pm.registerEvents(new MenuListeners(this), this);
   pm.registerEvents(new ItemListeners(this), this);
   pm.registerEvents(new ConsumableListener(this), this);
   pm.registerEvents(new TradeListener(), this);
   pm.registerEvents(new Alchemy.MenuListeners(), this);
   getCommand("horse").setExecutor(new CommandParser());
   getCommand("setup").setExecutor(new CommandParser());
   getCommand("blevel").setExecutor(new CommandParser());
   getCommand("blreload").setExecutor(new CommandParser());
   getCommand("lookup").setExecutor(new CommandParser());
   getCommand("resource").setExecutor(new CommandParser());
   net.citizensnpcs.api.CitizensAPI.getTraitFactory()
       .registerTrait(net.citizensnpcs.api.trait.TraitInfo.create(blm.class).withName("blm"));
   HashMap<Location, Material> toRegen = Mine.getRegen();
   Iterable<Location> locar = toRegen.keySet();
   for (locar.iterator(); locar.iterator().hasNext(); ) {
     Location l1 = locar.iterator().next();
     Bukkit.broadcastMessage("Loc: " + l1.getX());
     l1.getBlock().setType(toRegen.get(l1));
   }
   if (!configFile.exists()) {
     this.saveDefaultConfig();
   }
 }
  public CitizensTraitFactory() {
    registerTrait(TraitInfo.create(Age.class));
    registerTrait(TraitInfo.create(ArmorStandTrait.class));
    registerTrait(TraitInfo.create(Anchors.class));
    registerTrait(TraitInfo.create(Controllable.class));
    registerTrait(TraitInfo.create(Equipment.class));
    registerTrait(TraitInfo.create(Gravity.class));
    registerTrait(TraitInfo.create(HorseModifiers.class));
    registerTrait(TraitInfo.create(Inventory.class));
    registerTrait(TraitInfo.create(CurrentLocation.class));
    registerTrait(TraitInfo.create(LookClose.class));
    registerTrait(TraitInfo.create(OcelotModifiers.class));
    registerTrait(TraitInfo.create(Owner.class));
    registerTrait(TraitInfo.create(Poses.class));
    registerTrait(TraitInfo.create(Powered.class));
    registerTrait(TraitInfo.create(RabbitType.class));
    registerTrait(TraitInfo.create(Saddle.class));
    registerTrait(TraitInfo.create(ScriptTrait.class));
    registerTrait(TraitInfo.create(SheepTrait.class));
    registerTrait(TraitInfo.create(SkinLayers.class));
    registerTrait(TraitInfo.create(NPCSkeletonType.class));
    registerTrait(TraitInfo.create(SlimeSize.class));
    registerTrait(TraitInfo.create(Spawned.class));
    registerTrait(TraitInfo.create(Speech.class));
    registerTrait(TraitInfo.create(Text.class));
    registerTrait(TraitInfo.create(MobType.class).asDefaultTrait());
    registerTrait(TraitInfo.create(Waypoints.class));
    registerTrait(TraitInfo.create(WitherTrait.class));
    registerTrait(TraitInfo.create(WoolColor.class));
    registerTrait(TraitInfo.create(WolfModifiers.class));
    registerTrait(TraitInfo.create(VillagerProfession.class));
    registerTrait(TraitInfo.create(ZombieModifier.class));

    for (String trait : registered.keySet()) {
      INTERNAL_TRAITS.add(trait);
    }
  }
 @Override
 public Class<? extends Trait> getTraitClass(String name) {
   TraitInfo info = registered.get(name.toLowerCase());
   return info == null ? null : info.getTraitClass();
 }
 @Override
 public void deregisterTrait(TraitInfo info) {
   Preconditions.checkNotNull(info, "info cannot be null");
   registered.remove(info.getTraitName());
 }
 private <T extends Trait> T create(TraitInfo info) {
   return info.tryCreateInstance();
 }