Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.proempire.bedwars.api.event;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import java.util.*;
- public class MyListener implements Listener {
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent e) {
- MyPlayer player = MyPlayer.create(e.getPlayer());
- player.load();
- }
- @EventHandler
- public void onPlayerQuit(PlayerQuitEvent e) {
- MyPlayer player = MyPlayer.byUUID(e.getPlayer().getUniqueId());
- player.save();
- player.onQuit();
- }
- @EventHandler
- public void onPlayerInteract(PlayerInteractEvent e) {
- MyPlayer player = MyPlayer.byUUID(e.getPlayer().getUniqueId());
- Bukkit.getLogger().info("foo: " + player.getFoo() + ", bar: " + player.getBar());
- }
- }
- class MyPlayer {
- private static final Map<UUID, MyPlayer> allPlayers = new HashMap<>();
- public static MyPlayer byUUID(UUID uuid) {
- return allPlayers.get(uuid);
- }
- public static MyPlayer create(Player player) {
- MyPlayer myPlayer = new MyPlayer(player);
- allPlayers.put(player.getUniqueId(), myPlayer);
- return myPlayer;
- }
- private final Player player;
- private String foo = "";
- private int bar = 0;
- private List<String> myGoodCode = Collections.emptyList();
- private MyPlayer(Player player) {
- this.player = player;
- }
- public void load(Object... arguments) {
- //TODO : загрузка статы игрока
- }
- public void save(Object... arguments) {
- //TODO : сохранение статы игрока
- }
- public void onQuit() {
- allPlayers.remove(player.getUniqueId());
- }
- public String getFoo() {
- return foo;
- }
- public void setFoo(String foo) {
- this.foo = foo;
- }
- public int getBar() {
- return bar;
- }
- public void setBar(int bar) {
- this.bar = bar;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement