Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.17 KB | None | 0 0
  1. package ru.proempire.bedwars.api.event;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.entity.Player;
  5. import org.bukkit.event.EventHandler;
  6. import org.bukkit.event.Listener;
  7. import org.bukkit.event.player.PlayerInteractEvent;
  8. import org.bukkit.event.player.PlayerJoinEvent;
  9. import org.bukkit.event.player.PlayerQuitEvent;
  10.  
  11. import java.util.*;
  12.  
  13. public class MyListener implements Listener {
  14.     @EventHandler
  15.     public void onPlayerJoin(PlayerJoinEvent e) {
  16.         MyPlayer player = MyPlayer.create(e.getPlayer());
  17.         player.load();
  18.     }
  19.  
  20.     @EventHandler
  21.     public void onPlayerQuit(PlayerQuitEvent e) {
  22.         MyPlayer player = MyPlayer.byUUID(e.getPlayer().getUniqueId());
  23.         player.save();
  24.         player.onQuit();
  25.     }
  26.  
  27.     @EventHandler
  28.     public void onPlayerInteract(PlayerInteractEvent e) {
  29.         MyPlayer player = MyPlayer.byUUID(e.getPlayer().getUniqueId());
  30.         Bukkit.getLogger().info("foo: " + player.getFoo() + ", bar: " + player.getBar());
  31.     }
  32. }
  33.  
  34. class MyPlayer {
  35.     private static final Map<UUID, MyPlayer> allPlayers = new HashMap<>();
  36.  
  37.     public static MyPlayer byUUID(UUID uuid) {
  38.         return allPlayers.get(uuid);
  39.     }
  40.  
  41.     public static MyPlayer create(Player player) {
  42.         MyPlayer myPlayer = new MyPlayer(player);
  43.         allPlayers.put(player.getUniqueId(), myPlayer);
  44.         return myPlayer;
  45.     }
  46.  
  47.     private final Player player;
  48.  
  49.     private String foo = "";
  50.     private int bar = 0;
  51.     private List<String> myGoodCode = Collections.emptyList();
  52.  
  53.     private MyPlayer(Player player) {
  54.         this.player = player;
  55.     }
  56.  
  57.     public void load(Object... arguments) {
  58.         //TODO : загрузка статы игрока
  59.     }
  60.  
  61.     public void save(Object... arguments) {
  62.         //TODO : сохранение статы игрока
  63.     }
  64.  
  65.     public void onQuit() {
  66.         allPlayers.remove(player.getUniqueId());
  67.     }
  68.  
  69.     public String getFoo() {
  70.         return foo;
  71.     }
  72.  
  73.     public void setFoo(String foo) {
  74.         this.foo = foo;
  75.     }
  76.  
  77.     public int getBar() {
  78.         return bar;
  79.     }
  80.  
  81.     public void setBar(int bar) {
  82.         this.bar = bar;
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement