@Override public void setGameMode(GameMode gameMode) { player.getGameModeData().type().set(Sponge.getRegistry().getType(org.spongepowered.api.entity.living.player.gamemode.GameMode.class, gameMode.getId()).get()); }
@Override public GameMode getGameMode() { return GameModes.get(player.getGameModeData().type().get().getId()); }
private String getGameMode(Player player) { Optional<GameMode> gameMode = player.getGameModeData().get(Keys.GAME_MODE); return gameMode.map(gm -> gm.getName().toUpperCase()).orElse("ADVENTURE"); }
@Override public PlotGameMode getGameMode() { GameMode gamemode = this.player.getGameModeData().type().get(); if (gamemode == GameModes.ADVENTURE) { return PlotGameMode.ADVENTURE; } else if (gamemode == GameModes.CREATIVE) { return PlotGameMode.CREATIVE; } else if (gamemode == GameModes.SPECTATOR) { return PlotGameMode.SPECTATOR; } else if (gamemode == GameModes.SURVIVAL) { return PlotGameMode.SURVIVAL; } else { return PlotGameMode.NOT_SET; } }
private void actOnJoinEvent(ClientConnectionEvent.Join event) { Player player = event.getTargetEntity(); UUID uuid = player.getUniqueId(); long time = System.currentTimeMillis(); SpongeAFKListener.AFK_TRACKER.performedAction(uuid, time); String world = player.getWorld().getName(); Optional<GameMode> gameMode = player.getGameModeData().get(Keys.GAME_MODE); String gm = gameMode.map(mode -> mode.getName().toUpperCase()).orElse("ADVENTURE"); InetAddress address = player.getConnection().getAddress().getAddress(); String playerName = player.getName(); String displayName = player.getDisplayNameData().displayName().get().toPlain(); boolean gatheringGeolocations = config.isTrue(DataGatheringSettings.GEOLOCATIONS); processing.submitCritical(() -> sessionCache.cacheSession(uuid, new Session(uuid, serverInfo.getServerUUID(), time, world, gm))); runnableFactory.create("Player Register: " + uuid, processors.player().registerProcessor(uuid, () -> time, playerName, gatheringGeolocations ? processors.player().ipUpdateProcessor(uuid, address, time) : null, processors.player().nameProcessor(uuid, playerName, displayName), processors.info().playerPageUpdateProcessor(uuid) ) ).runTaskAsynchronously(); }
private void sendUpdateSelf() { receiver.getTabList().removeEntry(receiver.getUniqueId()); receiver.getTabList().addEntry(TabListEntry.builder() .displayName(receiver.getDisplayNameData().displayName().get()) .latency(receiver.getConnection().getLatency()) .list(receiver.getTabList()) .gameMode(receiver.getGameModeData().type().get()) .profile(receiver.getProfile()) .build()); Location<World> oldLocation = receiver.getLocation(); Vector3d rotation = receiver.getRotation(); World receiverWorld = receiver.getWorld(); Sponge.getServer().getWorlds() .stream() .filter(world -> !world.equals(receiverWorld)) .findFirst() .ifPresent(world -> { receiver.setLocation(world.getSpawnLocation()); receiver.setLocationAndRotation(oldLocation, rotation); }); } }