Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.Ruud.Apocalypse;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitRunnable;
- import org.bukkit.scheduler.BukkitTask;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- /**
- * @author Ruud.
- */
- public class Apocalypse extends JavaPlugin implements Listener{
- public static HashMap<Player, String> blockAbovePlayerStatus = new HashMap<>();
- Plugin plugin = this;
- @Override
- public void onEnable() {
- getServer().getPluginManager().registerEvents(this, this);
- Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
- @Override
- public void run() {
- Iterator it = blockAbovePlayerStatus.entrySet().iterator();
- while(it.hasNext()) {
- Map.Entry pair = (Map.Entry)it.next();
- Player player = (Player) pair.getKey();
- player.sendMessage(player.getFireTicks() + "");
- player.sendMessage(blockAbovePlayerStatus.get(player));
- new BukkitRunnable() {
- public void run() {
- if (blockAbovePlayerStatus.get(player).equals("Moved from block")) {
- if (blockAbovePlayerStatus.get(player).equals("Under block"))
- cancel();
- new BukkitRunnable() {
- public void run() {
- if (blockAbovePlayerStatus.get(player).equals("Moved from block")) {
- blockAbovePlayerStatus.put(player, "In open");
- cancel();
- } else
- cancel();
- }
- }.runTaskLater(plugin, 100);
- }
- }
- }.runTask(plugin);
- if (blockAbovePlayerStatus.get(player).equals("In open")) {
- if (player.getFireTicks() < 0) {
- player.setFireTicks(40);
- }
- }
- }
- }
- }, 0, 1);
- }
- @Override
- public void onDisable() {
- }
- @EventHandler
- public void onMove(PlayerMoveEvent e) {
- Player player = e.getPlayer();
- Location location = player.getLocation();
- int highestBlockY = player.getWorld().getHighestBlockYAt(location);
- if (!blockAbovePlayerStatus.containsKey(player))
- if ((int)(player.getLocation().getY() + 2) < highestBlockY)
- blockAbovePlayerStatus.put(player, "Under block");
- else
- blockAbovePlayerStatus.put(player, "In open");
- if ((int)(player.getLocation().getY() + 2) < highestBlockY && blockAbovePlayerStatus.get(player).equals("In open"))
- blockAbovePlayerStatus.put(player, "Moved under block");
- else if ((int)(player.getLocation().getY() + 2) < highestBlockY)
- blockAbovePlayerStatus.put(player, "Under block");
- else if (blockAbovePlayerStatus.get(player).equals("Under block"))
- blockAbovePlayerStatus.put(player, "Moved from block");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement