/** * Gets the {@link Server} instance from the * {@link Game} instance. * * <p>Note: During various {@link GameState}s, a {@link Server} instance * may <strong>NOT</strong> be available. During these specific states, * calling {@link Game#getServer()} will throw an exception. To double * check, call {@link #isServerAvailable()}</p> * * @see Game#getServer() * @see Game#isServerAvailable() * @return The server instance */ public static Server getServer() { return getGame().getServer(); }
@Before public void initialize() throws Exception { TestPlainTextSerializer.inject(); Game game = mock(Game.class); CauseStackManager csm = mock(CauseStackManager.class); when(game.getCauseStackManager()).thenReturn(csm); when(csm.pushCause(null)).thenReturn(csm); when(csm.popCause()).thenReturn(null); CommandManager cm = mock(CommandManager.class); when(game.getCommandManager()).thenReturn(cm); when(game.getCauseStackManager()).thenReturn(csm); TestHooks.setGame(game); TestHooks.setInstance("commandManager", cm); TestHooks.setInstance("causeStackManager", csm); }
@Override public Collection<MessageReceiver> getMembers() { PermissionService service = Sponge.getGame().getServiceManager().provideUnchecked(PermissionService.class); return service.getLoadedCollections().values().stream() .flatMap(input -> input.getLoadedWithPermission(this.permission).entrySet().stream() .filter(Map.Entry::getValue) .map(entry -> entry.getKey().getCommandSource().orElse(null)) .filter(source -> source != null)) .collect(ImmutableSet.toImmutableSet()); }
@Before public void mockEventManager() throws Exception { this.manager = mock(PluginManager.class); this.testPluginContainer = mock(PluginContainer.class); when(this.testPluginContainer.getId()).thenReturn("TestPlugin"); when(this.manager.fromInstance(this.testPlugin)).thenReturn(Optional.of(this.testPluginContainer)); Game game = mock(Game.class); TestHooks.setInstance("eventManager", mock(EventManager.class)); when(game.getEventManager()).thenReturn(mock(EventManager.class)); CauseStackManager csm = mock(CauseStackManager.class); when(game.getCauseStackManager()).thenReturn(csm); when(csm.pushCause(null)).thenReturn(csm); when(csm.popCause()).thenReturn(null); when(csm.getCurrentCause()).thenReturn(Cause.of(EventContext.empty(), this)); CauseStackManager.StackFrame sf = mock(CauseStackManager.StackFrame.class); when(sf.pushCause(null)).thenReturn(sf); when(sf.addContext(null, null)).thenReturn(sf); when(sf.popCause()).thenReturn(null); when(sf.getCurrentCause()).thenReturn(Cause.of(EventContext.empty(), this)); when(csm.pushCauseFrame()).thenReturn(sf); TestHooks.setGame(game); TestHooks.setInstance("causeStackManager", csm); }
public SpongeServerProperties(Game game) { super( game.getServer().getMotd().toPlain(), "Sponge", game.getServer().getBoundAddress().orElseGet(() -> new InetSocketAddress(25565)).getPort(), game.getPlatform().getMinecraftVersion().getName(), game.getPlatform().getMinecraftVersion().getName(), () -> game.getServer().getBoundAddress() .orElseGet(() -> new InetSocketAddress(25565)) .getAddress().getHostAddress(), game.getServer().getMaxPlayers(), () -> game.getServer().getOnlinePlayers().size() ); } }
@Override public void onInitialize() throws CraftBookException { super.onInitialize(); chairs = new HashMap<>(); allowedBlocks.load(config); exitAtEntry.load(config); requireSigns.load(config); maxSignDistance.load(config); faceCorrectDirection.load(config); healPassenger.load(config); healAmount.load(config); usePermissions.register(); Sponge.getGame().getScheduler().createTaskBuilder().intervalTicks(10).execute(task -> { for (Map.Entry<UUID, Chair<?>> chair : new HashSet<>(chairs.entrySet())) { Player player = Sponge.getGame().getServer().getPlayer(chair.getKey()).orElse(null); if (player == null) { removeChair(chair.getValue(), false); return; } if (healPassenger.getValue()) { if (player.get(Keys.HEALTH).orElse(0d) < player.get(Keys.MAX_HEALTH).orElse(0d)) { player.offer(Keys.HEALTH, Math.min(player.get(Keys.HEALTH).orElse(0d) + healAmount.getValue(), player.get(Keys.MAX_HEALTH).orElse(0d))); } } if (player.get(Keys.EXHAUSTION).orElse(-20d) > -20d) { player.offer(Keys.EXHAUSTION, player.get(Keys.EXHAUSTION).orElse(-20d) - 0.1d); } } }).submit(CraftBookPlugin.inst()); }
public static Platform getPlatform() { return getGame().getPlatform(); }
public static CommandManager getCommandManager() { return getGame().getCommandManager(); }
@Override public void initialize() { Sponge.getGame().getScheduler().createTaskBuilder().intervalTicks(2L).execute(new SelfTriggerClock()).submit(CraftBookPlugin.inst()); Sponge.getGame().getEventManager().registerListeners(CraftBookPlugin.inst(), this); for(World world : Sponge.getGame().getServer().getWorlds()) { registerAll(world); } }
@Override protected Object getValue(String choice) throws IllegalArgumentException { final Optional<T> ret = Sponge.getGame().getRegistry().getType(this.catalogType, choice); if (!ret.isPresent()) { throw new IllegalArgumentException("Invalid input " + choice + " was found"); } return ret.get(); } }
public static Scheduler getScheduler() { return getGame().getScheduler(); }
@Listener public void onServerAboutToStart(GameAboutToStartServerEvent event) { THIS = this; new PS(this, "Sponge"); this.server = this.game.getServer(); this.game.getRegistry().register(WorldGeneratorModifier.class, (WorldGeneratorModifier) PS.get().IMP.getDefaultGenerator().specify(null)); this.game.getRegistry().register(WorldGeneratorModifier.class, (WorldGeneratorModifier) new SingleWorldGenerator().specify(null)); if (Settings.Enabled_Components.WORLDS) { TaskManager.IMP.taskRepeat(new Runnable() { @Override public void run() { unload(); } }, 20); } }
public static PluginManager getPluginManager() { return getGame().getPluginManager(); }
public SpongeEventUtil() { this.events = SpongeMain.THIS.getGame().getEventManager(); }
@Override public int schedule(Runnable entry, long firstStart, long repeating, boolean async) { if (async) { if (repeating > 0) { loader.getGame().getAsyncScheduler().runRepeatingTaskAfter(loader.getGame().getPluginManager().fromInstance(loader).get(), entry, TimeUnit.MILLISECONDS, repeating, firstStart); } else { loader.getGame().getAsyncScheduler().runTaskAfter(loader.getGame().getPluginManager().fromInstance(loader).get(), entry, TimeUnit.MILLISECONDS, repeating); } } else { if (repeating > 0) { loader.getGame().getSyncScheduler().runRepeatingTaskAfter(loader.getGame().getPluginManager().fromInstance(loader).get(), entry, repeating, firstStart); } else { loader.getGame().getSyncScheduler().runTaskAfter(loader.getGame().getPluginManager().fromInstance(loader).get(), entry, firstStart); } } return 0; }
ItemStack itemStack = Sponge.getGame().getRegistry().createBuilder(ItemStack.Builder.class).itemType(ItemTypes.SKULL) .add(Keys.SKULL_TYPE, skullType).build(); if (profile != null) { return Optional.empty(); RepresentedPlayerData skinData = Sponge.getGame().getDataManager().getManipulatorBuilder(RepresentedPlayerData.class).get().create(); skinData = skinData.set(Keys.REPRESENTED_PLAYER, profile); if (type == EntityTypes.PLAYER) {
@Override public int delay(Runnable entry, long start, boolean async) { loader.getGame().getSyncScheduler().runTaskAfter(loader.getGame().getPluginManager().fromInstance(loader).get(), entry, start); return 0; } }
public PlanSpongeMocker withGame() { Game game = Mockito.mock(Game.class); Platform platform = mockPlatform(); Server server = mockServer(); doReturn(platform).when(game).getPlatform(); doReturn(server).when(game).getServer(); doReturn(game).when(planMock).getGame(); return this; }
asyncExecutor = game.getScheduler().createAsyncExecutor(this); game.getScheduler().createTaskBuilder().name("updateData").async().delay(1, TimeUnit.SECONDS).interval(1, TimeUnit.SECONDS).execute(() -> { try { bridge.updateData(); game.getScheduler().createTaskBuilder().name("discoverProxy").async().delay(100, TimeUnit.MILLISECONDS).interval(100, TimeUnit.MILLISECONDS).execute(() -> { try { bridge.sendIntroducePackets(); game.getScheduler().createTaskBuilder().name("housekeeping").async().delay(2500, TimeUnit.MILLISECONDS).interval(2500, TimeUnit.MILLISECONDS).execute(() -> { try { bridge.resendUnconfirmedMessages(); game.getScheduler().createTaskBuilder().name("reset").delay(24, TimeUnit.HOURS).interval(24, TimeUnit.HOURS).execute(() -> { try { initBridge(); for (Player player : game.getServer().getOnlinePlayers()) { bridge.onPlayerConnect(player);
@Override @Nonnull public String getServerImplementation() { return String.format("Sponge (MC %s)", this.game.getPlatform().getMinecraftVersion().getName()); }