1
0
forked from xjboss/KCauldronX

Initial autoupdater

This commit is contained in:
Prototik
2015-05-31 18:21:26 +07:00
parent 8c7ff941cf
commit de86e3c9f6
16 changed files with 817 additions and 66 deletions

View File

@ -1,15 +1,25 @@
--- ../src-base/minecraft/net/minecraft/server/MinecraftServer.java
+++ ../src-work/minecraft/net/minecraft/server/MinecraftServer.java
@@ -33,6 +33,8 @@
@@ -16,6 +16,7 @@
import io.netty.buffer.ByteBufOutputStream;
import io.netty.buffer.Unpooled;
import io.netty.handler.codec.base64.Base64;
+
import java.awt.GraphicsEnvironment;
import java.awt.image.BufferedImage;
import java.io.File;
@@ -33,7 +34,10 @@
import java.util.Random;
import java.util.UUID;
import java.util.concurrent.Callable;
+import java.util.logging.Level;
+
import javax.imageio.ImageIO;
+
import net.minecraft.command.CommandBase;
import net.minecraft.command.ICommandManager;
@@ -50,6 +52,7 @@
import net.minecraft.command.ICommandSender;
@@ -50,6 +54,7 @@
import net.minecraft.profiler.PlayerUsageSnooper;
import net.minecraft.profiler.Profiler;
import net.minecraft.server.dedicated.DedicatedServer;
@ -17,26 +27,39 @@
import net.minecraft.server.gui.IUpdatePlayerListBox;
import net.minecraft.server.management.PlayerProfileCache;
import net.minecraft.server.management.ServerConfigurationManager;
@@ -80,18 +83,49 @@
@@ -72,6 +77,7 @@
import net.minecraft.world.storage.ISaveFormat;
import net.minecraft.world.storage.ISaveHandler;
import net.minecraft.world.storage.WorldInfo;
+
import org.apache.commons.lang3.Validate;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -80,18 +86,54 @@
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.WorldEvent;
+
+// CraftBukkit start
+import java.io.IOException;
+
+import jline.console.ConsoleReader;
+import joptsimple.OptionSet;
+import net.minecraft.world.chunk.storage.AnvilSaveHandler;
+
+import org.bukkit.World.Environment;
+import org.bukkit.craftbukkit.SpigotTimings; // Spigot
+import org.bukkit.craftbukkit.util.Waitable;
+import org.bukkit.event.server.RemoteServerCommandEvent;
+import org.bukkit.event.world.WorldSaveEvent;
+
+// CraftBukkit end
+// Cauldron start
+import java.util.Map;
+import java.lang.reflect.Constructor;
+
+import joptsimple.OptionParser;
+import kcauldron.KCauldronConfig;
+import cpw.mods.fml.common.asm.transformers.SideTransformer;
+import net.minecraft.command.ServerCommand;
+import net.minecraft.tileentity.TileEntity;
@ -70,7 +93,7 @@
private final ServerStatusResponse field_147147_p = new ServerStatusResponse();
private final Random field_147146_q = new Random();
@SideOnly(Side.SERVER)
@@ -135,8 +169,39 @@
@@ -135,8 +177,40 @@
private long field_147142_T = 0L;
private final GameProfileRepository field_152365_W;
private final PlayerProfileCache field_152366_X;
@ -93,6 +116,7 @@
+ // Spigot end
+ // Cauldron start
+ public static CauldronConfig cauldronConfig;
+ public static KCauldronConfig kcauldronConfig;
+ public static TileEntityConfig tileEntityConfig;
+ public static YamlConfiguration configuration;
+ public static YamlConfiguration commandsConfiguration;
@ -110,13 +134,14 @@
public MinecraftServer(File p_i45281_1_, Proxy p_i45281_2_)
{
this.field_152366_X = new PlayerProfileCache(this, field_152367_a);
@@ -149,10 +214,68 @@
@@ -149,10 +223,70 @@
this.field_152364_T = new YggdrasilAuthenticationService(p_i45281_2_, UUID.randomUUID().toString());
this.field_147143_S = this.field_152364_T.createMinecraftSessionService();
this.field_152365_W = this.field_152364_T.createProfileRepository();
+ this.primaryThread = new Thread(this, "Server thread"); // CraftBukkit
+ this.cauldronConfig = new CauldronConfig("cauldron.yml", "cauldron");
+ this.tileEntityConfig = new TileEntityConfig("tileentities.yml", "cauldron_te");
+ kcauldronConfig = new KCauldronConfig();
+ cauldronConfig = new CauldronConfig("cauldron.yml", "cauldron");
+ tileEntityConfig = new TileEntityConfig("tileentities.yml", "cauldron_te");
}
+ // Cauldron end
@ -134,8 +159,9 @@
+ this.field_147143_S = this.field_152364_T.createMinecraftSessionService();
+ this.field_152365_W = this.field_152364_T.createProfileRepository();
+ // Cauldron start
+ this.cauldronConfig = new CauldronConfig("cauldron.yml", "cauldron");
+ this.tileEntityConfig = new TileEntityConfig("tileentities.yml", "cauldron_te");
+ kcauldronConfig = new KCauldronConfig();
+ cauldronConfig = new CauldronConfig("cauldron.yml", "cauldron");
+ tileEntityConfig = new TileEntityConfig("tileentities.yml", "cauldron_te");
+ // Cauldron end
+ // CraftBukkit start
+ this.options = options;
@ -180,7 +206,7 @@
protected void convertMapIfNeeded(String p_71237_1_)
{
if (this.getActiveAnvilConverter().isOldMapFormat(p_71237_1_))
@@ -172,6 +295,7 @@
@@ -172,6 +306,7 @@
MinecraftServer.logger.info("Converting... " + p_73718_1_ + "%");
}
}
@ -188,7 +214,7 @@
@SideOnly(Side.CLIENT)
public void resetProgressAndMessage(String p_73721_1_) {}
@SideOnly(Side.CLIENT)
@@ -195,10 +319,17 @@
@@ -195,10 +330,17 @@
protected void loadAllWorlds(String p_71247_1_, String p_71247_2_, long p_71247_3_, WorldType p_71247_5_, String p_71247_6_)
{
@ -208,7 +234,7 @@
WorldSettings worldsettings;
if (worldinfo == null)
@@ -215,11 +346,79 @@
@@ -215,11 +357,79 @@
{
worldsettings.enableBonusChest();
}
@ -291,7 +317,7 @@
world.addWorldAccess(new WorldManager(this, world));
if (!this.isSinglePlayer())
@@ -227,12 +426,14 @@
@@ -227,12 +437,14 @@
world.getWorldInfo().setGameType(this.getGameType());
}
@ -309,7 +335,7 @@
}
protected void initialWorldChunkLoad()
@@ -244,9 +445,12 @@
@@ -244,9 +456,12 @@
int i = 0;
this.setUserMessage("menu.generatingTerrain");
byte b0 = 0;
@ -322,7 +348,7 @@
long j = getSystemTimeMillis();
for (int k = -192; k <= 192 && this.isServerRunning(); k += 16)
@@ -265,7 +469,8 @@
@@ -265,7 +480,8 @@
worldserver.theChunkProviderServer.loadChunk(chunkcoordinates.posX + k >> 4, chunkcoordinates.posZ + l >> 4);
}
}
@ -332,7 +358,7 @@
this.clearCurrentTask();
}
@@ -292,19 +497,17 @@
@@ -292,19 +508,17 @@
{
this.currentTask = null;
this.percentDone = 0;
@ -357,7 +383,7 @@
if (worldserver != null)
{
@@ -313,25 +516,41 @@
@@ -313,25 +527,41 @@
logger.info("Saving chunks for level \'" + worldserver.getWorldInfo().getWorldName() + "\'/" + worldserver.provider.getDimensionName());
}
@ -404,7 +430,7 @@
if (this.func_147137_ag() != null)
{
this.func_147137_ag().terminateEndpoints();
@@ -347,7 +566,14 @@
@@ -347,7 +577,14 @@
if (this.worldServers != null)
{
logger.info("Saving worlds");
@ -420,7 +446,7 @@
for (int i = 0; i < this.worldServers.length; ++i)
{
@@ -380,6 +606,13 @@
@@ -380,6 +617,13 @@
this.serverRunning = false;
}
@ -434,7 +460,7 @@
public void run()
{
try
@@ -392,45 +625,41 @@
@@ -392,45 +636,41 @@
this.field_147147_p.func_151315_a(new ChatComponentText(this.motd));
this.field_147147_p.func_151321_a(new ServerStatusResponse.MinecraftProtocolVersionIdentifier("1.7.10", 5));
this.func_147138_a(this.field_147147_p);
@ -501,7 +527,7 @@
FMLCommonHandler.instance().handleServerStopping();
FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions
}
@@ -448,6 +677,14 @@
@@ -448,6 +688,14 @@
catch (Throwable throwable1)
{
logger.error("Encountered an unexpected exception", throwable1);
@ -516,7 +542,7 @@
CrashReport crashreport = null;
if (throwable1 instanceof ReportedException)
@@ -477,6 +714,7 @@
@@ -477,6 +725,7 @@
{
try
{
@ -524,7 +550,7 @@
this.stopServer();
this.serverStopped = true;
}
@@ -486,6 +724,16 @@
@@ -486,6 +735,16 @@
}
finally
{
@ -541,7 +567,7 @@
FMLCommonHandler.instance().handleServerStopped();
this.serverStopped = true;
this.systemExitNow();
@@ -532,8 +780,11 @@
@@ -532,8 +791,11 @@
public void tick()
{
@ -553,7 +579,7 @@
++this.tickCounter;
if (this.startProfiling)
@@ -562,12 +813,21 @@
@@ -562,12 +824,21 @@
this.field_147147_p.func_151318_b().func_151330_a(agameprofile);
}
@ -577,7 +603,7 @@
}
this.theProfiler.startSection("tallying");
@@ -575,25 +835,57 @@
@@ -575,25 +846,57 @@
this.theProfiler.endSection();
this.theProfiler.startSection("snooper");
@ -637,7 +663,7 @@
int i;
Integer[] ids = DimensionManager.getIDs(this.tickCounter % 200 == 0);
@@ -602,19 +894,21 @@
@@ -602,19 +905,21 @@
int id = ids[x];
long j = System.nanoTime();
@ -662,7 +688,7 @@
this.theProfiler.startSection("tick");
FMLCommonHandler.instance().onPreWorldTick(worldserver);
@@ -622,22 +916,46 @@
@@ -622,22 +927,46 @@
try
{
@ -711,7 +737,7 @@
worldserver.addWorldInfoToCrashReport(crashreport);
throw new ReportedException(crashreport);
}
@@ -645,10 +963,12 @@
@@ -645,10 +974,12 @@
FMLCommonHandler.instance().onPostWorldTick(worldserver);
this.theProfiler.endSection();
this.theProfiler.startSection("tracker");
@ -725,7 +751,7 @@
worldTickTimes.get(id)[this.tickCounter % 100] = System.nanoTime() - j;
}
@@ -656,15 +976,21 @@
@@ -656,15 +987,21 @@
this.theProfiler.endStartSection("dim_unloading");
DimensionManager.unloadWorlds(worldTickTimes);
this.theProfiler.endStartSection("connection");
@ -747,7 +773,7 @@
this.theProfiler.endSection();
}
@@ -699,6 +1025,13 @@
@@ -699,6 +1036,13 @@
public WorldServer worldServerForDimension(int p_71218_1_)
{
@ -761,7 +787,7 @@
WorldServer ret = DimensionManager.getWorld(p_71218_1_);
if (ret == null)
{
@@ -784,13 +1117,14 @@
@@ -784,13 +1128,14 @@
public List getPossibleCompletions(ICommandSender p_71248_1_, String p_71248_2_)
{
@ -780,7 +806,7 @@
if (list != null)
{
@@ -798,40 +1132,25 @@
@@ -798,40 +1143,25 @@
while (iterator.hasNext())
{
@ -829,7 +855,7 @@
}
public static MinecraftServer getServer()
@@ -1034,7 +1353,7 @@
@@ -1034,7 +1364,7 @@
public boolean isServerInOnlineMode()
{
@ -838,7 +864,7 @@
}
public void setOnlineMode(boolean p_71229_1_)
@@ -1124,7 +1443,7 @@
@@ -1124,7 +1454,7 @@
public NetworkSystem func_147137_ag()
{
@ -847,7 +873,7 @@
}
@SideOnly(Side.CLIENT)
@@ -1259,8 +1578,11 @@
@@ -1259,8 +1589,11 @@
{
Bootstrap.func_151354_b();
@ -859,7 +885,7 @@
boolean flag = true;
String s = null;
String s1 = ".";
@@ -1356,16 +1678,34 @@
@@ -1356,16 +1689,34 @@
{
dedicatedserver.setGuiEnabled();
}
@ -900,7 +926,7 @@
}
catch (Exception exception)
{
@@ -1400,15 +1740,70 @@
@@ -1400,15 +1751,70 @@
@SideOnly(Side.SERVER)
public String getPlugins()
{
@ -976,7 +1002,7 @@
}
@SideOnly(Side.SERVER)
@@ -1455,9 +1850,213 @@
@@ -1455,9 +1861,213 @@
return this.serverStopped;
}