private net.minecraft.command.ICommandSender getListener(CommandSender sender) { if (sender instanceof Player) { return ((CraftPlayer) sender).getHandle(); } if (sender instanceof BlockCommandSender) { return ((CraftBlockCommandSender) sender).getTileEntity(); } if (sender instanceof CommandMinecart) { return ((net.minecraft.entity.EntityMinecartCommandBlock) ((CraftMinecartCommand) sender).getHandle()).func_145822_e(); } if (sender instanceof RemoteConsoleCommandSender) { return net.minecraft.network.rcon.RConConsoleSource.instance; } if (sender instanceof ConsoleCommandSender) { return ((CraftServer) sender.getServer()).getServer(); } return null; }
private ICommandListener getListener(CommandSender sender) { if (sender instanceof Player) { return ((CraftPlayer) sender).getHandle(); } if (sender instanceof BlockCommandSender) { return ((CraftBlockCommandSender) sender).getTileEntity(); } if (sender instanceof CommandMinecart) { return ((EntityMinecartCommandBlock) ((CraftMinecartCommand) sender).getHandle()).getCommandBlock(); } if (sender instanceof RemoteConsoleCommandSender) { return RemoteControlCommandListener.instance; } if (sender instanceof ConsoleCommandSender) { return ((CraftServer) sender.getServer()).getServer(); } return null; }
private ICommandListener getListener(CommandSender sender) { if (sender instanceof Player) { return ((CraftPlayer) sender).getHandle(); } if (sender instanceof BlockCommandSender) { return ((CraftBlockCommandSender) sender).getTileEntity(); } if (sender instanceof CommandMinecart) { return ((EntityMinecartCommandBlock) ((CraftMinecartCommand) sender).getHandle()).getCommandBlock(); } if (sender instanceof RemoteConsoleCommandSender) { return RemoteControlCommandListener.getInstance(); } if (sender instanceof ConsoleCommandSender) { return ((CraftServer) sender.getServer()).getServer(); } if (sender instanceof ProxiedCommandSender) { return ((ProxiedNativeCommandSender) sender).getHandle(); } throw new IllegalArgumentException("Cannot make " + sender + " a vanilla command listener"); }
public static Object toNMSIComandSender(CommandSender s) { try { if (s instanceof Entity) { return getEntityByUUID(((Entity) s).getUniqueId()); } else if (s instanceof ConsoleCommandSender) { return getServer(); } else if (s instanceof RemoteConsoleCommandSender) { return getRemoteControlCommandListener(); } else if (s instanceof ProxiedCommandSender) { return getProxiedCommandSender((ProxiedCommandSender) s); } else if (s instanceof BlockCommandSender) { return getCommandBlockLogic(((BlockCommandSender) s).getBlock()); } else if (s instanceof CommandMinecart) { return getCommandBlockLogic((CommandMinecart) s); } return null; } catch (Exception e) { throw new RuntimeException(e); } }
private ICommandListener getListener(CommandSender sender) { if (sender instanceof Player) { return ((CraftPlayer) sender).getHandle(); } if (sender instanceof BlockCommandSender) { return ((CraftBlockCommandSender) sender).getTileEntity(); } if (sender instanceof CommandMinecart) { return ((EntityMinecartCommandBlock) ((CraftMinecartCommand) sender).getHandle()).getCommandBlock(); } if (sender instanceof RemoteConsoleCommandSender) { return ((DedicatedServer)MinecraftServer.getServer()).remoteControlCommandListener; } if (sender instanceof ConsoleCommandSender) { return ((CraftServer) sender.getServer()).getServer(); } if (sender instanceof ProxiedCommandSender) { return ((ProxiedNativeCommandSender) sender).getHandle(); } throw new IllegalArgumentException("Cannot make " + sender + " a vanilla command listener"); }
public static void broadcastCommandMessage(CommandSender source, String message, boolean sendToSource) { String result = source.getName() + ": " + message; if (source instanceof BlockCommandSender) { BlockCommandSender blockCommandSender = (BlockCommandSender) source; if (blockCommandSender.getBlock().getWorld().getGameRuleValue("commandBlockOutput").equalsIgnoreCase("false")) { Bukkit.getConsoleSender().sendMessage(result); return; } } else if (source instanceof CommandMinecart) { CommandMinecart commandMinecart = (CommandMinecart) source; if (commandMinecart.getWorld().getGameRuleValue("commandBlockOutput").equalsIgnoreCase("false")) { Bukkit.getConsoleSender().sendMessage(result); return; } } Set<Permissible> users = Bukkit.getPluginManager().getPermissionSubscriptions(Server.BROADCAST_CHANNEL_ADMINISTRATIVE); String colored = ChatColor.GRAY + "" + ChatColor.ITALIC + "[" + result + ChatColor.GRAY + ChatColor.ITALIC + "]"; if (sendToSource && !(source instanceof ConsoleCommandSender)) { source.sendMessage(message); } for (Permissible user : users) { if (user instanceof CommandSender) { CommandSender target = (CommandSender) user; if (target instanceof ConsoleCommandSender) { target.sendMessage(result); } else if (target != source) { target.sendMessage(colored); } } } }
public static Object getCommandBlockLogic(CommandMinecart sender) { try { return entityGetCommandBlockLogicMethod.invoke(toNMSEntity(sender)); } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { throw new RuntimeException(e); } }
@Override public void run() { NBTTools nbtTools = instances.getNBTTools(); Entity e = nbtTools.getEntityById(player.getWorld(), entityId); if (e instanceof CommandMinecart && checkAccess()) { CompoundTag readEntity = nbtTools.readEntity(e); readEntity.setString("Command", command); nbtTools.updateEntity(e, readEntity); player.sendMessage("Command set: " + command); } }
public String getCommand() { if (entity instanceof CommandMinecart) { return ((CommandMinecart)entity).getCommand(); } return ""; }
public EEntity setCommand(String command) { if (entity instanceof CommandMinecart) { ((CommandMinecart)entity).setCommand(command); } return this; }
public EEntity setName(String name) { if (entity instanceof CommandMinecart) { ((CommandMinecart)entity).setCommand(name); } return this; }
@Override public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) { // /rmbox <name> HashMap<String, String> args = new HashMap<>(); boolean hasPermission; if (commandSender instanceof ConsoleCommandSender) { hasPermission = true; if(strings.length < 1) { this.plugin.sendColouredMessage(commandSender, "&6Usage: &crmbox &a<name>"); return true; } } else if (commandSender instanceof BlockCommandSender) { hasPermission = true; if(strings.length < 1) { this.plugin.sendColouredMessage(commandSender, "Command block usage: /rmbox <name>"); return true; } } else if (commandSender instanceof CommandMinecart) { hasPermission = true; if(strings.length < 1) { this.plugin.sendColouredMessage(commandSender, "Command minecart usage: /rmbox <name>"); return true; } } else if (commandSender instanceof RemoteConsoleCommandSender) { hasPermission = true; if(strings.length < 1) { this.plugin.sendColouredMessage(commandSender, "&6Usage: &crmbox &a<name>"); return true; } } else if (! (commandSender instanceof Player)) { this.plugin.sendMessage(commandSender, "other.bad_sender"); return true; } else { hasPermission = commandSender.hasPermission("lotterybox.rmbox"); if (strings.length < 1) { this.plugin.sendColouredMessage(commandSender, "&6Usage: &a/&crmbox &a<name>"); return true; } } if (!hasPermission) { this.plugin.sendMessage(commandSender, "other.no_permission"); return true; } args.clear(); args.put("box", strings[0]); if (!this.plugin.getDataHandler().boxExists(strings[0])) { this.plugin.sendMessage(commandSender, "other.no_box", args); return true; } if (!this.plugin.getDataHandler().removeBox(strings[0])) { this.plugin.sendMessage(commandSender, "rmbox.error"); return true; } this.plugin.sendMessage(commandSender, "rmbox.removed", args); return true; }
@Override public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) { // /chbox <operation> [name] [params] boolean hasPermission; if (commandSender instanceof ConsoleCommandSender || commandSender instanceof BlockCommandSender || commandSender instanceof CommandMinecart || commandSender instanceof RemoteConsoleCommandSender) { hasPermission = true; } else if (! (commandSender instanceof Player)) { this.plugin.sendMessage(commandSender, "other.bad_sender"); return true; } else { hasPermission = commandSender.hasPermission("lotterybox.chbox"); } if (!hasPermission) { this.plugin.sendMessage(commandSender, "other.no_permission"); return true; } if (strings.length < 1) { this.plugin.sendColouredMessage(commandSender, "&6Usage: &a/&cchbox &a<operation> &d[name] [params]"); this.plugin.sendMessage(commandSender, "chbox.help.more_info"); return true; } String operation = strings[0]; switch (operation) { case "help": this.helpCommand(commandSender, command, s, strings); break; case "set": this.setCommand(commandSender, command, s, strings); break; case "reward": this.rewardCommand(commandSender, command, s, strings); break; default: this.plugin.sendColouredMessage(commandSender, String.format("&6Unknown operation: &c%s", operation)); this.plugin.sendMessage(commandSender, "chbox.help.more_info"); break; } this.plugin.getDataHandler().save(); return true; }