@Override protected Set<ItemType> load() { return WorldEdit.getInstance().getPlatformManager() .queryCapability(Capability.GAME_HOOKS).getRegistries() .getItemCategoryRegistry().getAll(this); }
@EventHandler public void serverStarted(FMLServerStartedEvent event) { WorldEdit.getInstance().getEventBus().post(new PlatformReadyEvent()); }
/** * Get the session for a player. * * @param player the player * @return the session */ public LocalSession getSession(EntityPlayerMP player) { checkNotNull(player); return WorldEdit.getInstance().getSessionManager().get(wrap(player)); }
public static ActorSelectorLimits forActor(Actor actor) { return new ActorSelectorLimits(WorldEdit.getInstance().getConfiguration(), actor); }
@Listener public void serverStopping(GameStoppingServerEvent event) { WorldEdit worldEdit = WorldEdit.getInstance(); worldEdit.getSessionManager().unload(); worldEdit.getPlatformManager().unregister(platform); }
/** * Performs a redo * * @param newBlockBag a new block bag * @param player the player * @return whether anything was redone */ public EditSession redo(@Nullable BlockBag newBlockBag, Player player) { checkNotNull(player); if (historyPointer < history.size()) { EditSession editSession = history.get(historyPointer); try (EditSession newEditSession = WorldEdit.getInstance().getEditSessionFactory() .getEditSession(editSession.getWorld(), -1, newBlockBag, player)) { newEditSession.enableStandardMode(); newEditSession.setReorderMode(reorderMode); newEditSession.setFastMode(fastMode); editSession.redo(newEditSession); } ++historyPointer; return editSession; } return null; }
WorldEdit we = WorldEdit.getInstance(); world, loc.getX(), loc.getY(), loc.getZ()); if (we.handleBlockLeftClick(player, pos)) { event.setCancelled(true); if (we.handleArmSwing(player)) { event.setCancelled(true); if (we.handleArmSwing(player)) { event.setCancelled(true); world, loc.getX(), loc.getY(), loc.getZ()); if (we.handleBlockRightClick(player, pos)) { event.setCancelled(true); if (we.handleRightClick(player)) { event.setCancelled(true); if (we.handleRightClick(player)) { event.setCancelled(true);
@Override public Object call(CommandArgs args, CommandLocals locals) throws CommandException { if (!testPermission(locals)) { throw new CommandPermissionsException(); } RegionFactory regionFactory = regionFactoryParser.call(args, locals); int radius = radiusCommand.call(args, locals).intValue(); Contextual<? extends Operation> factory = delegate.call(args, locals); Player player = (Player) locals.get(Actor.class); LocalSession session = WorldEdit.getInstance().getSessionManager().get(player); try { WorldEdit.getInstance().checkMaxBrushRadius(radius); BrushTool tool = session.getBrushTool(player.getItemInHand(HandSide.MAIN_HAND).getType()); tool.setSize(radius); tool.setBrush(new OperationFactoryBrush(factory, regionFactory), permission); } catch (MaxBrushRadiusException | InvalidToolBindException e) { WorldEdit.getInstance().getPlatformManager().getCommandManager().getExceptionConverter().convert(e); } player.print("Set brush to " + factory); return true; }
/** * Called on plugin enable. */ @SuppressWarnings("AccessStaticViaInstance") @Override public void onEnable() { this.INSTANCE = this; //noinspection ResultOfMethodCallIgnored getDataFolder().mkdirs(); WorldEdit worldEdit = WorldEdit.getInstance(); // Setup platform server = new BukkitServerInterface(this, getServer()); worldEdit.getPlatformManager().register(server); loadAdapter(); // Need an adapter to work with special blocks with NBT data worldEdit.loadMappings(); loadConfig(); // Load configuration PermissionsResolverManager.initialize(this); // Setup permission resolver // Register CUI getServer().getMessenger().registerIncomingPluginChannel(this, CUI_PLUGIN_CHANNEL, new CUIChannelListener(this)); getServer().getMessenger().registerOutgoingPluginChannel(this, CUI_PLUGIN_CHANNEL); // Now we can register events getServer().getPluginManager().registerEvents(new WorldEditListener(this), this); // If we are on MCPC+/Cauldron, then Forge will have already loaded // Forge WorldEdit and there's (probably) not going to be any other // platforms to be worried about... at the current time of writing WorldEdit.getInstance().getEventBus().post(new PlatformReadyEvent()); // Enable metrics new Metrics(this); }
/** * Gets the session for the player. * * @param player a player * @return a session */ public EditSession createEditSession(Player player) { com.sk89q.worldedit.entity.Player wePlayer = wrapPlayer(player); LocalSession session = WorldEdit.getInstance().getSessionManager().get(wePlayer); BlockBag blockBag = session.getBlockBag(wePlayer); EditSession editSession = WorldEdit.getInstance().getEditSessionFactory() .getEditSession(wePlayer.getWorld(), session.getBlockChangeLimit(), blockBag, wePlayer); editSession.enableStandardMode(); return editSession; }
@Command(aliases = {"report"}, desc = "Writes a report on WorldEdit", flags = "p", max = 0) @CommandPermissions({"worldedit.report"}) public void report(Actor actor, CommandContext args) throws WorldEditException { ReportList report = new ReportList("Report"); report.add(new SystemInfoReport()); report.add(new ConfigReport()); String result = report.toString(); try { File dest = new File(we.getWorkingDirectoryFile(we.getConfiguration().saveDir), "report.txt"); Files.write(result, dest, Charset.forName("UTF-8")); actor.print("WorldEdit report written to " + dest.getAbsolutePath()); } catch (IOException e) { actor.printError("Failed to write report: " + e.getMessage()); } if (args.hasFlag('p')) { actor.checkPermission("worldedit.report.pastebin"); ActorCallbackPaste.pastebin( we.getSupervisor(), actor, result, "WorldEdit report: %s.report", WorldEdit.getInstance().getPlatformManager().getCommandManager().getExceptionConverter() ); } }
/** * Remember an edit session. * * @param player a player * @param editSession an edit session */ public void remember(Player player, EditSession editSession) { com.sk89q.worldedit.entity.Player wePlayer = wrapPlayer(player); LocalSession session = WorldEdit.getInstance().getSessionManager().get(wePlayer); session.remember(editSession); editSession.flushSession(); WorldEdit.getInstance().flushBlockBag(wePlayer, editSession); }
/** * Create a new session manager. * * @param worldEdit a WorldEdit instance */ public SessionManager(WorldEdit worldEdit) { checkNotNull(worldEdit); this.worldEdit = worldEdit; worldEdit.getEventBus().register(this); timer.schedule(new SessionTracker(), FLUSH_PERIOD, FLUSH_PERIOD); }
LocalSession session = getSessionManager().get(player); CraftScriptContext scriptContext = new CraftScriptContext(this, getPlatformManager().queryCapability(Capability.USER_COMMANDS), getConfiguration(), session, player, args); engine.setTimeLimit(getConfiguration().scriptTimeout);
@Override public Pattern call(CommandArgs args, CommandLocals locals) throws CommandException { String patternString = stringParser.call(args, locals); Actor actor = locals.get(Actor.class); LocalSession session = WorldEdit.getInstance().getSessionManager().get(actor); ParserContext parserContext = new ParserContext(); parserContext.setActor(actor); if (actor instanceof Entity) { Extent extent = ((Entity) actor).getExtent(); if (extent instanceof World) { parserContext.setWorld((World) extent); } } parserContext.setSession(session); try { return WorldEdit.getInstance().getPatternFactory().parseFromInput(patternString, parserContext); } catch (InputParseException e) { throw new CommandException(e.getMessage(), e); } }
@Override public BaseItem call(CommandArgs args, CommandLocals locals) throws CommandException { String itemString = stringParser.call(args, locals); Actor actor = locals.get(Actor.class); LocalSession session = WorldEdit.getInstance().getSessionManager().get(actor); ParserContext parserContext = new ParserContext(); parserContext.setActor(actor); if (actor instanceof Entity) { Extent extent = ((Entity) actor).getExtent(); if (extent instanceof World) { parserContext.setWorld((World) extent); } } parserContext.setSession(session); try { return WorldEdit.getInstance().getItemFactory().parseFromInput(itemString, parserContext); } catch (InputParseException e) { throw new CommandException(e.getMessage(), e); } }
/** * Get Worldedit's configuration. * * @return a configuration */ public LocalConfiguration getConfiguration() { return getPlatformManager().getConfiguration(); }
/** * Get WorldEdit. * * @return an instance */ public WorldEdit getWorldEdit() { return WorldEdit.getInstance(); }
@Nullable @Override public BlockState apply(@Nullable String input) { try { return WorldEdit.getInstance().getBlockFactory().parseFromInput(input, TO_BLOCK_CONTEXT).toImmutableState(); } catch (InputParseException e) { e.printStackTrace(); return null; } } });
/** * Gets an {@link LocalSession} from a {@link ArgumentStack}. * * @param context the context * @return a local session * @throws ParameterException on error */ @BindingMatch(type = LocalSession.class, behavior = BindingBehavior.PROVIDES) public LocalSession getLocalSession(ArgumentStack context) throws ParameterException { Player sender = getPlayer(context); return worldEdit.getSessionManager().get(sender); }