diff --git a/fml/LICENSE-fml.txt b/fml/LICENSE-fml.txt index b1345ced9..953d42555 100644 --- a/fml/LICENSE-fml.txt +++ b/fml/LICENSE-fml.txt @@ -1,7 +1,7 @@ -This minecraft mod, Forge Mod Loader, including all parts herein, is licensed -under the GNU LGPL v2.1 or later. +This minecraft mod, Forge Mod Loader, including all parts herein except as noted below, +is licensed under the GNU LGPL v2.1 or later. -Homepage: https://github.com/cpw/FML +Homepage: https://github.com/MinecraftForge/FML This software includes portions from the Apache Maven project at http://maven.apache.org/ specifically the ComparableVersion.java code. It is @@ -9,6 +9,12 @@ included based on guidelines at http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html with notices intact. The only change is a non-functional change of package name. +=== MCP Data === +This software includes data from the Minecraft Coder Pack (MCP), with kind permission +from them. The license to MCP data is not transitive - distribution of this data by +third parties requires independent licensing from the MCP team. This data is not +redistributable without permission from the MCP team. + ======== GNU LESSER GENERAL PUBLIC LICENSE diff --git a/fml/common/cpw/mods/fml/common/BukkitProxy.java b/fml/common/cpw/mods/fml/common/BukkitProxy.java index d0dcfb382..19257da52 100644 --- a/fml/common/cpw/mods/fml/common/BukkitProxy.java +++ b/fml/common/cpw/mods/fml/common/BukkitProxy.java @@ -2,7 +2,7 @@ package cpw.mods.fml.common; /** * A marker interface for retrieving a proxy to a bukkit plugin. - * Fields associated with {@link BukkitPluginRef} annotations should be should probably + * Fields associated with {@link BukkitPluginRef} annotations should * declare this type and cast down if the target is available (not null) * @author cpw * diff --git a/fml/common/cpw/mods/fml/common/FMLCommonHandler.java b/fml/common/cpw/mods/fml/common/FMLCommonHandler.java index b4627773a..2fc57b7a5 100644 --- a/fml/common/cpw/mods/fml/common/FMLCommonHandler.java +++ b/fml/common/cpw/mods/fml/common/FMLCommonHandler.java @@ -304,9 +304,14 @@ public class FMLCommonHandler } } - public void handleServerStarting(MinecraftServer server) + public boolean handleServerAboutToStart(MinecraftServer server) { - Loader.instance().serverStarting(server); + return Loader.instance().serverAboutToStart(server); + } + + public boolean handleServerStarting(MinecraftServer server) + { + return Loader.instance().serverStarting(server); } public void handleServerStarted() diff --git a/fml/common/cpw/mods/fml/common/FMLDummyContainer.java b/fml/common/cpw/mods/fml/common/FMLDummyContainer.java index a0f56a99b..37edd2ce6 100644 --- a/fml/common/cpw/mods/fml/common/FMLDummyContainer.java +++ b/fml/common/cpw/mods/fml/common/FMLDummyContainer.java @@ -51,8 +51,8 @@ public class FMLDummyContainer extends DummyModContainer implements WorldAccessC "to cooperate and provide a good modding environment. " + "The mod loading system is compatible with ModLoader, all your ModLoader " + "mods should work."; - meta.url="https://github.com/cpw/FML/wiki"; - meta.updateUrl="https://github.com/cpw/FML/wiki"; + meta.url="https://github.com/MinecraftForge/FML/wiki"; + meta.updateUrl="https://github.com/MinecraftForge/FML/wiki"; meta.screenshots=new String[0]; meta.logoFile=""; } diff --git a/fml/common/cpw/mods/fml/common/FMLModContainer.java b/fml/common/cpw/mods/fml/common/FMLModContainer.java index 7ab6449bb..252aea20c 100644 --- a/fml/common/cpw/mods/fml/common/FMLModContainer.java +++ b/fml/common/cpw/mods/fml/common/FMLModContainer.java @@ -58,6 +58,7 @@ import cpw.mods.fml.common.event.FMLInterModComms.IMCEvent; import cpw.mods.fml.common.event.FMLFingerprintViolationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.event.FMLServerAboutToStartEvent; import cpw.mods.fml.common.event.FMLServerStartedEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLServerStoppedEvent; @@ -90,6 +91,7 @@ public class FMLModContainer implements ModContainer .put(FMLPreInitializationEvent.class, Mod.PreInit.class) .put(FMLInitializationEvent.class, Mod.Init.class) .put(FMLPostInitializationEvent.class, Mod.PostInit.class) + .put(FMLServerAboutToStartEvent.class, Mod.ServerAboutToStart.class) .put(FMLServerStartingEvent.class, Mod.ServerStarting.class) .put(FMLServerStartedEvent.class, Mod.ServerStarted.class) .put(FMLServerStoppingEvent.class, Mod.ServerStopping.class) diff --git a/fml/common/cpw/mods/fml/common/Loader.java b/fml/common/cpw/mods/fml/common/Loader.java index a8a5b670d..e212775a0 100644 --- a/fml/common/cpw/mods/fml/common/Loader.java +++ b/fml/common/cpw/mods/fml/common/Loader.java @@ -377,7 +377,7 @@ public class Loader } /** - * @return + * */ private void initializeLoader() { @@ -695,10 +695,19 @@ public class Loader return "Minecraft " + mccversion; } - public void serverStarting(Object server) + public boolean serverStarting(Object server) { - modController.distributeStateMessage(LoaderState.SERVER_STARTING, server); - modController.transition(LoaderState.SERVER_STARTING); + try + { + modController.distributeStateMessage(LoaderState.SERVER_STARTING, server); + modController.transition(LoaderState.SERVER_STARTING); + } + catch (Throwable t) + { + FMLLog.log(Level.SEVERE, t, "A fatal exception occurred during the server starting event"); + return false; + } + return true; } public void serverStarted() @@ -752,4 +761,19 @@ public class Loader modController.transition(LoaderState.SERVER_STOPPED); modController.transition(LoaderState.AVAILABLE); } + + public boolean serverAboutToStart(MinecraftServer server) + { + try + { + modController.distributeStateMessage(LoaderState.SERVER_ABOUT_TO_START, server); + modController.transition(LoaderState.SERVER_ABOUT_TO_START); + } + catch (Throwable t) + { + FMLLog.log(Level.SEVERE, t, "A fatal exception occurred during the server about to start event"); + return false; + } + return true; + } } diff --git a/fml/common/cpw/mods/fml/common/LoaderState.java b/fml/common/cpw/mods/fml/common/LoaderState.java index 0bd780301..4bdb1223f 100644 --- a/fml/common/cpw/mods/fml/common/LoaderState.java +++ b/fml/common/cpw/mods/fml/common/LoaderState.java @@ -8,6 +8,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLLoadCompleteEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.event.FMLServerAboutToStartEvent; import cpw.mods.fml.common.event.FMLServerStartedEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLServerStoppedEvent; @@ -28,6 +29,7 @@ public enum LoaderState INITIALIZATION("Initializing mods", FMLInitializationEvent.class), POSTINITIALIZATION("Post-initializing mods", FMLPostInitializationEvent.class), AVAILABLE("Mod loading complete", FMLLoadCompleteEvent.class), + SERVER_ABOUT_TO_START("Server about to start", FMLServerAboutToStartEvent.class), SERVER_STARTING("Server starting", FMLServerStartingEvent.class), SERVER_STARTED("Server started", FMLServerStartedEvent.class), SERVER_STOPPING("Server stopping", FMLServerStoppingEvent.class), diff --git a/fml/common/cpw/mods/fml/common/Mod.java b/fml/common/cpw/mods/fml/common/Mod.java index 5aa5cd4f2..51d753723 100644 --- a/fml/common/cpw/mods/fml/common/Mod.java +++ b/fml/common/cpw/mods/fml/common/Mod.java @@ -144,6 +144,14 @@ public @interface Mod @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface PostInit {} + /** + * Mark the designated method as being called at the "server-about-to-start" phase + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.METHOD) + public @interface ServerAboutToStart {} /** * Mark the designated method as being called at the "server-starting" phase * @author cpw diff --git a/fml/common/cpw/mods/fml/common/ModContainer.java b/fml/common/cpw/mods/fml/common/ModContainer.java index 26b418170..21c60942f 100644 --- a/fml/common/cpw/mods/fml/common/ModContainer.java +++ b/fml/common/cpw/mods/fml/common/ModContainer.java @@ -81,13 +81,13 @@ public interface ModContainer /** * A list of modids that should be loaded prior to this one. The special - * value * indicates to load before any other mod. + * value * indicates to load after any other mod. */ List getDependencies(); /** * A list of modids that should be loaded after this one. The - * special value * indicates to load after any + * special value * indicates to load before any * other mod. */ List getDependants(); diff --git a/fml/common/cpw/mods/fml/common/event/FMLServerAboutToStartEvent.java b/fml/common/cpw/mods/fml/common/event/FMLServerAboutToStartEvent.java new file mode 100644 index 000000000..14574c10f --- /dev/null +++ b/fml/common/cpw/mods/fml/common/event/FMLServerAboutToStartEvent.java @@ -0,0 +1,25 @@ +package cpw.mods.fml.common.event; + +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.LoaderState.ModState; + +public class FMLServerAboutToStartEvent extends FMLStateEvent { + + private MinecraftServer server; + + public FMLServerAboutToStartEvent(Object... data) + { + super(data); + this.server = (MinecraftServer) data[0]; + } + @Override + public ModState getModState() + { + return ModState.AVAILABLE; + } + + public MinecraftServer getServer() + { + return server; + } +} diff --git a/fml/common/cpw/mods/fml/common/network/NetworkMod.java b/fml/common/cpw/mods/fml/common/network/NetworkMod.java index 3f3bc24d0..44f593654 100644 --- a/fml/common/cpw/mods/fml/common/network/NetworkMod.java +++ b/fml/common/cpw/mods/fml/common/network/NetworkMod.java @@ -35,7 +35,7 @@ public @interface NetworkMod Class packetHandler() default NULL.class; /** - * A tiny packet handler implementation based on {@link Packet131MapData} for "small" + * A tiny packet handler implementation based on {@link net.minecraft.network.packet.Packet131MapData} for "small" * data packet loads. */ Class tinyPacketHandler() default NULL.class; diff --git a/fml/common/cpw/mods/fml/common/network/NetworkModHandler.java b/fml/common/cpw/mods/fml/common/network/NetworkModHandler.java index a3a52b3e1..34d9ed071 100644 --- a/fml/common/cpw/mods/fml/common/network/NetworkModHandler.java +++ b/fml/common/cpw/mods/fml/common/network/NetworkModHandler.java @@ -193,7 +193,7 @@ public class NetworkModHandler } } /** - * @return + * @return the default {@link NetworkMod#connectionHandler()} annotation value */ private Object getConnectionHandlerDefaultValue() { @@ -211,7 +211,7 @@ public class NetworkModHandler } /** - * @return + * @return the default {@link NetworkMod#packetHandler()} annotation value */ private Object getPacketHandlerDefaultValue() { @@ -228,6 +228,9 @@ public class NetworkModHandler } } + /** + * @return the default {@link NetworkMod#tinyPacketHandler()} annotation value + */ private Object getTinyPacketHandlerDefaultValue() { try { @@ -243,7 +246,7 @@ public class NetworkModHandler } } /** - * @return + * @return the {@link NetworkMod#clientPacketHandlerSpec()} default annotation value */ private Object getClientHandlerSpecDefaultValue() { @@ -260,7 +263,7 @@ public class NetworkModHandler } } /** - * @return + * @return the default {@link NetworkMod#serverPacketHandlerSpec()} annotation value */ private Object getServerHandlerSpecDefaultValue() { diff --git a/fml/common/cpw/mods/fml/common/network/NetworkRegistry.java b/fml/common/cpw/mods/fml/common/network/NetworkRegistry.java index 415f301bd..60acbe4be 100644 --- a/fml/common/cpw/mods/fml/common/network/NetworkRegistry.java +++ b/fml/common/cpw/mods/fml/common/network/NetworkRegistry.java @@ -64,7 +64,7 @@ public class NetworkRegistry } /** * Get the packet 250 channel registration string - * @return + * @return the {@link Packet250CustomPayload} channel registration string */ byte[] getPacketRegistry(Side side) { @@ -81,8 +81,8 @@ public class NetworkRegistry } /** * register a channel to a mod - * @param container - * @param channelName + * @param handler the packet handler + * @param channelName the channel name to register it with */ public void registerChannel(IPacketHandler handler, String channelName) { diff --git a/fml/common/cpw/mods/fml/common/registry/GameRegistry.java b/fml/common/cpw/mods/fml/common/registry/GameRegistry.java index d24263d41..a2b66c188 100644 --- a/fml/common/cpw/mods/fml/common/registry/GameRegistry.java +++ b/fml/common/cpw/mods/fml/common/registry/GameRegistry.java @@ -45,6 +45,7 @@ import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.LoaderException; import cpw.mods.fml.common.LoaderState; +import cpw.mods.fml.common.ObfuscationReflectionHelper; import cpw.mods.fml.common.Mod.Block; import cpw.mods.fml.common.ModContainer; @@ -145,7 +146,7 @@ public class GameRegistry /** * Private and not yet working properly * - * @return + * @return a block id */ private static int findSpareBlockId() { @@ -250,7 +251,12 @@ public class GameRegistry public static void addRecipe(ItemStack output, Object... params) { - CraftingManager.func_77594_a().func_92103_a(output, params); + addShapedRecipe(output, params); + } + + public static IRecipe addShapedRecipe(ItemStack output, Object... params) + { + return CraftingManager.func_77594_a().func_92103_a(output, params); } public static void addShapelessRecipe(ItemStack output, Object... params) @@ -273,6 +279,27 @@ public class GameRegistry TileEntity.func_70306_a(tileEntityClass, id); } + /** + * Register a tile entity, with alternative TileEntity identifiers. Use with caution! + * This method allows for you to "rename" the 'id' of the tile entity. + * + * @param tileEntityClass The tileEntity class to register + * @param id The primary ID, this will be the ID that the tileentity saves as + * @param alternatives A list of alternative IDs that will also map to this class. These will never save, but they will load + */ + public static void registerTileEntityWithAlternatives(Class tileEntityClass, String id, String... alternatives) + { + TileEntity.func_70306_a(tileEntityClass, id); + Map teMappings = ObfuscationReflectionHelper.getPrivateValue(TileEntity.class, null, "field_70326_a", "a"); + for (String s: alternatives) + { + if (!teMappings.containsKey(s)) + { + teMappings.put(s, tileEntityClass); + } + } + } + public static void addBiome(BiomeGenBase biome) { WorldType.field_77137_b.addNewBiome(biome); diff --git a/fml/common/cpw/mods/fml/common/registry/TickRegistry.java b/fml/common/cpw/mods/fml/common/registry/TickRegistry.java index 76714fe4f..b16f85684 100644 --- a/fml/common/cpw/mods/fml/common/registry/TickRegistry.java +++ b/fml/common/cpw/mods/fml/common/registry/TickRegistry.java @@ -58,8 +58,8 @@ public class TickRegistry } /** - * @param side - * @return + * @param side the side to get the tick queue for + * @return the queue for the effective side */ private static PriorityQueue getQueue(Side side) { diff --git a/fml/common/cpw/mods/fml/common/registry/VillagerRegistry.java b/fml/common/cpw/mods/fml/common/registry/VillagerRegistry.java index e5068ab2d..bcac65e90 100644 --- a/fml/common/cpw/mods/fml/common/registry/VillagerRegistry.java +++ b/fml/common/cpw/mods/fml/common/registry/VillagerRegistry.java @@ -37,7 +37,7 @@ public class VillagerRegistry private List newVillagerIds = Lists.newArrayList(); /** - * Allow access to the {@link StructureVillagePieces} array controlling new village + * Allow access to the {@link net.minecraft.world.gen.structure.StructureVillagePieces} array controlling new village * creation so you can insert your own new village pieces * * @author cpw @@ -46,7 +46,7 @@ public class VillagerRegistry public interface IVillageCreationHandler { /** - * Called when {@link MapGenVillage} is creating a new village + * Called when {@link net.minecraft.world.gen.structure.MapGenVillage} is creating a new village * * @param random * @param i @@ -60,7 +60,7 @@ public class VillagerRegistry /** - * Build an instance of the village component {@link StructureVillagePieces} + * Build an instance of the village component {@link net.minecraft.world.gen.structure.StructureVillagePieces} * @param villagePiece * @param startPiece * @param pieces @@ -150,10 +150,10 @@ public class VillagerRegistry } return defaultSkin; } - + /** * Returns a list of all added villager types - * + * * @return newVillagerIds */ public static Collection getRegisteredVillagers() diff --git a/fml/common/cpw/mods/fml/relauncher/FMLLogFormatter.java b/fml/common/cpw/mods/fml/relauncher/FMLLogFormatter.java index 7f81db1b1..7768e738e 100644 --- a/fml/common/cpw/mods/fml/relauncher/FMLLogFormatter.java +++ b/fml/common/cpw/mods/fml/relauncher/FMLLogFormatter.java @@ -22,33 +22,19 @@ final class FMLLogFormatter extends Formatter msg.append(this.dateFormat.format(Long.valueOf(record.getMillis()))); Level lvl = record.getLevel(); - if (lvl == Level.FINEST) + String name = lvl.getLocalizedName(); + if ( name == null ) { - msg.append(" [FINEST] "); + name = lvl.getName(); } - else if (lvl == Level.FINER) + + if ( ( name != null ) && ( name.length() > 0 ) ) { - msg.append(" [FINER] "); + msg.append(" [" + name + "] "); } - else if (lvl == Level.FINE) + else { - msg.append(" [FINE] "); - } - else if (lvl == Level.INFO) - { - msg.append(" [INFO] "); - } - else if (lvl == Level.WARNING) - { - msg.append(" [WARNING] "); - } - else if (lvl == Level.SEVERE) - { - msg.append(" [SEVERE] "); - } - else if (lvl == Level.SEVERE) - { - msg.append(" [" + lvl.getLocalizedName() + "] "); + msg.append(" "); } if (record.getLoggerName() != null) diff --git a/fml/common/cpw/mods/fml/relauncher/FMLRelauncher.java b/fml/common/cpw/mods/fml/relauncher/FMLRelauncher.java index 21592977f..0fbfae94c 100644 --- a/fml/common/cpw/mods/fml/relauncher/FMLRelauncher.java +++ b/fml/common/cpw/mods/fml/relauncher/FMLRelauncher.java @@ -177,7 +177,7 @@ public class FMLRelauncher } /** - * @return + * @return the location of the client home */ private File computeExistingClientHome() { diff --git a/fml/common/cpw/mods/fml/relauncher/RelaunchLibraryManager.java b/fml/common/cpw/mods/fml/relauncher/RelaunchLibraryManager.java index 4d83ca6c0..a5f7d32aa 100644 --- a/fml/common/cpw/mods/fml/relauncher/RelaunchLibraryManager.java +++ b/fml/common/cpw/mods/fml/relauncher/RelaunchLibraryManager.java @@ -401,8 +401,8 @@ public class RelaunchLibraryManager } /** - * @param mcDir - * @return + * @param mcDir the minecraft home directory + * @return the lib directory */ private static File setupLibDir(File mcDir) { @@ -427,8 +427,8 @@ public class RelaunchLibraryManager } /** - * @param mcDir - * @return + * @param mcDir the minecraft home directory + * @return the coremod directory */ private static File setupCoreModDir(File mcDir) { diff --git a/fml/common/cpw/mods/fml/server/FMLServerHandler.java b/fml/common/cpw/mods/fml/server/FMLServerHandler.java index be36fd702..91e29739f 100644 --- a/fml/common/cpw/mods/fml/server/FMLServerHandler.java +++ b/fml/common/cpw/mods/fml/server/FMLServerHandler.java @@ -42,7 +42,7 @@ import cpw.mods.fml.relauncher.Side; * Handles primary communication from hooked code into the system * * The FML entry point is {@link #beginServerLoading(MinecraftServer)} called from - * {@link net.minecraft.shared.DedicatedServer} + * {@link net.minecraft.server.dedicated.DedicatedServer} * * Obfuscated code should focus on this class and other members of the "server" * (or "client") code diff --git a/fml/common/mcpmod.info b/fml/common/mcpmod.info index cfc73a34f..f6a99e42a 100644 --- a/fml/common/mcpmod.info +++ b/fml/common/mcpmod.info @@ -3,8 +3,8 @@ "modid": "mcp", "name": "Minecraft Coder Pack", "description": "Modding toolkit to decompile and deobfuscate the Minecraft client and server files.", - "version": "7.26", - "mcversion": "1.4.7", + "version": "7.30c", + "mcversion": "13w02b", "logoFile": "/mcp.png", "url": "http://mcp.ocean-labs.de/", "updateUrl": "", diff --git a/fml/install/CREDITS-fml.txt b/fml/install/CREDITS-fml.txt index d2c019dd7..929849528 100644 --- a/fml/install/CREDITS-fml.txt +++ b/fml/install/CREDITS-fml.txt @@ -1,6 +1,6 @@ This is Forge Mod Loader. -You can find the source code at all times at https://github.com/cpw/FML +You can find the source code at all times at https://github.com/MinecraftForge/FML This minecraft mod is a clean open source implementation of a mod loader for minecraft servers, minecraft bukkit servers, and minecraft clients. @@ -11,8 +11,14 @@ It implements API defined by the client side ModLoader, authored by Risugami. http://www.minecraftforum.net/topic/75440- It also contains suggestions and hints from LexManos, author of MinecraftForge. -http://www.mod-buildcraft.com/forums/forum/minecraft-forge/ +http://www.minecraftforge.net/ -Finally, it contains an implementation of topological sort based on that +Additionally, it contains an implementation of topological sort based on that published at http://keithschwarz.com/interesting/code/?dir=topological-sort +It also contains code from the Maven project for performing versioned dependency +resolution. http://maven.apache.org/ + +Forge Mod Loader downloads components from the Minecraft Coder Pack +(http://mcp.ocean-labs.de/index.php/Main_Page) with kind permission from the MCP team. + diff --git a/fml/install/README.txt b/fml/install/README.txt index 034a0390c..34efdc1ea 100755 --- a/fml/install/README.txt +++ b/fml/install/README.txt @@ -1,6 +1,6 @@ This is Forge Mod Loader, or FML for short, by cpw. -More information can be found at https://github.com/cpw/FML/wiki +More information can be found at https://github.com/MinecraftForge/FML/wiki It is a clean reimplementation of a mod loading system for client, server and bukkit use, incorporating API implementations of client side ModLoader by diff --git a/fml/mc_versions.cfg b/fml/mc_versions.cfg index 45c1cdfa0..f52f1f6a0 100644 --- a/fml/mc_versions.cfg +++ b/fml/mc_versions.cfg @@ -36,9 +36,9 @@ client_url = http://assets.minecraft.net/1_4_7/minecraft.jar server_url = http://assets.minecraft.net/1_4_7/minecraft_server.jar client_md5 = 8e80fb01b321c6b3c7efca397a3eea35 server_md5 = f69ac4bfce2dfbce03fe872518f75a05 -mcp_ver = 7.26 -mcp_url = http://mcp.ocean-labs.de/files/archive/mcp726.zip -mcp_md5 = 5320353829c2906bd032649085721d1d +mcp_ver = 7.26a +mcp_url = http://mcp.ocean-labs.de/files/archive/mcp726a.zip +mcp_md5 = 5f11fbccd857b43a0f54117253b3e4dd [s13w02b] client_url = http://assets.minecraft.net/13w02b/minecraft.jar diff --git a/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch b/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch index 7e55908a8..e8b009a12 100644 --- a/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch +++ b/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch @@ -25,12 +25,20 @@ this.func_71210_a(new DedicatedPlayerList(this)); long j = System.nanoTime(); -@@ -187,6 +192,8 @@ +@@ -167,6 +172,7 @@ + this.func_71191_d((this.func_71207_Z() + 8) / 16 * 16); + this.func_71191_d(MathHelper.func_76125_a(this.func_71207_Z(), 64, 256)); + this.field_71340_o.func_73667_a("max-build-height", Integer.valueOf(this.func_71207_Z())); ++ if (!FMLCommonHandler.instance().handleServerAboutToStart(this)) { return false; } + field_71306_a.info("Preparing level \"" + this.func_71270_I() + "\""); + this.func_71247_a(this.func_71270_I(), this.func_71270_I(), k, worldtype, s2); + long i1 = System.nanoTime() - j; +@@ -187,7 +193,7 @@ this.field_71339_n.func_72602_a(); } -+ FMLCommonHandler.instance().handleServerStarting(this); -+ - return true; +- return true; ++ return FMLCommonHandler.instance().handleServerStarting(this); } + public boolean func_71225_e() diff --git a/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch b/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch index 09c1e5c3c..9cce851ea 100644 --- a/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch +++ b/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch @@ -7,11 +7,15 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.io.File; -@@ -110,6 +111,7 @@ +@@ -108,9 +109,10 @@ + this.func_71245_h(true); + field_71306_a.info("Generating keypair"); this.func_71253_a(CryptManager.func_75891_b()); ++ if (!FMLCommonHandler.instance().handleServerAboutToStart(this)) { return false; } this.func_71247_a(this.func_71270_I(), this.func_71221_J(), this.field_71350_m.func_77160_d(), this.field_71350_m.func_77165_h(), this.field_71350_m.func_82749_j()); this.func_71205_p(this.func_71214_G() + " - " + this.field_71305_c[0].func_72912_H().func_76065_j()); -+ FMLCommonHandler.instance().handleServerStarting(this); - return true; +- return true; ++ return FMLCommonHandler.instance().handleServerStarting(this); } + public void func_71217_p()