Advertisement
Guest User

Spawner class

a guest
Aug 17th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.77 KB | None | 0 0
  1. package laviRZ.bukkit.BedWars;
  2.  
  3.  
  4.  
  5.  
  6. import java.util.TreeMap;
  7.  
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.Location;
  10. import org.bukkit.Material;
  11. import org.bukkit.Server;
  12. import org.bukkit.inventory.ItemStack;
  13. import org.bukkit.util.Vector;
  14.  
  15. public class Spawner {
  16.    
  17.     public String oName;
  18.     private int ticks = 0;
  19.     private Location location;
  20.     private boolean enabled = false;
  21.     private int ironRate, goldRate, emeraldRate;
  22.    
  23.     ItemStack ironIngot = new ItemStack(Material.IRON_INGOT, 1);
  24.     ItemStack goldIngot = new ItemStack(Material.GOLD_INGOT, 1);
  25.     ItemStack emerald = new ItemStack(Material.EMERALD, 1);
  26.    
  27.     public static Server server;
  28.    
  29.     public Spawner(final Location location, String name, Main main) {
  30.         this.location = location;
  31.         oName = name;
  32.         ticks = 0;
  33.         Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(main, new Runnable() {
  34.            
  35.             public void run() {
  36.                 if(enabled) {
  37.                     if(ironRate != 0 && ticks % ironRate == 0) {
  38.                         location.getWorld().dropItem(location, ironIngot).setVelocity(new Vector(0, 0.1, 0));
  39.                     }
  40.                     if(goldRate != 0 && ticks % goldRate == 0) {
  41.                         location.getWorld().dropItem(location, goldIngot).setVelocity(new Vector(0, 0.1, 0));
  42.                     }
  43.                     if(emeraldRate != 0 && (ticks % emeraldRate == 0)) {
  44.                         location.getWorld().dropItem(location, emerald).setVelocity(new Vector(0, 0.1, 0));
  45.                     }
  46.                     ticks++;
  47.                 }
  48.             }
  49.            
  50.         }, 20, 1);
  51.     }
  52.    
  53.     public Spawner(TreeMap<String, Object> values, Main main) {
  54.         location = new Location(Bukkit.getServer().getWorld((String) values.get("world")), 0, 0, 0);
  55.         ticks = 0;
  56.         oName = (String) values.get("name");
  57.         ticks = Integer.parseInt((String) values.get("ticks"));
  58.         location.setX(Double.parseDouble((String) values.get("x")));
  59.         location.setY(Double.parseDouble((String) values.get("y")));
  60.         location.setZ(Double.parseDouble((String) values.get("z")));
  61.         enabled = Boolean.parseBoolean((String) values.get("enabled"));
  62.         ironRate = Integer.parseInt((String) values.get("ironRate"));
  63.         goldRate = Integer.parseInt((String) values.get("goldRate"));
  64.         emeraldRate = Integer.parseInt((String) values.get("emeraldRate"));
  65.         Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(main, new Runnable() {
  66.             public void run() {
  67.                 if(enabled) {
  68.                     if(ironRate != 0 && ticks % ironRate == 0) {
  69.                         location.getWorld().dropItem(location, ironIngot).setVelocity(new Vector(0, 0.1, 0));
  70.                     }
  71.                     if(goldRate != 0 && ticks % goldRate == 0) {
  72.                         location.getWorld().dropItem(location, goldIngot).setVelocity(new Vector(0, 0.1, 0));
  73.                     }
  74.                     if(emeraldRate != 0 && (ticks % emeraldRate == 0)) {
  75.                         location.getWorld().dropItem(location, emerald).setVelocity(new Vector(0, 0.1, 0));
  76.                     }
  77.                     ticks++;
  78.                 }
  79.             }
  80.            
  81.         }, 20, 1);
  82.     }
  83.    
  84.     public void setIronRate(int ironR) {
  85.         ironRate = ironR;
  86.     }
  87.    
  88.     public void setGoldRate(int goldR) {
  89.         goldRate = goldR;
  90.     }
  91.    
  92.     public void setEmeraldRate(int emeraldR) {
  93.         emeraldRate = emeraldR;
  94.     }
  95.    
  96.     public Location getLocation() {
  97.         return location;
  98.     }
  99.    
  100.     public void setEnable(boolean set) {
  101.         enabled = set;
  102.     }
  103.    
  104.     public boolean getEnable() {
  105.         return enabled;
  106.     }
  107.    
  108.     public TreeMap<String, Object> getData() {
  109.         TreeMap<String, Object> data = new TreeMap<String, Object>();
  110.        
  111.         data.put("name", oName);
  112.         data.put("ticks", Integer.toString(ticks));
  113.         data.put("x", Double.toString(location.getX()));
  114.         data.put("y", Double.toString(location.getY()));
  115.         data.put("z", Double.toString(location.getZ()));
  116.         data.put("world", location.getWorld().getName());
  117.         data.put("enabled", Boolean.toString(enabled));
  118.         data.put("ironRate", Integer.toString(ironRate) );
  119.         data.put("goldRate", Integer.toString(goldRate));
  120.         data.put("emeraldRate", Integer.toString(emeraldRate));
  121.        
  122.         return data;
  123.     }
  124.  
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement