Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.19 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.onQuit();
  24.     }
  25.  
  26.     @EventHandler
  27.     public void onPlayerInteract(PlayerInteractEvent e) {
  28.         MyPlayer player = MyPlayer.byUUID(e.getPlayer().getUniqueId());
  29.         Bukkit.getLogger().info("foo: " + player.getFoo() + ", bar: " + player.getBar());
  30.     }
  31. }
  32.  
  33. class MyPlayer {
  34.     private static final Map<UUID, MyPlayer> allPlayers = new HashMap<>();
  35.  
  36.     public static MyPlayer byUUID(UUID uuid) {
  37.         return allPlayers.get(uuid);
  38.     }
  39.  
  40.     public static MyPlayer create(Player player) {
  41.         MyPlayer myPlayer = new MyPlayer(player);
  42.         allPlayers.put(player.getUniqueId(), myPlayer);
  43.         return myPlayer;
  44.     }
  45.  
  46.     private final Player player;
  47.  
  48.     private String foo = "";
  49.     private int bar = 0;
  50.     private List<String> myGoodCode = Collections.emptyList();
  51.  
  52.     private MyPlayer(Player player) {
  53.         this.player = player;
  54.     }
  55.  
  56.     public void load(Object... arguments) {
  57.         //TODO : загрузка статы игрока
  58.     }
  59.  
  60.     public void save(Object... arguments) {
  61.         //TODO : сохранение статы игрока
  62.     }
  63.  
  64.     public void onQuit(Object... arguments) {
  65.         save(arguments);
  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