Can I get some help with this code I've no idea whats wrong with it or anything, it just won't work. Have I forgotten/overlooked something completely obvious or what ? Main Class Code:java package nrs.ethereal.freezer; import java.util.ArrayList;import java.util.List;import java.util.logging.Level;import java.util.logging.Logger; import nrs.ethereal.goldrush.Main; import org.bukkit.Bukkit;import org.bukkit.Server;import org.bukkit.plugin.PluginDescriptionFile;import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin{ public Logger logger = Logger.getLogger("Minecraft"); public Main plugin; public Server bukkit; List<String> freeze = new ArrayList<String>(); public void onEnable() { PluginDescriptionFile pdfFile = getDescription(); logger.log(Level.INFO, "{0} Version {1} Has Been Enabled!", new Object[] { pdfFile.getName(), pdfFile.getVersion() }); startup(); this.plugin = this; this.bukkit = this.plugin.getServer(); this.logger = this.plugin.getLogger(); } private void startup() { Bukkit.getServer().getPluginManager().registerEvents(new EventListener(this), this); } public void onDisable() { PluginDescriptionFile pdfFile = getDescription(); logger.log(Level.INFO, "{0} Version {1} Has Been Disabled!", new Object[] { pdfFile.getName(), pdfFile.getVersion() }); }} Scheduler Code:java package nrs.ethereal.freezer; import org.bukkit.Bukkit;import org.bukkit.ChatColor;import org.bukkit.entity.Player;import org.bukkit.plugin.java.JavaPlugin; public class Schedulers{ public static Main main; public Schedulers(JavaPlugin plugin) { plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() { public void run(){ Schedulers.DamagePlayer(); } } , 20L, 240); } public static void DamagePlayer() { Main m = main; for(String frozen : m.freeze){ Player player = Bukkit.getPlayerExact(frozen); player.damage(1.0); if (player.getHealth() == 1) { player.sendMessage(ChatColor.BLUE + "So Cold... So Cold... So.. So.. So Very Cold........"); Cold(player); } } } private static void Cold(Player player) { if (player.getHealth() == 12D) player.sendMessage(ChatColor.BLUE + "Bit nippy out here, I hope I've got some spare logs in the ponies pack."); else if (player.getHealth() == 10D) player.sendMessage(ChatColor.BLUE + "Wish I had a fire right about now."); else if (player.getHealth() == 6D) player.sendMessage(ChatColor.BLUE + "Can't feel my toes... FIRE!!"); else if (player.getHealth() == 2D) player.sendMessage(ChatColor.BLUE + "Cold... Cold... Fire...."); }} Event Listener Code:java package nrs.ethereal.freezer; import java.util.logging.Logger; import org.bukkit.Bukkit;import org.bukkit.ChatColor;import org.bukkit.Location;import org.bukkit.World;import org.bukkit.block.Block;import org.bukkit.block.BlockFace;import org.bukkit.entity.Player;import org.bukkit.event.Listener;import org.bukkit.event.player.PlayerJoinEvent;import org.bukkit.event.player.PlayerMoveEvent;import org.bukkit.scheduler.BukkitRunnable;import nrs.ethereal.goldrush.Main; public class EventListener implements Listener { Main main; public Logger logger = Logger.getLogger("Minecraft"); public EventListener(Main passedMain) { this.main = passedMain; } public void PlayerJoin(PlayerJoinEvent event){ Player p = event.getPlayer(); p.setFireTicks(100); } public void PlayerMove(PlayerMoveEvent event) { final Player player = event.getPlayer(); Location loc = player.getLocation(); World world = loc.getWorld(); Block block = player.getLocation().getBlock().getRelative(BlockFace.DOWN); long time = Bukkit.getServer().getWorld("world").getTime(); if (time < 13000 || time > 22220) { // night if (world.getHighestBlockAt(loc).getLocation().getY() <= loc.getY()) { // on surface if (block.getLightFromBlocks() < 8) { // if fires around the place and the player is within player.sendMessage(ChatColor.BLUE + "Its pretty cold out here, I should get a fire going ASAP if I want to stay alive much longer."); new BukkitRunnable() { @Override public void run() { main.freeze.add(player.getName()); } }.runTaskLater(this.main, 2400); } else { main.freeze.contains(player.getName()); main.freeze.remove(player.getName()); player.sendMessage(ChatColor.BLUE + "Phew.. That was cold, I hope the fire lasts till Dawn."); } } } } }
"Just wont work" isnt descriptive enough for us to help you. Please elaborate on the exact problem(s), the expected output, error logs, etc.
BillyGalbreath there are no errors, nothing in the console, nothing. What's supposed to happen is after about 9pm if the player is on the surface and out side and There's no fire within 5 or so blocks the player will slowly freeze to death over 6 minutes