Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cz.frafticekcz.ThePit.events.event_types;
- import com.sun.xml.internal.ws.api.message.HeaderList;
- import cz.frafticekcz.ThePit.Main;
- import cz.frafticekcz.ThePit.events.EventManager;
- import cz.frafticekcz.ThePit.hashes.PlayerManager;
- import cz.frafticekcz.ThePit.repository.PlayerData;
- import cz.frafticekcz.ThePit.utils.UtilMath;
- import net.minecraft.server.v1_8_R3.BlockStainedGlass;
- import org.bukkit.*;
- import org.bukkit.block.Block;
- import org.bukkit.block.BlockFace;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.HandlerList;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.scheduler.BukkitRunnable;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- public class KingOfTheHill extends ThePitEvent
- {
- private Main plugin;
- private PlayerManager manager;
- public KingOfTheHill(Main plugin)
- {
- super(1000,"King of The Hill","KingOfTheHill", plugin);
- this.plugin = plugin;
- this.manager = plugin.getPlayerManager();
- }
- private HashMap<Location, Material> blockLocation = new HashMap<>();
- @EventHandler
- public void playerMove(PlayerMoveEvent e)
- {
- Player p = e.getPlayer();
- PlayerData data = plugin.getPlayerManager().GetData(p);
- Location loc = p.getLocation();
- loc.subtract(0,2,0);
- if(p.getLocation().getBlock().getRelative(BlockFace.DOWN).getType().equals(Material.DIAMOND_BLOCK))
- {
- data.eventsGoldMultipler = 3;
- data.eventsXpMultipler = 3;
- }else
- {
- data.eventsXpMultipler = 1;
- data.eventsGoldMultipler = 1;
- }
- }
- //Custom start algorithms
- @Override
- public void start()
- {
- World w = Bukkit.getWorlds().get(0);
- w.setStorm(true);
- w.setTime(13500);
- Location loc = new Location(w, 38, 32, -60);
- for(Player p : Bukkit.getOnlinePlayers())
- {
- p.playSound(loc, Sound.WITHER_SPAWN, 1000,1);
- }
- double x, z;
- for(x = -3; x<=3 ; x ++)
- {
- for(z = -3; z <= 3; z++)
- {
- blockLocation.put(loc.clone().add(x, 0 , z),loc.clone().add(x, 0 , z).getBlock().getType());
- loc.clone().add(x, 0 , z).getBlock().setType(Material.DIAMOND_BLOCK);
- }
- }
- ItemStack itemStack = new ItemStack(Material.STAINED_GLASS,1,(short)3 );
- Block b = loc.getBlock();
- b.setType(Material.STAINED_GLASS);
- b.setData((byte) 3);
- blockLocation.put(loc.clone().add(0,-1,0),loc.clone().add(0,-1,0).getBlock().getType());
- loc.clone().add(0,-1,0).getBlock().setType(Material.BEACON);
- for(x = -3; x<=3 ; x ++)
- {
- for(z = -3; z <= 3; z++)
- {
- blockLocation.put(loc.clone().add(x, -2 , z),loc.clone().add(x, -2 , z).getBlock().getType());
- loc.clone().add(x, -2 , z).getBlock().setType(Material.DIAMOND_BLOCK);
- }
- }
- w.strikeLightning(loc);
- w.strikeLightning(loc);
- new BukkitRunnable()
- {
- @Override
- public void run() {
- w.setStorm(false);
- w.setTime(0);
- }
- }.runTaskLater(plugin, 50);
- }
- //Custom stop algorithms
- @Override
- public void stop()
- {
- for (Map.Entry<Location, Material> entry : blockLocation.entrySet())
- {
- Location key = entry.getKey();
- Material material = entry.getValue();
- key.getBlock().setType(material);
- }
- for(Player pl : Bukkit.getOnlinePlayers())
- {
- PlayerData data = plugin.getPlayerManager().GetData(pl);
- data.eventsXpMultipler = 1;
- data.eventsGoldMultipler = 1;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment