oZZYoWo

Untitled

Sep 22nd, 2019
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.83 KB | None | 0 0
  1. package me.blok601.nightshadeuhc.manager;
  2.  
  3.  
  4. import com.nightshadepvp.core.Core;
  5. import com.nightshadepvp.core.Logger;
  6. import com.wimbli.WorldBorder.BorderData;
  7. import lombok.Getter;
  8. import lombok.Setter;
  9. import me.blok601.nightshadeuhc.UHC;
  10. import me.blok601.nightshadeuhc.entity.object.PlayerRespawn;
  11. import me.blok601.nightshadeuhc.entity.object.SetupStage;
  12. import me.blok601.nightshadeuhc.task.*;
  13. import org.bukkit.Bukkit;
  14. import org.bukkit.Location;
  15. import org.bukkit.Material;
  16. import org.bukkit.World;
  17. import org.bukkit.entity.Player;
  18.  
  19. import java.util.ArrayList;
  20. import java.util.HashMap;
  21. import java.util.HashSet;
  22. import java.util.UUID;
  23.  
  24. /**
  25.  * Created by Blok on 8/5/2017, Updated by Ozzy, Database, and Austin.
  26.  */
  27. public class GameManager {
  28.  
  29.     public GameManager() {
  30.         setTimer(new TimerTask());
  31.         setMaxPlayers(60);
  32.  
  33.         shrinks = new int[]{
  34.                 500, 300, 200, 100, 50, 25, 10, 0, 0
  35.         };
  36.  
  37.         Core.get().getLogManager().log(Logger.LogType.INFO, "GameManager has been setup!");
  38.     }
  39.  
  40.     private static GameManager i = new GameManager();
  41.     public static GameManager get() {
  42.         return i;
  43.     }
  44.  
  45.     private  HashMap<UUID, PlayerRespawn> invs = new HashMap<>();
  46.     private  ArrayList<UUID> deathBans = new ArrayList<>();
  47.     private  ArrayList<String> whitelist = new ArrayList<>();
  48.     private  HashSet<String> respawnQueue = new HashSet<>(); // This saves names like whitelist and will check using ignore case
  49.     @Getter
  50.     private  HashMap<UUID, Integer> helpOpMutes = new HashMap<>();
  51.     @Getter
  52.     public HashMap<UUID, String> helpopMuteReasons = new HashMap<>();
  53.     @Getter
  54.     public HashSet<String> lateScatter = new HashSet<>();
  55.     public boolean IS_SCATTERING = false;
  56.     private  TimerTask timer;
  57.     private  boolean whitelistEnabled;
  58.     private  int finalHealTime = 0;
  59.     private  int pvpTime = 0;
  60.     private  int borderTime = 0;
  61.     @Getter
  62.     @Setter
  63.     private  int meetupTime = 0;
  64.     private  int radius = 0;
  65.     private  FinalHealTask finalHealTask;
  66.     private  PvPTask pvpTask;
  67.     private  WorldBorderTask worldBorderTask;
  68.     @Setter
  69.     @Getter
  70.     private  MeetupTask meetupTask;
  71.     @Getter
  72.     @Setter
  73.     private GameCountdownTask gameCountdownTask;
  74.     @Getter
  75.     @Setter
  76.     private ShrinkTask shrinkTask;
  77.     private  int[] shrinks;
  78.     private  int borderID;
  79.     private  HashMap<UUID, Integer> kills = new HashMap<>();
  80.     @Getter
  81.     public World world;
  82.     @Getter
  83.     private HashMap<Player, SetupStage> setupStageHashMap = new HashMap<>();
  84.     @Getter@Setter
  85.     private int setupRadius = 0;
  86.     @Getter@Setter
  87.     private int setupNetherRadius = 0;
  88.     @Getter@Setter
  89.     private String setupSeed = "";
  90.     @Getter@Setter
  91.     private boolean netherEnabled = false;
  92.     @Getter@Setter
  93.     private boolean overWorldPregenned = false;
  94.     @Getter@Setter
  95.     private boolean netherPregenned = false;
  96.     @Getter@Setter
  97.     private World netherWorld = null;
  98.     @Getter
  99.     private HashSet<UUID> toCancel = new HashSet<>();
  100.     public ShowPlayerTask showPlayerTask;
  101.     @Getter@Setter
  102.     private int currentEditingBorderIndex = -1;
  103.  
  104.  
  105.  
  106.     // ---------------------------------------
  107.     //      Host GUI Game Settings START
  108.     // ---------------------------------------
  109.  
  110.     @Getter
  111.     @Setter
  112.     private int starterFood = 10;
  113.     private int maxPlayers;
  114.     private Player host;
  115.     private boolean isTeam;
  116.     private double appleRates = 5;
  117.     private double flintRates = 50;
  118.     private boolean stripmining = false;
  119.     private boolean postedToDiscord = false;
  120.  
  121.     // ---------------------------------------
  122.     //      Host GUI Game Settings END
  123.     // ---------------------------------------
  124.  
  125.  
  126.     public int getFinalHealTime() {
  127.         return finalHealTime;
  128.     }
  129.  
  130.     public void setFinalHealTime(int finalHealTime) {
  131.         this.finalHealTime = finalHealTime;
  132.     }
  133.  
  134.     public int getPvpTime() {
  135.         return pvpTime;
  136.     }
  137.  
  138.     public void setPvpTime(int pvpTime) {
  139.         this.pvpTime = pvpTime;
  140.     }
  141.  
  142.     public int getBorderTime() {
  143.         return borderTime;
  144.     }
  145.  
  146.     public void setBorderTime(int borderTime) {
  147.         this.borderTime = borderTime;
  148.     }
  149.  
  150.     public boolean isIsTeam() {
  151.         return isTeam;
  152.     }
  153.  
  154.     public void setIsTeam(boolean isTeam) {
  155.         this.isTeam = isTeam;
  156.     }
  157.  
  158.     public Player getHost() {
  159.         return host;
  160.     }
  161.  
  162.     public void setHost(Player host) {
  163.         this.host = host;
  164.     }
  165.  
  166.     public int getRadius() {
  167.         return radius;
  168.     }
  169.  
  170.     public void setRadius(int radius) {
  171.         this.radius = radius;
  172.     }
  173.  
  174.     public int getFirstShrink() {
  175.         return getShrinks()[0];
  176.     }
  177.  
  178.     public void setFirstShrink(int firstShrink) {
  179.  
  180.         getShrinks()[0] = firstShrink;
  181.     }
  182.  
  183.     public void setWorld(World world) {
  184.         this.world = world;
  185.     }
  186.  
  187.     public ArrayList<String> getWhitelist() {
  188.         return whitelist;
  189.     }
  190.  
  191.     public boolean isWhitelistEnabled() {
  192.         return whitelistEnabled;
  193.     }
  194.  
  195.     public void setWhitelistEnabled(boolean whitelistEnabled) {
  196.         this.whitelistEnabled = whitelistEnabled;
  197.     }
  198.  
  199.     public int getMaxPlayers() {
  200.         return maxPlayers;
  201.     }
  202.  
  203.     public void setMaxPlayers(int maxPlayers) {
  204.         this.maxPlayers = maxPlayers;
  205.     }
  206.  
  207.     public TimerTask getTimer() {
  208.         return timer;
  209.     }
  210.  
  211.     public void setTimer(TimerTask timer) {
  212.         this.timer = timer;
  213.     }
  214.  
  215.     public double getBorderSize(){
  216.  
  217.         if(world == null) return 0;
  218.  
  219.         BorderData bd = com.wimbli.WorldBorder.WorldBorder.plugin.getWorldBorder(world.getName());
  220.  
  221.         return bd.getRadiusX();
  222.     }
  223.  
  224.     public HashMap<UUID, PlayerRespawn> getInvs() {
  225.         return invs;
  226.     }
  227.  
  228.     public ArrayList<UUID> getDeathBans() {
  229.         return deathBans;
  230.     }
  231.  
  232.     public double getAppleRates() {
  233.         return appleRates;
  234.     }
  235.  
  236.     public void setAppleRates(double appleRates) {
  237.         this.appleRates = appleRates;
  238.     }
  239.  
  240.     public double getFlintRates() {
  241.         return flintRates;
  242.     }
  243.  
  244.     public void setFlintRates(double flintRates) {
  245.         this.flintRates = flintRates;
  246.     }
  247.  
  248.     public FinalHealTask getFinalHealTask() {
  249.         return finalHealTask;
  250.     }
  251.  
  252.     public void setFinalHealTask(FinalHealTask finalHealTask) {
  253.         this.finalHealTask = finalHealTask;
  254.     }
  255.  
  256.     public PvPTask getPvpTask() {
  257.         return pvpTask;
  258.     }
  259.  
  260.     public void setPvpTask(PvPTask pvpTask) {
  261.         this.pvpTask = pvpTask;
  262.     }
  263.  
  264.     public WorldBorderTask getWorldBorderTask() {
  265.         return worldBorderTask;
  266.     }
  267.  
  268.     public void setWorldBorderTask(WorldBorderTask worldBorderTask) {
  269.         this.worldBorderTask = worldBorderTask;
  270.     }
  271.  
  272.     public int[] getShrinks() {
  273.         return shrinks;
  274.     }
  275.  
  276.     public int getBorderID() {
  277.         return borderID;
  278.     }
  279.  
  280.     public void setBorderID(int borderID) {
  281.         this.borderID = borderID;
  282.     }
  283.  
  284.     public HashMap<UUID, Integer> getKills() {
  285.         return kills;
  286.     }
  287.  
  288.     public void genWalls(int size, World w) {
  289.         UHC.get().getServer().dispatchCommand(Bukkit.getConsoleSender(), "wb " + w.getName() + " set " + size + " " + size + " 0 0");
  290.         UHC.get().getServer().dispatchCommand(Bukkit.getConsoleSender(), "wb shape square");
  291.         Location loc = new Location(w, 0.0D, 59.0D, 0.0D);
  292.         if (Bukkit.getPluginManager().getPlugin("ViaRewind") == null) {
  293.             w.getWorldBorder().setCenter(loc);
  294.             w.getWorldBorder().setDamageAmount(0);
  295.             w.getWorldBorder().setDamageBuffer(6969);
  296.             w.getWorldBorder().setSize(size * 2);
  297.  
  298.         }
  299.         else {
  300.             int i = 4;
  301.             while (i < 4 + 4) {
  302.                 for (int x = loc.getBlockX() - size; x <= loc.getBlockX() + size; x++) {
  303.                     for (int y = 59; y <= 59; y++) {
  304.                         for (int z = loc.getBlockZ() - size; z <= loc.getBlockZ() + size; z++) {
  305.                             if ((x == loc.getBlockX() - size) || (x == loc.getBlockX() + size) || (z == loc.getBlockZ() - size) || (z == loc.getBlockZ() + size)) {
  306.                                 Location loc2 = new Location(w, x, y, z);
  307.                                 loc2.setY(w.getHighestBlockYAt(loc2));
  308.                                 loc2.getBlock().setType(Material.BEDROCK);
  309.                             }
  310.                         }
  311.                     }
  312.                 }
  313.                 i++;
  314.             }
  315.         }
  316.  
  317.  
  318.     }
  319.  
  320.     public HashSet<String> getRespawnQueue() {
  321.         return respawnQueue;
  322.     }
  323.  
  324.     public boolean isPostedToDiscord() {
  325.         return postedToDiscord;
  326.     }
  327.  
  328.     public void setPostedToDiscord(boolean postedToDiscord) {
  329.         this.postedToDiscord = postedToDiscord;
  330.     }
  331. }
Advertisement
Add Comment
Please, Sign In to add comment