public void fromCommand(CommandContext args) { or(Flags.FRIENDLY , args.hasFlag('f')); // No permission check here. Flags will instead be filtered by the subsequent calls. or(Flags.PETS , args.hasFlag('p'), "worldedit.butcher.pets"); or(Flags.NPCS , args.hasFlag('n'), "worldedit.butcher.npcs"); or(Flags.GOLEMS , args.hasFlag('g'), "worldedit.butcher.golems"); or(Flags.ANIMALS , args.hasFlag('a'), "worldedit.butcher.animals"); or(Flags.AMBIENT , args.hasFlag('b'), "worldedit.butcher.ambient"); or(Flags.TAGGED , args.hasFlag('t'), "worldedit.butcher.tagged"); or(Flags.ARMOR_STAND , args.hasFlag('r'), "worldedit.butcher.armorstands"); or(Flags.WITH_LIGHTNING, args.hasFlag('l'), "worldedit.butcher.lightning"); }
CreatureButcher flags = new CreatureButcher(actor); flags.fromCommand(args); entities = editSession.getEntities(); visitors.add(new EntityVisitor(entities.iterator(), flags.createFunction())); } else { Platform platform = we.getPlatformManager().queryCapability(Capability.WORLD_EDITING); for (World world : platform.getWorlds()) { List<? extends Entity> entities = world.getEntities(); visitors.add(new EntityVisitor(entities.iterator(), flags.createFunction()));
CreatureButcher flags = new CreatureButcher(player); flags.fromCommand(args);
@Override public void build(EditSession editSession, BlockVector3 position, Pattern pattern, double size) throws MaxChangedBlocksException { CylinderRegion region = CylinderRegion.createRadius(editSession, position, size); List<? extends Entity> entities = editSession.getEntities(region); Operations.completeLegacy(new EntityVisitor(entities.iterator(), flags.createFunction())); }
public void or(int flag, boolean on, String permission) { or(flag, on); if ((flags & flag) != 0 && !player.hasPermission(permission)) { flags &= ~flag; } }