aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/miscutil/core')
-rw-r--r--src/Java/miscutil/core/commands/CommandUptime.java164
-rw-r--r--src/Java/miscutil/core/util/uptime/PlayerUptimeData.java199
-rw-r--r--src/Java/miscutil/core/util/uptime/Uptime.java281
-rw-r--r--src/Java/miscutil/core/util/uptime/UptimeData.java206
-rw-r--r--src/Java/miscutil/core/util/uptime/UptimeLog.java73
-rw-r--r--src/Java/miscutil/core/waila/IWailaInfoProvider.java20
-rw-r--r--src/Java/miscutil/core/waila/IWailaNBTProvider.java8
-rw-r--r--src/Java/miscutil/core/waila/WailaCompat.java321
8 files changed, 0 insertions, 1272 deletions
diff --git a/src/Java/miscutil/core/commands/CommandUptime.java b/src/Java/miscutil/core/commands/CommandUptime.java
deleted file mode 100644
index 2c13257b88..0000000000
--- a/src/Java/miscutil/core/commands/CommandUptime.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package miscutil.core.commands;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-
-import miscutil.core.util.uptime.PlayerUptimeData;
-import miscutil.core.util.uptime.Uptime;
-import miscutil.core.util.uptime.UptimeData;
-import miscutil.core.util.uptime.UptimeLog;
-import net.minecraft.command.CommandBase;
-import net.minecraft.command.ICommandSender;
-import net.minecraft.entity.player.EntityPlayerMP;
-//import net.minecraft.server.dedicated.DedicatedServer;
-import net.minecraft.util.ChatComponentText;
-
-public class CommandUptime
-extends CommandBase
-{
- public String getCommandName()
- {
- return "uptime";
- }
-
- public String getCommandUsage(ICommandSender sender)
- {
- return "/" + getCommandName() + " [player_name | reset | winners]";
- }
-
- @SuppressWarnings("rawtypes")
- public List getCommandAliases()
- {
- return null;
- }
-
- public void processCommand(ICommandSender sender, String[] args)
- {
-
- try{
- EntityPlayerMP player = (EntityPlayerMP)sender;
-
-
- Uptime.updateUptime();
- UptimeData data = Uptime.getUptimeData();
- if (args.length == 0)
- {
- player.addChatMessage(new ChatComponentText("World is on day " + data.getWorldDays() + "."));
-
- player.addChatMessage(new ChatComponentText("Server has been running for " + data.getServerOndays() + " days."));
-
- long remainder = data.getServerUptime() / 1000L;
- int days = (int)remainder / 86400;
- remainder %= 86400L;
- int hours = (int)remainder / 3600;
- remainder %= 3600L;
- int minutes = (int)remainder / 60;
- remainder %= 60L;
- int seconds = (int)remainder;
- player.addChatMessage(new ChatComponentText("Server has been up for " + days + " days, " + hours + " hours, " + minutes + " minutes and " + seconds + " seconds."));
- }
- else if (args.length == 1)
- {
- if (args[0].equalsIgnoreCase("reset"))
- {
- if (player.canCommandSenderUseCommand(2, ""))
- {
- data.resetUptime();
-
- @SuppressWarnings("unchecked")
- List<EntityPlayerMP> players = net.minecraft.server.MinecraftServer.getServer().worldServers[0].playerEntities;
- for (int t = 0; t < players.size(); t++) {
- ((EntityPlayerMP)players.get(t)).addChatMessage(new ChatComponentText("All player statistics have been reset."));
- }
- }
- else
- {
- player.addChatMessage(new ChatComponentText("You must be an OP to use this subcommand."));
- }
- }
- else if (!args[0].equalsIgnoreCase("winners"))
- {
- PlayerUptimeData player_data = data.getPlayerUptimeData(args[0]);
- if (player_data != null)
- {
- player.addChatMessage(new ChatComponentText(args[0] + " has played for " + player_data.player_ondays + " days."));
-
- long remainder = player_data.played_time / 1000L;
- int days = (int)remainder / 86400;
- remainder %= 86400L;
- int hours = (int)remainder / 3600;
- remainder %= 3600L;
- int minutes = (int)remainder / 60;
- remainder %= 60L;
- int seconds = (int)remainder;
- player.addChatMessage(new ChatComponentText(args[0] + " has played for " + days + " days, " + hours + " hours, " + minutes + " minutes and " + seconds + " seconds."));
-
- Date first_joined = new Date(player_data.first_joined);
- player.addChatMessage(new ChatComponentText(args[0] + " first joined on the " + new SimpleDateFormat("d MMM yyyy 'at' HH:mm:ss z").format(first_joined) + "."));
-
- Date last_active = new Date(player_data.last_active);
- player.addChatMessage(new ChatComponentText(args[0] + " was last active on the " + new SimpleDateFormat("d MMM yyyy 'at' HH:mm:ss z").format(last_active) + "."));
- if (player_data.number_of_deaths != 0)
- {
- player.addChatMessage(new ChatComponentText(args[0] + " has died " + player_data.number_of_deaths + " times."));
- Date death_date = new Date(player_data.last_death);
- player.addChatMessage(new ChatComponentText(args[0] + " last died on the " + new SimpleDateFormat("d MMM yyyy 'at' HH:mm:ss z").format(death_date) + "."));
-
- remainder = player_data.shortest_life / 1000L;
- days = (int)remainder / 86400;
- remainder %= 86400L;
- hours = (int)remainder / 3600;
- remainder %= 3600L;
- minutes = (int)remainder / 60;
- remainder %= 60L;
- seconds = (int)remainder;
- player.addChatMessage(new ChatComponentText(args[0] + "'s shortest life was " + days + " days, " + hours + " hours, " + minutes + " minutes and " + seconds + " seconds."));
-
- remainder = player_data.longest_life / 1000L;
- days = (int)remainder / 86400;
- remainder %= 86400L;
- hours = (int)remainder / 3600;
- remainder %= 3600L;
- minutes = (int)remainder / 60;
- remainder %= 60L;
- seconds = (int)remainder;
- player.addChatMessage(new ChatComponentText(args[0] + "'s longest life was " + days + " days, " + hours + " hours, " + minutes + " minutes and " + seconds + " seconds."));
- }
- else
- {
- player.addChatMessage(new ChatComponentText(args[0] + " has not died yet."));
- }
- remainder = player_data.alive_time / 1000L;
- days = (int)remainder / 86400;
- remainder %= 86400L;
- hours = (int)remainder / 3600;
- remainder %= 3600L;
- minutes = (int)remainder / 60;
- remainder %= 60L;
- seconds = (int)remainder;
- player.addChatMessage(new ChatComponentText(args[0] + " has been alive for " + days + " days, " + hours + " hours, " + minutes + " minutes and " + seconds + " seconds."));
- }
- else
- {
- player.addChatMessage(new ChatComponentText("No uptime data exists for that player."));
- }
- }
- }
- else
- {
- player.addChatMessage(new ChatComponentText("Invalid usage, correct usage is /" + getCommandName() + " [player_name | all]"));
- }
- }
- catch (ClassCastException e) {
- //do something clever with the exception
- UptimeLog.log("SEVERE", e.getMessage());
- UptimeLog.log("WARNING", "You cannot run this command from console");
- }
- }
-
- public boolean canCommandSenderUseCommand(ICommandSender sender)
- {
- return true;
- }
-}
diff --git a/src/Java/miscutil/core/util/uptime/PlayerUptimeData.java b/src/Java/miscutil/core/util/uptime/PlayerUptimeData.java
deleted file mode 100644
index 8049ab68a8..0000000000
--- a/src/Java/miscutil/core/util/uptime/PlayerUptimeData.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package miscutil.core.util.uptime;
-
-import java.util.Properties;
-
-public class PlayerUptimeData
-{
- public long last_update;
- public long first_joined;
- public long last_active;
- public long played_time;
- public long player_lastday;
- public int player_ondays;
- public long this_death;
- public long last_death;
- public long alive_time;
- public int number_of_deaths;
- public long last_life;
- public long shortest_life;
- public long longest_life;
- public boolean online;
-
- public PlayerUptimeData()
- {
- long temp_time = System.currentTimeMillis();
-
- this.first_joined = temp_time;
- this.last_active = temp_time;
- this.played_time = 0L;
-
- this.player_lastday = temp_time;
- this.player_ondays = 1;
-
- this.this_death = temp_time;
- this.last_death = temp_time;
- this.alive_time = 0L;
- this.number_of_deaths = 0;
- this.last_life = 0L;
- this.shortest_life = 0L;
- this.longest_life = 0L;
-
- this.online = true;
- this.last_update = temp_time;
- }
-
- public PlayerUptimeData(int player_number, Properties properties)
- throws NumberFormatException
- {
- long temp_time = System.currentTimeMillis();
-
- this.first_joined = Long.valueOf(properties.getProperty("first_joined_" + player_number)).longValue();
- this.last_active = Long.valueOf(properties.getProperty("last_active_" + player_number)).longValue();
- this.played_time = Long.valueOf(properties.getProperty("played_time_" + player_number)).longValue();
-
- this.player_lastday = Long.valueOf(properties.getProperty("player_lastday_" + player_number)).longValue();
- this.player_ondays = Integer.valueOf(properties.getProperty("player_ondays_" + player_number)).intValue();
-
- this.this_death = Long.valueOf(properties.getProperty("this_death_" + player_number)).longValue();
- this.last_death = Long.valueOf(properties.getProperty("last_death_" + player_number)).longValue();
- this.alive_time = Long.valueOf(properties.getProperty("alive_time_" + player_number)).longValue();
- this.number_of_deaths = Integer.valueOf(properties.getProperty("number_of_deaths_" + player_number)).intValue();
- this.last_life = Long.valueOf(properties.getProperty("last_life_" + player_number)).longValue();
- this.shortest_life = Long.valueOf(properties.getProperty("shortest_life_" + player_number)).longValue();
- this.longest_life = Long.valueOf(properties.getProperty("longest_life_" + player_number)).longValue();
-
- this.online = false;
- this.last_update = temp_time;
- }
-
- public void savePlayerUptimeData(int player_number, Properties player_properties)
- {
- player_properties.setProperty("first_joined_" + player_number, String.valueOf(this.first_joined));
- player_properties.setProperty("last_active_" + player_number, String.valueOf(this.last_active));
- player_properties.setProperty("played_time_" + player_number, String.valueOf(this.played_time));
- player_properties.setProperty("player_lastday_" + player_number, String.valueOf(this.player_lastday));
- player_properties.setProperty("player_ondays_" + player_number, String.valueOf(this.player_ondays));
- player_properties.setProperty("this_death_" + player_number, String.valueOf(this.this_death));
- player_properties.setProperty("last_death_" + player_number, String.valueOf(this.last_death));
- player_properties.setProperty("alive_time_" + player_number, String.valueOf(this.alive_time));
- player_properties.setProperty("number_of_deaths_" + player_number, String.valueOf(this.number_of_deaths));
- player_properties.setProperty("last_life_" + player_number, String.valueOf(this.last_life));
- player_properties.setProperty("shortest_life_" + player_number, String.valueOf(this.shortest_life));
- player_properties.setProperty("longest_life_" + player_number, String.valueOf(this.longest_life));
- }
-
- public void playerLoggedOn()
- {
- long temp_time = System.currentTimeMillis();
- if (!this.online)
- {
- this.last_active = temp_time;
-
-
- this.online = true;
- }
- this.last_update = temp_time;
- }
-
- public void playerLoggedOff()
- {
- long temp_time = System.currentTimeMillis();
- if (this.online)
- {
- this.last_active = temp_time;
- this.played_time += temp_time - this.last_update;
-
-
- this.alive_time += temp_time - this.last_update;
-
-
- this.online = false;
- }
- this.last_update = temp_time;
- }
-
- public void playerDied()
- {
- long temp_time = System.currentTimeMillis();
-
-
- updateUptime();
-
-
- this.this_death = temp_time;
- this.number_of_deaths += 1;
-
-
- this.last_life = this.alive_time;
- if (this.number_of_deaths == 1)
- {
- this.shortest_life = this.last_life;
- this.longest_life = this.last_life;
- }
- else if (this.last_life < this.shortest_life)
- {
- this.shortest_life = this.last_life;
- }
- else if (this.last_life > this.longest_life)
- {
- this.longest_life = this.last_life;
- }
- }
-
- public void playerRespawned()
- {
- long temp_time = System.currentTimeMillis();
-
- this.last_active = temp_time;
- this.played_time += temp_time - this.last_update;
-
- this.alive_time = 0L;
- this.last_death = this.this_death;
-
- this.last_update = temp_time;
- }
-
- public void updateUptime()
- {
- long temp_time = System.currentTimeMillis();
- if (this.online)
- {
- this.last_active = temp_time;
- this.played_time += temp_time - this.last_update;
-
-
- this.alive_time += temp_time - this.last_update;
-
-
- long current_day = temp_time / 86400000L;
- current_day *= 86400000L;
- if (current_day > this.player_lastday)
- {
- this.player_ondays += 1;
- this.player_lastday = current_day;
- }
- }
- this.last_update = temp_time;
- }
-
- public void resetUptime()
- {
- long temp_time = System.currentTimeMillis();
-
- this.played_time = 0L;
-
- this.player_lastday = temp_time;
- this.player_ondays = 1;
-
- this.this_death = temp_time;
- this.last_death = temp_time;
- this.alive_time = 0L;
- this.number_of_deaths = 0;
- this.last_life = 0L;
- this.shortest_life = 0L;
- this.longest_life = 0L;
-
- this.online = true;
- this.last_update = temp_time;
- }
-}
diff --git a/src/Java/miscutil/core/util/uptime/Uptime.java b/src/Java/miscutil/core/util/uptime/Uptime.java
deleted file mode 100644
index d18a542a23..0000000000
--- a/src/Java/miscutil/core/util/uptime/Uptime.java
+++ /dev/null
@@ -1,281 +0,0 @@
-package miscutil.core.util.uptime;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.File;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import javax.swing.Timer;
-
-import miscutil.core.commands.CommandUptime;
-import net.minecraft.command.ICommandManager;
-import net.minecraft.command.ServerCommandManager;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.server.MinecraftServer;
-import net.minecraft.util.ChatComponentText;
-import net.minecraft.world.storage.WorldInfo;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.event.entity.living.LivingDeathEvent;
-
-import com.google.common.io.Files;
-
-import cpw.mods.fml.common.FMLCommonHandler;
-import cpw.mods.fml.common.FMLLog;
-import cpw.mods.fml.common.gameevent.PlayerEvent;
-
-public class Uptime implements ActionListener {
- private static MinecraftServer server;
- //public static CommonProxy proxy;
- private static Timer updater;
- private static UptimeData uptime_data;
- private static WorldInfo world_info;
- private File uptime_file;
- private File uptime_backup;
-
- @SuppressWarnings("static-method")
- public void preInit()
- {
- UptimeLog.log("INFO", "Conjumbobulating Time Synthesis.");
- //UptimeLog.initLogger();
- }
-
-
- public void init()
- {
- MinecraftForge.EVENT_BUS.register(this);
- FMLCommonHandler.instance().bus().register(this);
-
- }
-
-
- public void serverStarting()
- {
- uptime_data = null;
-
-
- server = MinecraftServer.getServer();
-
-
- world_info = server.worldServers[0].getWorldInfo();
-
-
- File minecraft_folder = server.getFile("");
- String world_folder = server.getFolderName();
- String file_path = minecraft_folder + "/saves/" + world_folder;
- if (!MinecraftServer.getServer().isSinglePlayer()) {
- file_path = minecraft_folder + "/" + world_folder;
- }
- this.uptime_backup = new File(file_path + "/uptime.bk");
- this.uptime_file = new File(file_path + "/uptime.txt");
- if (this.uptime_backup.exists())
- {
- UptimeLog.log("INFO","Uptime has found a backup of the uptime file, trying to restore it.", new Object[0]);
- try
- {
- this.uptime_file.delete();
- this.uptime_file.createNewFile();
-
- Files.copy(this.uptime_backup, this.uptime_file);
-
- uptime_data = new UptimeData(this.uptime_file, false);
-
- UptimeLog.log("INFO","Uptime restored the backup.", new Object[0]);
- }
- catch (IOException ioe)
- {
- UptimeLog.log("WARNING","Failed to restore backup of uptime file, uptime has been reset and the backup removed.", new Object[] { ioe });
- this.uptime_backup.delete();
- uptime_data = new UptimeData(this.uptime_file, true);
- }
- catch (NumberFormatException npe)
- {
- UptimeLog.log("WARNING","Backup file is corrupt, uptime has been reset and the backup removed.", new Object[0]);
- this.uptime_backup.delete();
- uptime_data = new UptimeData(this.uptime_file, true);
- }
- }
- else if (this.uptime_file.exists())
- {
- UptimeLog.log("INFO","Found uptime file, restoring it.", new Object[0]);
- if (this.uptime_file.length() > 1L)
- {
- try
- {
- uptime_data = new UptimeData(this.uptime_file, false);
- }
- catch (NumberFormatException npe)
- {
- UptimeLog.log("WARNING","Uptime file is corrupt, uptime has been reset.", new Object[0]);
- uptime_data = new UptimeData(this.uptime_file, true);
- }
- }
- else
- {
- UptimeLog.log("WARNING","Uptime file is empty, uptime has been reset.", new Object[0]);
- uptime_data = new UptimeData(this.uptime_file, true);
- }
- }
- else
- {
- UptimeLog.log("INFO","No uptime or backup found, creating a new one.", new Object[0]);
-
-
- uptime_data = new UptimeData(this.uptime_file, true);
- }
- updater = new Timer(60000, this);
- updater.setRepeats(true);
- updater.start();
-
-
- ICommandManager command_manager = server.getCommandManager();
- ServerCommandManager server_command_manager = (ServerCommandManager)command_manager;
- server_command_manager.registerCommand(new CommandUptime());
-
-
- saveUptime();
- }
-
-
- public void serverStopping()
- {
- UptimeLog.log("INFO", "upTime is going to stop.");
- if (updater.isRunning())
- {
- updater.stop();
- UptimeLog.log("INFO", "Saving Time Stats.");
- saveUptime();
- }
- }
-
- public static void updateUptime()
- {
- uptime_data.updateUptime(world_info.getWorldTime());
- }
-
- public static UptimeData getUptimeData()
- {
- return uptime_data;
- }
-
- private void saveUptime()
- {
- updateUptime();
-
- FMLLog.finer("Uptime is currently saving its data.", new Object[0]);
- try
- {
- this.uptime_backup.delete();
- this.uptime_backup.createNewFile();
- Files.copy(this.uptime_file, this.uptime_backup);
-
-
- this.uptime_file.delete();
- this.uptime_file.createNewFile();
-
- uptime_data.saveUptime();
-
-
- this.uptime_backup.delete();
- }
- catch (IOException ioe)
- {
- UptimeLog.log("WARNING","Failed while perpairing to save uptime file.", new Object[] { ioe });
- }
- FMLLog.finer("Uptime has finished saving it's data.", new Object[0]);
- }
-
- @SuppressWarnings("static-method")
- public void onPlayerDeath(LivingDeathEvent lde)
- {
- if ((lde.entity instanceof EntityPlayerMP))
- {
- EntityPlayerMP player = (EntityPlayerMP)lde.entity;
-
-
- uptime_data.playerDied(player.getCommandSenderName());
-
- updateUptime();
-
- PlayerUptimeData player_data = uptime_data.getPlayerUptimeData(player.getCommandSenderName());
-
-
- player.addChatMessage(new ChatComponentText("You died on day " + uptime_data.getWorldDays() + "."));
- player.addChatMessage(new ChatComponentText("This took you " + player_data.player_ondays + " real days."));
-
- long remainder = player_data.last_life / 1000L;
- int days = (int)remainder / 86400;
- remainder %= 86400L;
- int hours = (int)remainder / 3600;
- remainder %= 3600L;
- int minutes = (int)remainder / 60;
- remainder %= 60L;
- int seconds = (int)remainder;
- player.addChatMessage(new ChatComponentText("In-game time taken: " + days + "d " + hours + "h " + minutes + "m " + seconds + "s."));
- if (player_data.last_life <= 10000L) {
- player.addChatMessage(new ChatComponentText("It takes someone very special to die that quickly."));
- } else if (player_data.last_life <= 20000L) {
- player.addChatMessage(new ChatComponentText("It could of been worse, you could of been the idiot that died in 10 seconds."));
- } else if (player_data.last_life <= 30000L) {
- player.addChatMessage(new ChatComponentText("Might I advise you learn how to run away and hide, and then just stay in there, and don't come out, you'll live longer that way."));
- } else if (player_data.last_life <= 40000L) {
- player.addChatMessage(new ChatComponentText("My grandma could survive longer in Minecraft that then."));
- } else if (player_data.last_life <= 50000L) {
- player.addChatMessage(new ChatComponentText("I would taunt you, but honestly, I think what just happened speaks for itself."));
- } else if (player_data.last_life <= 60000L) {
- player.addChatMessage(new ChatComponentText("Well, that didn't quite go to plan did it now, dust yourself off and try again."));
- } else if (player_data.last_life <= 120000L) {
- player.addChatMessage(new ChatComponentText("Ohhh, you was doing so well, right up to that point at the end there when you died."));
- }
- if (player_data.number_of_deaths == 1)
- {
- player.addChatMessage(new ChatComponentText("That was your first death."));
- }
- else
- {
- Date death_date = new Date(player_data.this_death);
- player.addChatMessage(new ChatComponentText("That was death number " + player_data.number_of_deaths + ". You last died on the " + new SimpleDateFormat("d MMM yyyy 'at' HH:mm:ss z").format(death_date) + "."));
- if (player_data.last_life == player_data.longest_life) {
- player.addChatMessage(new ChatComponentText("That was your longest life, congratulations."));
- } else if (player_data.last_life == player_data.shortest_life) {
- player.addChatMessage(new ChatComponentText("That was your shortest life, really good job there."));
- }
- }
- //Log Readable stats from dying players.
- System.out.println(player.getDisplayName() + " has died.");
- System.out.println("In-game time taken: " + days + "d " + hours + "h " + minutes + "m " + seconds + "s.");
- System.out.println("This took " + player_data.player_ondays + " real days.");
- System.out.println("That was death number " + player_data.number_of_deaths + ".");
-
- }
- }
-
- @Override
- public void actionPerformed(ActionEvent event)
- {
- if (event.getSource() == updater) {
- saveUptime();
- }
- }
-
- @SuppressWarnings("static-method")
- public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event)
- {
- uptime_data.playerLoggedOn(event.player.getCommandSenderName());
- }
-
- @SuppressWarnings("static-method")
- public void onPlayerLogout(PlayerEvent.PlayerLoggedOutEvent event)
- {
- uptime_data.playerLoggedOff(event.player.getCommandSenderName());
- }
-
- @SuppressWarnings("static-method")
- public void onPlayerRespawn(PlayerEvent.PlayerRespawnEvent event)
- {
- uptime_data.playerRespawned(event.player.getCommandSenderName());
- }
-
-
-}
diff --git a/src/Java/miscutil/core/util/uptime/UptimeData.java b/src/Java/miscutil/core/util/uptime/UptimeData.java
deleted file mode 100644
index b6a2f4f0d1..0000000000
--- a/src/Java/miscutil/core/util/uptime/UptimeData.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package miscutil.core.util.uptime;
-
-import cpw.mods.fml.common.FMLLog;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Properties;
-
-public class UptimeData
-{
- private long last_update;
- private long server_uptime;
- private long server_lastday;
- private int server_ondays;
- private long last_world_time;
- private int world_days;
- private HashMap<String, PlayerUptimeData> player_data;
- private File uptime_file;
-
- public UptimeData(File uptime_file, boolean new_world)
- throws NumberFormatException
- {
- this.uptime_file = uptime_file;
- this.player_data = new HashMap<String, PlayerUptimeData>();
- if (new_world)
- {
- FMLLog.info("Uptime: No uptime file, estimating uptime from worlds total time.", new Object[0]);
- long temp_time = System.currentTimeMillis();
-
- long world_total_time = net.minecraft.server.MinecraftServer.getServer().worldServers[0].getWorldInfo().getWorldTotalTime();
- this.last_update = temp_time;
- this.server_uptime = (world_total_time * 50L);
- this.server_lastday = temp_time;
- this.server_ondays = ((int)(this.server_uptime / 86400000L) + 1);
- this.last_world_time = world_total_time;
- this.world_days = ((int)(world_total_time / 24000L) + 1);
- try
- {
- uptime_file.delete();
- uptime_file.createNewFile();
- }
- catch (IOException ioe)
- {
- FMLLog.warning("Uptime: Failed to create uptime file.", new Object[] { ioe });
- }
- }
- else
- {
- Properties properties = new Properties();
- try
- {
- FileInputStream in = new FileInputStream(uptime_file);
- properties.load(in);
- this.last_update = System.currentTimeMillis();
- this.server_uptime = Long.valueOf(properties.getProperty("server_uptime")).longValue();
- this.server_lastday = Long.valueOf(properties.getProperty("server_lastday")).longValue();
- this.server_ondays = Integer.valueOf(properties.getProperty("server_ondays")).intValue();
- this.last_world_time = Long.valueOf(properties.getProperty("last_world_time")).longValue();
- this.world_days = Integer.valueOf(properties.getProperty("world_days")).intValue();
- int players = Integer.valueOf(properties.getProperty("players")).intValue();
- for (int t = 0; t < players; t++)
- {
- String player = properties.getProperty("name_" + t);
- PlayerUptimeData new_data = new PlayerUptimeData(t, properties);
- this.player_data.put(player, new_data);
- }
- }
- catch (IOException ioe)
- {
- FMLLog.warning("Uptime: Failed to read to the uptime file, estimating uptime from worlds total time.", new Object[] { ioe });
- long temp_time = System.currentTimeMillis();
-
- long world_total_time = net.minecraft.server.MinecraftServer.getServer().worldServers[0].getWorldInfo().getWorldTotalTime();
- this.last_update = temp_time;
- this.server_uptime = (world_total_time * 50L);
- this.server_lastday = temp_time;
- this.server_ondays = ((int)(this.server_uptime / 86400000L) + 1);
- this.last_world_time = world_total_time;
- this.world_days = ((int)(world_total_time / 24000L) + 1);
- }
- }
- }
-
- public void saveUptime()
- {
- try
- {
- Properties properties = new Properties();
- properties.setProperty("server_uptime", String.valueOf(this.server_uptime));
- properties.setProperty("server_lastday", String.valueOf(this.server_lastday));
- properties.setProperty("server_ondays", String.valueOf(this.server_ondays));
- properties.setProperty("last_world_time", String.valueOf(this.last_world_time));
- properties.setProperty("world_days", String.valueOf(this.world_days));
- properties.setProperty("players", String.valueOf(this.player_data.size()));
-
-
- int player_number = 0;
- for (String player : this.player_data.keySet())
- {
- properties.setProperty("name_" + player_number, player);
- ((PlayerUptimeData)this.player_data.get(player)).savePlayerUptimeData(player_number, properties);
- player_number++;
- }
- FileOutputStream out = new FileOutputStream(this.uptime_file);
- properties.store(out, "Server Uptime");
- }
- catch (IOException ioe)
- {
- FMLLog.warning("Uptime: Failed to write to the uptime file.", new Object[] { ioe });
- }
- }
-
- public void updateUptime(long current_world_time)
- {
- long temp_time = System.currentTimeMillis();
- if (this.last_world_time / 24000L < current_world_time / 24000L)
- {
- this.world_days += 1;
- }
- else if (this.last_world_time > current_world_time)
- {
- this.world_days += 1;
- FMLLog.info("Uptime: World time has gone backwards, assuming /time set was used and increasing world day.", new Object[0]);
- }
- this.last_world_time = current_world_time;
-
-
- this.server_uptime += temp_time - this.last_update;
-
-
- long current_day = temp_time / 86400000L;
- current_day *= 86400000L;
- if (current_day > this.server_lastday)
- {
- this.server_ondays += 1;
- this.server_lastday = current_day;
- }
- for (PlayerUptimeData player : this.player_data.values()) {
- player.updateUptime();
- }
- this.last_update = temp_time;
- }
-
- public long getServerUptime()
- {
- return this.server_uptime;
- }
-
- public int getServerOndays()
- {
- return this.server_ondays;
- }
-
- public int getWorldDays()
- {
- return this.world_days;
- }
-
- public void playerLoggedOn(String username)
- {
- if (this.player_data.get(username) == null) {
- this.player_data.put(username, new PlayerUptimeData());
- } else {
- ((PlayerUptimeData)this.player_data.get(username)).playerLoggedOn();
- }
- }
-
- public void playerLoggedOff(String username)
- {
- if (this.player_data.get(username) != null) {
- ((PlayerUptimeData)this.player_data.get(username)).playerLoggedOff();
- }
- }
-
- public void playerDied(String username)
- {
- if (this.player_data.get(username) != null) {
- ((PlayerUptimeData)this.player_data.get(username)).playerDied();
- }
- }
-
- public void playerRespawned(String username)
- {
- if (this.player_data.get(username) != null) {
- ((PlayerUptimeData)this.player_data.get(username)).playerRespawned();
- }
- }
-
- public PlayerUptimeData getPlayerUptimeData(String username)
- {
- if (this.player_data.get(username) != null) {
- return (PlayerUptimeData)this.player_data.get(username);
- }
- return null;
- }
-
- public void resetUptime()
- {
- for (PlayerUptimeData player : this.player_data.values()) {
- player.resetUptime();
- }
- }
-}
diff --git a/src/Java/miscutil/core/util/uptime/UptimeLog.java b/src/Java/miscutil/core/util/uptime/UptimeLog.java
deleted file mode 100644
index 717a82e3dc..0000000000
--- a/src/Java/miscutil/core/util/uptime/UptimeLog.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package miscutil.core.util.uptime;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import miscutil.core.lib.CORE;
-import miscutil.core.util.Utils;
-import cpw.mods.fml.common.FMLLog;
-
-public class UptimeLog {
-
- //UptimeLog.log("INFO", "text");
- //(ALL, CONFIG, FINE, FINER, FINEST, INFO, OFF, SEVERE and WARNING)
-
- private static Logger logger = Logger.getLogger(CORE.MODID);
-
- public static void initLogger() {
- logger.setParent((Logger) FMLLog.getLogger());
- }
-
-
- public static void log(String logLevel, String message) {
- Level logNotif;
- if (logLevel.equals("INFO")){
- logNotif = Level.INFO;
- }
- else if (logLevel.equals("WARNING")){
- logNotif = Level.WARNING;
- }
- else if (logLevel.equals("SEVERE")){
- logNotif = Level.SEVERE;
- }
- else {
- logNotif = Level.CONFIG;
- }
- logWrapper(logLevel, message);
- }
-
- public static void log(String logLevel, String message, Object[] objectF) {
- Level logNotif;
- if (logLevel.equals("INFO")){
- logNotif = Level.INFO;
- }
- else if (logLevel.equals("WARNING")){
- logNotif = Level.WARNING;
- }
- else if (logLevel.equals("SEVERE")){
- logNotif = Level.SEVERE;
- }
- else {
- logNotif = Level.CONFIG;
- }
- logWrapper(logLevel, message);
- }
-
- private static void logWrapper(String level, String msg){
- if (level.equals("INFO")){
- Utils.LOG_INFO(msg);
- }
- else if (level.equals("WARNING")){
- Utils.LOG_WARNING(msg);
- }
- else if (level.equals("SEVERE")){
- Utils.LOG_ERROR(msg);
- }
- else {
- Utils.LOG_INFO("Something Broke - "+msg);
- }
- }
-
-
-
-}
diff --git a/src/Java/miscutil/core/waila/IWailaInfoProvider.java b/src/Java/miscutil/core/waila/IWailaInfoProvider.java
deleted file mode 100644
index b8ac036ac5..0000000000
--- a/src/Java/miscutil/core/waila/IWailaInfoProvider.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package miscutil.core.waila;
-
-import java.text.NumberFormat;
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.world.World;
-
-public abstract interface IWailaInfoProvider
-{
- public static final int BIT_BASIC = 1;
- public static final int BIT_COMMON = 2;
- public static final int BIT_DETAILED = 4;
- public static final int ALL_BITS = 7;
- public static NumberFormat fmt = null;
-
- public abstract void getWailaInfo(List<String> paramList, EntityPlayer paramEntityPlayer, World paramWorld, int paramInt1, int paramInt2, int paramInt3);
-
- public abstract int getDefaultDisplayMask(World paramWorld, int paramInt1, int paramInt2, int paramInt3);
-}
diff --git a/src/Java/miscutil/core/waila/IWailaNBTProvider.java b/src/Java/miscutil/core/waila/IWailaNBTProvider.java
deleted file mode 100644
index 28d15a8bce..0000000000
--- a/src/Java/miscutil/core/waila/IWailaNBTProvider.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package miscutil.core.waila;
-
-import net.minecraft.nbt.NBTTagCompound;
-
-public abstract interface IWailaNBTProvider
-{
- public abstract void getData(NBTTagCompound paramNBTTagCompound);
-}
diff --git a/src/Java/miscutil/core/waila/WailaCompat.java b/src/Java/miscutil/core/waila/WailaCompat.java
deleted file mode 100644
index 49cf209c87..0000000000
--- a/src/Java/miscutil/core/waila/WailaCompat.java
+++ /dev/null
@@ -1,321 +0,0 @@
-package miscutil.core.waila;
-
-import java.util.List;
-
-import mcp.mobius.waila.api.ITaggedList;
-import mcp.mobius.waila.api.IWailaConfigHandler;
-import mcp.mobius.waila.api.IWailaDataAccessor;
-import mcp.mobius.waila.api.IWailaDataProvider;
-import mcp.mobius.waila.api.IWailaRegistrar;
-import mcp.mobius.waila.api.impl.ConfigHandler;
-import net.minecraft.block.Block;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.world.World;
-import net.minecraft.world.WorldSettings;
-import net.minecraft.world.chunk.IChunkProvider;
-import net.minecraftforge.common.util.ForgeDirection;
-import crazypants.enderio.EnderIO;
-import crazypants.enderio.TileEntityEio;
-import crazypants.enderio.block.BlockDarkSteelAnvil;
-import crazypants.enderio.conduit.ConduitUtil;
-import crazypants.enderio.conduit.IConduit;
-import crazypants.enderio.conduit.IConduitBundle;
-import crazypants.enderio.conduit.liquid.AbstractTankConduit;
-import crazypants.enderio.conduit.liquid.ConduitTank;
-import crazypants.enderio.conduit.power.IPowerConduit;
-import crazypants.enderio.fluid.Fluids;
-import crazypants.enderio.gui.IAdvancedTooltipProvider;
-import crazypants.enderio.gui.IResourceTooltipProvider;
-import crazypants.enderio.gui.TooltipAddera;
-import crazypants.enderio.machine.IIoConfigurable;
-import crazypants.enderio.machine.IoMode;
-import crazypants.enderio.machine.capbank.TileCapBank;
-import crazypants.enderio.machine.power.TileCapacitorBank;
-import crazypants.enderio.power.IInternalPoweredTile;
-import crazypants.util.IFacade;
-import crazypants.util.Lang;
-
-public class WailaCompat
- implements IWailaDataProvider
-{
- private class WailaWorldWrapper
- extends World
- {
- private World wrapped;
-
- private WailaWorldWrapper(World wrapped)
- {
- super(null, wrapped.getWorldInfo().getWorldName(), wrapped.provider, new WorldSettings(wrapped.getWorldInfo()), wrapped.theProfiler);
- this.wrapped = wrapped;
- this.isRemote = wrapped.isRemote;
- }
-
- public Block getBlock(int x, int y, int z)
- {
- Block block = this.wrapped.getBlock(x, y, z);
- if ((block instanceof IFacade)) {
- return ((IFacade)block).getFacade(this.wrapped, x, y, z, -1);
- }
- return block;
- }
-
- public int getBlockMetadata(int x, int y, int z)
- {
- Block block = this.wrapped.getBlock(x, y, z);
- if ((block instanceof IFacade)) {
- return ((IFacade)block).getFacadeMetadata(this.wrapped, x, y, z, -1);
- }
- return this.wrapped.getBlockMetadata(x, y, z);
- }
-
- public TileEntity getTileEntity(int x, int y, int z)
- {
- int meta = getBlockMetadata(x, y, z);
- Block block = getBlock(x, y, z);
- if ((block == null) || (!block.hasTileEntity(meta))) {
- return null;
- }
- TileEntity te = block.createTileEntity(this, meta);
- if (te == null) {
- return null;
- }
- te.setWorldObj(this);
- te.xCoord = x;
- te.yCoord = y;
- te.zCoord = z;
-
- return te;
- }
-
- protected IChunkProvider createChunkProvider()
- {
- return null;
- }
-
- protected int func_152379_p()
- {
- return 0;
- }
-
- public Entity getEntityByID(int p_73045_1_)
- {
- return null;
- }
- }
-
- public static final WailaCompat INSTANCE = new WailaCompat();
- private static IWailaDataAccessor _accessor = null;
-
- public static void load(IWailaRegistrar registrar)
- {
- registrar.registerStackProvider(INSTANCE, IFacade.class);
- registrar.registerStackProvider(INSTANCE, BlockDarkSteelAnvil.class);
-
- registrar.registerHeadProvider(INSTANCE, Block.class);
- registrar.registerBodyProvider(INSTANCE, Block.class);
- registrar.registerTailProvider(INSTANCE, Block.class);
-
- registrar.registerNBTProvider(INSTANCE, TileEntityEio.class);
-
- registrar.registerSyncedNBTKey("controllerStoredEnergyRF", TileCapacitorBank.class);
-
-
-
-
- ConfigHandler.instance().addConfig("MiscUtils", "facades.hidden", Lang.localize("waila.config.hiddenfacades"));
- IWailaInfoProvider.fmt.setMaximumFractionDigits(1);
- }
-
- public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config)
- {
- MovingObjectPosition pos = accessor.getPosition();
- if (config.getConfig("facades.hidden"))
- {
- if ((accessor.getBlock() instanceof IFacade))
- {
- if (((accessor.getTileEntity() instanceof IConduitBundle)) && (ConduitUtil.isFacadeHidden((IConduitBundle)accessor.getTileEntity(), accessor.getPlayer()))) {
- return null;
- }
- IFacade bundle = (IFacade)accessor.getBlock();
- Block facade = bundle.getFacade(accessor.getWorld(), pos.blockX, pos.blockY, pos.blockZ, accessor.getSide().ordinal());
- if (facade != null)
- {
- ItemStack ret = facade.getPickBlock(pos, new WailaWorldWrapper(accessor.getWorld()), pos.blockX, pos.blockY, pos.blockZ);
- return ret;
- }
- }
- }
- else if ((accessor.getBlock() instanceof BlockDarkSteelAnvil)) {
- return accessor.getBlock().getPickBlock(accessor.getPosition(), accessor.getWorld(), accessor.getPosition().blockX, accessor.getPosition().blockY, accessor.getPosition().blockZ);
- }
- return null;
- }
-
- public List<String> getWailaHead(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
- {
- return currenttip;
- }
-
- public List<String> getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
- {
- _accessor = accessor;
-
- EntityPlayer player = accessor.getPlayer();
- MovingObjectPosition pos = accessor.getPosition();
- int x = pos.blockX;int y = pos.blockY;int z = pos.blockZ;
- World world = accessor.getWorld();
- Block block = world.getBlock(x, y, z);
- TileEntity te = world.getTileEntity(x, y, z);
- Item item = Item.getItemFromBlock(block);
- if (((te instanceof IIoConfigurable)) && (block == accessor.getBlock()))
- {
- IIoConfigurable machine = (IIoConfigurable)te;
- ForgeDirection side = accessor.getSide();
- IoMode mode = machine.getIoMode(side);
- currenttip.add(EnumChatFormatting.YELLOW + String.format(Lang.localize("gui.machine.side"), new Object[] { EnumChatFormatting.WHITE + Lang.localize(new StringBuilder().append("gui.machine.side.").append(side.name().toLowerCase()).toString()) }));
-
- currenttip.add(EnumChatFormatting.YELLOW + String.format(Lang.localize("gui.machine.ioMode"), new Object[] { mode.colorLocalisedName() }));
- }
- if ((block instanceof IWailaInfoProvider))
- {
- IWailaInfoProvider info = (IWailaInfoProvider)block;
- if ((block instanceof IAdvancedTooltipProvider))
- {
- int mask = info.getDefaultDisplayMask(world, pos.blockX, pos.blockY, pos.blockZ);
- boolean basic = (mask & 0x1) == 1;
- boolean common = (mask & 0x2) == 2;
- boolean detailed = (mask & 0x4) == 4;
-
- IAdvancedTooltipProvider adv = (IAdvancedTooltipProvider)block;
- if (common) {
- adv.addCommonEntries(itemStack, player, currenttip, false);
- }
- if ((TooltipAddera.showAdvancedTooltips()) && (detailed)) {
- adv.addDetailedEntries(itemStack, player, currenttip, false);
- } else if (detailed) {
- TooltipAddera.addShowDetailsTooltip(currenttip);
- }
- if ((!TooltipAddera.showAdvancedTooltips()) && (basic)) {
- adv.addBasicEntries(itemStack, player, currenttip, false);
- }
- }
- else if ((block instanceof IResourceTooltipProvider))
- {
- TooltipAddera.addInformation((IResourceTooltipProvider)block, itemStack, player, currenttip);
- }
- if (currenttip.size() > 0) {
- currenttip.add("");
- }
- info.getWailaInfo(currenttip, player, world, pos.blockX, pos.blockY, pos.blockZ);
- }
- else if ((block instanceof IAdvancedTooltipProvider))
- {
- TooltipAddera.addInformation((IAdvancedTooltipProvider)block, itemStack, player, currenttip, false);
- }
- else if ((item instanceof IAdvancedTooltipProvider))
- {
- TooltipAddera.addInformation((IAdvancedTooltipProvider)item, itemStack, player, currenttip, false);
- }
- else if ((block instanceof IResourceTooltipProvider))
- {
- TooltipAddera.addInformation((IResourceTooltipProvider)block, itemStack, player, currenttip);
- }
- boolean removeRF = false;
- if (((te instanceof IInternalPoweredTile)) && (block == accessor.getBlock()) && (accessor.getNBTData().hasKey("storedEnergyRF")) && (!(te instanceof TileCapBank)))
- {
- removeRF = true;
- IInternalPoweredTile power = (IInternalPoweredTile)te;
- if (power.displayPower())
- {
- if (currenttip.size() > 4) {
- currenttip.add("");
- }
- int stored = (accessor.getTileEntity() instanceof TileCapacitorBank) ? power.getEnergyStored() : accessor.getNBTData().getInteger("storedEnergyRF");
- int max = power.getMaxEnergyStored();
-
- currenttip.add(String.format("%s%s%s / %s%s%s RF", new Object[] { EnumChatFormatting.WHITE, IWailaInfoProvider.fmt.format(stored), EnumChatFormatting.RESET, EnumChatFormatting.WHITE, IWailaInfoProvider.fmt.format(max), EnumChatFormatting.RESET }));
- }
- }
- else if (((te instanceof IConduitBundle)) && (itemStack != null) && (itemStack.getItem() == EnderIO.itemPowerConduit))
- {
- removeRF = true;
- NBTTagCompound nbtRoot = accessor.getNBTData();
- short nbtVersion = nbtRoot.getShort("nbtVersion");
- NBTTagList conduitTags = (NBTTagList)nbtRoot.getTag("conduits");
- if (conduitTags != null) {
- for (int i = 0; i < conduitTags.tagCount(); i++)
- {
- NBTTagCompound conduitTag = conduitTags.getCompoundTagAt(i);
- IConduit conduit = ConduitUtil.readConduitFromNBT(conduitTag, nbtVersion);
- if ((conduit instanceof IPowerConduit)) {
- currenttip.add(String.format("%s%s%s / %s%s%s RF", new Object[] { EnumChatFormatting.WHITE, IWailaInfoProvider.fmt.format(((IPowerConduit)conduit).getEnergyStored()), EnumChatFormatting.RESET, EnumChatFormatting.WHITE, IWailaInfoProvider.fmt.format(((IConduitBundle)te).getMaxEnergyStored()), EnumChatFormatting.RESET }));
- }
- }
- }
- }
- else if (((te instanceof IConduitBundle)) && (itemStack != null) && (itemStack.getItem() == EnderIO.itemLiquidConduit))
- {
- NBTTagCompound nbtRoot = accessor.getNBTData();
- short nbtVersion = nbtRoot.getShort("nbtVersion");
- NBTTagList conduitTags = (NBTTagList)nbtRoot.getTag("conduits");
- if (conduitTags != null) {
- for (int i = 0; i < conduitTags.tagCount(); i++)
- {
- NBTTagCompound conduitTag = conduitTags.getCompoundTagAt(i);
- IConduit conduit = ConduitUtil.readConduitFromNBT(conduitTag, nbtVersion);
- if ((conduit instanceof AbstractTankConduit))
- {
- AbstractTankConduit tankConduit = (AbstractTankConduit)conduit;
- ConduitTank tank = tankConduit.getTank();
- if (tank.getFluid() == null) {
- break;
- }
- String lockedStr = tankConduit.isFluidTypeLocked() ? Lang.localize("itemLiquidConduit.lockedWaila") : "";
- String fluidName = tank.getFluid().getLocalizedName();
- int fluidAmount = tank.getFluidAmount();
- if (fluidAmount > 0) {
- currenttip.add(String.format("%s%s%s%s %s%s%s %s", new Object[] { lockedStr, EnumChatFormatting.WHITE, fluidName, EnumChatFormatting.RESET, EnumChatFormatting.WHITE, IWailaInfoProvider.fmt.format(fluidAmount), EnumChatFormatting.RESET, Fluids.MB() }));
- } else if (tankConduit.isFluidTypeLocked()) {
- currenttip.add(String.format("%s%s%s%s", new Object[] { lockedStr, EnumChatFormatting.WHITE, fluidName, EnumChatFormatting.RESET }));
- }
- break;
- }
- }
- }
- }
- if (removeRF) {
- ((ITaggedList)currenttip).removeEntries("RFEnergyStorage");
- }
- return currenttip;
- }
-
- public List<String> getWailaTail(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
- {
- return currenttip;
- }
-
- public NBTTagCompound getNBTData(EntityPlayerMP player, TileEntity te, NBTTagCompound tag, World world, int x, int y, int z)
- {
- if ((te instanceof IWailaNBTProvider)) {
- ((IWailaNBTProvider)te).getData(tag);
- }
- tag.setInteger("x", x);
- tag.setInteger("y", y);
- tag.setInteger("z", z);
- return tag;
- }
-
- public static NBTTagCompound getNBTData()
- {
- return _accessor.getNBTData();
- }
-}