@Override public void run(SpawnableEntity entity, CommandSender sender, String subCommand, String[] args) { String in = getValue(args, 0, "false"); entity.setSaddled(Boolean.parseBoolean(in)); PLUGIN.sendMessage(sender, getSuccessMessage(entity, "saddled", in)); }
@Override public void run(CommandSender sender, String subCommand, String[] args) { if (subCommand.equals("import")) { PLUGIN.sendMessage(sender, ChatColor.GREEN + "Loading CustomSpawners data from worlds..."); int amountLoaded = loadData().size(); PLUGIN.sendMessage( sender, ChatColor.GREEN + "Loaded " + ChatColor.GOLD + amountLoaded + ChatColor.GREEN + " spawners from worlds in server."); } else if (subCommand.equals("export")) { PLUGIN.sendMessage(sender, ChatColor.GREEN + "Exporting CustomSpawners data to worlds..."); Iterator<Spawner> sp = CustomSpawners.spawners.values().iterator(); int amountLoaded = 0; while (sp.hasNext()) { PLUGIN.saveCustomSpawnerToWorld(sp.next()); amountLoaded++; } PLUGIN.sendMessage( sender, ChatColor.GREEN + "Exported " + ChatColor.GOLD + amountLoaded + ChatColor.GREEN + " spawners to worlds."); } }
@Override public void run(SpawnableEntity entity, CommandSender sender, String subCommand, String[] args) { /* * Syntax: * * <attribute name> <base> [<modifier name>,<operator>,<amount>;...] */ if (subCommand.equals("clearattributes")) { entity.setAttributes(new ArrayList<Attribute>()); PLUGIN.sendMessage( sender, ChatColor.GREEN + "Successfully cleared attributes on entity " + ChatColor.GOLD + PLUGIN.getFriendlyName(entity) + ChatColor.GREEN + "."); return; } String in = getValue(args, 0, "generic.maxHealth"); VanillaAttribute att = PLUGIN.parseAttribute(in); if (att == null) { PLUGIN.sendMessage(sender, ChatColor.RED + "That is not an attribute type."); return; } String in0 = getValue(args, 1, "" + att.getDefaultBase()); if (!CustomSpawners.isDouble(in0)) { PLUGIN.sendMessage(sender, ChatColor.RED + "The base value must be number."); return; } double base = Double.parseDouble(in0); if (base < att.getMinimum() || (base > att.getMaximum() && att.getMaximum() != -1)) { PLUGIN.sendMessage( sender, ChatColor.RED + "The base value must be between the " + "minimum and maximum values of the attribute."); return; } Attribute newAtt = new Attribute(att); newAtt.setBase(base); String in1 = getValue(args, 2, ""); if (!in1.isEmpty()) { String[] splitMods = in1.split(";"); for (String mod : splitMods) { String[] splitCommas = mod.split(","); String modName = splitCommas[0]; String operator = splitCommas[1]; String amount = splitCommas[2]; Operation op = Operation.fromName(operator); if (op == null && CustomSpawners.isInteger(operator)) op = Operation.fromId(Integer.parseInt(operator)); if (op == null) { PLUGIN.sendMessage( sender, ChatColor.RED + "\"" + modName + "\" is not an operation for modifiers."); return; } if (!CustomSpawners.isDouble(amount)) { PLUGIN.sendMessage(sender, ChatColor.RED + "The amount for a modifier must be a number."); return; } double amt = Double.parseDouble(amount); Modifier newMod = new Modifier(modName, op, amt); newAtt.addModifier(newMod); } } Iterator<Attribute> attItr = entity.getAttributes().iterator(); while (attItr.hasNext()) { Attribute a = attItr.next(); if (a.getAttribute().equals(newAtt.getAttribute())) { attItr.remove(); PLUGIN.sendMessage(sender, ChatColor.GOLD + "Replaced attribute with same type."); } } if (subCommand.equals("addattribute")) { entity.addAttribute(newAtt); PLUGIN.sendMessage( sender, ChatColor.GREEN + "Successfully added attribute " + ChatColor.GOLD + in + ChatColor.GREEN + " to entity " + ChatColor.GOLD + PLUGIN.getFriendlyName(entity) + ChatColor.GREEN + "."); } else if (subCommand.equals("setattribute")) { List<Attribute> list = new ArrayList<Attribute>(); list.add(newAtt); entity.setAttributes(list); PLUGIN.sendMessage( sender, ChatColor.GREEN + "Successfully set attribute to " + ChatColor.GOLD + in + ChatColor.GREEN + " on entity " + ChatColor.GOLD + PLUGIN.getFriendlyName(entity) + ChatColor.GREEN + "."); } }
@SuppressWarnings("deprecation") @Override public void run(Spawner spawner, CommandSender sender, String subCommand, String[] args) { if (!(sender instanceof Player)) { PLUGIN.sendMessage(sender, NO_CONSOLE); return; } Player player = (Player) sender; SpawnableEntity entity = null; String in = getValue(args, 0, ""); if (in.isEmpty()) { Integer selection = CustomSpawners.entitySelection.get(player); if (selection == null) { PLUGIN.sendMessage(sender, NO_ID); return; } entity = CustomSpawners.getEntity(selection); } else { entity = CustomSpawners.getEntity(in); } if (entity == null) { PLUGIN.sendMessage(sender, NO_ID); return; } Block target = player.getTargetBlock(CustomSpawners.transparent, CONFIG.getInt("players.maxDistance", 5)); if (target == null) { PLUGIN.sendMessage( player, ChatColor.RED + "You must look at a block to make a spawner there."); return; } if (target.getType().equals(Material.AIR)) { PLUGIN.sendMessage( player, ChatColor.RED + "You must look at a block to make a spawner there."); return; } Spawner newSpawner = PLUGIN.createSpawner(entity, target.getLocation()); if (CONFIG.getBoolean("data.autosave") && CONFIG.getBoolean("data.saveOnCreate")) { PLUGIN.getFileManager().autosave(newSpawner); } // TODO Add this to wiki. Group addTo = null; if (sender instanceof Player) { Player p = (Player) sender; if (CustomSpawners.groupSelection.containsKey(p)) { addTo = CustomSpawners.getGroup(CustomSpawners.groupSelection.get(sender)); } } else { if (CustomSpawners.consoleGroup != -1) { addTo = CustomSpawners.getGroup(CustomSpawners.consoleGroup); } } if (addTo != null && CONFIG.getBoolean("players.groupAutoAdd", false) && addTo.getType().equals(Group.Type.SPAWNER)) { addTo.addItem(newSpawner); PLUGIN.sendMessage( sender, ChatColor.GREEN + "Successfully created a new " + ChatColor.GOLD + in + ChatColor.GREEN + " spawner with ID number " + ChatColor.GOLD + newSpawner.getId() + ChatColor.GREEN + "! This spawner was added to group " + ChatColor.GOLD + PLUGIN.getFriendlyName(addTo) + ChatColor.GREEN + "."); } PLUGIN.sendMessage( player, ChatColor.GREEN + "Successfully created a " + ChatColor.GOLD + PLUGIN.getFriendlyName(entity) + ChatColor.GREEN + " spawner with ID " + ChatColor.GOLD + PLUGIN.getFriendlyName(newSpawner) + ChatColor.GREEN + "!"); }