From 6f8b39ea098d4b3faeb8e1af3ea4dc2bea130084 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 30 Jul 2012 22:31:07 -0400 Subject: [PATCH] Beginning the 1.3.1 update --- .../mods/fml/client/BlockRenderManager.java | 81 ++ .../cpw/mods/fml/client/FMLClientHandler.java | 793 +----------------- .../cpw/mods/fml/client/FMLTextureFX.java | 12 +- .../cpw/mods/fml/client/GuiModList.java | 83 +- .../cpw/mods/fml/client/GuiScrollingList.java | 142 ++-- .../cpw/mods/fml/client/GuiSlotModList.java | 18 +- .../client/ModLoaderKeyBindingHandler.java | 4 +- .../cpw/mods/fml/client/TextureFXManager.java | 342 ++++++++ .../client/registry/KeyBindingRegistry.java | 28 +- fml/client/net/minecraft/src/BaseMod.java | 6 +- .../net/minecraft/src/ClientRegistry.java | 10 +- .../minecraft/src/EntityRendererProxy.java | 8 +- .../minecraft/src/FMLRenderAccessLibrary.java | 42 +- fml/client/net/minecraft/src/ModLoader.java | 22 +- .../cpw/mods/fml/common/FMLCommonHandler.java | 9 +- .../cpw/mods/fml/common/IFMLSidedHandler.java | 12 +- fml/common/cpw/mods/fml/common/Loader.java | 49 +- .../common/ObfuscationReflectionHelper.java | 22 +- .../relauncher/FMLEmbeddingRelauncher.java | 15 +- .../mods/fml/relauncher/FMLVersionData.java | 51 ++ .../relauncher/RelaunchLibraryManager.java | 3 + .../src/net/minecraft/src/mod_testMod.java | 2 +- .../client/ClientBrandRetriever.java.patch | 2 +- .../net/minecraft/client/Minecraft.java.patch | 77 +- .../client/MinecraftApplet.java.patch | 16 +- .../minecraft/src/BlockDispenser.java.patch | 25 - .../src/CallableMinecraftVersion.java.patch | 20 - .../src/ChunkProviderServer.java.patch | 19 - .../net/minecraft/src/CrashReport.java.patch | 23 - .../minecraft/src/DedicatedServer.java.patch | 20 - .../net/minecraft/src/EntityItem.java.patch | 19 - .../net/minecraft/src/EntityList.java.patch | 20 - .../net/minecraft/src/EntityPlayer.java.patch | 31 - .../minecraft/src/GenLayerBiome.java.patch | 17 - .../minecraft/src/GuiCreateWorld.java.patch | 14 - .../net/minecraft/src/GuiMainMenu.java.patch | 54 +- .../minecraft/src/MinecraftServer.java.patch | 50 -- .../minecraft/src/NetClientHandler.java.patch | 41 - .../minecraft/src/NetServerHandler.java.patch | 35 - .../minecraft/src/PanelCrashReport.java.patch | 35 - .../net/minecraft/src/RenderBlocks.java.patch | 478 ----------- .../net/minecraft/src/RenderEngine.java.patch | 143 ---- .../minecraft/src/RenderManager.java.patch | 11 - .../net/minecraft/src/RenderPlayer.java.patch | 33 - .../src/ServerConfigurationManager.java.patch | 37 - .../net/minecraft/src/SlotCrafting.java.patch | 18 - .../net/minecraft/src/SlotFurnace.java.patch | 19 - .../minecraft/src/StatFileWriter.java.patch | 20 +- .../minecraft/src/StringTranslate.java.patch | 29 - .../minecraft/src/TextureCompassFX.java.patch | 85 -- .../minecraft/src/TextureFlamesFX.java.patch | 87 -- .../minecraft/src/TextureLavaFX.java.patch | 92 -- .../src/TextureLavaFlowFX.java.patch | 90 -- .../minecraft/src/TexturePackList.java.patch | 28 - .../minecraft/src/TexturePortalFX.java.patch | 78 -- .../minecraft/src/TextureWatchFX.java.patch | 94 --- .../minecraft/src/TextureWaterFX.java.patch | 95 --- .../src/TextureWaterFlowFX.java.patch | 98 --- .../net/minecraft/src/TileEntity.java.patch | 11 - .../src/TileEntityFurnace.java.patch | 29 - .../src/TileEntityRenderer.java.patch | 12 - .../net/minecraft/src/World.java.patch | 11 - .../minecraft/src/WorldProvider.java.patch | 45 - .../net/minecraft/src/WorldType.java.patch | 111 --- .../server/MinecraftServer.java.patch | 51 -- .../minecraft/src/BlockDispenser.java.patch | 24 - .../src/ChunkProviderServer.java.patch | 19 - .../minecraft/src/DedicatedServer.java.patch | 27 - .../net/minecraft/src/Entity.java.patch | 11 - .../net/minecraft/src/EntityItem.java.patch | 19 - .../net/minecraft/src/EntityList.java.patch | 20 - .../net/minecraft/src/EntityPlayer.java.patch | 31 - .../minecraft/src/GenLayerBiome.java.patch | 17 - .../minecraft/src/NetServerHandler.java.patch | 35 - .../src/ServerConfigurationManager.java.patch | 37 - .../net/minecraft/src/ServerGUI.java.patch | 21 - .../net/minecraft/src/SlotCrafting.java.patch | 18 - .../net/minecraft/src/SlotFurnace.java.patch | 19 - .../net/minecraft/src/StatBase.java.patch | 11 - .../minecraft/src/StringTranslate.java.patch | 33 - .../net/minecraft/src/TileEntity.java.patch | 11 - .../src/TileEntityFurnace.java.patch | 27 - .../minecraft/src/WorldProvider.java.patch | 32 - .../net/minecraft/src/WorldType.java.patch | 85 -- 84 files changed, 813 insertions(+), 3761 deletions(-) create mode 100644 fml/client/cpw/mods/fml/client/BlockRenderManager.java create mode 100644 fml/client/cpw/mods/fml/client/TextureFXManager.java create mode 100644 fml/common/cpw/mods/fml/relauncher/FMLVersionData.java delete mode 100644 fml/patches/minecraft/net/minecraft/src/BlockDispenser.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/CallableMinecraftVersion.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/ChunkProviderServer.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/CrashReport.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/DedicatedServer.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/EntityItem.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/EntityList.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/EntityPlayer.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/GenLayerBiome.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/GuiCreateWorld.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/MinecraftServer.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/NetClientHandler.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/NetServerHandler.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/PanelCrashReport.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/RenderBlocks.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/RenderEngine.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/RenderManager.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/RenderPlayer.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/ServerConfigurationManager.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/SlotCrafting.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/SlotFurnace.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/StringTranslate.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TextureCompassFX.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TextureFlamesFX.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TextureLavaFX.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TextureLavaFlowFX.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TexturePackList.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TexturePortalFX.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TextureWatchFX.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TextureWaterFX.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TextureWaterFlowFX.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TileEntity.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TileEntityFurnace.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/TileEntityRenderer.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/World.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/WorldProvider.java.patch delete mode 100644 fml/patches/minecraft/net/minecraft/src/WorldType.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/server/MinecraftServer.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/BlockDispenser.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/ChunkProviderServer.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/DedicatedServer.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/Entity.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/EntityItem.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/EntityList.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/EntityPlayer.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/GenLayerBiome.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/NetServerHandler.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/ServerConfigurationManager.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/ServerGUI.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/SlotCrafting.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/SlotFurnace.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/StatBase.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/StringTranslate.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/TileEntity.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/TileEntityFurnace.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/WorldProvider.java.patch delete mode 100644 fml/patches/minecraft_server/net/minecraft/src/WorldType.java.patch diff --git a/fml/client/cpw/mods/fml/client/BlockRenderManager.java b/fml/client/cpw/mods/fml/client/BlockRenderManager.java new file mode 100644 index 000000000..43a78ba35 --- /dev/null +++ b/fml/client/cpw/mods/fml/client/BlockRenderManager.java @@ -0,0 +1,81 @@ +package cpw.mods.fml.client; + +import java.util.HashMap; + +import cpw.mods.fml.common.modloader.ModLoaderHelper; +import cpw.mods.fml.common.modloader.ModLoaderModContainer; + +import net.minecraft.src.BaseMod; +import net.minecraft.src.Block; +import net.minecraft.src.IBlockAccess; +import net.minecraft.src.RenderBlocks; + +public class BlockRenderManager +{ + private static final BlockRenderManager INSTANCE = new BlockRenderManager(); + + private HashMap blockModelIds = new HashMap(); + + private int nextRenderId = 30; + + public static BlockRenderManager instance() + { + return INSTANCE; + } + + /** + * @param renderer + * @param world + * @param x + * @param y + * @param z + * @param block + * @param modelId + * @return + */ + public boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelId) + { + if (!blockModelIds.containsKey(modelId)) { return false; } + BlockRenderInfo bri = blockModelIds.get(modelId); + return bri.renderWorldBlock(world, x, y, z, block, modelId, renderer); + } + + /** + * @param renderer + * @param block + * @param metadata + * @param modelID + */ + public void renderInventoryBlock(RenderBlocks renderer, Block block, int metadata, int modelID) + { + if (!blockModelIds.containsKey(modelID)) { return; } + BlockRenderInfo bri = blockModelIds.get(modelID); + bri.renderInventoryBlock(block, metadata, modelID, renderer); + } + + /** + * @param p_1219_0_ + * @return + */ + public boolean renderItemAsFull3DBlock(int modelId) + { + BlockRenderInfo bri = blockModelIds.get(modelId); + if (bri != null) { return bri.shouldRender3DInInventory(); } + return false; + } + + + /** + * @param mod + * @param inventoryRenderer + * @return + */ + public int obtainBlockModelIdFor(BaseMod mod, boolean inventoryRenderer) + { + ModLoaderModContainer mlmc=ModLoaderHelper.registerRenderHelper(mod); + int renderId=nextRenderId++; + BlockRenderInfo bri=new BlockRenderInfo(renderId, inventoryRenderer, mlmc); + blockModelIds.put(renderId, bri); + return renderId; + } +} diff --git a/fml/client/cpw/mods/fml/client/FMLClientHandler.java b/fml/client/cpw/mods/fml/client/FMLClientHandler.java index e892aef20..e916f9922 100644 --- a/fml/client/cpw/mods/fml/client/FMLClientHandler.java +++ b/fml/client/cpw/mods/fml/client/FMLClientHandler.java @@ -109,7 +109,7 @@ import cpw.mods.fml.common.registry.FMLRegistry; /** * Handles primary communication from hooked code into the system * - * The FML entry point is {@link #onPreLoad(MinecraftServer)} called from + * The FML entry point is {@link #beginMinecraftLoading(MinecraftServer)} called from * {@link MinecraftServer} * * Obfuscated code should focus on this class and other members of the "server" @@ -137,27 +137,11 @@ public class FMLClientHandler implements IFMLSidedHandler */ private Minecraft client; - /** - * A handy list of the default overworld biomes - */ - private BiomeGenBase[] defaultOverworldBiomes; - - private int nextRenderId = 30; private TexturePackBase fallbackTexturePack; private NetClientHandler networkClient; - private ModContainer animationCallbackMod; - - // Cached lookups - private HashMap> overrideInfo = new HashMap>(); - private HashMap blockModelIds = new HashMap(); - private HashMap keyBindings = new HashMap(); - private HashSet animationSet = new HashSet(); - - private List addedTextureFX = new ArrayList(); - private boolean firstTick; /** * Called to start the whole game off from @@ -172,14 +156,15 @@ public class FMLClientHandler implements IFMLSidedHandler private boolean serverIsRunning; - public void onPreLoad(Minecraft minecraft) + public void beginMinecraftLoading(Minecraft minecraft) { - if (minecraft.func_55063_q()) + if (minecraft.func_71355_q()) { FMLLog.severe("DEMO MODE DETECTED, FML will not work. Finishing now."); haltGame("FML will not run in demo mode", new RuntimeException()); return; } + client = minecraft; ObfuscationReflectionHelper.detectObfuscation(World.class); FMLCommonHandler.instance().beginLoading(this); @@ -211,7 +196,7 @@ public class FMLClientHandler implements IFMLSidedHandler @Override public void haltGame(String message, Throwable t) { - client.func_55071_b(new CrashReport(message, t)); + client.func_71377_b(new CrashReport(message, t)); throw Throwables.propagate(t); } /** @@ -237,45 +222,21 @@ public class FMLClientHandler implements IFMLSidedHandler // r.func_4009_a(RenderManager.field_1233_a); // } // } + KeyBindingRegistry.uploadKeyBindingsToGame(client.field_71474_y); + // Mark this as a "first tick" - KeyBindingRegistry.uploadKeyBindingsToGame(client.field_6304_y); - firstTick = true; } - /** - * Every tick just before world and other ticks occur - */ - public void onPreWorldTick() - { - // TODO -// FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.WORLD), client., client.field_6313_p, client.field_6324_e); -// FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.GAME,TickType.WORLDGUI), 0.0f, client.field_6313_p, client.field_6324_e); - } - - /** - * Every tick just after world and other ticks occur - */ - public void onPostWorldTick() - { - // TODO -// FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.WORLD), client.field_6324_e, client.field_6313_p, client.field_6324_e); -// FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.GAME,TickType.WORLDGUI), 0.0f, client.field_6313_p, client.field_6324_e); - } - - public void onWorldLoadTick() - { - if (firstTick) - { - loadTextures(fallbackTexturePack); - firstTick = false; - } - FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.WORLDLOAD,TickType.GUILOAD)); - } - public void onRenderTickStart(float partialTickTime) { - FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.RENDER,TickType.GUI), partialTickTime, client.field_6313_p); + if (firstTick) + { + // TODO +// loadTextures(fallbackTexturePack); + firstTick = false; + } + FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.RENDER,TickType.GUI), partialTickTime, client.field_71462_r); } public void onRenderTickEnd(float partialTickTime) @@ -283,10 +244,10 @@ public class FMLClientHandler implements IFMLSidedHandler if (!guiLoaded) { FMLCommonHandler.instance().rescheduleTicks(); - FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.GUILOAD), partialTickTime, client.field_6313_p); + FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.GUILOAD), partialTickTime, client.field_71462_r); guiLoaded = true; } - FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.RENDER,TickType.GUI), partialTickTime, client.field_6313_p); + FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.RENDER,TickType.GUI), partialTickTime, client.field_71462_r); } /** * Get the server instance @@ -307,68 +268,6 @@ public class FMLClientHandler implements IFMLSidedHandler return null; } - /** - * Called from ChunkProvider when a chunk needs to be populated - * - * To avoid polluting the worldgen seed, we generate a new random from the - * world seed and generate a seed from that - * - * @param chunkProvider - * @param chunkX - * @param chunkZ - * @param world - * @param generator - */ - public void onChunkPopulate(IChunkProvider chunkProvider, int chunkX, int chunkZ, World world, IChunkProvider generator) - { - FMLCommonHandler.instance().handleWorldGeneration(chunkX, chunkZ, world.func_22138_q(), world, generator, chunkProvider); - } - - /** - * Called to notify that an item was picked up from the world - * - * @param entityItem - * @param entityPlayer - */ - public void notifyItemPickup(EntityItem entityItem, EntityPlayer entityPlayer) - { - // TODO -// for (ModContainer mod : Loader.getModList()) -// { -// if (mod.wantsPickupNotification()) -// { -// mod.getPickupNotifier().notifyPickup(entityItem, entityPlayer); -// } -// } - } - - /** - * Attempt to dispense the item as an entity other than just as a the item - * itself - * - * @param world - * @param x - * @param y - * @param z - * @param p_56784_7_ - * @param p_56784_8_ - * @param item - * @return - */ - public boolean tryDispensingEntity(World world, double x, double y, double z, int p_56784_7_, int p_56784_8_, ItemStack item) - { - // TODO -// for (ModContainer mod : Loader.getModList()) -// { -// if (mod.wantsToDispense() && mod.getDispenseHandler().dispense(x, y, z, p_56784_7_, p_56784_8_, world, item)) -// { -// return true; -// } -// } -// - return false; - } - /** * @return the instance */ @@ -377,231 +276,6 @@ public class FMLClientHandler implements IFMLSidedHandler return INSTANCE; } - /** - * Build a list of default overworld biomes - * - * @return - */ - public BiomeGenBase[] getDefaultOverworldBiomes() - { - if (defaultOverworldBiomes == null) - { - ArrayList biomes = new ArrayList(20); - - for (int i = 0; i < 23; i++) - { - if ("Sky".equals(BiomeGenBase.field_35486_a[i].field_6504_m) || "Hell".equals(BiomeGenBase.field_35486_a[i].field_6504_m)) - { - continue; - } - - biomes.add(BiomeGenBase.field_35486_a[i]); - } - - defaultOverworldBiomes = new BiomeGenBase[biomes.size()]; - biomes.toArray(defaultOverworldBiomes); - } - - return defaultOverworldBiomes; - } - - /** - * Called when an item is crafted - * - * @param player - * @param craftedItem - * @param craftingGrid - */ - public void onItemCrafted(EntityPlayer player, ItemStack craftedItem, IInventory craftingGrid) - { - // TODO -// for (ModContainer mod : Loader.getModList()) -// { -// if (mod.wantsCraftingNotification()) -// { -// mod.getCraftingHandler().onCrafting(player, craftedItem, craftingGrid); -// } -// } - } - - /** - * Called when an item is smelted - * - * @param player - * @param smeltedItem - */ - public void onItemSmelted(EntityPlayer player, ItemStack smeltedItem) - { - // TODO -// for (ModContainer mod : Loader.getModList()) -// { -// if (mod.wantsCraftingNotification()) -// { -// mod.getCraftingHandler().onSmelting(player, smeltedItem); -// } -// } - } - - /** - * Called when a chat packet is received - * - * @param chat - * @param player - * @return true if you want the packet to stop processing and not echo to - * the rest of the world - */ - public boolean handleChatPacket(Packet3Chat chat) - { - // TODO -// for (ModContainer mod : Loader.getModList()) -// { -// if (mod.wantsNetworkPackets() && mod.getNetworkHandler().onChat(chat)) -// { -// return true; -// } -// } -// - return false; - } - - /** - * Called when a chat packet is received - * - * @param chat - * @param player - * @return true if you want the packet to stop processing and not echo to - * the rest of the world - */ - public boolean handleChatPacket(Packet3Chat chat, EntityPlayer player) - { - // TODO -// for (ModContainer mod : Loader.getModList()) -// { -// if (mod.wantsNetworkPackets() && mod.getNetworkHandler().onChat(chat, player)) -// { -// return true; -// } -// } -// - return false; - } - - public void handleServerLogin(Packet1Login loginPacket, NetClientHandler handler, NetworkManager networkManager) - { - this.networkClient=handler; - Packet250CustomPayload packet = new Packet250CustomPayload(); - packet.field_44012_a = "REGISTER"; - packet.field_44011_c = FMLCommonHandler.instance().getPacketRegistry(); - packet.field_44010_b = packet.field_44011_c.length; - if (packet.field_44010_b > 0) - { - networkManager.func_972_a(packet); - } - - // TODO -// for (ModContainer mod : Loader.getModList()) { -// mod.getNetworkHandler().onServerLogin(handler); -// } - } - - /** - * Called when a packet 250 packet is received from the player - * - * @param packet - * @param player - */ - public void handlePacket250(Packet250CustomPayload packet) - { - if ("REGISTER".equals(packet.field_44012_a) || "UNREGISTER".equals(packet.field_44012_a)) - { - handleServerRegistration(packet); - return; - } - // TODO - -// ModContainer mod = FMLCommonHandler.instance().getModForChannel(packet.field_44012_a); -// -// if (mod != null) -// { -// mod.getNetworkHandler().onPacket250Packet(packet); -// } - } - - /** - * Handle register requests for packet 250 channels - * - * @param packet - */ - private void handleServerRegistration(Packet250CustomPayload packet) - { - if (packet.field_44011_c == null) - { - return; - } - try - { - for (String channel : new String(packet.field_44011_c, "UTF8").split("\0")) - { - // Skip it if we don't know it - if (FMLCommonHandler.instance().getModForChannel(channel) == null) - { - continue; - } - -// if ("REGISTER".equals(packet.field_44012_a)) -// { -// FMLCommonHandler.instance().activateChannel(client.field_6322_g,channel); -// } -// else -// { -// FMLCommonHandler.instance().deactivateChannel(client.field_6322_g,channel); -// } - } - } - catch (UnsupportedEncodingException e) - { - getMinecraftLogger().warning("Received invalid registration packet"); - } - } - - @Override - public File getMinecraftRootDirectory() - { - return client.field_6297_D; - } - - /** - * @param player - */ - public void announceLogin(EntityPlayer player) - { - // TODO - } - - /** - * @param player - */ - public void announceLogout(EntityPlayer player) - { - // TODO - } - - /** - * @param p_28168_1_ - */ - public void announceDimensionChange(EntityPlayer player) - { - // TODO - } - - /** - * @param biome - */ - public void addBiomeToDefaultWorldGenerator(BiomeGenBase biome) - { - WorldType.field_48635_b.addNewBiome(biome); - } - /** * Return the minecraft instance */ @@ -610,82 +284,26 @@ public class FMLClientHandler implements IFMLSidedHandler { return client; } - - /* (non-Javadoc) - * @see cpw.mods.fml.common.IFMLSidedHandler#getCurrentLanguage() - */ - @Override - public String getCurrentLanguage() - { - return StringTranslate.func_20162_a().func_44024_c(); - } - - public Properties getCurrentLanguageTable() { - return StringTranslate.func_20162_a().getTranslationTable(); - } /** * @param armor * @return */ public int addNewArmourRendererPrefix(String armor) { - return RenderPlayer.addNewArmourPrefix(armor); + String[] prefixes = ObfuscationReflectionHelper.getPrivateValue(RenderPlayer.class, null, "field_77110_j", "j", "armorFilenamePrefix"); + String[] newPrefixes = Arrays.copyOf(prefixes, prefixes.length+1); + newPrefixes[prefixes.length] = armor; + ObfuscationReflectionHelper.setPrivateValue(RenderPlayer.class, null, newPrefixes, "field_77110_j", "j", "armorFilenamePrefix" ); + return prefixes.length; } - - public void addNewTextureOverride(String textureToOverride, String overridingTexturePath, int location) { - if (!overrideInfo.containsKey(textureToOverride)) - { - overrideInfo.put(textureToOverride, new ArrayList()); - } - ArrayList list = overrideInfo.get(textureToOverride); - OverrideInfo info = new OverrideInfo(); - info.index = location; - info.override = overridingTexturePath; - info.texture = textureToOverride; - list.add(info); - FMLLog.fine("Overriding %s @ %d with %s. %d slots remaining",textureToOverride, location, overridingTexturePath, SpriteHelper.freeSlotCount(textureToOverride)); - } - /** - * @param mod - * @param inventoryRenderer - * @return - */ - public int obtainBlockModelIdFor(BaseMod mod, boolean inventoryRenderer) - { - ModLoaderModContainer mlmc=ModLoaderHelper.registerRenderHelper(mod); - int renderId=nextRenderId++; - BlockRenderInfo bri=new BlockRenderInfo(renderId, inventoryRenderer, mlmc); - blockModelIds.put(renderId, bri); - return renderId; - } - - /** - * @param renderEngine - * @param path - * @return - */ - public BufferedImage loadImageFromTexturePack(RenderEngine renderEngine, String path) throws IOException - { - InputStream image=client.field_6298_C.field_6534_a.func_6481_a(path); - if (image==null) { - throw new RuntimeException(String.format("The requested image path %s is not found",path)); - } - BufferedImage result=ImageIO.read(image); - if (result==null) - { - throw new RuntimeException(String.format("The requested image path %s appears to be corrupted",path)); - } - return result; - } - /** * @param player * @param gui */ public void displayGuiScreen(EntityPlayer player, GuiScreen gui) { - if (client.field_22009_h==player && gui != null) { - client.func_6272_a(gui); + if (client.field_71439_g==player && gui != null) { + client.func_71373_a(gui); } } @@ -699,338 +317,14 @@ public class FMLClientHandler implements IFMLSidedHandler ModLoaderModContainer mlmc=ModLoaderHelper.registerKeyHelper(mod); KeyBindingRegistry.registerKeyBinding(new ModLoaderKeyBindingHandler(keyHandler, allowRepeat, mlmc)); } - - /** - * @param renderer - * @param world - * @param x - * @param y - * @param z - * @param block - * @param modelId - * @return - */ - public boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelId) - { - if (!blockModelIds.containsKey(modelId)) { - return false; - } - BlockRenderInfo bri = blockModelIds.get(modelId); - return bri.renderWorldBlock(world, x, y, z, block, modelId, renderer); - } - - /** - * @param renderer - * @param block - * @param metadata - * @param modelID - */ - public void renderInventoryBlock(RenderBlocks renderer, Block block, int metadata, int modelID) - { - if (!blockModelIds.containsKey(modelID)) { - return; - } - BlockRenderInfo bri=blockModelIds.get(modelID); - bri.renderInventoryBlock(block, metadata, modelID, renderer); - } - - /** - * @param p_1219_0_ - * @return - */ - public boolean renderItemAsFull3DBlock(int modelId) - { - BlockRenderInfo bri = blockModelIds.get(modelId); - if (bri!=null) { - return bri.shouldRender3DInInventory(); - } - return false; - } - - public void registerTextureOverrides(RenderEngine renderer) { - for (ModContainer mod : Loader.instance().getActiveModList()) { - registerAnimatedTexturesFor(mod); - } - - for (OverrideInfo animationOverride : animationSet) { - renderer.func_1066_a(animationOverride.textureFX); - addedTextureFX.add(animationOverride.textureFX); - FMLCommonHandler.instance().getFMLLogger().finer(String.format("Registered texture override %d (%d) on %s (%d)", animationOverride.index, animationOverride.textureFX.field_1126_b, animationOverride.textureFX.getClass().getSimpleName(), animationOverride.textureFX.field_1128_f)); - } - - for (String fileToOverride : overrideInfo.keySet()) { - for (OverrideInfo override : overrideInfo.get(fileToOverride)) { - try - { - BufferedImage image=loadImageFromTexturePack(renderer, override.override); - ModTextureStatic mts=new ModTextureStatic(override.index, 1, override.texture, image); - renderer.func_1066_a(mts); - addedTextureFX.add(mts); - FMLCommonHandler.instance().getFMLLogger().finer(String.format("Registered texture override %d (%d) on %s (%d)", override.index, mts.field_1126_b, override.texture, mts.field_1128_f)); - } - catch (IOException e) - { - FMLCommonHandler.instance().getFMLLogger().throwing("FMLClientHandler", "registerTextureOverrides", e); - } - } - } - } - - /** - * @param mod - */ - private void registerAnimatedTexturesFor(ModContainer mod) - { - } - - public String getObjectName(Object instance) { - String objectName; - if (instance instanceof Item) { - objectName=((Item)instance).func_20009_a(); - } else if (instance instanceof Block) { - objectName=((Block)instance).func_20013_i(); - } else if (instance instanceof ItemStack) { - objectName=Item.field_233_c[((ItemStack)instance).field_1617_c].func_21011_b((ItemStack)instance); - } else { - throw new IllegalArgumentException(String.format("Illegal object for naming %s",instance)); - } - objectName+=".name"; - return objectName; - } - - public void pruneOldTextureFX(TexturePackBase var1, List effects) - { - ListIterator li = addedTextureFX.listIterator(); - while (li.hasNext()) - { - TextureFX tex = li.next(); - if (tex instanceof FMLTextureFX) - { - if (((FMLTextureFX)tex).unregister(client.field_6315_n, effects)) - { - li.remove(); - } - } - else - { - effects.remove(tex); - li.remove(); - } - } - } - - /** - * @param p_6531_1_ - */ - public void loadTextures(TexturePackBase texturePack) - { - registerTextureOverrides(client.field_6315_n); - } - - /** - * @param field_6539_c - */ - public void onEarlyTexturePackLoad(TexturePackBase fallback) - { - if (client==null) { - // We're far too early- let's wait - this.fallbackTexturePack=fallback; - } else { - loadTextures(fallback); - } - } - - /** - * @param packet - */ - public void sendPacket(Packet packet) - { - if (this.networkClient!=null) { - this.networkClient.func_847_a(packet); - } - } - - /** - * @param anim - */ - public void addAnimation(TextureFX anim) - { - if (animationCallbackMod==null) { - return; - } - OverrideInfo info=new OverrideInfo(); - info.index=anim.field_1126_b; - info.imageIndex=anim.field_1128_f; - info.textureFX=anim; - if (animationSet.contains(info)) { - animationSet.remove(info); - } - animationSet.add(info); - } - @Override public void profileStart(String profileLabel) { - Profiler.func_40663_a(profileLabel); + client.field_71424_I.func_76320_a(profileLabel); } @Override public void profileEnd() { - Profiler.func_40662_b(); - } - - public void onTexturePackChange(RenderEngine engine, TexturePackBase texturepack, List effects) - { - FMLClientHandler.instance().pruneOldTextureFX(texturepack, effects); - - for (TextureFX tex : effects) - { - if (tex instanceof ITextureFX) - { - ((ITextureFX)tex).onTexturePackChanged(engine, texturepack, getTextureDimensions(tex)); - } - } - - FMLClientHandler.instance().loadTextures(texturepack); - } - - private HashMap textureDims = new HashMap(); - private IdentityHashMap effectTextures = new IdentityHashMap(); - public void setTextureDimensions(int id, int width, int height, List effects) - { - Dimension dim = new Dimension(width, height); - textureDims.put(id, dim); - - for (TextureFX tex : effects) - { - if (getEffectTexture(tex) == id && tex instanceof ITextureFX) - { - ((ITextureFX)tex).onTextureDimensionsUpdate(width, height); - } - } - } - - public Dimension getTextureDimensions(TextureFX effect) - { - return getTextureDimensions(getEffectTexture(effect)); - } - - public Dimension getTextureDimensions(int id) - { - return textureDims.get(id); - } - - public int getEffectTexture(TextureFX effect) - { - Integer id = effectTextures.get(effect); - if (id != null) - { - return id; - } - - int old = GL11.glGetInteger(GL_TEXTURE_BINDING_2D); - - effect.func_782_a(client.field_6315_n); - - id = GL11.glGetInteger(GL_TEXTURE_BINDING_2D); - - GL11.glBindTexture(GL_TEXTURE_2D, old); - - effectTextures.put(effect, id); - - return id; - } - - public boolean onUpdateTextureEffect(TextureFX effect) - { - ITextureFX ifx = (effect instanceof ITextureFX ? ((ITextureFX)effect) : null); - - if (ifx != null && ifx.getErrored()) - { - return false; - } - - String name = effect.getClass().getSimpleName(); - Profiler.func_40663_a(name); - - try - { - if (optifineContainer == null) - { - effect.func_783_a(); - } - } - catch (Exception e) - { - FMLLog.warning("Texture FX %s has failed to animate. Likely caused by a texture pack change that they did not respond correctly to", name); - if (ifx != null) - { - ifx.setErrored(true); - } - Profiler.func_40662_b(); - return false; - } - Profiler.func_40662_b(); - - if (ifx != null) - { - Dimension dim = getTextureDimensions(effect); - int target = ((dim.width >> 4) * (dim.height >> 4)) << 2; - if (effect.field_1127_a.length != target) - { - FMLLog.warning("Detected a texture FX sizing discrepancy in %s (%d, %d)", name, effect.field_1127_a.length, target); - ifx.setErrored(true); - return false; - } - } - return true; - } - - //Quick and dirty image scaling, no smoothing or fanciness, meant for speed as it will be called every tick. - public void scaleTextureFXData(byte[] data, ByteBuffer buf, int target, int length) - { - int sWidth = (int)Math.sqrt(data.length / 4); - int factor = target / sWidth; - byte[] tmp = new byte[4]; - - buf.clear(); - - if (factor > 1) - { - for (int y = 0; y < sWidth; y++) - { - int sRowOff = sWidth * y; - int tRowOff = target * y * factor; - for (int x = 0; x < sWidth; x++) - { - int sPos = (x + sRowOff) * 4; - tmp[0] = data[sPos + 0]; - tmp[1] = data[sPos + 1]; - tmp[2] = data[sPos + 2]; - tmp[3] = data[sPos + 3]; - - int tPosTop = (x * factor) + tRowOff; - for (int y2 = 0; y2 < factor; y2++) - { - buf.position((tPosTop + (y2 * target)) * 4); - for (int x2 = 0; x2 < factor; x2++) - { - buf.put(tmp); - } - } - } - } - } - - buf.position(0).limit(length); - } - - public void onPreRegisterEffect(TextureFX effect) - { - Dimension dim = getTextureDimensions(effect); - if (effect instanceof ITextureFX) - { - ((ITextureFX)effect).onTextureDimensionsUpdate(dim.width, dim.height); - } + client.field_71424_I.func_76319_b(); } /* (non-Javadoc) @@ -1089,29 +383,26 @@ public class FMLClientHandler implements IFMLSidedHandler return null; } - /** - * @param biome - */ - public void removeBiomeFromDefaultWorldGenerator(BiomeGenBase biome) + @Override + public String getCurrentLanguage() { - WorldType.field_48635_b.removeBiome(biome); + return null; } - /** - * Handle a login - * - * @param loginPacket - * @param networkManager - */ - public void handleClientLogin(NetworkManager networkManager) + @Override + public Properties getCurrentLanguageTable() { - Packet250CustomPayload packet = new Packet250CustomPayload(); - packet.field_44012_a = "REGISTER"; - packet.field_44011_c = FMLCommonHandler.instance().getPacketRegistry(); - packet.field_44010_b = packet.field_44011_c.length; - if (packet.field_44010_b > 0) - { - networkManager.func_972_a(packet); - } + return null; + } + + @Override + public String getObjectName(Object minecraftObject) + { + return null; + } + + public boolean hasOptifine() + { + return optifineContainer!=null; } } diff --git a/fml/client/cpw/mods/fml/client/FMLTextureFX.java b/fml/client/cpw/mods/fml/client/FMLTextureFX.java index be2c71f6a..2dbf23223 100644 --- a/fml/client/cpw/mods/fml/client/FMLTextureFX.java +++ b/fml/client/cpw/mods/fml/client/FMLTextureFX.java @@ -32,20 +32,20 @@ public class FMLTextureFX extends TextureFX implements ITextureFX public int tileSizeSquareMask = 255; public boolean errored = false; protected Logger log = FMLCommonHandler.instance().getFMLLogger(); - + public FMLTextureFX(int icon) { super(icon); } - + @Override public void setErrored(boolean err){ errored = err; } @Override public boolean getErrored(){ return errored; } - @Override + @Override public void onTexturePackChanged(RenderEngine engine, TexturePackBase texturepack, Dimension dimensions) { onTextureDimensionsUpdate(dimensions.width, dimensions.height); } - @Override + @Override public void onTextureDimensionsUpdate(int width, int height) { tileSizeBase = width >> 4; @@ -58,9 +58,9 @@ public class FMLTextureFX extends TextureFX implements ITextureFX protected void setup() { - field_1127_a = new byte[tileSizeSquare << 2]; + field_76852_a = new byte[tileSizeSquare << 2]; } - + public boolean unregister(RenderEngine engine, List effects) { effects.remove(this); diff --git a/fml/client/cpw/mods/fml/client/GuiModList.java b/fml/client/cpw/mods/fml/client/GuiModList.java index 065cdc7f1..1e9d548bd 100644 --- a/fml/client/cpw/mods/fml/client/GuiModList.java +++ b/fml/client/cpw/mods/fml/client/GuiModList.java @@ -39,7 +39,6 @@ import net.minecraft.src.Tessellator; */ public class GuiModList extends GuiScreen { - private GuiScreen mainMenu; private GuiSlotModList modList; private int selected = -1; @@ -62,66 +61,70 @@ public class GuiModList extends GuiScreen mods.add(mod); } } - - public void func_6448_a() + + @Override + public void func_73866_w_() { for (ModContainer mod : mods) { - listWidth=Math.max(listWidth,getFontRenderer().func_871_a(mod.getName()) + 10); - listWidth=Math.max(listWidth,getFontRenderer().func_871_a(mod.getVersion()) + 10); + listWidth=Math.max(listWidth,getFontRenderer().func_78256_a(mod.getName()) + 10); + listWidth=Math.max(listWidth,getFontRenderer().func_78256_a(mod.getVersion()) + 10); } listWidth=Math.min(listWidth, 150); - StringTranslate translations = StringTranslate.func_20162_a(); - this.field_949_e.add(new GuiSmallButton(6, this.field_951_c / 2 - 75, this.field_950_d - 38, translations.func_20163_a("gui.done"))); + StringTranslate translations = StringTranslate.func_74808_a(); + this.field_73887_h.add(new GuiSmallButton(6, this.field_73880_f / 2 - 75, this.field_73881_g - 38, translations.func_74805_b("gui.done"))); this.modList=new GuiSlotModList(this, mods, listWidth); - this.modList.registerScrollButtons(this.field_949_e, 7, 8); + this.modList.registerScrollButtons(this.field_73887_h, 7, 8); } - protected void func_572_a(GuiButton button) { - if (button.field_937_g) + @Override + protected void func_73875_a(GuiButton button) { + if (button.field_73742_g) { - switch (button.field_938_f) + switch (button.field_73741_f) { case 6: - this.field_945_b.func_6272_a(this.mainMenu); + this.field_73882_e.func_71373_a(this.mainMenu); return; } } - super.func_572_a(button); + super.func_73875_a(button); } public int drawLine(String line, int offset, int shifty) { - this.field_6451_g.func_873_b(line, offset, shifty, 0xd7edea); + this.field_73886_k.func_78276_b(line, offset, shifty, 0xd7edea); return shifty + 10; } - public void func_571_a(int p_571_1_, int p_571_2_, float p_571_3_) + + @Override + public void func_73863_a(int p_571_1_, int p_571_2_, float p_571_3_) { this.modList.drawScreen(p_571_1_, p_571_2_, p_571_3_); - this.func_548_a(this.field_6451_g, "Mod List", this.field_951_c / 2, 16, 0xFFFFFF); + this.func_73732_a(this.field_73886_k, "Mod List", this.field_73880_f / 2, 16, 0xFFFFFF); int offset = this.listWidth + 20; if (selectedMod != null) { if (!selectedMod.getMetadata().autogenerated) { int shifty = 35; if (!selectedMod.getMetadata().logoFile.isEmpty()) { - int texture = this.field_945_b.field_6315_n.func_1070_a(selectedMod.getMetadata().logoFile); + int texture = this.field_73882_e.field_71446_o.func_78341_b(selectedMod.getMetadata().logoFile); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.field_945_b.field_6315_n.func_1076_b(texture); - Dimension dim = FMLClientHandler.instance().getTextureDimensions(texture); + this.field_73882_e.field_71446_o.func_78342_b(texture); + Dimension dim = TextureFXManager.instance().getTextureDimensions(texture); int top = 32; - Tessellator tess = Tessellator.field_1512_a; - tess.func_977_b(); - tess.func_983_a(offset, top + dim.height, field_923_k, 0, 1); - tess.func_983_a(offset + dim.width, top + dim.height, field_923_k, 1, 1); - tess.func_983_a(offset + dim.width, top, field_923_k, 1, 0); - tess.func_983_a(offset, top, field_923_k, 0, 0); - tess.func_982_a(); - + Tessellator tess = Tessellator.field_78398_a; + tess.func_78382_b(); + tess.func_78374_a(offset, top + dim.height, field_73735_i, 0, 1); + tess.func_78374_a(offset + dim.width, top + dim.height, field_73735_i, 1, 1); + tess.func_78374_a(offset + dim.width, top, field_73735_i, 1, 0); + tess.func_78374_a(offset, top, field_73735_i, 0, 0); + tess.func_78381_a(); + shifty += 65; } - this.field_6451_g.func_50103_a(selectedMod.getMetadata().name, offset, shifty, 0xFFFFFF); + this.field_73886_k.func_78261_a(selectedMod.getMetadata().name, offset, shifty, 0xFFFFFF); shifty += 12; - + shifty = drawLine(String.format("Version: %s (%s)", selectedMod.getMetadata().version, selectedMod.getVersion()), offset, shifty); shifty = drawLine(String.format("Mod State: %s", Loader.instance().getModState(selectedMod)), offset, shifty); if (!selectedMod.getMetadata().credits.isEmpty()) { @@ -130,25 +133,25 @@ public class GuiModList extends GuiScreen shifty = drawLine(String.format("Authors: %s", selectedMod.getMetadata().getAuthorList()), offset, shifty); shifty = drawLine(String.format("URL: %s", selectedMod.getMetadata().url), offset, shifty); shifty = drawLine(selectedMod.getMetadata().childMods.isEmpty() ? "No child mods for this mod" : String.format("Child mods: %s", selectedMod.getMetadata().getChildModList()), offset, shifty); - this.getFontRenderer().func_27278_a(selectedMod.getMetadata().description, offset, shifty + 10, this.field_951_c - offset - 20, 0xDDDDDD); + this.getFontRenderer().func_78279_b(selectedMod.getMetadata().description, offset, shifty + 10, this.field_73880_f - offset - 20, 0xDDDDDD); } else { - offset = ( this.listWidth + this.field_951_c ) / 2; - this.func_548_a(this.field_6451_g, selectedMod.getName(), offset, 35, 0xFFFFFF); - this.func_548_a(this.field_6451_g, String.format("Version: %s",selectedMod.getVersion()), offset, 45, 0xFFFFFF); - this.func_548_a(this.field_6451_g, String.format("Mod State: %s",Loader.instance().getModState(selectedMod)), offset, 55, 0xFFFFFF); - this.func_548_a(this.field_6451_g, "No mod information found", offset, 65, 0xDDDDDD); - this.func_548_a(this.field_6451_g, "Ask your mod author to provide a mod mcmod.info file", offset, 75, 0xDDDDDD); + offset = ( this.listWidth + this.field_73880_f ) / 2; + this.func_73732_a(this.field_73886_k, selectedMod.getName(), offset, 35, 0xFFFFFF); + this.func_73732_a(this.field_73886_k, String.format("Version: %s",selectedMod.getVersion()), offset, 45, 0xFFFFFF); + this.func_73732_a(this.field_73886_k, String.format("Mod State: %s",Loader.instance().getModState(selectedMod)), offset, 55, 0xFFFFFF); + this.func_73732_a(this.field_73886_k, "No mod information found", offset, 65, 0xDDDDDD); + this.func_73732_a(this.field_73886_k, "Ask your mod author to provide a mod mcmod.info file", offset, 75, 0xDDDDDD); } } - super.func_571_a(p_571_1_, p_571_2_, p_571_3_); + super.func_73863_a(p_571_1_, p_571_2_, p_571_3_); } Minecraft getMinecraftInstance() { - return field_945_b; + return field_73882_e; } - + FontRenderer getFontRenderer() { - return field_6451_g; + return field_73886_k; } /** diff --git a/fml/client/cpw/mods/fml/client/GuiScrollingList.java b/fml/client/cpw/mods/fml/client/GuiScrollingList.java index a48c8354d..033d3655a 100644 --- a/fml/client/cpw/mods/fml/client/GuiScrollingList.java +++ b/fml/client/cpw/mods/fml/client/GuiScrollingList.java @@ -117,15 +117,15 @@ public abstract class GuiScrollingList public void actionPerformed(GuiButton button) { - if (button.field_937_g) + if (button.field_73742_g) { - if (button.field_938_f == this.scrollUpActionId) + if (button.field_73741_f == this.scrollUpActionId) { this.scrollDistance -= (float)(this.slotHeight * 2 / 3); this.initialMouseClickY = -2.0F; this.applyScrollLimits(); } - else if (button.field_938_f == this.scrollDownActionId) + else if (button.field_73741_f == this.scrollDownActionId) { this.scrollDistance += (float)(this.slotHeight * 2 / 3); this.initialMouseClickY = -2.0F; @@ -249,17 +249,17 @@ public abstract class GuiScrollingList this.applyScrollLimits(); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_FOG); - Tessellator var18 = Tessellator.field_1512_a; - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.client.field_6315_n.func_1070_a("/gui/background.png")); + Tessellator var18 = Tessellator.field_78398_a; + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.client.field_71446_o.func_78341_b("/gui/background.png")); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); float var17 = 32.0F; - var18.func_977_b(); - var18.func_990_b(2105376); - var18.func_983_a((double)this.left, (double)this.bottom, 0.0D, (double)((float)this.left / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17)); - var18.func_983_a((double)this.right, (double)this.bottom, 0.0D, (double)((float)this.right / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17)); - var18.func_983_a((double)this.right, (double)this.top, 0.0D, (double)((float)this.right / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17)); - var18.func_983_a((double)this.left, (double)this.top, 0.0D, (double)((float)this.left / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17)); - var18.func_982_a(); + var18.func_78382_b(); + var18.func_78378_d(2105376); + var18.func_78374_a((double)this.left, (double)this.bottom, 0.0D, (double)((float)this.left / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17)); + var18.func_78374_a((double)this.right, (double)this.bottom, 0.0D, (double)((float)this.right / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17)); + var18.func_78374_a((double)this.right, (double)this.top, 0.0D, (double)((float)this.right / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17)); + var18.func_78374_a((double)this.left, (double)this.top, 0.0D, (double)((float)this.left / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17)); + var18.func_78381_a(); // boxRight = this.listWidth / 2 - 92 - 16; var10 = this.top + 4 - (int)this.scrollDistance; @@ -283,18 +283,18 @@ public abstract class GuiScrollingList int var15 = boxRight; GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_TEXTURE_2D); - var18.func_977_b(); - var18.func_990_b(8421504); - var18.func_983_a((double)var14, (double)(var19 + var13 + 2), 0.0D, 0.0D, 1.0D); - var18.func_983_a((double)var15, (double)(var19 + var13 + 2), 0.0D, 1.0D, 1.0D); - var18.func_983_a((double)var15, (double)(var19 - 2), 0.0D, 1.0D, 0.0D); - var18.func_983_a((double)var14, (double)(var19 - 2), 0.0D, 0.0D, 0.0D); - var18.func_990_b(0); - var18.func_983_a((double)(var14 + 1), (double)(var19 + var13 + 1), 0.0D, 0.0D, 1.0D); - var18.func_983_a((double)(var15 - 1), (double)(var19 + var13 + 1), 0.0D, 1.0D, 1.0D); - var18.func_983_a((double)(var15 - 1), (double)(var19 - 1), 0.0D, 1.0D, 0.0D); - var18.func_983_a((double)(var14 + 1), (double)(var19 - 1), 0.0D, 0.0D, 0.0D); - var18.func_982_a(); + var18.func_78382_b(); + var18.func_78378_d(8421504); + var18.func_78374_a((double)var14, (double)(var19 + var13 + 2), 0.0D, 0.0D, 1.0D); + var18.func_78374_a((double)var15, (double)(var19 + var13 + 2), 0.0D, 1.0D, 1.0D); + var18.func_78374_a((double)var15, (double)(var19 - 2), 0.0D, 1.0D, 0.0D); + var18.func_78374_a((double)var14, (double)(var19 - 2), 0.0D, 0.0D, 0.0D); + var18.func_78378_d(0); + var18.func_78374_a((double)(var14 + 1), (double)(var19 + var13 + 1), 0.0D, 0.0D, 1.0D); + var18.func_78374_a((double)(var15 - 1), (double)(var19 + var13 + 1), 0.0D, 1.0D, 1.0D); + var18.func_78374_a((double)(var15 - 1), (double)(var19 - 1), 0.0D, 1.0D, 0.0D); + var18.func_78374_a((double)(var14 + 1), (double)(var19 - 1), 0.0D, 0.0D, 0.0D); + var18.func_78381_a(); GL11.glEnable(GL11.GL_TEXTURE_2D); } @@ -311,22 +311,22 @@ public abstract class GuiScrollingList GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glShadeModel(GL11.GL_SMOOTH); GL11.glDisable(GL11.GL_TEXTURE_2D); - var18.func_977_b(); - var18.func_6513_a(0, 0); - var18.func_983_a((double)this.left, (double)(this.top + var20), 0.0D, 0.0D, 1.0D); - var18.func_983_a((double)this.right, (double)(this.top + var20), 0.0D, 1.0D, 1.0D); - var18.func_6513_a(0, 255); - var18.func_983_a((double)this.right, (double)this.top, 0.0D, 1.0D, 0.0D); - var18.func_983_a((double)this.left, (double)this.top, 0.0D, 0.0D, 0.0D); - var18.func_982_a(); - var18.func_977_b(); - var18.func_6513_a(0, 255); - var18.func_983_a((double)this.left, (double)this.bottom, 0.0D, 0.0D, 1.0D); - var18.func_983_a((double)this.right, (double)this.bottom, 0.0D, 1.0D, 1.0D); - var18.func_6513_a(0, 0); - var18.func_983_a((double)this.right, (double)(this.bottom - var20), 0.0D, 1.0D, 0.0D); - var18.func_983_a((double)this.left, (double)(this.bottom - var20), 0.0D, 0.0D, 0.0D); - var18.func_982_a(); + var18.func_78382_b(); + var18.func_78384_a(0, 0); + var18.func_78374_a((double)this.left, (double)(this.top + var20), 0.0D, 0.0D, 1.0D); + var18.func_78374_a((double)this.right, (double)(this.top + var20), 0.0D, 1.0D, 1.0D); + var18.func_78384_a(0, 255); + var18.func_78374_a((double)this.right, (double)this.top, 0.0D, 1.0D, 0.0D); + var18.func_78374_a((double)this.left, (double)this.top, 0.0D, 0.0D, 0.0D); + var18.func_78381_a(); + var18.func_78382_b(); + var18.func_78384_a(0, 255); + var18.func_78374_a((double)this.left, (double)this.bottom, 0.0D, 0.0D, 1.0D); + var18.func_78374_a((double)this.right, (double)this.bottom, 0.0D, 1.0D, 1.0D); + var18.func_78384_a(0, 0); + var18.func_78374_a((double)this.right, (double)(this.bottom - var20), 0.0D, 1.0D, 0.0D); + var18.func_78374_a((double)this.left, (double)(this.bottom - var20), 0.0D, 0.0D, 0.0D); + var18.func_78381_a(); var19 = this.getContentHeight() - (this.bottom - this.top - 4); if (var19 > 0) @@ -350,27 +350,27 @@ public abstract class GuiScrollingList var14 = this.top; } - var18.func_977_b(); - var18.func_6513_a(0, 255); - var18.func_983_a((double)scrollBarXStart, (double)this.bottom, 0.0D, 0.0D, 1.0D); - var18.func_983_a((double)scrollBarXEnd, (double)this.bottom, 0.0D, 1.0D, 1.0D); - var18.func_983_a((double)scrollBarXEnd, (double)this.top, 0.0D, 1.0D, 0.0D); - var18.func_983_a((double)scrollBarXStart, (double)this.top, 0.0D, 0.0D, 0.0D); - var18.func_982_a(); - var18.func_977_b(); - var18.func_6513_a(8421504, 255); - var18.func_983_a((double)scrollBarXStart, (double)(var14 + var13), 0.0D, 0.0D, 1.0D); - var18.func_983_a((double)scrollBarXEnd, (double)(var14 + var13), 0.0D, 1.0D, 1.0D); - var18.func_983_a((double)scrollBarXEnd, (double)var14, 0.0D, 1.0D, 0.0D); - var18.func_983_a((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D); - var18.func_982_a(); - var18.func_977_b(); - var18.func_6513_a(12632256, 255); - var18.func_983_a((double)scrollBarXStart, (double)(var14 + var13 - 1), 0.0D, 0.0D, 1.0D); - var18.func_983_a((double)(scrollBarXEnd - 1), (double)(var14 + var13 - 1), 0.0D, 1.0D, 1.0D); - var18.func_983_a((double)(scrollBarXEnd - 1), (double)var14, 0.0D, 1.0D, 0.0D); - var18.func_983_a((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D); - var18.func_982_a(); + var18.func_78382_b(); + var18.func_78384_a(0, 255); + var18.func_78374_a((double)scrollBarXStart, (double)this.bottom, 0.0D, 0.0D, 1.0D); + var18.func_78374_a((double)scrollBarXEnd, (double)this.bottom, 0.0D, 1.0D, 1.0D); + var18.func_78374_a((double)scrollBarXEnd, (double)this.top, 0.0D, 1.0D, 0.0D); + var18.func_78374_a((double)scrollBarXStart, (double)this.top, 0.0D, 0.0D, 0.0D); + var18.func_78381_a(); + var18.func_78382_b(); + var18.func_78384_a(8421504, 255); + var18.func_78374_a((double)scrollBarXStart, (double)(var14 + var13), 0.0D, 0.0D, 1.0D); + var18.func_78374_a((double)scrollBarXEnd, (double)(var14 + var13), 0.0D, 1.0D, 1.0D); + var18.func_78374_a((double)scrollBarXEnd, (double)var14, 0.0D, 1.0D, 0.0D); + var18.func_78374_a((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D); + var18.func_78381_a(); + var18.func_78382_b(); + var18.func_78384_a(12632256, 255); + var18.func_78374_a((double)scrollBarXStart, (double)(var14 + var13 - 1), 0.0D, 0.0D, 1.0D); + var18.func_78374_a((double)(scrollBarXEnd - 1), (double)(var14 + var13 - 1), 0.0D, 1.0D, 1.0D); + var18.func_78374_a((double)(scrollBarXEnd - 1), (double)var14, 0.0D, 1.0D, 0.0D); + var18.func_78374_a((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D); + var18.func_78381_a(); } this.func_27257_b(mouseX, mouseY); @@ -382,17 +382,17 @@ public abstract class GuiScrollingList private void overlayBackground(int p_22239_1_, int p_22239_2_, int p_22239_3_, int p_22239_4_) { - Tessellator var5 = Tessellator.field_1512_a; - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.client.field_6315_n.func_1070_a("/gui/background.png")); + Tessellator var5 = Tessellator.field_78398_a; + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.client.field_71446_o.func_78341_b("/gui/background.png")); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); float var6 = 32.0F; - var5.func_977_b(); - var5.func_6513_a(4210752, p_22239_4_); - var5.func_983_a(0.0D, (double)p_22239_2_, 0.0D, 0.0D, (double)((float)p_22239_2_ / var6)); - var5.func_983_a((double)this.listWidth + 30, (double)p_22239_2_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_2_ / var6)); - var5.func_6513_a(4210752, p_22239_3_); - var5.func_983_a((double)this.listWidth + 30, (double)p_22239_1_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_1_ / var6)); - var5.func_983_a(0.0D, (double)p_22239_1_, 0.0D, 0.0D, (double)((float)p_22239_1_ / var6)); - var5.func_982_a(); + var5.func_78382_b(); + var5.func_78384_a(4210752, p_22239_4_); + var5.func_78374_a(0.0D, (double)p_22239_2_, 0.0D, 0.0D, (double)((float)p_22239_2_ / var6)); + var5.func_78374_a((double)this.listWidth + 30, (double)p_22239_2_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_2_ / var6)); + var5.func_78384_a(4210752, p_22239_3_); + var5.func_78374_a((double)this.listWidth + 30, (double)p_22239_1_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_1_ / var6)); + var5.func_78374_a(0.0D, (double)p_22239_1_, 0.0D, 0.0D, (double)((float)p_22239_1_ / var6)); + var5.func_78381_a(); } } diff --git a/fml/client/cpw/mods/fml/client/GuiSlotModList.java b/fml/client/cpw/mods/fml/client/GuiSlotModList.java index c5c0257cd..d40ea1b46 100644 --- a/fml/client/cpw/mods/fml/client/GuiSlotModList.java +++ b/fml/client/cpw/mods/fml/client/GuiSlotModList.java @@ -37,7 +37,7 @@ public class GuiSlotModList extends GuiScrollingList public GuiSlotModList(GuiModList parent, ArrayList mods, int listWidth) { - super(parent.getMinecraftInstance(), listWidth, parent.field_950_d, 32, parent.field_950_d - 65 + 4, 10, 35); + super(parent.getMinecraftInstance(), listWidth, parent.field_73881_g, 32, parent.field_73881_g - 65 + 4, 10, 35); this.parent=parent; this.mods=mods; } @@ -63,7 +63,7 @@ public class GuiSlotModList extends GuiScrollingList @Override protected void drawBackground() { - this.parent.func_578_i(); + this.parent.func_73873_v_(); } @Override @@ -71,22 +71,22 @@ public class GuiSlotModList extends GuiScrollingList { return (this.getSize()) * 35 + 1; } - + @Override protected void drawSlot(int listIndex, int var2, int var3, int var4, Tessellator var5) { ModContainer mc=mods.get(listIndex); if (Loader.instance().getModState(mc)==ModState.DISABLED) { - this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a(mc.getName(), listWidth - 11), this.left + 3 , var3 + 2, 0xFF2222); - this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a(mc.getVersion(), listWidth - 11), this.left + 3 , var3 + 12, 0xFF2222); - this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a("DISABLED", listWidth - 11), this.left + 3 , var3 + 22, 0xFF2222); + this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a(mc.getName(), listWidth - 11), this.left + 3 , var3 + 2, 0xFF2222); + this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a(mc.getVersion(), listWidth - 11), this.left + 3 , var3 + 12, 0xFF2222); + this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a("DISABLED", listWidth - 11), this.left + 3 , var3 + 22, 0xFF2222); } else { - this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a(mc.getName(), listWidth - 11), this.left + 3 , var3 + 2, 0xFFFFFF); - this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a(mc.getVersion(), listWidth - 11), this.left + 3 , var3 + 12, 0xCCCCCC); - this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a(mc.getMetadata() !=null ? mc.getMetadata().getChildModCountString() : "Metadata not found", listWidth - 9), this.left + 3 , var3 + 22, 0xCCCCCC); + this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a(mc.getName(), listWidth - 11), this.left + 3 , var3 + 2, 0xFFFFFF); + this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a(mc.getVersion(), listWidth - 11), this.left + 3 , var3 + 12, 0xCCCCCC); + this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a(mc.getMetadata() !=null ? mc.getMetadata().getChildModCountString() : "Metadata not found", listWidth - 9), this.left + 3 , var3 + 22, 0xCCCCCC); } } diff --git a/fml/client/cpw/mods/fml/client/ModLoaderKeyBindingHandler.java b/fml/client/cpw/mods/fml/client/ModLoaderKeyBindingHandler.java index b062413b2..e28dbfb72 100644 --- a/fml/client/cpw/mods/fml/client/ModLoaderKeyBindingHandler.java +++ b/fml/client/cpw/mods/fml/client/ModLoaderKeyBindingHandler.java @@ -51,7 +51,7 @@ public class ModLoaderKeyBindingHandler extends KeyBindingRegistry.KeyHandler { ((net.minecraft.src.BaseMod)modContainer.getMod()).keyboardEvent(keyBinding); } - + @Override public void keyDown(EnumSet type, boolean end, boolean repeats) { @@ -99,6 +99,6 @@ public class ModLoaderKeyBindingHandler extends KeyBindingRegistry.KeyHandler @Override public String getLabel() { - return modContainer.getModId() +" KB "+keyBinding.field_1371_a; + return modContainer.getModId() +" KB "+keyBinding.field_74512_d; } } diff --git a/fml/client/cpw/mods/fml/client/TextureFXManager.java b/fml/client/cpw/mods/fml/client/TextureFXManager.java new file mode 100644 index 000000000..dbb27cdf6 --- /dev/null +++ b/fml/client/cpw/mods/fml/client/TextureFXManager.java @@ -0,0 +1,342 @@ +package cpw.mods.fml.client; + +import static org.lwjgl.opengl.GL11.GL_TEXTURE_2D; +import static org.lwjgl.opengl.GL11.GL_TEXTURE_BINDING_2D; + +import java.awt.Dimension; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; + +import javax.imageio.ImageIO; + +import org.lwjgl.opengl.GL11; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; + +import net.minecraft.client.Minecraft; +import net.minecraft.src.KeyBinding; +import net.minecraft.src.ModTextureStatic; +import net.minecraft.src.Profiler; +import net.minecraft.src.RenderEngine; +import net.minecraft.src.TextureFX; +import net.minecraft.src.TexturePackBase; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.FMLLog; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.ModContainer; + +public class TextureFXManager +{ + private static final TextureFXManager INSTANCE = new TextureFXManager(); + + private class TextureProperties + { + private int textureId; + private Dimension dim; + } + + private Map textureProperties = Maps.newHashMap(); + private Multimap overrideInfo = ArrayListMultimap.create(); + private HashSet animationSet = new HashSet(); + + private List addedTextureFX = new ArrayList(); + + private Minecraft client; + + public boolean onUpdateTextureEffect(TextureFX effect) + { + ITextureFX ifx = (effect instanceof ITextureFX ? ((ITextureFX)effect) : null); + + if (ifx != null && ifx.getErrored()) + { + return false; + } + + String name = effect.getClass().getSimpleName(); + FMLClientHandler.instance().profileStart(name); + + try + { + if (!FMLClientHandler.instance().hasOptifine()) + { + effect.func_76846_a(); + } + } + catch (Exception e) + { + FMLLog.warning("Texture FX %s has failed to animate. Likely caused by a texture pack change that they did not respond correctly to", name); + if (ifx != null) + { + ifx.setErrored(true); + } + FMLClientHandler.instance().profileEnd(); + return false; + } + FMLClientHandler.instance().profileEnd(); + + if (ifx != null) + { + Dimension dim = getTextureDimensions(effect); + int target = ((dim.width >> 4) * (dim.height >> 4)) << 2; + if (effect.field_76852_a.length != target) + { + FMLLog.warning("Detected a texture FX sizing discrepancy in %s (%d, %d)", name, effect.field_76852_a.length, target); + ifx.setErrored(true); + return false; + } + } + return true; + } + + //Quick and dirty image scaling, no smoothing or fanciness, meant for speed as it will be called every tick. + public void scaleTextureFXData(byte[] data, ByteBuffer buf, int target, int length) + { + int sWidth = (int)Math.sqrt(data.length / 4); + int factor = target / sWidth; + byte[] tmp = new byte[4]; + + buf.clear(); + + if (factor > 1) + { + for (int y = 0; y < sWidth; y++) + { + int sRowOff = sWidth * y; + int tRowOff = target * y * factor; + for (int x = 0; x < sWidth; x++) + { + int sPos = (x + sRowOff) * 4; + tmp[0] = data[sPos + 0]; + tmp[1] = data[sPos + 1]; + tmp[2] = data[sPos + 2]; + tmp[3] = data[sPos + 3]; + + int tPosTop = (x * factor) + tRowOff; + for (int y2 = 0; y2 < factor; y2++) + { + buf.position((tPosTop + (y2 * target)) * 4); + for (int x2 = 0; x2 < factor; x2++) + { + buf.put(tmp); + } + } + } + } + } + + buf.position(0).limit(length); + } + + public void onPreRegisterEffect(TextureFX effect) + { + Dimension dim = getTextureDimensions(effect); + if (effect instanceof ITextureFX) + { + ((ITextureFX)effect).onTextureDimensionsUpdate(dim.width, dim.height); + } + } + + + public int getEffectTexture(TextureFX effect) + { + Integer id = effectTextures.get(effect); + if (id != null) + { + return id; + } + + int old = GL11.glGetInteger(GL_TEXTURE_BINDING_2D); + + effect.func_76845_a(client.field_71446_o); + + id = GL11.glGetInteger(GL_TEXTURE_BINDING_2D); + + GL11.glBindTexture(GL_TEXTURE_2D, old); + + effectTextures.put(effect, id); + + return id; + } + + public void onTexturePackChange(RenderEngine engine, TexturePackBase texturepack, List effects) + { + pruneOldTextureFX(texturepack, effects); + + for (TextureFX tex : effects) + { + if (tex instanceof ITextureFX) + { + ((ITextureFX)tex).onTexturePackChanged(engine, texturepack, getTextureDimensions(tex)); + } + } + + loadTextures(texturepack); + } + + private HashMap textureDims = new HashMap(); + private IdentityHashMap effectTextures = new IdentityHashMap(); + private TexturePackBase earlyTexturePack; + public void setTextureDimensions(int id, int width, int height, List effects) + { + Dimension dim = new Dimension(width, height); + textureDims.put(id, dim); + + for (TextureFX tex : effects) + { + if (getEffectTexture(tex) == id && tex instanceof ITextureFX) + { + ((ITextureFX)tex).onTextureDimensionsUpdate(width, height); + } + } + } + + public Dimension getTextureDimensions(TextureFX effect) + { + return getTextureDimensions(getEffectTexture(effect)); + } + + public Dimension getTextureDimensions(int id) + { + return textureDims.get(id); + } + + /** + * @param anim + */ + public void addAnimation(TextureFX anim) + { + OverrideInfo info=new OverrideInfo(); + info.index=anim.field_76850_b; + info.imageIndex=anim.field_76847_f; + info.textureFX=anim; + if (animationSet.contains(info)) { + animationSet.remove(info); + } + animationSet.add(info); + } + + + /** + * @param p_6531_1_ + */ + public void loadTextures(TexturePackBase texturePack) + { + registerTextureOverrides(client.field_71446_o); + } + + + public void registerTextureOverrides(RenderEngine renderer) { + for (ModContainer mod : Loader.instance().getActiveModList()) { + registerAnimatedTexturesFor(mod); + } + + for (OverrideInfo animationOverride : animationSet) { + renderer.func_78355_a(animationOverride.textureFX); + addedTextureFX.add(animationOverride.textureFX); + FMLCommonHandler.instance().getFMLLogger().finer(String.format("Registered texture override %d (%d) on %s (%d)", animationOverride.index, animationOverride.textureFX.field_76850_b, animationOverride.textureFX.getClass().getSimpleName(), animationOverride.textureFX.field_76847_f)); + } + + for (String fileToOverride : overrideInfo.keySet()) { + for (OverrideInfo override : overrideInfo.get(fileToOverride)) { + try + { + BufferedImage image=loadImageFromTexturePack(renderer, override.override); + ModTextureStatic mts=new ModTextureStatic(override.index, 1, override.texture, image); + renderer.func_78355_a(mts); + addedTextureFX.add(mts); + FMLCommonHandler.instance().getFMLLogger().finer(String.format("Registered texture override %d (%d) on %s (%d)", override.index, mts.field_76850_b, override.texture, mts.field_76847_f)); + } + catch (IOException e) + { + FMLCommonHandler.instance().getFMLLogger().throwing("FMLClientHandler", "registerTextureOverrides", e); + } + } + } + } + + /** + * @param mod + */ + private void registerAnimatedTexturesFor(ModContainer mod) + { + } + + /** + * @param field_6539_c + */ + public void onEarlyTexturePackLoad(TexturePackBase fallback) + { + if (client==null) { + // We're far too early- let's wait + this.earlyTexturePack = fallback; + } else { + loadTextures(fallback); + } + } + + + public void pruneOldTextureFX(TexturePackBase var1, List effects) + { + ListIterator li = addedTextureFX.listIterator(); + while (li.hasNext()) + { + TextureFX tex = li.next(); + if (tex instanceof FMLTextureFX) + { + if (((FMLTextureFX)tex).unregister(client.field_71446_o, effects)) + { + li.remove(); + } + } + else + { + effects.remove(tex); + li.remove(); + } + } + } + public void addNewTextureOverride(String textureToOverride, String overridingTexturePath, int location) { + OverrideInfo info = new OverrideInfo(); + info.index = location; + info.override = overridingTexturePath; + info.texture = textureToOverride; + overrideInfo.put(textureToOverride, info); + FMLLog.fine("Overriding %s @ %d with %s. %d slots remaining",textureToOverride, location, overridingTexturePath, SpriteHelper.freeSlotCount(textureToOverride)); + } + + /** + * @param renderEngine + * @param path + * @return + */ + public BufferedImage loadImageFromTexturePack(RenderEngine renderEngine, String path) throws IOException + { + InputStream image=client.field_71418_C.func_77292_e().func_77532_a(path); + if (image==null) { + throw new RuntimeException(String.format("The requested image path %s is not found",path)); + } + BufferedImage result=ImageIO.read(image); + if (result==null) + { + throw new RuntimeException(String.format("The requested image path %s appears to be corrupted",path)); + } + return result; + } + + public static TextureFXManager instance() + { + return INSTANCE; + } + +} diff --git a/fml/client/cpw/mods/fml/client/registry/KeyBindingRegistry.java b/fml/client/cpw/mods/fml/client/registry/KeyBindingRegistry.java index 4c6ccbc67..2744dd6c9 100644 --- a/fml/client/cpw/mods/fml/client/registry/KeyBindingRegistry.java +++ b/fml/client/cpw/mods/fml/client/registry/KeyBindingRegistry.java @@ -23,33 +23,33 @@ public class KeyBindingRegistry protected KeyBinding keyBinding; protected boolean keyDown; protected boolean repeating; - + public KeyHandler(KeyBinding keyBinding, boolean repeating) { this.keyBinding = keyBinding; this.repeating = repeating; } - + public KeyBinding getKeyBinding() { return this.keyBinding; } - + @Override public final void tickStart(EnumSet type, Object... tickData) { keyTick(type, false); } - + @Override public final void tickEnd(EnumSet type, Object... tickData) { keyTick(type, true); } - + private void keyTick(EnumSet type, boolean tickEnd) { - int keyCode = keyBinding.field_1370_b; + int keyCode = keyBinding.field_74512_d; boolean state = (keyCode < 0 ? Mouse.isButtonDown(keyCode + 100) : Keyboard.isKeyDown(keyCode)); if (state != keyDown || (state && repeating)) { @@ -64,17 +64,17 @@ public class KeyBindingRegistry keyDown = state; } } - + public abstract void keyDown(EnumSet types, boolean tickEnd, boolean isRepeat); public abstract void keyUp(EnumSet types, boolean tickEnd); } - + private static List keyHandlers = Lists.newArrayList(); public static void registerKeyBinding(KeyHandler handler) { keyHandlers.add(handler); } - + public static void uploadKeyBindingsToGame(GameSettings settings) { ArrayList harvestedBindings = Lists.newArrayList(); @@ -83,10 +83,10 @@ public class KeyBindingRegistry harvestedBindings.add(key.keyBinding); } KeyBinding[] modKeyBindings = harvestedBindings.toArray(new KeyBinding[harvestedBindings.size()]); - KeyBinding[] allKeys = new KeyBinding[settings.field_1564_t.length + modKeyBindings.length]; - System.arraycopy(settings.field_1564_t, 0, allKeys, 0, settings.field_1564_t.length); - System.arraycopy(modKeyBindings, 0, allKeys, settings.field_1564_t.length, modKeyBindings.length); - settings.field_1564_t = allKeys; - settings.func_6519_a(); + KeyBinding[] allKeys = new KeyBinding[settings.field_74324_K.length + modKeyBindings.length]; + System.arraycopy(settings.field_74324_K, 0, allKeys, 0, settings.field_74324_K.length); + System.arraycopy(modKeyBindings, 0, allKeys, settings.field_74324_K.length, modKeyBindings.length); + settings.field_74324_K = allKeys; + settings.func_74300_a(); } } diff --git a/fml/client/net/minecraft/src/BaseMod.java b/fml/client/net/minecraft/src/BaseMod.java index 5affd5375..604475853 100644 --- a/fml/client/net/minecraft/src/BaseMod.java +++ b/fml/client/net/minecraft/src/BaseMod.java @@ -54,7 +54,7 @@ public abstract class BaseMod implements cpw.mods.fml.common.modloader.BaseMod { Minecraft mc = (Minecraft) minecraftInstance; if (tickEnd && ( tick==TickType.RENDER || tick==TickType.GAME ) || tick == TickType.GUILOAD) { - return onTickInGUI((Float) data[0], mc, mc.field_6313_p); + return onTickInGUI((Float) data[0], mc, mc.field_71462_r); } return true; } @@ -97,7 +97,7 @@ public abstract class BaseMod implements cpw.mods.fml.common.modloader.BaseMod @Override public final boolean onChat(Object... data) { - receiveChatPacket(((Packet3Chat)data[0]).field_517_a); + receiveChatPacket(((Packet3Chat)data[0]).field_73476_b); return true; } @@ -140,7 +140,7 @@ public abstract class BaseMod implements cpw.mods.fml.common.modloader.BaseMod { EntityItem item = (EntityItem) pickupData[0]; EntityPlayer player = (EntityPlayer) pickupData[1]; - onItemPickup(player, item.field_801_a); + onItemPickup(player, item.field_70294_a); } @Override diff --git a/fml/client/net/minecraft/src/ClientRegistry.java b/fml/client/net/minecraft/src/ClientRegistry.java index 20da5ffa7..98dba703a 100644 --- a/fml/client/net/minecraft/src/ClientRegistry.java +++ b/fml/client/net/minecraft/src/ClientRegistry.java @@ -17,25 +17,25 @@ public class ClientRegistry implements IMinecraftRegistry @Override public void addRecipe(ItemStack output, Object... params) { - CraftingManager.func_1120_a().func_1121_a(output, params); + CraftingManager.func_77594_a().func_77595_a(output, params); } @Override public void addShapelessRecipe(ItemStack output, Object... params) { - CraftingManager.func_1120_a().func_21187_b(output, params); + CraftingManager.func_77594_a().func_77596_b(output, params); } @Override public void addRecipe(IRecipe recipe) { - CraftingManager.func_1120_a().func_25193_b().add(recipe); + CraftingManager.func_77594_a().func_77592_b().add(recipe); } @Override - public void addSmelting(int input, ItemStack output) + public void addSmelting(int input, ItemStack output, float xp) { - FurnaceRecipes.func_21200_a().func_21199_a(input, output); + FurnaceRecipes.func_77602_a().func_77600_a(input, output, xp); } @Override diff --git a/fml/client/net/minecraft/src/EntityRendererProxy.java b/fml/client/net/minecraft/src/EntityRendererProxy.java index 14dadb7d3..a875e2654 100644 --- a/fml/client/net/minecraft/src/EntityRendererProxy.java +++ b/fml/client/net/minecraft/src/EntityRendererProxy.java @@ -20,17 +20,17 @@ public class EntityRendererProxy extends EntityRenderer { private Minecraft game; - + public EntityRendererProxy(Minecraft minecraft) { super(minecraft); game = minecraft; } - + @Override - public void func_4136_b(float tick) + public void func_78480_b(float tick) { - super.func_4136_b(tick); + super.func_78480_b(tick); //This is where ModLoader does all of it's ticking } } diff --git a/fml/client/net/minecraft/src/FMLRenderAccessLibrary.java b/fml/client/net/minecraft/src/FMLRenderAccessLibrary.java index c627e0adc..5bc7c0148 100644 --- a/fml/client/net/minecraft/src/FMLRenderAccessLibrary.java +++ b/fml/client/net/minecraft/src/FMLRenderAccessLibrary.java @@ -19,13 +19,15 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; +import cpw.mods.fml.client.BlockRenderManager; import cpw.mods.fml.client.FMLClientHandler; +import cpw.mods.fml.client.TextureFXManager; import cpw.mods.fml.common.FMLCommonHandler; /** - * + * * A static hook library for optifine and other basemod editing code to access FML functions - * + * * @author cpw * */ @@ -35,54 +37,54 @@ public class FMLRenderAccessLibrary { return FMLCommonHandler.instance().getFMLLogger(); } - + public static void log(Level level, String message) { getLogger().log(level, message); } - + public static void log(Level level, String message, Throwable throwable) { getLogger().log(level, message, throwable); } - + public static void setTextureDimensions(int textureId, int width, int height, List textureFXList) { - FMLClientHandler.instance().setTextureDimensions(textureId, width, height, textureFXList); + TextureFXManager.instance().setTextureDimensions(textureId, width, height, textureFXList); } - + public static void preRegisterEffect(TextureFX textureFX) { - FMLClientHandler.instance().onPreRegisterEffect(textureFX); + TextureFXManager.instance().onPreRegisterEffect(textureFX); } - + public static boolean onUpdateTextureEffect(TextureFX textureFX) { - return FMLClientHandler.instance().onUpdateTextureEffect(textureFX); + return TextureFXManager.instance().onUpdateTextureEffect(textureFX); } - + public static Dimension getTextureDimensions(TextureFX textureFX) { - return FMLClientHandler.instance().getTextureDimensions(textureFX); + return TextureFXManager.instance().getTextureDimensions(textureFX); } - + public static void onTexturePackChange(RenderEngine engine, TexturePackBase texturePack, List textureFXList) { - FMLClientHandler.instance().onTexturePackChange(engine, texturePack, textureFXList); + TextureFXManager.instance().onTexturePackChange(engine, texturePack, textureFXList); } - + public static boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelId) { - return FMLClientHandler.instance().renderWorldBlock(renderer, world, x, y, z, block, modelId); + return BlockRenderManager.instance().renderWorldBlock(renderer, world, x, y, z, block, modelId); } - + public static void renderInventoryBlock(RenderBlocks renderer, Block block, int metadata, int modelID) { - FMLClientHandler.instance().renderInventoryBlock(renderer, block, metadata, modelID); + BlockRenderManager.instance().renderInventoryBlock(renderer, block, metadata, modelID); } - + public static boolean renderItemAsFull3DBlock(int modelId) { - return FMLClientHandler.instance().renderItemAsFull3DBlock(modelId); + return BlockRenderManager.instance().renderItemAsFull3DBlock(modelId); } } diff --git a/fml/client/net/minecraft/src/ModLoader.java b/fml/client/net/minecraft/src/ModLoader.java index d97700d3c..472370e39 100644 --- a/fml/client/net/minecraft/src/ModLoader.java +++ b/fml/client/net/minecraft/src/ModLoader.java @@ -22,8 +22,10 @@ import java.util.logging.Logger; import net.minecraft.client.Minecraft; +import cpw.mods.fml.client.BlockRenderManager; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.SpriteHelper; +import cpw.mods.fml.client.TextureFXManager; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.modloader.ModLoaderHelper; @@ -72,7 +74,7 @@ public class ModLoader public static void addAnimation(TextureFX anim) { - FMLClientHandler.instance().addAnimation(anim); + TextureFXManager.instance().addAnimation(anim); } /** @@ -165,7 +167,7 @@ public class ModLoader */ public static void addOverride(String path, String overlayPath, int index) { - FMLClientHandler.instance().addNewTextureOverride(path, overlayPath, index); + TextureFXManager.instance().addNewTextureOverride(path, overlayPath, index); } /** @@ -288,7 +290,7 @@ public class ModLoader */ public static void genericContainerRemoval(World world, int x, int y, int z) { - TileEntity te = world.func_603_b(x, y, z); +/* TileEntity te = world.func_603_b(x, y, z); if (!(te instanceof IInventory)) { @@ -334,7 +336,7 @@ public class ModLoader world.func_674_a(entityitem); } } - } +*/ } /** * Get a list of all BaseMod loaded into the system @@ -407,7 +409,7 @@ public class ModLoader */ public static int getUniqueBlockModelID(BaseMod mod, boolean inventoryRenderer) { - return FMLClientHandler.instance().obtainBlockModelIdFor(mod, inventoryRenderer); + return BlockRenderManager.instance().obtainBlockModelIdFor(mod, inventoryRenderer); } /** @@ -441,7 +443,7 @@ public class ModLoader public static boolean isGUIOpen(Class gui) { - return FMLClientHandler.instance().getClient().field_6313_p!=null && FMLClientHandler.instance().getClient().field_6313_p.equals(gui); + return FMLClientHandler.instance().getClient().field_71462_r != null && FMLClientHandler.instance().getClient().field_71462_r.equals(gui); } /** @@ -466,7 +468,7 @@ public class ModLoader public static BufferedImage loadImage(RenderEngine renderEngine, String path) throws Exception { - return FMLClientHandler.instance().loadImageFromTexturePack(renderEngine, path); + return TextureFXManager.instance().loadImageFromTexturePack(renderEngine, path); } /** @@ -659,19 +661,19 @@ public class ModLoader @Deprecated public static boolean renderBlockIsItemFull3D(int modelID) { - return FMLClientHandler.instance().renderItemAsFull3DBlock(modelID); + return BlockRenderManager.instance().renderItemAsFull3DBlock(modelID); } @Deprecated public static void renderInvBlock(RenderBlocks renderer, Block block, int metadata, int modelID) { - FMLClientHandler.instance().renderInventoryBlock(renderer, block, metadata, modelID); + BlockRenderManager.instance().renderInventoryBlock(renderer, block, metadata, modelID); } @Deprecated public static boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelID) { - return FMLClientHandler.instance().renderWorldBlock(renderer, world, x, y, z, block, modelID); + return BlockRenderManager.instance().renderWorldBlock(renderer, world, x, y, z, block, modelID); } /** diff --git a/fml/common/cpw/mods/fml/common/FMLCommonHandler.java b/fml/common/cpw/mods/fml/common/FMLCommonHandler.java index 29bceee9d..7929499c0 100644 --- a/fml/common/cpw/mods/fml/common/FMLCommonHandler.java +++ b/fml/common/cpw/mods/fml/common/FMLCommonHandler.java @@ -38,8 +38,6 @@ import java.util.zip.ZipException; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; -import net.minecraft.src.CallableMinecraftVersion; - import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; @@ -310,10 +308,6 @@ public class FMLCommonHandler return sidedDelegate.getMinecraftLogger(); } - public File getMinecraftRootDirectory() { - return sidedDelegate.getMinecraftRootDirectory(); - } - /** * @return */ @@ -455,9 +449,8 @@ public class FMLCommonHandler if (brandings == null) { Builder brd = ImmutableList.builder(); - brd.add("Minecraft "+CallableMinecraftVersion.func_55337_a()); + brd.add(Loader.instance().getMCVersionString()); brd.add(Loader.instance().getFMLVersionString()); - brd.add(Strings.nullToEmpty((String)callForgeMethod("getVersionString"))); brd.addAll(sidedDelegate.getAdditionalBrandingInformation()); try { Properties props=new Properties(); diff --git a/fml/common/cpw/mods/fml/common/IFMLSidedHandler.java b/fml/common/cpw/mods/fml/common/IFMLSidedHandler.java index 2e9af52f3..e8f8162c5 100644 --- a/fml/common/cpw/mods/fml/common/IFMLSidedHandler.java +++ b/fml/common/cpw/mods/fml/common/IFMLSidedHandler.java @@ -13,16 +13,26 @@ import cpw.mods.fml.common.modloader.ModProperty; public interface IFMLSidedHandler { Logger getMinecraftLogger(); - File getMinecraftRootDirectory(); + Object getMinecraftInstance(); + String getCurrentLanguage(); + Properties getCurrentLanguageTable(); + String getObjectName(Object minecraftObject); + void profileStart(String profileLabel); + void profileEnd(); + ModProperty getModLoaderPropertyFor(Field f); + List getAdditionalBrandingInformation(); + Side getSide(); + ProxyInjector findSidedProxyOn(BaseMod mod); + void haltGame(String message, Throwable exception); } diff --git a/fml/common/cpw/mods/fml/common/Loader.java b/fml/common/cpw/mods/fml/common/Loader.java index 320902869..c4e1b7dba 100644 --- a/fml/common/cpw/mods/fml/common/Loader.java +++ b/fml/common/cpw/mods/fml/common/Loader.java @@ -132,6 +132,8 @@ public class Loader private File canonicalModsDir; private LoadController modController; + private static File minecraftDir; + public static Loader instance() { if (instance == null) @@ -142,33 +144,19 @@ public class Loader return instance; } + public static void injectData(Object... data) + { + major = (String) data[0]; + minor = (String) data[1]; + rev = (String) data[2]; + build = (String) data[3]; + mccversion = (String) data[4]; + mcsversion = (String) data[5]; + minecraftDir = (File) data[6]; + } + private Loader() { - InputStream stream = getClass().getClassLoader().getResourceAsStream("fmlversion.properties"); - Properties properties = new Properties(); - - if (stream != null) - { - try - { - properties.load(stream); - } - catch (IOException ex) - { - FMLLog.log(Level.SEVERE, "Could not get FML version information - corrupted installation detected!", ex); - throw new LoaderException(ex); - } - } - - major = properties.getProperty("fmlbuild.major.number", "missing"); - minor = properties.getProperty("fmlbuild.minor.number", "missing"); - rev = properties.getProperty("fmlbuild.revision.number", "missing"); - build = properties.getProperty("fmlbuild.build.number", "missing"); - mccversion = properties.getProperty("fmlbuild.mcclientversion", "missing"); - mcsversion = properties.getProperty("fmlbuild.mcserverversion", "missing"); - - FMLLog.info("Forge Mod Loader version %s.%s.%s.%s for Minecraft client:%s, server:%s loading", major, minor, rev, build, mccversion, mcsversion); - modClassLoader = new ModClassLoader(getClass().getClassLoader()); } @@ -279,7 +267,6 @@ public class Loader */ private void initializeLoader() { - File minecraftDir = FMLCommonHandler.instance().getMinecraftRootDirectory(); File modsDir = new File(minecraftDir, "mods"); File configDir = new File(minecraftDir, "config"); String canonicalModsPath; @@ -295,9 +282,8 @@ public class Loader } catch (IOException ioe) { - FMLLog.log(Level.SEVERE, - String.format("Failed to resolve loader directories: mods : %s ; config %s", canonicalModsDir.getAbsolutePath(), - configDir.getAbsolutePath()), ioe); + FMLLog.log(Level.SEVERE, ioe, "Failed to resolve loader directories: mods : %s ; config %s", canonicalModsDir.getAbsolutePath(), + configDir.getAbsolutePath()); throw new LoaderException(ioe); } @@ -572,4 +558,9 @@ public class Loader { return modController.getModState(selectedMod); } + + public String getMCVersionString() + { + return "Minecraft " + mccversion; + } } diff --git a/fml/common/cpw/mods/fml/common/ObfuscationReflectionHelper.java b/fml/common/cpw/mods/fml/common/ObfuscationReflectionHelper.java index 14cfb8c93..6195e4730 100644 --- a/fml/common/cpw/mods/fml/common/ObfuscationReflectionHelper.java +++ b/fml/common/cpw/mods/fml/common/ObfuscationReflectionHelper.java @@ -21,9 +21,9 @@ import cpw.mods.fml.relauncher.ReflectionHelper.UnableToFindFieldException; /** * Some reflection helper code. - * + * * @author cpw - * + * */ public class ObfuscationReflectionHelper { @@ -38,8 +38,7 @@ public class ObfuscationReflectionHelper } catch (UnableToAccessFieldException e) { - FMLCommonHandler.instance().getFMLLogger() - .log(Level.SEVERE, String.format("There was a problem getting field index %d from %s", fieldIndex, classToAccess.getName()), e); + FMLLog.log(Level.SEVERE, e, "There was a problem getting field index %d from %s", fieldIndex, classToAccess.getName()); throw e; } } @@ -53,14 +52,12 @@ public class ObfuscationReflectionHelper } catch (UnableToFindFieldException e) { - FMLCommonHandler.instance().getFMLLogger() - .log(Level.SEVERE, String.format("Unable to locate any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()), e); + FMLLog.log(Level.SEVERE,e,"Unable to locate any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()); throw e; } catch (UnableToAccessFieldException e) { - FMLCommonHandler.instance().getFMLLogger() - .log(Level.SEVERE, String.format("Unable to access any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()), e); + FMLLog.log(Level.SEVERE, e, "Unable to access any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()); throw e; } } @@ -79,8 +76,7 @@ public class ObfuscationReflectionHelper } catch (UnableToAccessFieldException e) { - FMLCommonHandler.instance().getFMLLogger() - .log(Level.SEVERE, String.format("There was a problem setting field index %d on type %s", fieldIndex, classToAccess.getName())); + FMLLog.log(Level.SEVERE, e, "There was a problem setting field index %d on type %s", fieldIndex, classToAccess.getName()); throw e; } } @@ -99,14 +95,12 @@ public class ObfuscationReflectionHelper } catch (UnableToFindFieldException e) { - FMLCommonHandler.instance().getFMLLogger() - .log(Level.SEVERE, String.format("Unable to locate any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()), e); + FMLLog.log(Level.SEVERE, e, "Unable to locate any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()); throw e; } catch (UnableToAccessFieldException e) { - FMLCommonHandler.instance().getFMLLogger() - .log(Level.SEVERE, String.format("Unable to set any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()), e); + FMLLog.log(Level.SEVERE, e, "Unable to set any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()); throw e; } } diff --git a/fml/common/cpw/mods/fml/relauncher/FMLEmbeddingRelauncher.java b/fml/common/cpw/mods/fml/relauncher/FMLEmbeddingRelauncher.java index 9ac08d553..676652311 100644 --- a/fml/common/cpw/mods/fml/relauncher/FMLEmbeddingRelauncher.java +++ b/fml/common/cpw/mods/fml/relauncher/FMLEmbeddingRelauncher.java @@ -5,12 +5,15 @@ import java.applet.AppletStub; import java.awt.Dialog.ModalityType; import java.awt.HeadlessException; import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URLClassLoader; import java.util.Arrays; +import java.util.Properties; +import java.util.logging.Level; import javax.swing.JDialog; import javax.swing.JFrame; @@ -18,8 +21,6 @@ import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.ProgressMonitorInputStream; -import net.minecraft.src.WorldSettings; - public class FMLEmbeddingRelauncher { private static FMLEmbeddingRelauncher INSTANCE; @@ -74,7 +75,7 @@ public class FMLEmbeddingRelauncher File minecraftHome = setupHome(); client = ReflectionHelper.getClass(clientLoader, "net.minecraft.client.Minecraft"); - ReflectionHelper.setPrivateValue(client, null, minecraftHome, "field_6275_Z", "ap", "minecraftDir"); + ReflectionHelper.setPrivateValue(client, null, minecraftHome, "field_71463_am", "am", "minecraftDir"); } finally { @@ -100,7 +101,7 @@ public class FMLEmbeddingRelauncher { Class mcMaster = ReflectionHelper.getClass(getClass().getClassLoader(), "net.minecraft.client.Minecraft"); // We force minecraft to setup it's homedir very early on so we can inject stuff into it - Method setupHome = ReflectionHelper.findMethod(mcMaster, null, new String[] { "func_6240_b", "getMinecraftDir", "b"} ); + Method setupHome = ReflectionHelper.findMethod(mcMaster, null, new String[] { "func_71380_b", "getMinecraftDir", "b"} ); try { setupHome.invoke(null); @@ -109,9 +110,9 @@ public class FMLEmbeddingRelauncher { // Hmmm } - File minecraftHome = ReflectionHelper.getPrivateValue(mcMaster, null, "field_6275_Z", "ap", "minecraftDir"); - FMLLog.minecraftHome = minecraftHome; - FMLLog.info("FML relaunch active"); + File minecraftHome = ReflectionHelper.getPrivateValue(mcMaster, null, "field_71463_am", "am", "minecraftDir"); + FMLVersionData.build(minecraftHome, clientLoader); + FMLLog.info("Forge Mod Loader version %s.%s.%s.%s for Minecraft client:%s, server:%s loading", FMLVersionData.major, FMLVersionData.minor, FMLVersionData.rev, FMLVersionData.build, FMLVersionData.mccversion, FMLVersionData.mcsversion); try { diff --git a/fml/common/cpw/mods/fml/relauncher/FMLVersionData.java b/fml/common/cpw/mods/fml/relauncher/FMLVersionData.java new file mode 100644 index 000000000..d99e7c7c0 --- /dev/null +++ b/fml/common/cpw/mods/fml/relauncher/FMLVersionData.java @@ -0,0 +1,51 @@ +package cpw.mods.fml.relauncher; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; +import java.util.logging.Level; + +public class FMLVersionData +{ + static File minecraftHome; + static String major; + static String minor; + static String rev; + static String build; + static String mccversion; + static String mcsversion; + + static void build(File mcHome, RelaunchClassLoader classLoader) + { + minecraftHome = mcHome; + InputStream stream = classLoader.getResourceAsStream("fmlversion.properties"); + Properties properties = new Properties(); + + if (stream != null) + { + try + { + properties.load(stream); + } + catch (IOException ex) + { + FMLLog.log(Level.SEVERE, ex, "Could not get FML version information - corrupted installation detected!"); + } + } + + major = properties.getProperty("fmlbuild.major.number", "missing"); + minor = properties.getProperty("fmlbuild.minor.number", "missing"); + rev = properties.getProperty("fmlbuild.revision.number", "missing"); + build = properties.getProperty("fmlbuild.build.number", "missing"); + mccversion = properties.getProperty("fmlbuild.mcclientversion", "missing"); + mcsversion = properties.getProperty("fmlbuild.mcserverversion", "missing"); + + + } + + public static Object[] data() + { + return new Object[] { major, minor, rev, build, mccversion, mcsversion, minecraftHome }; + } +} diff --git a/fml/common/cpw/mods/fml/relauncher/RelaunchLibraryManager.java b/fml/common/cpw/mods/fml/relauncher/RelaunchLibraryManager.java index 9ee3c5803..bace4fe1b 100644 --- a/fml/common/cpw/mods/fml/relauncher/RelaunchLibraryManager.java +++ b/fml/common/cpw/mods/fml/relauncher/RelaunchLibraryManager.java @@ -8,6 +8,7 @@ import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStream; +import java.lang.reflect.Method; import java.math.BigInteger; import java.net.MalformedURLException; import java.net.URI; @@ -191,6 +192,8 @@ public class RelaunchLibraryManager try { Class loaderClazz = Class.forName("cpw.mods.fml.common.Loader", true, actualClassLoader); + Method m = loaderClazz.getMethod("injectData", Object[].class); + m.invoke(null, (Object)FMLVersionData.data()); } catch (Exception e) { diff --git a/fml/eclipse/simpletestmod/src/net/minecraft/src/mod_testMod.java b/fml/eclipse/simpletestmod/src/net/minecraft/src/mod_testMod.java index 9c95159e6..47e1577c9 100644 --- a/fml/eclipse/simpletestmod/src/net/minecraft/src/mod_testMod.java +++ b/fml/eclipse/simpletestmod/src/net/minecraft/src/mod_testMod.java @@ -96,6 +96,6 @@ public class mod_testMod extends BaseMod { @Override public String getPriorities() { - return "after:MockMod@[1.1,1.2),[1.3,)"; + return "after:MockMod"; } } \ No newline at end of file diff --git a/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch b/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch index e420664a9..8a2135010 100644 --- a/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch @@ -2,7 +2,7 @@ +++ ../src-work/minecraft/net/minecraft/client/ClientBrandRetriever.java 0000-00-00 00:00:00.000000000 -0000 @@ -4,6 +4,6 @@ { - public static String func_56462_getClientModName() + public static String getClientModName() { - return "vanilla"; + return "fml"; diff --git a/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch index 87179662c..288a800e7 100644 --- a/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch @@ -1,83 +1,32 @@ --- ../src-base/minecraft/net/minecraft/client/Minecraft.java 0000-00-00 00:00:00.000000000 -0000 +++ ../src-work/minecraft/net/minecraft/client/Minecraft.java 0000-00-00 00:00:00.000000000 -0000 -@@ -120,6 +120,11 @@ +@@ -126,6 +126,10 @@ import org.lwjgl.opengl.PixelFormat; import org.lwjgl.util.glu.GLU; +import cpw.mods.fml.client.FMLClientHandler; -+import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.relauncher.ArgsWrapper; +import cpw.mods.fml.relauncher.FMLEmbeddingRelauncher; + - public abstract class Minecraft implements IPlayerUsage, Runnable + public abstract class Minecraft implements Runnable, IPlayerUsage { - public static byte[] field_28006_b = new byte[10485760]; -@@ -301,6 +306,7 @@ - this.field_6315_n = new RenderEngine(this.field_6298_C, this.field_6304_y); - this.func_6257_q(); - this.field_6314_o = new FontRenderer(this.field_6304_y, "/font/default.png", this.field_6315_n, false); -+ FMLClientHandler.instance().onPreLoad(this); - this.field_40007_r = new FontRenderer(this.field_6304_y, "/font/alternate.png", this.field_6315_n, false); - - if (this.field_6304_y.field_44018_Q != null) -@@ -332,6 +338,9 @@ - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glLoadIdentity(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); -+ FMLClientHandler.instance().onLoadComplete(); -+ this.field_9231_Y.setup(); -+ this.field_9232_X.setup(); - this.func_6250_c("Startup"); - this.field_6301_A.func_340_a(this.field_6304_y); - this.field_6315_n.func_1066_a(this.field_9231_Y); -@@ -729,9 +738,11 @@ - - if (!this.field_6307_v) - { -+ FMLClientHandler.instance().onRenderTickStart(this.field_9237_P.field_1378_c); - Profiler.func_40661_c("gameRenderer"); - this.field_9243_r.func_4136_b(this.field_9237_P.field_1378_c); - Profiler.func_40662_b(); -+ FMLClientHandler.instance().onRenderTickEnd(this.field_9237_P.field_1378_c); - } - - GL11.glFlush(); -@@ -1318,11 +1329,13 @@ - - public void func_6246_i() - { -+ FMLCommonHandler.instance().rescheduleTicks(); - if (this.field_35001_ab > 0) + public static byte[] field_71444_a = new byte[10485760]; +@@ -305,7 +309,7 @@ + this.func_71357_I(); + this.field_71466_p = new FontRenderer(this.field_71474_y, "/font/default.png", this.field_71446_o, false); + this.field_71464_q = new FontRenderer(this.field_71474_y, "/font/alternate.png", this.field_71446_o, false); +- ++ FMLClientHandler.instance().beginMinecraftLoading(this); + if (this.field_71474_y.field_74363_ab != null) { - --this.field_35001_ab; - } - -+ FMLClientHandler.instance().onPreWorldTick(); - Profiler.func_40663_a("stats"); - this.field_25001_G.func_27178_d(); - Profiler.func_40661_c("gui"); -@@ -1691,6 +1704,7 @@ - } - - Profiler.func_40662_b(); -+ FMLClientHandler.instance().onPostWorldTick(); - this.field_6287_N = System.currentTimeMillis(); - } - -@@ -1849,6 +1863,7 @@ - - System.gc(); - this.field_6287_N = 0L; -+ FMLClientHandler.instance().onWorldLoadTick(); - } - - public void func_6268_a(String p_6268_1_, File p_6268_2_) -@@ -1940,6 +1955,11 @@ + StringTranslate.func_74808_a().func_74810_a(this.field_71474_y.field_74363_ab); +@@ -1883,6 +1887,12 @@ public static void main(String[] p_main_0_) { + FMLEmbeddingRelauncher.relaunch(new ArgsWrapper(p_main_0_)); + } ++ + public static void fmlReentry(ArgsWrapper wrapper) + { + String[] p_main_0_ = wrapper.args; diff --git a/fml/patches/minecraft/net/minecraft/client/MinecraftApplet.java.patch b/fml/patches/minecraft/net/minecraft/client/MinecraftApplet.java.patch index 7c49a4492..6a43320a7 100644 --- a/fml/patches/minecraft/net/minecraft/client/MinecraftApplet.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/MinecraftApplet.java.patch @@ -1,15 +1,15 @@ --- ../src-base/minecraft/net/minecraft/client/MinecraftApplet.java 0000-00-00 00:00:00.000000000 -0000 +++ ../src-work/minecraft/net/minecraft/client/MinecraftApplet.java 0000-00-00 00:00:00.000000000 -0000 -@@ -4,6 +4,8 @@ +@@ -3,6 +3,8 @@ + import java.applet.Applet; import java.awt.BorderLayout; import java.awt.Canvas; - import java.io.File; + +import cpw.mods.fml.relauncher.FMLEmbeddingRelauncher; import net.minecraft.src.CanvasMinecraftApplet; import net.minecraft.src.MinecraftAppletImpl; import net.minecraft.src.Session; -@@ -16,6 +18,11 @@ +@@ -15,6 +17,11 @@ public void init() { @@ -18,10 +18,10 @@ + + public void fmlInitReentry() + { - this.field_6235_a = new CanvasMinecraftApplet(this); + this.field_71483_a = new CanvasMinecraftApplet(this); boolean var1 = "true".equalsIgnoreCase(this.getParameter("fullscreen")); - this.field_6234_b = new MinecraftAppletImpl(this, this.field_6235_a, this, this.getWidth(), this.getHeight(), var1); -@@ -72,6 +79,11 @@ + this.field_71481_b = new MinecraftAppletImpl(this, this.field_71483_a, this, this.getWidth(), this.getHeight(), var1); +@@ -60,6 +67,11 @@ public void start() { @@ -30,6 +30,6 @@ + + public void fmlStartReentry() + { - if (this.field_6234_b != null) + if (this.field_71481_b != null) { - this.field_6234_b.field_6316_m = false; + this.field_71481_b.field_71445_n = false; diff --git a/fml/patches/minecraft/net/minecraft/src/BlockDispenser.java.patch b/fml/patches/minecraft/net/minecraft/src/BlockDispenser.java.patch deleted file mode 100644 index 632d74ae5..000000000 --- a/fml/patches/minecraft/net/minecraft/src/BlockDispenser.java.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/BlockDispenser.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/BlockDispenser.java 0000-00-00 00:00:00.000000000 -0000 -@@ -2,6 +2,8 @@ - - import java.util.Random; - -+import cpw.mods.fml.client.FMLClientHandler; -+ - public class BlockDispenser extends BlockContainer - { - private Random field_28035_a = new Random(); -@@ -276,7 +278,12 @@ - float var15 = 1.1F; - byte var16 = 6; - -- if (p_56784_2_.field_1617_c == Item.field_226_j.field_291_aS) -+ if (FMLClientHandler.instance().tryDispensingEntity(p_56784_1_, p_56784_9_, p_56784_11_, p_56784_13_, p_56784_7_, p_56784_8_, p_56784_2_)) -+ { -+ //TODO revisit -+ return 1; -+ } -+ else if (p_56784_2_.field_1617_c == Item.field_226_j.field_291_aS) - { - EntityArrow var28 = new EntityArrow(p_56784_1_, p_56784_9_, p_56784_11_, p_56784_13_); - var28.func_408_a((double)p_56784_7_, 0.10000000149011612D, (double)p_56784_8_, var15, (float)var16); diff --git a/fml/patches/minecraft/net/minecraft/src/CallableMinecraftVersion.java.patch b/fml/patches/minecraft/net/minecraft/src/CallableMinecraftVersion.java.patch deleted file mode 100644 index f18b2d47b..000000000 --- a/fml/patches/minecraft/net/minecraft/src/CallableMinecraftVersion.java.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/CallableMinecraftVersion.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/CallableMinecraftVersion.java 0000-00-00 00:00:00.000000000 -0000 -@@ -2,7 +2,7 @@ - - import java.util.concurrent.Callable; - --class CallableMinecraftVersion implements Callable -+public class CallableMinecraftVersion implements Callable - { - final CrashReport field_55338_a; - -@@ -11,7 +11,7 @@ - this.field_55338_a = p_i1418_1_; - } - -- public String func_55337_a() -+ public static String func_55337_a() - { - return "12w26a"; - } diff --git a/fml/patches/minecraft/net/minecraft/src/ChunkProviderServer.java.patch b/fml/patches/minecraft/net/minecraft/src/ChunkProviderServer.java.patch deleted file mode 100644 index bd96f4bfb..000000000 --- a/fml/patches/minecraft/net/minecraft/src/ChunkProviderServer.java.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/ChunkProviderServer.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/ChunkProviderServer.java 0000-00-00 00:00:00.000000000 -0000 -@@ -7,6 +7,8 @@ - import java.util.List; - import java.util.Set; - -+import cpw.mods.fml.client.FMLClientHandler; -+ - public class ChunkProviderServer implements IChunkProvider - { - private Set field_56907_b = new HashSet(); -@@ -177,6 +179,7 @@ - if (this.field_56905_d != null) - { - this.field_56905_d.func_534_a(p_534_1_, p_534_2_, p_534_3_); -+ FMLClientHandler.instance().onChunkPopulate(p_534_1_, p_534_2_, p_534_3_, this.field_56910_h, this.field_56905_d); - var4.func_1006_f(); - } - } diff --git a/fml/patches/minecraft/net/minecraft/src/CrashReport.java.patch b/fml/patches/minecraft/net/minecraft/src/CrashReport.java.patch deleted file mode 100644 index 2570577ba..000000000 --- a/fml/patches/minecraft/net/minecraft/src/CrashReport.java.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/CrashReport.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/CrashReport.java 0000-00-00 00:00:00.000000000 -0000 -@@ -12,9 +12,12 @@ - import java.util.Map; - import java.util.Map.Entry; - import java.util.concurrent.Callable; -+import java.util.concurrent.Executors; - import java.util.logging.Level; - import java.util.logging.Logger; - -+import cpw.mods.fml.common.Loader; -+ - public class CrashReport - { - private final String field_55376_a; -@@ -36,6 +39,7 @@ - this.func_55366_a("Java Version", new CallableJavaInfo(this)); - this.func_55366_a("Java VM Version", new CallableJavaInfo2(this)); - this.func_55366_a("Memory", new CallableMemoryInfo(this)); -+ this.func_55366_a("FML", Loader.instance().getCallableCrashInformation()); - } - - public void func_55366_a(String p_55366_1_, Callable p_55366_2_) diff --git a/fml/patches/minecraft/net/minecraft/src/DedicatedServer.java.patch b/fml/patches/minecraft/net/minecraft/src/DedicatedServer.java.patch deleted file mode 100644 index 5991dcb29..000000000 --- a/fml/patches/minecraft/net/minecraft/src/DedicatedServer.java.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/DedicatedServer.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/DedicatedServer.java 0000-00-00 00:00:00.000000000 -0000 -@@ -33,6 +33,8 @@ - var1.start(); - ConsoleLogManager.func_57436_a(); - field_56394_a.info("Starting minecraft server version 12w26a"); -+ // TODO -+// FMLServerHandler.instance().onPreLoad(this); - - if (Runtime.getRuntime().maxMemory() / 1024L / 1024L < 512L) - { -@@ -98,6 +100,8 @@ - field_56394_a.warning("To change this, set \"online-mode\" to \"true\" in the server.properties file."); - } - -+ // TODO -+// FMLServerHandler.instance().onLoadComplete(); - this.func_56309_a(new DedicatedPlayerList(this)); - long var4 = System.nanoTime(); - diff --git a/fml/patches/minecraft/net/minecraft/src/EntityItem.java.patch b/fml/patches/minecraft/net/minecraft/src/EntityItem.java.patch deleted file mode 100644 index fd0807778..000000000 --- a/fml/patches/minecraft/net/minecraft/src/EntityItem.java.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/EntityItem.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/EntityItem.java 0000-00-00 00:00:00.000000000 -0000 -@@ -2,6 +2,8 @@ - - import java.util.Iterator; - -+import cpw.mods.fml.client.FMLClientHandler; -+ - public class EntityItem extends Entity - { - public ItemStack field_801_a; -@@ -198,6 +200,7 @@ - - if (this.field_805_c == 0 && p_6378_1_.field_778_b.func_504_a(this.field_801_a)) - { -+ FMLClientHandler.instance().notifyItemPickup(this, p_6378_1_); - if (this.field_801_a.field_1617_c == Block.field_385_K.field_376_bc) - { - p_6378_1_.func_27026_a(AchievementList.field_25198_c); diff --git a/fml/patches/minecraft/net/minecraft/src/EntityList.java.patch b/fml/patches/minecraft/net/minecraft/src/EntityList.java.patch deleted file mode 100644 index e0677b123..000000000 --- a/fml/patches/minecraft/net/minecraft/src/EntityList.java.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/EntityList.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/EntityList.java 0000-00-00 00:00:00.000000000 -0000 -@@ -174,4 +174,17 @@ - func_46152_a(EntityVillager.class, "Villager", 120, 5651507, 12422002); - func_1080_a(EntityEnderCrystal.class, "EnderCrystal", 200); - } -+ -+ public static void addNewEntityListMapping(Class entityClass, String entityName, int id) { -+ func_1080_a(entityClass,entityName,id); -+ } -+ -+ public static void addNewEntityListMapping(Class entityClass, String entityName, int id, int backgroundEggColour, int foregroundEggColour) { -+ func_46152_a(entityClass,entityName,id,backgroundEggColour,foregroundEggColour); -+ } -+ -+ @SuppressWarnings("unchecked") -+ public static Map> getEntityToClassMapping() { -+ return field_1611_a; -+ } - } diff --git a/fml/patches/minecraft/net/minecraft/src/EntityPlayer.java.patch b/fml/patches/minecraft/net/minecraft/src/EntityPlayer.java.patch deleted file mode 100644 index d79178bda..000000000 --- a/fml/patches/minecraft/net/minecraft/src/EntityPlayer.java.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/EntityPlayer.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/EntityPlayer.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,8 +1,12 @@ - package net.minecraft.src; - -+import java.util.EnumSet; - import java.util.Iterator; - import java.util.List; - -+import cpw.mods.fml.common.FMLCommonHandler; -+import cpw.mods.fml.common.TickType; -+ - public abstract class EntityPlayer extends EntityLiving implements ICommandSender - { - public InventoryPlayer field_778_b = new InventoryPlayer(this); -@@ -123,6 +127,7 @@ - - public void func_370_e_() - { -+ FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.PLAYER), this, this.field_615_ag); - if (this.field_34907_d != null) - { - ItemStack var1 = this.field_778_b.func_494_a(); -@@ -246,6 +251,7 @@ - { - this.field_35217_av.func_35768_a(this); - } -+ FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.PLAYER), this, this.field_615_ag); - } - - protected void func_35201_a(ItemStack p_35201_1_, int p_35201_2_) diff --git a/fml/patches/minecraft/net/minecraft/src/GenLayerBiome.java.patch b/fml/patches/minecraft/net/minecraft/src/GenLayerBiome.java.patch deleted file mode 100644 index abe33ffac..000000000 --- a/fml/patches/minecraft/net/minecraft/src/GenLayerBiome.java.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/GenLayerBiome.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/GenLayerBiome.java 0000-00-00 00:00:00.000000000 -0000 -@@ -7,13 +7,8 @@ - public GenLayerBiome(long p_i1011_1_, GenLayer p_i1011_3_, WorldType p_i1011_4_) - { - super(p_i1011_1_); -- this.field_35509_b = new BiomeGenBase[] {BiomeGenBase.field_4249_h, BiomeGenBase.field_4253_d, BiomeGenBase.field_35483_e, BiomeGenBase.field_4255_b, BiomeGenBase.field_35485_c, BiomeGenBase.field_4250_g, BiomeGenBase.field_48416_w}; -+ this.field_35509_b = p_i1011_4_.getBiomesForWorldType(); - this.field_35504_a = p_i1011_3_; -- -- if (p_i1011_4_ == WorldType.field_48634_d) -- { -- this.field_35509_b = new BiomeGenBase[] {BiomeGenBase.field_4249_h, BiomeGenBase.field_4253_d, BiomeGenBase.field_35483_e, BiomeGenBase.field_4255_b, BiomeGenBase.field_35485_c, BiomeGenBase.field_4250_g}; -- } - } - - public int[] func_35500_a(int p_35500_1_, int p_35500_2_, int p_35500_3_, int p_35500_4_) diff --git a/fml/patches/minecraft/net/minecraft/src/GuiCreateWorld.java.patch b/fml/patches/minecraft/net/minecraft/src/GuiCreateWorld.java.patch deleted file mode 100644 index c72917d48..000000000 --- a/fml/patches/minecraft/net/minecraft/src/GuiCreateWorld.java.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/GuiCreateWorld.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/GuiCreateWorld.java 0000-00-00 00:00:00.000000000 -0000 -@@ -197,9 +197,11 @@ - } - } - -+ WorldType.field_48637_a[this.field_46030_z].onGUICreateWorldPress(); - EnumGameType var9 = EnumGameType.func_57535_a(this.field_35364_f); - WorldSettings var6 = new WorldSettings(var2, var9, this.field_35365_g, this.field_40232_h, WorldType.field_48637_a[this.field_46030_z]); - -+ - if (this.field_55144_j && !this.field_40232_h) - { - var6.func_55250_a(); diff --git a/fml/patches/minecraft/net/minecraft/src/GuiMainMenu.java.patch b/fml/patches/minecraft/net/minecraft/src/GuiMainMenu.java.patch index c34e7fe07..f46a32c0f 100644 --- a/fml/patches/minecraft/net/minecraft/src/GuiMainMenu.java.patch +++ b/fml/patches/minecraft/net/minecraft/src/GuiMainMenu.java.patch @@ -1,11 +1,12 @@ --- ../src-base/minecraft/net/minecraft/src/GuiMainMenu.java 0000-00-00 00:00:00.000000000 -0000 +++ ../src-work/minecraft/net/minecraft/src/GuiMainMenu.java 0000-00-00 00:00:00.000000000 -0000 -@@ -8,10 +8,18 @@ +@@ -8,11 +8,18 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Date; +import java.util.List; import java.util.Random; + import net.minecraft.client.Minecraft; import org.lwjgl.opengl.GL11; import org.lwjgl.util.glu.GLU; @@ -14,56 +15,45 @@ + +import cpw.mods.fml.client.GuiModList; +import cpw.mods.fml.common.FMLCommonHandler; -+import cpw.mods.fml.common.Loader; + public class GuiMainMenu extends GuiScreen { - private static final Random field_6463_h = new Random(); -@@ -117,7 +125,9 @@ - this.func_55154_a(var4, 24, var2); + private static final Random field_73976_a = new Random(); +@@ -118,7 +125,8 @@ + this.func_73969_a(var4, 24, var2); } -- this.field_949_e.add(new GuiButton(3, this.field_951_c / 2 - 100, var4 + 48, var2.func_20163_a("menu.mods"))); -+// this.field_949_e.add(new GuiButton(3, this.field_951_c / 2 - 100, var4 + 48, var2.func_20163_a("menu.mods"))); -+ this.field_949_e.add(new GuiButton(3, this.field_951_c / 2 - 100, var4 + 48, 98, 20, var2.func_20163_a("menu.mods"))); -+ this.field_949_e.add(new GuiButton(6, this.field_951_c / 2 + 2, var4 + 48, 98, 20, "Mods")); +- this.field_73887_h.add(new GuiButton(3, this.field_73880_f / 2 - 100, var4 + 48, var2.func_74805_b("menu.mods"))); ++ this.field_73887_h.add(new GuiButton(3, this.field_73880_f / 2 - 100, var4 + 48, 98, 20, var2.func_74805_b("menu.mods"))); ++ this.field_73887_h.add(new GuiButton(6, this.field_73880_f / 2 + 2, var4 + 48, 98, 20, "Mods")); - if (this.field_945_b.field_6317_l) + if (this.field_73882_e.field_71448_m) { -@@ -149,6 +159,7 @@ - { - this.field_55155_d.field_937_g = false; - } -+ - } - - protected void func_572_a(GuiButton p_572_1_) -@@ -183,6 +194,10 @@ - this.field_945_b.func_6244_d(); +@@ -184,6 +192,11 @@ + this.field_73882_e.func_71400_g(); } -+ if (p_572_1_.field_938_f == 6) ++ if (p_73875_1_.field_73741_f == 6) + { -+ this.field_945_b.func_6272_a(new GuiModList(this)); ++ this.field_73882_e.func_71373_a(new GuiModList(this)); + } - if (p_572_1_.field_938_f == 11) - { - this.field_945_b.func_58039_a("Demo_World", "Demo_World", DemoWorldServer.field_56874_a); -@@ -398,8 +413,15 @@ ++ + if (p_73875_1_.field_73741_f == 11) { + this.field_73882_e.func_71371_a("Demo_World", "Demo_World", DemoWorldServer.field_73071_a); +@@ -400,7 +413,14 @@ var9 = var9 + " Demo"; } -- -- this.func_547_b(this.field_6451_g, var9, 2, this.field_950_d - 10, 16777215); + +- this.func_73731_b(this.field_73886_k, var9, 2, this.field_73881_g - 10, 16777215); + List brandings=Lists.reverse(FMLCommonHandler.instance().getBrandings()); + for (int i=0; i)field_1604_f); - int[] var5 = new int[var3 * var4]; - byte[] var6 = new byte[var3 * var4 * 4]; - p_1068_1_.getRGB(0, 0, var3, var4, var5, 0, var3); -@@ -397,6 +411,7 @@ - - public void func_1066_a(TextureFX p_1066_1_) - { -+ FMLClientHandler.instance().onPreRegisterEffect(p_1066_1_); - this.field_1604_f.add(p_1066_1_); - p_1066_1_.func_783_a(); - } -@@ -410,10 +425,26 @@ - { - TextureFX var3 = (TextureFX)var2.next(); - var3.field_1131_c = this.field_1602_h.field_1578_g; -- var3.func_783_a(); -- this.field_1605_e.clear(); -- this.field_1605_e.put(var3.field_1127_a); -- this.field_1605_e.position(0).limit(var3.field_1127_a.length); -+ if (!FMLClientHandler.instance().onUpdateTextureEffect(var3)) -+ { -+ continue; -+ } -+ -+ Dimension dim = FMLClientHandler.instance().getTextureDimensions(var3); -+ int tWidth = dim.width / 16; -+ int tHeight = dim.height / 16; -+ int tLen = tWidth * tHeight * 4; -+ -+ if (var3.field_1127_a.length == tLen) -+ { -+ this.field_1605_e.clear(); -+ this.field_1605_e.put(var3.field_1127_a); -+ this.field_1605_e.position(0).limit(var3.field_1127_a.length); -+ } -+ else -+ { -+ FMLClientHandler.instance().scaleTextureFXData(var3.field_1127_a, field_1605_e, tWidth, tLen); -+ } - - if (var3.field_1126_b != var1) - { -@@ -423,9 +454,11 @@ - - for (int var4 = 0; var4 < var3.field_1129_e; ++var4) - { -+ int xOffset = var3.field_1126_b % 16 * tWidth + var4 * tWidth; - for (int var5 = 0; var5 < var3.field_1129_e; ++var5) - { -- GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, var3.field_1126_b % 16 * 16 + var4 * 16, var3.field_1126_b / 16 * 16 + var5 * 16, 16, 16, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, this.field_1605_e); -+ int yOffset = var3.field_1126_b / 16 * tHeight + var5 * tHeight; -+ GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, xOffset, yOffset, tWidth, tHeight, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, this.field_1605_e); - } - } - } -@@ -490,8 +523,9 @@ - this.field_4280_j = false; - this.field_4281_i = false; - } -- catch (IOException var7) -+ catch (Exception var7) - { -+ log.log(Level.INFO,String.format("An error occured reading texture file %s (refreshTexture)", var9),var7); - var7.printStackTrace(); - } - } -@@ -527,11 +561,13 @@ - this.field_4280_j = false; - this.field_4281_i = false; - } -- catch (IOException var6) -+ catch (Exception var6) - { -+ log.log(Level.INFO,String.format("An error occured reading texture file data %s (refreshTexture)", var9),var6); - var6.printStackTrace(); - } - } -+ FMLClientHandler.instance().onTexturePackChange(this, var1, (List)field_1604_f); - } - - private BufferedImage func_6526_a(InputStream p_6526_1_) throws IOException diff --git a/fml/patches/minecraft/net/minecraft/src/RenderManager.java.patch b/fml/patches/minecraft/net/minecraft/src/RenderManager.java.patch deleted file mode 100644 index 331ee2214..000000000 --- a/fml/patches/minecraft/net/minecraft/src/RenderManager.java.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/RenderManager.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/RenderManager.java 0000-00-00 00:00:00.000000000 -0000 -@@ -183,4 +183,8 @@ - { - return this.field_1218_p; - } -+ -+ public Map, Render> getRendererList() { -+ return field_6501_o; -+ } - } diff --git a/fml/patches/minecraft/net/minecraft/src/RenderPlayer.java.patch b/fml/patches/minecraft/net/minecraft/src/RenderPlayer.java.patch deleted file mode 100644 index 042f85916..000000000 --- a/fml/patches/minecraft/net/minecraft/src/RenderPlayer.java.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/RenderPlayer.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/RenderPlayer.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,5 +1,9 @@ - package net.minecraft.src; - -+import java.util.ArrayList; -+import java.util.Arrays; -+import java.util.List; -+ - import net.minecraft.client.Minecraft; - import org.lwjgl.opengl.GL11; - -@@ -8,7 +12,7 @@ - private ModelBiped field_209_f; - private ModelBiped field_208_g; - private ModelBiped field_207_h; -- private static final String[] field_206_i = new String[] {"cloth", "chain", "iron", "diamond", "gold"}; -+ private static String[] field_206_i = new String[] {"cloth", "chain", "iron", "diamond", "gold"}; - - public RenderPlayer() - { -@@ -404,4 +408,11 @@ - { - this.func_188_a((EntityPlayer)p_147_1_, p_147_2_, p_147_4_, p_147_6_, p_147_8_, p_147_9_); - } -+ -+ public static int addNewArmourPrefix(String prefix) { -+ List armours=new ArrayList(Arrays.asList(field_206_i)); -+ armours.add(prefix); -+ field_206_i=armours.toArray(new String[0]); -+ return armours.indexOf(prefix); -+ } - } diff --git a/fml/patches/minecraft/net/minecraft/src/ServerConfigurationManager.java.patch b/fml/patches/minecraft/net/minecraft/src/ServerConfigurationManager.java.patch deleted file mode 100644 index cc0a4e868..000000000 --- a/fml/patches/minecraft/net/minecraft/src/ServerConfigurationManager.java.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/ServerConfigurationManager.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/ServerConfigurationManager.java 0000-00-00 00:00:00.000000000 -0000 -@@ -10,6 +10,8 @@ - import java.util.Set; - import java.util.logging.Logger; - -+import cpw.mods.fml.client.FMLClientHandler; -+ - public abstract class ServerConfigurationManager - { - private static final SimpleDateFormat field_57132_e = new SimpleDateFormat("yyyy-MM-dd \'at\' HH:mm:ss z"); -@@ -70,6 +72,8 @@ - } - - p_57113_2_.func_56256_h(); -+ FMLClientHandler.instance().handleClientLogin(p_57113_1_); -+ FMLClientHandler.instance().announceLogin(p_57113_2_); - } - - public void func_57096_a(WorldServer[] p_57096_1_) -@@ -143,6 +147,7 @@ - - public void func_57093_e(EntityPlayerMP p_57093_1_) - { -+ FMLClientHandler.instance().announceLogout(p_57093_1_); - this.func_57118_b(p_57093_1_); - WorldServer var2 = p_57093_1_.func_56260_H(); - var2.func_607_d(p_57093_1_); -@@ -354,6 +359,8 @@ - p_57125_1_.field_56267_c.func_57360_a(var5); - this.func_57120_b(p_57125_1_, var5); - this.func_57124_f(p_57125_1_); -+ -+ FMLClientHandler.instance().announceDimensionChange(p_57125_1_); - } - - public void func_57104_b() diff --git a/fml/patches/minecraft/net/minecraft/src/SlotCrafting.java.patch b/fml/patches/minecraft/net/minecraft/src/SlotCrafting.java.patch deleted file mode 100644 index a0b18a8b5..000000000 --- a/fml/patches/minecraft/net/minecraft/src/SlotCrafting.java.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/SlotCrafting.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/SlotCrafting.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,5 +1,7 @@ - package net.minecraft.src; - -+import cpw.mods.fml.client.FMLClientHandler; -+ - public class SlotCrafting extends Slot - { - private final IInventory field_1125_c; -@@ -83,6 +85,7 @@ - - public void func_4103_a(ItemStack p_4103_1_) - { -+ FMLClientHandler.instance().onItemCrafted(field_25015_e, p_4103_1_, field_1125_c); - this.func_48434_c(p_4103_1_); - - for (int var2 = 0; var2 < this.field_1125_c.func_469_c(); ++var2) diff --git a/fml/patches/minecraft/net/minecraft/src/SlotFurnace.java.patch b/fml/patches/minecraft/net/minecraft/src/SlotFurnace.java.patch deleted file mode 100644 index 12ef491eb..000000000 --- a/fml/patches/minecraft/net/minecraft/src/SlotFurnace.java.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/SlotFurnace.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/SlotFurnace.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,5 +1,7 @@ - package net.minecraft.src; - -+import cpw.mods.fml.client.FMLClientHandler; -+ - public class SlotFurnace extends Slot - { - private EntityPlayer field_27011_d; -@@ -56,6 +58,8 @@ - - this.field_48437_f = 0; - -+ FMLClientHandler.instance().onItemSmelted(field_27011_d, p_48434_1_); -+ - if (p_48434_1_.field_1617_c == Item.field_223_m.field_291_aS) - { - this.field_27011_d.func_25058_a(AchievementList.field_27385_k, 1); diff --git a/fml/patches/minecraft/net/minecraft/src/StatFileWriter.java.patch b/fml/patches/minecraft/net/minecraft/src/StatFileWriter.java.patch index f88f0d332..7904a3142 100644 --- a/fml/patches/minecraft/net/minecraft/src/StatFileWriter.java.patch +++ b/fml/patches/minecraft/net/minecraft/src/StatFileWriter.java.patch @@ -4,31 +4,31 @@ { String var2 = "local"; StringBuilder var3 = new StringBuilder(); -- JsonRootNode var4 = (new JdomParser()).func_27367_a(p_27177_0_); -- List var5 = var4.func_27217_b(new Object[] {"stats-change"}); -+ JsonRootNode var4 = (new JdomParser()).parse(p_27177_0_); +- JsonRootNode var4 = (new JdomParser()).func_74789_a(p_77453_0_); +- List var5 = var4.func_74612_b(new Object[] {"stats-change"}); ++ JsonRootNode var4 = (new JdomParser()).parse(p_77453_0_); + List var5 = var4.getArrayNode(new Object[] {"stats-change"}); Iterator var6 = var5.iterator(); while (var6.hasNext()) { JsonNode var7 = (JsonNode)var6.next(); -- Map var8 = var7.func_27214_c(); +- Map var8 = var7.func_74614_d(); + Map var8 = var7.getFields(); Entry var9 = (Entry)var8.entrySet().iterator().next(); -- int var10 = Integer.parseInt(((JsonStringNode)var9.getKey()).func_27216_b()); -- int var11 = Integer.parseInt(((JsonNode)var9.getValue()).func_27216_b()); +- int var10 = Integer.parseInt(((JsonStringNode)var9.getKey()).func_74615_c()); +- int var11 = Integer.parseInt(((JsonNode)var9.getValue()).func_74615_c()); + int var10 = Integer.parseInt(((JsonStringNode)var9.getKey()).getText()); + int var11 = Integer.parseInt(((JsonNode)var9.getValue()).getText()); - StatBase var12 = StatList.func_27361_a(var10); + StatBase var12 = StatList.func_75923_a(var10); if (var12 == null) @@ -152,7 +152,7 @@ MD5String var14 = new MD5String(var2); - String var15 = var14.func_27369_a(var3.toString()); + String var15 = var14.func_75899_a(var3.toString()); -- if (!var15.equals(var4.func_27213_a(new Object[] {"checksum"}))) -+ if (!var15.equals(var4.getNode(new Object[] {"checksum"}))) +- if (!var15.equals(var4.func_74611_a(new Object[] {"checksum"}))) ++ if (!var15.equals(var4.getStringValue(new Object[] {"checksum"}))) { System.out.println("CHECKSUM MISMATCH"); return null; diff --git a/fml/patches/minecraft/net/minecraft/src/StringTranslate.java.patch b/fml/patches/minecraft/net/minecraft/src/StringTranslate.java.patch deleted file mode 100644 index 790fc6e47..000000000 --- a/fml/patches/minecraft/net/minecraft/src/StringTranslate.java.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/StringTranslate.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/StringTranslate.java 0000-00-00 00:00:00.000000000 -0000 -@@ -7,6 +7,9 @@ - import java.util.Properties; - import java.util.TreeMap; - -+import cpw.mods.fml.client.FMLClientHandler; -+import cpw.mods.fml.common.FMLCommonHandler; -+ - public class StringTranslate - { - private static StringTranslate field_20165_a = new StringTranslate("en_US"); -@@ -77,6 +80,7 @@ - } - } - } -+ FMLCommonHandler.instance().handleLanguageLoad(p_44025_1_,p_44025_2_); - } - - public void func_44023_a(String p_44023_1_) -@@ -165,4 +169,8 @@ - { - return "ar_SA".equals(p_46109_0_) || "he_IL".equals(p_46109_0_); - } -+ -+ public Properties getTranslationTable() { -+ return field_20164_b; -+ } - } diff --git a/fml/patches/minecraft/net/minecraft/src/TextureCompassFX.java.patch b/fml/patches/minecraft/net/minecraft/src/TextureCompassFX.java.patch deleted file mode 100644 index 23cae4d0f..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TextureCompassFX.java.patch +++ /dev/null @@ -1,85 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TextureCompassFX.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TextureCompassFX.java 0000-00-00 00:00:00.000000000 -0000 -@@ -3,12 +3,14 @@ - import java.awt.image.BufferedImage; - import java.io.IOException; - import javax.imageio.ImageIO; -+ -+import cpw.mods.fml.client.FMLTextureFX; - import net.minecraft.client.Minecraft; - --public class TextureCompassFX extends TextureFX -+public class TextureCompassFX extends FMLTextureFX - { - private Minecraft field_4231_g; -- private int[] field_4230_h = new int[256]; -+ private int[] field_4230_h; - private double field_4229_i; - private double field_4228_j; - -@@ -17,13 +19,20 @@ - super(Item.field_4025_aO.func_27009_a(0)); - this.field_4231_g = p_i617_1_; - this.field_1128_f = 1; -+ setup(); -+ } - -+ @Override -+ public void setup() -+ { -+ super.setup(); -+ field_4230_h = new int[tileSizeSquare]; - try - { -- BufferedImage var2 = ImageIO.read(Minecraft.class.getResource("/gui/items.png")); -- int var3 = this.field_1126_b % 16 * 16; -- int var4 = this.field_1126_b / 16 * 16; -- var2.getRGB(var3, var4, 16, 16, this.field_4230_h, 0, 16); -+ BufferedImage var2 = ImageIO.read(field_4231_g.field_6298_C.field_6534_a.func_6481_a("/gui/items.png")); -+ int var3 = this.field_1126_b % 16 * tileSizeBase; -+ int var4 = this.field_1126_b / 16 * tileSizeBase; -+ var2.getRGB(var3, var4, tileSizeBase, tileSizeBase, this.field_4230_h, 0, tileSizeBase); - } - catch (IOException var5) - { -@@ -33,7 +42,7 @@ - - public void func_783_a() - { -- for (int var1 = 0; var1 < 256; ++var1) -+ for (int var1 = 0; var1 < tileSizeSquare; ++var1) - { - int var2 = this.field_4230_h[var1] >> 24 & 255; - int var3 = this.field_4230_h[var1] >> 16 & 255; -@@ -110,11 +119,11 @@ - int var19; - int var18; - -- for (var9 = -4; var9 <= 4; ++var9) -+ for (var9 = -(tileSizeBase >> 2); var9 <= (tileSizeBase >> 2); ++var9) - { -- var10 = (int)(8.5D + var26 * (double)var9 * 0.3D); -- var11 = (int)(7.5D - var24 * (double)var9 * 0.3D * 0.5D); -- var12 = var11 * 16 + var10; -+ var10 = (int)((tileSizeBase >> 1) + 0.5D + var26 * (double)var9 * 0.3D); -+ var11 = (int)((tileSizeBase >> 1) - 0.5D - var24 * (double)var9 * 0.3D * 0.5D); -+ var12 = var11 * tileSizeBase + var10; - var13 = 100; - var14 = 100; - var15 = 100; -@@ -136,11 +145,11 @@ - this.field_1127_a[var12 * 4 + 3] = (byte)var16; - } - -- for (var9 = -8; var9 <= 16; ++var9) -+ for (var9 = -(tileSizeBase>>2); var9 <= tileSizeBase; ++var9) - { -- var10 = (int)(8.5D + var24 * (double)var9 * 0.3D); -- var11 = (int)(7.5D + var26 * (double)var9 * 0.3D * 0.5D); -- var12 = var11 * 16 + var10; -+ var10 = (int)((tileSizeBase >> 1) + 0.5D + var24 * (double)var9 * 0.3D); -+ var11 = (int)((tileSizeBase >> 1) - 0.5D + var26 * (double)var9 * 0.3D * 0.5D); -+ var12 = var11 * tileSizeBase + var10; - var13 = var9 >= 0 ? 255 : 100; - var14 = var9 >= 0 ? 20 : 100; - var15 = var9 >= 0 ? 20 : 100; diff --git a/fml/patches/minecraft/net/minecraft/src/TextureFlamesFX.java.patch b/fml/patches/minecraft/net/minecraft/src/TextureFlamesFX.java.patch deleted file mode 100644 index d7fb1ea53..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TextureFlamesFX.java.patch +++ /dev/null @@ -1,87 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TextureFlamesFX.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TextureFlamesFX.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,13 +1,28 @@ - package net.minecraft.src; - --public class TextureFlamesFX extends TextureFX -+import cpw.mods.fml.client.FMLTextureFX; -+ -+public class TextureFlamesFX extends FMLTextureFX - { - protected float[] field_1133_g = new float[320]; - protected float[] field_1132_h = new float[320]; -+ private int fireTileSize = 20; -+ private int fireGridSize = 320; - - public TextureFlamesFX(int p_i474_1_) - { - super(Block.field_402_as.field_378_bb + p_i474_1_ * 16); -+ setup(); -+ } -+ -+ @Override -+ public void setup() -+ { -+ super.setup(); -+ fireTileSize = tileSizeBase + (tileSizeBase >> 2); -+ fireGridSize = fireTileSize * tileSizeBase; -+ field_1133_g = new float[fireGridSize]; -+ field_1132_h = new float[fireGridSize]; - } - - public void func_783_a() -@@ -16,31 +31,36 @@ - float var4; - int var6; - -- for (int var1 = 0; var1 < 16; ++var1) -+ float fireFactor1 = 3.0F + (float)(tileSizeBase >> 4); -+ -+ float fireFactor2 = 1.01F + (0.8F / tileSizeBase); -+ -+ for (int var1 = 0; var1 < tileSizeBase; ++var1) - { -- for (int var2 = 0; var2 < 20; ++var2) -+ for (int var2 = 0; var2 < fireTileSize; ++var2) - { -- var3 = 18; -- var4 = this.field_1133_g[var1 + (var2 + 1) % 20 * 16] * (float)var3; -+ var3 = fireTileSize - (tileSizeBase >> 3); -+ -+ var4 = this.field_1133_g[var1 + (var2 + 1) % fireTileSize * tileSizeBase] * (float)var3; - - for (int var5 = var1 - 1; var5 <= var1 + 1; ++var5) - { - for (var6 = var2; var6 <= var2 + 1; ++var6) - { -- if (var5 >= 0 && var6 >= 0 && var5 < 16 && var6 < 20) -+ if (var5 >= 0 && var6 >= 0 && var5 < tileSizeBase && var6 < fireTileSize) - { -- var4 += this.field_1133_g[var5 + var6 * 16]; -+ var4 += this.field_1133_g[var5 + var6 * tileSizeBase]; - } - - ++var3; - } - } - -- this.field_1132_h[var1 + var2 * 16] = var4 / ((float)var3 * 1.0600001F); -+ this.field_1132_h[var1 + var2 * tileSizeBase] = var4 / ((float)var3 * fireFactor2); - -- if (var2 >= 19) -+ if (var2 >= fireTileSize - (tileSizeBase >> 4)) - { -- this.field_1132_h[var1 + var2 * 16] = (float)(Math.random() * Math.random() * Math.random() * 4.0D + Math.random() * 0.10000000149011612D + 0.20000000298023224D); -+ this.field_1132_h[var1 + var2 * tileSizeBase] = (float)(Math.random() * Math.random() * Math.random() * fireFactor1 + Math.random() * 0.1F + 0.2F); - } - } - } -@@ -49,7 +69,7 @@ - this.field_1132_h = this.field_1133_g; - this.field_1133_g = var13; - -- for (var3 = 0; var3 < 256; ++var3) -+ for (var3 = 0; var3 < tileSizeSquare; ++var3) - { - var4 = this.field_1133_g[var3] * 1.8F; - diff --git a/fml/patches/minecraft/net/minecraft/src/TextureLavaFX.java.patch b/fml/patches/minecraft/net/minecraft/src/TextureLavaFX.java.patch deleted file mode 100644 index 5db5f9c99..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TextureLavaFX.java.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TextureLavaFX.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TextureLavaFX.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,15 +1,28 @@ - package net.minecraft.src; - --public class TextureLavaFX extends TextureFX -+import cpw.mods.fml.client.FMLTextureFX; -+ -+public class TextureLavaFX extends FMLTextureFX - { -- protected float[] field_1147_g = new float[256]; -- protected float[] field_1146_h = new float[256]; -- protected float[] field_1145_i = new float[256]; -- protected float[] field_1144_j = new float[256]; -+ protected float[] field_1147_g; -+ protected float[] field_1146_h; -+ protected float[] field_1145_i; -+ protected float[] field_1144_j; - - public TextureLavaFX() - { - super(Block.field_397_D.field_378_bb); -+ setup(); -+ } -+ -+ @Override -+ public void setup() -+ { -+ super.setup(); -+ field_1147_g = new float[tileSizeSquare]; -+ field_1146_h = new float[tileSizeSquare]; -+ field_1145_i = new float[tileSizeSquare]; -+ field_1144_j = new float[tileSizeSquare]; - } - - public void func_783_a() -@@ -22,9 +35,9 @@ - int var8; - int var9; - -- for (int var1 = 0; var1 < 16; ++var1) -+ for (int var1 = 0; var1 < tileSizeBase; ++var1) - { -- for (var2 = 0; var2 < 16; ++var2) -+ for (var2 = 0; var2 < tileSizeBase; ++var2) - { - var3 = 0.0F; - int var4 = (int)(MathHelper.func_1106_a((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F); -@@ -34,25 +47,25 @@ - { - for (var7 = var2 - 1; var7 <= var2 + 1; ++var7) - { -- var8 = var6 + var4 & 15; -- var9 = var7 + var5 & 15; -- var3 += this.field_1147_g[var8 + var9 * 16]; -+ var8 = var6 + var4 & tileSizeMask; -+ var9 = var7 + var5 & tileSizeMask; -+ var3 += this.field_1147_g[var8 + var9 * tileSizeBase]; - } - } - -- this.field_1146_h[var1 + var2 * 16] = var3 / 10.0F + (this.field_1145_i[(var1 + 0 & 15) + (var2 + 0 & 15) * 16] + this.field_1145_i[(var1 + 1 & 15) + (var2 + 0 & 15) * 16] + this.field_1145_i[(var1 + 1 & 15) + (var2 + 1 & 15) * 16] + this.field_1145_i[(var1 + 0 & 15) + (var2 + 1 & 15) * 16]) / 4.0F * 0.8F; -- this.field_1145_i[var1 + var2 * 16] += this.field_1144_j[var1 + var2 * 16] * 0.01F; -+ this.field_1146_h[var1 + var2 * tileSizeBase] = var3 / 10.0F + (this.field_1145_i[(var1 + 0 & 15) + (var2 + 0 & 15) * tileSizeBase] + this.field_1145_i[(var1 + 1 & 15) + (var2 + 0 & 15) * tileSizeBase] + this.field_1145_i[(var1 + 1 & 15) + (var2 + 1 & 15) * tileSizeBase] + this.field_1145_i[(var1 + 0 & 15) + (var2 + 1 & 15) * tileSizeBase]) / 4.0F * 0.8F; -+ this.field_1145_i[var1 + var2 * tileSizeBase] += this.field_1144_j[var1 + var2 * tileSizeBase] * 0.01F; - -- if (this.field_1145_i[var1 + var2 * 16] < 0.0F) -+ if (this.field_1145_i[var1 + var2 * tileSizeBase] < 0.0F) - { -- this.field_1145_i[var1 + var2 * 16] = 0.0F; -+ this.field_1145_i[var1 + var2 * tileSizeBase] = 0.0F; - } - -- this.field_1144_j[var1 + var2 * 16] -= 0.06F; -+ this.field_1144_j[var1 + var2 * tileSizeBase] -= 0.06F; - - if (Math.random() < 0.005D) - { -- this.field_1144_j[var1 + var2 * 16] = 1.5F; -+ this.field_1144_j[var1 + var2 * tileSizeBase] = 1.5F; - } - } - } -@@ -61,7 +74,7 @@ - this.field_1146_h = this.field_1147_g; - this.field_1147_g = var11; - -- for (var2 = 0; var2 < 256; ++var2) -+ for (var2 = 0; var2 < tileSizeSquare; ++var2) - { - var3 = this.field_1147_g[var2] * 2.0F; - diff --git a/fml/patches/minecraft/net/minecraft/src/TextureLavaFlowFX.java.patch b/fml/patches/minecraft/net/minecraft/src/TextureLavaFlowFX.java.patch deleted file mode 100644 index 4b770ea98..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TextureLavaFlowFX.java.patch +++ /dev/null @@ -1,90 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TextureLavaFlowFX.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TextureLavaFlowFX.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,6 +1,8 @@ - package net.minecraft.src; - --public class TextureLavaFlowFX extends TextureFX -+import cpw.mods.fml.client.FMLTextureFX; -+ -+public class TextureLavaFlowFX extends FMLTextureFX - { - protected float[] field_1143_g = new float[256]; - protected float[] field_1142_h = new float[256]; -@@ -12,6 +14,18 @@ - { - super(Block.field_397_D.field_378_bb + 1); - this.field_1129_e = 2; -+ setup(); -+ } -+ -+ @Override -+ public void setup() -+ { -+ super.setup(); -+ field_1143_g = new float[tileSizeSquare]; -+ field_1142_h = new float[tileSizeSquare]; -+ field_1141_i = new float[tileSizeSquare]; -+ field_1140_j = new float[tileSizeSquare]; -+ field_1139_k = 0; - } - - public void func_783_a() -@@ -25,9 +39,9 @@ - int var8; - int var9; - -- for (int var1 = 0; var1 < 16; ++var1) -+ for (int var1 = 0; var1 < tileSizeBase; ++var1) - { -- for (var2 = 0; var2 < 16; ++var2) -+ for (var2 = 0; var2 < tileSizeBase; ++var2) - { - var3 = 0.0F; - int var4 = (int)(MathHelper.func_1106_a((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F); -@@ -37,25 +51,25 @@ - { - for (var7 = var2 - 1; var7 <= var2 + 1; ++var7) - { -- var8 = var6 + var4 & 15; -- var9 = var7 + var5 & 15; -- var3 += this.field_1143_g[var8 + var9 * 16]; -+ var8 = var6 + var4 & tileSizeMask; -+ var9 = var7 + var5 & tileSizeMask; -+ var3 += this.field_1143_g[var8 + var9 * tileSizeBase]; - } - } - -- this.field_1142_h[var1 + var2 * 16] = var3 / 10.0F + (this.field_1141_i[(var1 + 0 & 15) + (var2 + 0 & 15) * 16] + this.field_1141_i[(var1 + 1 & 15) + (var2 + 0 & 15) * 16] + this.field_1141_i[(var1 + 1 & 15) + (var2 + 1 & 15) * 16] + this.field_1141_i[(var1 + 0 & 15) + (var2 + 1 & 15) * 16]) / 4.0F * 0.8F; -- this.field_1141_i[var1 + var2 * 16] += this.field_1140_j[var1 + var2 * 16] * 0.01F; -+ this.field_1142_h[var1 + var2 * tileSizeBase] = var3 / 10.0F + (this.field_1141_i[(var1 + 0 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_1141_i[(var1 + 1 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_1141_i[(var1 + 1 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase] + this.field_1141_i[(var1 + 0 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase]) / 4.0F * 0.8F; -+ this.field_1141_i[var1 + var2 * tileSizeBase] += this.field_1140_j[var1 + var2 * tileSizeBase] * 0.01F; - -- if (this.field_1141_i[var1 + var2 * 16] < 0.0F) -+ if (this.field_1141_i[var1 + var2 * tileSizeBase] < 0.0F) - { -- this.field_1141_i[var1 + var2 * 16] = 0.0F; -+ this.field_1141_i[var1 + var2 * tileSizeBase] = 0.0F; - } - -- this.field_1140_j[var1 + var2 * 16] -= 0.06F; -+ this.field_1140_j[var1 + var2 * tileSizeBase] -= 0.06F; - - if (Math.random() < 0.005D) - { -- this.field_1140_j[var1 + var2 * 16] = 1.5F; -+ this.field_1140_j[var1 + var2 * tileSizeBase] = 1.5F; - } - } - } -@@ -64,9 +78,9 @@ - this.field_1142_h = this.field_1143_g; - this.field_1143_g = var11; - -- for (var2 = 0; var2 < 256; ++var2) -+ for (var2 = 0; var2 < tileSizeSquare; ++var2) - { -- var3 = this.field_1143_g[var2 - this.field_1139_k / 3 * 16 & 255] * 2.0F; -+ var3 = this.field_1143_g[(var2 - this.field_1139_k / 3 * tileSizeBase) & tileSizeSquareMask] * 2.0F; - - if (var3 > 1.0F) - { diff --git a/fml/patches/minecraft/net/minecraft/src/TexturePackList.java.patch b/fml/patches/minecraft/net/minecraft/src/TexturePackList.java.patch deleted file mode 100644 index eb886ae94..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TexturePackList.java.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TexturePackList.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TexturePackList.java 0000-00-00 00:00:00.000000000 -0000 -@@ -8,6 +8,8 @@ - import java.util.Iterator; - import java.util.List; - import java.util.Map; -+ -+import cpw.mods.fml.client.FMLClientHandler; - import net.minecraft.client.Minecraft; - - public class TexturePackList -@@ -18,7 +20,7 @@ - private final File field_57507_d; - private List field_6533_b = new ArrayList(); - private Map field_55280_f = new HashMap(); -- private TexturePackBase field_6534_a; -+ public TexturePackBase field_6534_a; - private boolean field_57509_h; - - public TexturePackList(File p_i1506_1_, Minecraft p_i1506_2_) -@@ -131,6 +133,7 @@ - var1.add(var5); - } - } -+ FMLClientHandler.instance().onEarlyTexturePackLoad(this.field_6534_a); - - this.field_6533_b.removeAll(var1); - var2 = this.field_6533_b.iterator(); diff --git a/fml/patches/minecraft/net/minecraft/src/TexturePortalFX.java.patch b/fml/patches/minecraft/net/minecraft/src/TexturePortalFX.java.patch deleted file mode 100644 index 8e75276dc..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TexturePortalFX.java.patch +++ /dev/null @@ -1,78 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TexturePortalFX.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TexturePortalFX.java 0000-00-00 00:00:00.000000000 -0000 -@@ -2,31 +2,41 @@ - - import java.util.Random; - --public class TexturePortalFX extends TextureFX -+import cpw.mods.fml.client.FMLTextureFX; -+ -+public class TexturePortalFX extends FMLTextureFX - { - private int field_4227_g = 0; -- private byte[][] field_4226_h = new byte[32][1024]; -+ private byte[][] field_4226_h; - - public TexturePortalFX() - { - super(Block.field_4047_bf.field_378_bb); -+ setup(); -+ } -+ -+ @Override -+ public void setup() -+ { -+ super.setup(); -+ field_4226_h = new byte[32][tileSizeSquare << 4]; - Random var1 = new Random(100L); - - for (int var2 = 0; var2 < 32; ++var2) - { -- for (int var3 = 0; var3 < 16; ++var3) -+ for (int var3 = 0; var3 < tileSizeBase; ++var3) - { -- for (int var4 = 0; var4 < 16; ++var4) -+ for (int var4 = 0; var4 < tileSizeBase; ++var4) - { - float var5 = 0.0F; - int var6; - - for (var6 = 0; var6 < 2; ++var6) - { -- float var7 = (float)(var6 * 16) * 0.5F; -- float var8 = (float)(var6 * 16) * 0.5F; -- float var9 = ((float)var3 - var7) / 16.0F * 2.0F; -- float var10 = ((float)var4 - var8) / 16.0F * 2.0F; -+ float var7 = (float)(var6 * tileSizeBase) * 0.5F; -+ float var8 = (float)(var6 * tileSizeBase) * 0.5F; -+ float var9 = ((float)var3 - var7) / (float)tileSizeBase * 2.0F; -+ float var10 = ((float)var4 - var8) / (float)tileSizeBase * 2.0F; - - if (var9 < -1.0F) - { -@@ -60,7 +70,7 @@ - int var13 = (int)(var5 * var5 * 200.0F + 55.0F); - int var14 = (int)(var5 * var5 * var5 * var5 * 255.0F); - int var15 = (int)(var5 * 100.0F + 155.0F); -- int var16 = var4 * 16 + var3; -+ int var16 = var4 * tileSizeBase + var3; - this.field_4226_h[var2][var16 * 4 + 0] = (byte)var13; - this.field_4226_h[var2][var16 * 4 + 1] = (byte)var14; - this.field_4226_h[var2][var16 * 4 + 2] = (byte)var6; -@@ -68,6 +78,7 @@ - } - } - } -+ field_4227_g = 0; - } - - public void func_783_a() -@@ -75,7 +86,7 @@ - ++this.field_4227_g; - byte[] var1 = this.field_4226_h[this.field_4227_g & 31]; - -- for (int var2 = 0; var2 < 256; ++var2) -+ for (int var2 = 0; var2 < tileSizeSquare; ++var2) - { - int var3 = var1[var2 * 4 + 0] & 255; - int var4 = var1[var2 * 4 + 1] & 255; diff --git a/fml/patches/minecraft/net/minecraft/src/TextureWatchFX.java.patch b/fml/patches/minecraft/net/minecraft/src/TextureWatchFX.java.patch deleted file mode 100644 index 75ceb672c..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TextureWatchFX.java.patch +++ /dev/null @@ -1,94 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TextureWatchFX.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TextureWatchFX.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,11 +1,18 @@ - package net.minecraft.src; - -+import java.awt.Graphics2D; - import java.awt.image.BufferedImage; -+import java.awt.image.ImageObserver; - import java.io.IOException; -+import java.util.logging.Level; -+ - import javax.imageio.ImageIO; -+ -+import cpw.mods.fml.client.FMLTextureFX; -+import cpw.mods.fml.common.FMLCommonHandler; - import net.minecraft.client.Minecraft; - --public class TextureWatchFX extends TextureFX -+public class TextureWatchFX extends FMLTextureFX - { - private Minecraft field_4225_g; - private int[] field_4224_h = new int[256]; -@@ -18,19 +25,36 @@ - super(Item.field_4023_aQ.func_27009_a(0)); - this.field_4225_g = p_i364_1_; - this.field_1128_f = 1; -+ setup(); -+ } - -+ @Override -+ public void setup() -+ { -+ super.setup(); -+ field_4224_h = new int[tileSizeSquare]; -+ field_4223_i = new int[tileSizeSquare]; - try - { -- BufferedImage var2 = ImageIO.read(Minecraft.class.getResource("/gui/items.png")); -- int var3 = this.field_1126_b % 16 * 16; -- int var4 = this.field_1126_b / 16 * 16; -- var2.getRGB(var3, var4, 16, 16, this.field_4224_h, 0, 16); -- var2 = ImageIO.read(Minecraft.class.getResource("/misc/dial.png")); -- var2.getRGB(0, 0, 16, 16, this.field_4223_i, 0, 16); -+ BufferedImage var2 = ImageIO.read(field_4225_g.field_6298_C.field_6534_a.func_6481_a("/gui/items.png")); -+ int var3 = this.field_1126_b % 16 * tileSizeBase; -+ int var4 = this.field_1126_b / 16 * tileSizeBase; -+ var2.getRGB(var3, var4, tileSizeBase, tileSizeBase, this.field_4224_h, 0, tileSizeBase); -+ var2 = ImageIO.read(field_4225_g.field_6298_C.field_6534_a.func_6481_a("/misc/dial.png")); -+ if (var2.getWidth() != tileSizeBase) -+ { -+ BufferedImage tmp = new BufferedImage(tileSizeBase, tileSizeBase, 6); -+ Graphics2D gfx = tmp.createGraphics(); -+ gfx.drawImage(var2, 0, 0, tileSizeBase, tileSizeBase, 0, 0, var2.getWidth(), var2.getHeight(), (ImageObserver)null); -+ gfx.dispose(); -+ var2 = tmp; -+ } -+ var2.getRGB(0, 0, tileSizeBase, tileSizeBase, this.field_4223_i, 0, tileSizeBase); - } -- catch (IOException var5) -+ catch (Exception var5) - { -- var5.printStackTrace(); -+ log.log(Level.WARNING, String.format("A problem occurred with the watch texture: animation will be disabled"), var5); -+ setErrored(true); - } - } - -@@ -77,7 +101,7 @@ - double var5 = Math.sin(this.field_4222_j); - double var7 = Math.cos(this.field_4222_j); - -- for (int var9 = 0; var9 < 256; ++var9) -+ for (int var9 = 0; var9 < tileSizeSquare; ++var9) - { - int var10 = this.field_4224_h[var9] >> 24 & 255; - int var11 = this.field_4224_h[var9] >> 16 & 255; -@@ -86,12 +110,12 @@ - - if (var11 == var13 && var12 == 0 && var13 > 0) - { -- double var14 = -((double)(var9 % 16) / 15.0D - 0.5D); -- double var16 = (double)(var9 / 16) / 15.0D - 0.5D; -+ double var14 = -((double)(var9 % tileSizeBase) / tileSizeMask - 0.5D); -+ double var16 = (double)(var9 / tileSizeBase) / tileSizeMask - 0.5D; - int var18 = var11; -- int var19 = (int)((var14 * var7 + var16 * var5 + 0.5D) * 16.0D); -- int var20 = (int)((var16 * var7 - var14 * var5 + 0.5D) * 16.0D); -- int var21 = (var19 & 15) + (var20 & 15) * 16; -+ int var19 = (int)((var14 * var7 + var16 * var5 + 0.5D) * tileSizeBase); -+ int var20 = (int)((var16 * var7 - var14 * var5 + 0.5D) * tileSizeBase); -+ int var21 = (var19 & tileSizeMask) + (var20 & tileSizeMask) * tileSizeBase; - var10 = this.field_4223_i[var21] >> 24 & 255; - var11 = (this.field_4223_i[var21] >> 16 & 255) * var11 / 255; - var12 = (this.field_4223_i[var21] >> 8 & 255) * var18 / 255; diff --git a/fml/patches/minecraft/net/minecraft/src/TextureWaterFX.java.patch b/fml/patches/minecraft/net/minecraft/src/TextureWaterFX.java.patch deleted file mode 100644 index 256720a35..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TextureWaterFX.java.patch +++ /dev/null @@ -1,95 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TextureWaterFX.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TextureWaterFX.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,6 +1,8 @@ - package net.minecraft.src; - --public class TextureWaterFX extends TextureFX -+import cpw.mods.fml.client.FMLTextureFX; -+ -+public class TextureWaterFX extends FMLTextureFX - { - protected float[] field_1158_g = new float[256]; - protected float[] field_1157_h = new float[256]; -@@ -11,8 +13,20 @@ - public TextureWaterFX() - { - super(Block.field_401_B.field_378_bb); -+ setup(); - } - -+ @Override -+ public void setup() -+ { -+ super.setup(); -+ field_1158_g = new float[tileSizeSquare]; -+ field_1157_h = new float[tileSizeSquare]; -+ field_1156_i = new float[tileSizeSquare]; -+ field_1155_j = new float[tileSizeSquare]; -+ field_1154_k = 0; -+ } -+ - public void func_783_a() - { - ++this.field_1154_k; -@@ -22,39 +36,39 @@ - int var5; - int var6; - -- for (var1 = 0; var1 < 16; ++var1) -+ for (var1 = 0; var1 < tileSizeBase; ++var1) - { -- for (var2 = 0; var2 < 16; ++var2) -+ for (var2 = 0; var2 < tileSizeBase; ++var2) - { - var3 = 0.0F; - - for (int var4 = var1 - 1; var4 <= var1 + 1; ++var4) - { -- var5 = var4 & 15; -- var6 = var2 & 15; -- var3 += this.field_1158_g[var5 + var6 * 16]; -+ var5 = var4 & tileSizeMask; -+ var6 = var2 & tileSizeMask; -+ var3 += this.field_1158_g[var5 + var6 * tileSizeBase]; - } - -- this.field_1157_h[var1 + var2 * 16] = var3 / 3.3F + this.field_1156_i[var1 + var2 * 16] * 0.8F; -+ this.field_1157_h[var1 + var2 * tileSizeBase] = var3 / 3.3F + this.field_1156_i[var1 + var2 * tileSizeBase] * 0.8F; - } - } - -- for (var1 = 0; var1 < 16; ++var1) -+ for (var1 = 0; var1 < tileSizeBase; ++var1) - { -- for (var2 = 0; var2 < 16; ++var2) -+ for (var2 = 0; var2 < tileSizeBase; ++var2) - { -- this.field_1156_i[var1 + var2 * 16] += this.field_1155_j[var1 + var2 * 16] * 0.05F; -+ this.field_1156_i[var1 + var2 * tileSizeBase] += this.field_1155_j[var1 + var2 * tileSizeBase] * 0.05F; - -- if (this.field_1156_i[var1 + var2 * 16] < 0.0F) -+ if (this.field_1156_i[var1 + var2 * tileSizeBase] < 0.0F) - { -- this.field_1156_i[var1 + var2 * 16] = 0.0F; -+ this.field_1156_i[var1 + var2 * tileSizeBase] = 0.0F; - } - -- this.field_1155_j[var1 + var2 * 16] -= 0.1F; -+ this.field_1155_j[var1 + var2 * tileSizeBase] -= 0.1F; - - if (Math.random() < 0.05D) - { -- this.field_1155_j[var1 + var2 * 16] = 0.5F; -+ this.field_1155_j[var1 + var2 * tileSizeBase] = 0.5F; - } - } - } -@@ -63,7 +77,7 @@ - this.field_1157_h = this.field_1158_g; - this.field_1158_g = var12; - -- for (var2 = 0; var2 < 256; ++var2) -+ for (var2 = 0; var2 < tileSizeSquare; ++var2) - { - var3 = this.field_1158_g[var2]; - diff --git a/fml/patches/minecraft/net/minecraft/src/TextureWaterFlowFX.java.patch b/fml/patches/minecraft/net/minecraft/src/TextureWaterFlowFX.java.patch deleted file mode 100644 index 48486ffe4..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TextureWaterFlowFX.java.patch +++ /dev/null @@ -1,98 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TextureWaterFlowFX.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TextureWaterFlowFX.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,6 +1,8 @@ - package net.minecraft.src; - --public class TextureWaterFlowFX extends TextureFX -+import cpw.mods.fml.client.FMLTextureFX; -+ -+public class TextureWaterFlowFX extends FMLTextureFX - { - protected float[] field_1138_g = new float[256]; - protected float[] field_1137_h = new float[256]; -@@ -12,6 +14,18 @@ - { - super(Block.field_401_B.field_378_bb + 1); - this.field_1129_e = 2; -+ setup(); -+ } -+ -+ @Override -+ public void setup() -+ { -+ super.setup(); -+ field_1138_g = new float[tileSizeSquare]; -+ field_1137_h = new float[tileSizeSquare]; -+ field_1136_i = new float[tileSizeSquare]; -+ field_1135_j = new float[tileSizeSquare]; -+ field_1134_k = 0; - } - - public void func_783_a() -@@ -22,40 +36,40 @@ - float var3; - int var5; - int var6; -- -- for (var1 = 0; var1 < 16; ++var1) -+ -+ for (var1 = 0; var1 < tileSizeBase; ++var1) - { -- for (var2 = 0; var2 < 16; ++var2) -+ for (var2 = 0; var2 < tileSizeBase; ++var2) - { - var3 = 0.0F; - - for (int var4 = var2 - 2; var4 <= var2; ++var4) - { -- var5 = var1 & 15; -- var6 = var4 & 15; -- var3 += this.field_1138_g[var5 + var6 * 16]; -+ var5 = var1 & tileSizeMask; -+ var6 = var4 & tileSizeMask; -+ var3 += this.field_1138_g[var5 + var6 * tileSizeBase]; - } - -- this.field_1137_h[var1 + var2 * 16] = var3 / 3.2F + this.field_1136_i[var1 + var2 * 16] * 0.8F; -+ this.field_1137_h[var1 + var2 * tileSizeBase] = var3 / 3.2F + this.field_1136_i[var1 + var2 * tileSizeBase] * 0.8F; - } - } - -- for (var1 = 0; var1 < 16; ++var1) -+ for (var1 = 0; var1 < tileSizeBase; ++var1) - { -- for (var2 = 0; var2 < 16; ++var2) -+ for (var2 = 0; var2 < tileSizeBase; ++var2) - { -- this.field_1136_i[var1 + var2 * 16] += this.field_1135_j[var1 + var2 * 16] * 0.05F; -+ this.field_1136_i[var1 + var2 * tileSizeBase] += this.field_1135_j[var1 + var2 * tileSizeBase] * 0.05F; - -- if (this.field_1136_i[var1 + var2 * 16] < 0.0F) -+ if (this.field_1136_i[var1 + var2 * tileSizeBase] < 0.0F) - { -- this.field_1136_i[var1 + var2 * 16] = 0.0F; -+ this.field_1136_i[var1 + var2 * tileSizeBase] = 0.0F; - } - -- this.field_1135_j[var1 + var2 * 16] -= 0.3F; -+ this.field_1135_j[var1 + var2 * tileSizeBase] -= 0.3F; - - if (Math.random() < 0.2D) - { -- this.field_1135_j[var1 + var2 * 16] = 0.5F; -+ this.field_1135_j[var1 + var2 * tileSizeBase] = 0.5F; - } - } - } -@@ -64,9 +78,9 @@ - this.field_1137_h = this.field_1138_g; - this.field_1138_g = var12; - -- for (var2 = 0; var2 < 256; ++var2) -+ for (var2 = 0; var2 < tileSizeSquare; ++var2) - { -- var3 = this.field_1138_g[var2 - this.field_1134_k * 16 & 255]; -+ var3 = this.field_1138_g[var2 - this.field_1134_k * tileSizeBase & tileSizeSquareMask]; - - if (var3 > 1.0F) - { diff --git a/fml/patches/minecraft/net/minecraft/src/TileEntity.java.patch b/fml/patches/minecraft/net/minecraft/src/TileEntity.java.patch deleted file mode 100644 index e67c66e6e..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TileEntity.java.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TileEntity.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TileEntity.java 0000-00-00 00:00:00.000000000 -0000 -@@ -179,4 +179,8 @@ - func_476_a(TileEntityEnchantmentTable.class, "EnchantTable"); - func_476_a(TileEntityEndPortal.class, "Airportal"); - } -+ -+ public static void addNewTileEntityMapping(Class tileEntityClass, String id) { -+ func_476_a(tileEntityClass, id); -+ } - } diff --git a/fml/patches/minecraft/net/minecraft/src/TileEntityFurnace.java.patch b/fml/patches/minecraft/net/minecraft/src/TileEntityFurnace.java.patch deleted file mode 100644 index 0650820d2..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TileEntityFurnace.java.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,5 +1,8 @@ - package net.minecraft.src; - -+import cpw.mods.fml.client.FMLClientHandler; -+import cpw.mods.fml.common.FMLCommonHandler; -+ - public class TileEntityFurnace extends TileEntity implements IInventory - { - private ItemStack[] field_833_a = new ItemStack[3]; -@@ -268,8 +271,15 @@ - return 300; - } - } -- -- return var2 instanceof ItemTool && ((ItemTool)var2).func_56820_c().equals("WOOD") ? 200 : (var2 instanceof ItemSword && ((ItemSword)var2).func_56828_d().equals("WOOD") ? 200 : (var2 instanceof ItemHoe && ((ItemHoe)var2).func_56829_d().equals("WOOD") ? 200 : (var1 == Item.field_266_B.field_291_aS ? 100 : (var1 == Item.field_225_k.field_291_aS ? 1600 : (var1 == Item.field_258_aw.field_291_aS ? 20000 : (var1 == Block.field_333_z.field_376_bc ? 100 : (var1 == Item.field_40417_bo.field_291_aS ? 2400 : 0))))))); -+ if (var2 instanceof ItemTool && ((ItemTool) var2).func_56820_c().equals("WOOD")) return 200; -+ if (var2 instanceof ItemSword && ((ItemSword) var2).func_56828_d().equals("WOOD")) return 200; -+ if (var2 instanceof ItemHoe && ((ItemHoe) var2).func_56829_d().equals("WOOD")) return 200; -+ if (var1 == Item.field_266_B.field_291_aS) return 100; -+ if (var1 == Item.field_225_k.field_291_aS) return 1600; -+ if (var1 == Item.field_258_aw.field_291_aS) return 20000; -+ if (var1 == Block.field_333_z.field_376_bc) return 100; -+ if (var1 == Item.field_40417_bo.field_291_aS) return 2400; -+ return FMLCommonHandler.instance().fuelLookup(var1, p_488_0_.func_21179_h()); - } - } - diff --git a/fml/patches/minecraft/net/minecraft/src/TileEntityRenderer.java.patch b/fml/patches/minecraft/net/minecraft/src/TileEntityRenderer.java.patch deleted file mode 100644 index 82b6fd136..000000000 --- a/fml/patches/minecraft/net/minecraft/src/TileEntityRenderer.java.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/TileEntityRenderer.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/TileEntityRenderer.java 0000-00-00 00:00:00.000000000 -0000 -@@ -123,4 +123,9 @@ - { - return this.field_1541_n; - } -+ -+ public static void setTileEntityRenderer(Class tileEntityClass, TileEntitySpecialRenderer renderer) { -+ field_1554_a.field_6517_m.put(tileEntityClass,renderer); -+ renderer.func_928_a(field_1554_a); -+ } - } diff --git a/fml/patches/minecraft/net/minecraft/src/World.java.patch b/fml/patches/minecraft/net/minecraft/src/World.java.patch deleted file mode 100644 index f3d419da6..000000000 --- a/fml/patches/minecraft/net/minecraft/src/World.java.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/World.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/World.java 0000-00-00 00:00:00.000000000 -0000 -@@ -3322,7 +3322,7 @@ - - public double func_46068_G() - { -- return this.field_22145_q.func_46133_t() == WorldType.field_48636_c ? 0.0D : 63.0D; -+ return this.field_22145_q.func_46133_t().getHorizon(this); - } - - public CrashReport func_55266_a(CrashReport p_55266_1_) diff --git a/fml/patches/minecraft/net/minecraft/src/WorldProvider.java.patch b/fml/patches/minecraft/net/minecraft/src/WorldProvider.java.patch deleted file mode 100644 index 1d2f080c8..000000000 --- a/fml/patches/minecraft/net/minecraft/src/WorldProvider.java.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000 -@@ -32,19 +32,12 @@ - - protected void func_4098_a() - { -- if (this.field_4216_a.func_22144_v().func_46133_t() == WorldType.field_48636_c) -- { -- this.field_4215_b = new WorldChunkManagerHell(BiomeGenBase.field_35485_c, 0.5F, 0.5F); -- } -- else -- { -- this.field_4215_b = new WorldChunkManager(this.field_4216_a); -- } -+ this.field_4215_b=this.field_46067_b.getChunkManager(field_4216_a); - } - - public IChunkProvider func_4094_c() - { -- return (IChunkProvider)(this.field_46067_b == WorldType.field_48636_c ? new ChunkProviderFlat(this.field_4216_a, this.field_4216_a.func_22138_q(), this.field_4216_a.func_22144_v().func_35917_r()) : new ChunkProviderGenerate(this.field_4216_a, this.field_4216_a.func_22138_q(), this.field_4216_a.func_22144_v().func_35917_r())); -+ return this.field_46067_b.getChunkGenerator(field_4216_a); - } - - public boolean func_4102_a(int p_4102_1_, int p_4102_2_) -@@ -157,17 +150,17 @@ - - public int func_46066_g() - { -- return this.field_46067_b == WorldType.field_48636_c ? 4 : 64; -+ return this.field_46067_b.getMinimumSpawnHeight(field_4216_a); - } - - public boolean func_46064_i() - { -- return this.field_46067_b != WorldType.field_48636_c && !this.field_6478_e; -+ return this.field_46067_b.hasVoidParticles(this.field_6478_e); - } - - public double func_46065_j() - { -- return this.field_46067_b == WorldType.field_48636_c ? 1.0D : 0.03125D; -+ return this.field_46067_b.voidFadeMagnitude(); - } - - public boolean func_48218_b(int p_48218_1_, int p_48218_2_) diff --git a/fml/patches/minecraft/net/minecraft/src/WorldType.java.patch b/fml/patches/minecraft/net/minecraft/src/WorldType.java.patch deleted file mode 100644 index 022666a4e..000000000 --- a/fml/patches/minecraft/net/minecraft/src/WorldType.java.patch +++ /dev/null @@ -1,111 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/src/WorldType.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft/net/minecraft/src/WorldType.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,5 +1,9 @@ - package net.minecraft.src; - -+import java.util.ArrayList; -+import java.util.Arrays; -+import java.util.List; -+ - public class WorldType - { - public static final WorldType[] field_48637_a = new WorldType[16]; -@@ -12,17 +16,26 @@ - private boolean field_48633_g; - private boolean field_48638_h; - -- private WorldType(int p_i1080_1_, String p_i1080_2_) -+ protected BiomeGenBase[] biomesForWorldType; -+ -+ protected WorldType(int p_i1080_1_, String p_i1080_2_) - { - this(p_i1080_1_, p_i1080_2_, 0); - } - -- private WorldType(int p_i1081_1_, String p_i1081_2_, int p_i1081_3_) -+ protected WorldType(int p_i1081_1_, String p_i1081_2_, int p_i1081_3_) - { - this.field_46139_c = p_i1081_2_; - this.field_48632_f = p_i1081_3_; - this.field_48633_g = true; - field_48637_a[p_i1081_1_] = this; -+ switch (p_i1081_1_) { -+ case 8: -+ biomesForWorldType = new BiomeGenBase[] {BiomeGenBase.field_4249_h, BiomeGenBase.field_4253_d, BiomeGenBase.field_35483_e, BiomeGenBase.field_4255_b, BiomeGenBase.field_35485_c, BiomeGenBase.field_4250_g}; -+ break; -+ default: -+ biomesForWorldType = new BiomeGenBase[] {BiomeGenBase.field_4249_h, BiomeGenBase.field_4253_d, BiomeGenBase.field_35483_e, BiomeGenBase.field_4255_b, BiomeGenBase.field_35485_c, BiomeGenBase.field_4250_g, BiomeGenBase.field_48416_w}; -+ } - } - - public String func_48628_a() -@@ -84,4 +97,69 @@ - - return null; - } -+ -+ public WorldChunkManager getChunkManager(World var1) -+ { -+ return this == field_48636_c ? new WorldChunkManagerHell(BiomeGenBase.field_35485_c, 0.5F, 0.5F) : new WorldChunkManager(var1); -+ } -+ -+ public IChunkProvider getChunkGenerator(World var1) -+ { -+ return this == field_48636_c ? new ChunkProviderFlat(var1, var1.func_22138_q(), var1.func_22144_v().func_35917_r()) : new ChunkProviderGenerate(var1, var1.func_22138_q(), var1.func_22144_v().func_35917_r()); -+ } -+ -+ /** -+ * @deprecated Use {@link #getMinimumSpawnHeight(World)} instead -+ */ -+ public int getSeaLevel(World var1) -+ { -+ return getMinimumSpawnHeight(var1); -+ } -+ -+ public int getMinimumSpawnHeight(World world) -+ { -+ return this == field_48636_c ? 4 : 64; -+ } -+ -+ public double getHorizon(World world) -+ { -+ return this == field_48636_c ? 0.0D : 63.0D; -+ } -+ -+ public boolean hasVoidParticles(boolean var1) -+ { -+ return this != field_48636_c && !var1; -+ } -+ -+ public double voidFadeMagnitude() -+ { -+ return this == field_48636_c ? 1.0D : 0.03125D; -+ } -+ -+ public BiomeGenBase[] getBiomesForWorldType() { -+ return biomesForWorldType; -+ } -+ -+ public void addNewBiome(BiomeGenBase biome) { -+ List newBiomesForWorld = new ArrayList(); -+ newBiomesForWorld.addAll(Arrays.asList(biomesForWorldType)); -+ -+ if (!newBiomesForWorld.contains(biome)) -+ newBiomesForWorld.add(biome); -+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]); -+ } -+ -+ public void removeBiome(BiomeGenBase biome) { -+ List newBiomesForWorld = new ArrayList(); -+ newBiomesForWorld.addAll(Arrays.asList(biomesForWorldType)); -+ -+ newBiomesForWorld.remove(biome); -+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]); -+ } -+ -+ /** -+ * Called when 'Create New World' button is pressed before starting game -+ */ -+ public void onGUICreateWorldPress() { } -+ - } diff --git a/fml/patches/minecraft_server/net/minecraft/server/MinecraftServer.java.patch b/fml/patches/minecraft_server/net/minecraft/server/MinecraftServer.java.patch deleted file mode 100644 index 04402f4ca..000000000 --- a/fml/patches/minecraft_server/net/minecraft/server/MinecraftServer.java.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/server/MinecraftServer.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/server/MinecraftServer.java 0000-00-00 00:00:00.000000000 -0000 -@@ -11,6 +11,9 @@ - import java.util.List; - import java.util.logging.Level; - import java.util.logging.Logger; -+ -+import cpw.mods.fml.common.FMLCommonHandler; -+import cpw.mods.fml.server.FMLServerHandler; - import net.minecraft.src.AnvilSaveConverter; - import net.minecraft.src.AxisAlignedBB; - import net.minecraft.src.CallableMCS5; -@@ -350,6 +353,8 @@ - { - long var1 = System.currentTimeMillis(); - -+ FMLCommonHandler.instance().onWorldLoadTick(); -+ - for (long var50 = 0L; this.field_6025_n; this.field_56215_O = true) - { - long var5 = System.currentTimeMillis(); -@@ -440,9 +445,11 @@ - - protected void func_56174_n() - { -+ FMLCommonHandler.instance().rescheduleTicks(); - long var1 = System.nanoTime(); - AxisAlignedBB.func_58089_a().func_58066_a(); - Vec3.func_58052_a().func_58075_a(); -+ FMLCommonHandler.instance().onPreServerTick(); - ++this.field_9014_h; - this.func_56160_o(); - -@@ -472,6 +479,7 @@ - { - this.field_56221_m.func_56622_b(); - } -+ FMLCommonHandler.instance().onPostServerTick(); - } - - public void func_56160_o() -@@ -489,7 +497,9 @@ - this.field_6033_f.func_28169_a(new Packet4UpdateTime(var4.func_22080_k()), var4.field_4272_q.field_6165_g); - } - -+ FMLCommonHandler.instance().onPreWorldTick(var4); - var4.func_22077_g(); -+ FMLCommonHandler.instance().onPostWorldTick(var4); - - while (true) - { diff --git a/fml/patches/minecraft_server/net/minecraft/src/BlockDispenser.java.patch b/fml/patches/minecraft_server/net/minecraft/src/BlockDispenser.java.patch deleted file mode 100644 index ddbc765d3..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/BlockDispenser.java.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/BlockDispenser.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/BlockDispenser.java 0000-00-00 00:00:00.000000000 -0000 -@@ -2,6 +2,8 @@ - - import java.util.Random; - -+import cpw.mods.fml.server.FMLServerHandler; -+ - public class BlockDispenser extends BlockContainer - { - private Random field_28032_a = new Random(); -@@ -259,7 +261,11 @@ - float var15 = 1.1F; - byte var16 = 6; - -- if (p_56353_2_.field_855_c == Item.field_4148_j.field_234_aS) -+ if (FMLServerHandler.instance().tryDispensingEntity(p_56353_1_, p_56353_9_, p_56353_11_, p_56353_13_, p_56353_7_, p_56353_8_, p_56353_2_)) -+ { -+ return 1; -+ } -+ else if (p_56353_2_.field_855_c == Item.field_4148_j.field_234_aS) - { - EntityArrow var28 = new EntityArrow(p_56353_1_, p_56353_9_, p_56353_11_, p_56353_13_); - var28.func_177_a((double)p_56353_7_, 0.10000000149011612D, (double)p_56353_8_, var15, (float)var16); diff --git a/fml/patches/minecraft_server/net/minecraft/src/ChunkProviderServer.java.patch b/fml/patches/minecraft_server/net/minecraft/src/ChunkProviderServer.java.patch deleted file mode 100644 index 76fda3edb..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/ChunkProviderServer.java.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/ChunkProviderServer.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/ChunkProviderServer.java 0000-00-00 00:00:00.000000000 -0000 -@@ -7,6 +7,8 @@ - import java.util.List; - import java.util.Set; - -+import cpw.mods.fml.server.FMLServerHandler; -+ - public class ChunkProviderServer implements IChunkProvider - { - private Set field_725_a = new HashSet(); -@@ -177,6 +179,7 @@ - if (this.field_730_c != null) - { - this.field_730_c.func_4055_a(p_4055_1_, p_4055_2_, p_4055_3_); -+ FMLServerHandler.instance().onChunkPopulate(p_4055_1_, p_4055_2_, p_4055_3_, this.field_726_g, this.field_730_c); - var4.func_336_e(); - } - } diff --git a/fml/patches/minecraft_server/net/minecraft/src/DedicatedServer.java.patch b/fml/patches/minecraft_server/net/minecraft/src/DedicatedServer.java.patch deleted file mode 100644 index c4bcd4be6..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/DedicatedServer.java.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/DedicatedServer.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/DedicatedServer.java 0000-00-00 00:00:00.000000000 -0000 -@@ -8,6 +8,8 @@ - import java.util.List; - import java.util.Random; - import java.util.logging.Level; -+ -+import cpw.mods.fml.server.FMLServerHandler; - import net.minecraft.server.MinecraftServer; - - public class DedicatedServer extends MinecraftServer implements IServer -@@ -34,6 +36,7 @@ - var1.start(); - ConsoleLogManager.func_641_a(); - field_6038_a.info("Starting minecraft server version 12w26a"); -+ FMLServerHandler.instance().onPreLoad(this); - - if (Runtime.getRuntime().maxMemory() / 1024L / 1024L < 512L) - { -@@ -99,6 +102,7 @@ - field_6038_a.warning("To change this, set \"online-mode\" to \"true\" in the server.properties file."); - } - -+ FMLServerHandler.instance().onLoadComplete(); - this.func_56197_a(new DedicatedPlayerList(this)); - long var4 = System.nanoTime(); - diff --git a/fml/patches/minecraft_server/net/minecraft/src/Entity.java.patch b/fml/patches/minecraft_server/net/minecraft/src/Entity.java.patch deleted file mode 100644 index 5beea42bd..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/Entity.java.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/Entity.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/Entity.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1539,4 +1539,8 @@ - { - return String.format("%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f]", new Object[] {this.getClass().getSimpleName(), this.func_35150_Y(), Integer.valueOf(this.field_331_c), this.field_9093_l == null ? "~NULL~" : this.field_9093_l.func_22081_n().func_55310_h(), Double.valueOf(this.field_322_l), Double.valueOf(this.field_321_m), Double.valueOf(this.field_320_n)}); - } -+ -+ public static int getNextId() { -+ return field_384_a++; -+ } - } diff --git a/fml/patches/minecraft_server/net/minecraft/src/EntityItem.java.patch b/fml/patches/minecraft_server/net/minecraft/src/EntityItem.java.patch deleted file mode 100644 index befe7848b..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/EntityItem.java.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/EntityItem.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/EntityItem.java 0000-00-00 00:00:00.000000000 -0000 -@@ -2,6 +2,8 @@ - - import java.util.Iterator; - -+import cpw.mods.fml.server.FMLServerHandler; -+ - public class EntityItem extends Entity - { - public ItemStack field_429_a; -@@ -198,6 +200,7 @@ - - if (this.field_433_ad == 0 && p_6093_1_.field_416_aj.func_201_a(this.field_429_a)) - { -+ FMLServerHandler.instance().notifyItemPickup(this,p_6093_1_); - if (this.field_429_a.field_855_c == Block.field_582_K.field_573_bc) - { - p_6093_1_.func_27017_a(AchievementList.field_25131_c); diff --git a/fml/patches/minecraft_server/net/minecraft/src/EntityList.java.patch b/fml/patches/minecraft_server/net/minecraft/src/EntityList.java.patch deleted file mode 100644 index e5fbaa218..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/EntityList.java.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/EntityList.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/EntityList.java 0000-00-00 00:00:00.000000000 -0000 -@@ -168,4 +168,17 @@ - func_46122_a(EntityVillager.class, "Villager", 120, 5651507, 12422002); - func_563_a(EntityEnderCrystal.class, "EnderCrystal", 200); - } -+ -+ public static void addNewEntityListMapping(Class entityClass, String entityName, int id) { -+ func_563_a(entityClass,entityName,id); -+ } -+ -+ public static void addNewEntityListMapping(Class entityClass, String entityName, int id, int backgroundEggColour, int foregroundEggColour) { -+ func_46122_a(entityClass,entityName,id,backgroundEggColour,foregroundEggColour); -+ } -+ -+ @SuppressWarnings("unchecked") -+ public static Map> getEntityToClassMapping() { -+ return field_849_a; -+ } - } diff --git a/fml/patches/minecraft_server/net/minecraft/src/EntityPlayer.java.patch b/fml/patches/minecraft_server/net/minecraft/src/EntityPlayer.java.patch deleted file mode 100644 index cdabd00d1..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/EntityPlayer.java.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/EntityPlayer.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/EntityPlayer.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,8 +1,12 @@ - package net.minecraft.src; - -+import java.util.EnumSet; - import java.util.Iterator; - import java.util.List; - -+import cpw.mods.fml.common.FMLCommonHandler; -+import cpw.mods.fml.common.TickType; -+ - public abstract class EntityPlayer extends EntityLiving implements ICommandSender - { - public InventoryPlayer field_416_aj = new InventoryPlayer(this); -@@ -105,6 +109,7 @@ - - public void func_106_b_() - { -+ FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.PLAYER), this, this.field_9093_l); - if (this.field_34908_d != null) - { - ItemStack var1 = this.field_416_aj.func_213_b(); -@@ -228,6 +233,7 @@ - { - this.field_35217_m.func_35584_a(this); - } -+ FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.PLAYER), this, this.field_9093_l); - } - - protected void func_35208_b(ItemStack p_35208_1_, int p_35208_2_) diff --git a/fml/patches/minecraft_server/net/minecraft/src/GenLayerBiome.java.patch b/fml/patches/minecraft_server/net/minecraft/src/GenLayerBiome.java.patch deleted file mode 100644 index fa3446958..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/GenLayerBiome.java.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/GenLayerBiome.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/GenLayerBiome.java 0000-00-00 00:00:00.000000000 -0000 -@@ -7,13 +7,8 @@ - public GenLayerBiome(long p_i1078_1_, GenLayer p_i1078_3_, WorldType p_i1078_4_) - { - super(p_i1078_1_); -- this.field_35029_b = new BiomeGenBase[] {BiomeGenBase.field_4293_h, BiomeGenBase.field_4297_d, BiomeGenBase.field_35518_e, BiomeGenBase.field_4299_b, BiomeGenBase.field_35520_c, BiomeGenBase.field_4294_g, BiomeGenBase.field_48443_w}; -+ this.field_35029_b = p_i1078_4_.getBiomesForWorldType(); - this.field_35023_a = p_i1078_3_; -- -- if (p_i1078_4_ == WorldType.field_48456_d) -- { -- this.field_35029_b = new BiomeGenBase[] {BiomeGenBase.field_4293_h, BiomeGenBase.field_4297_d, BiomeGenBase.field_35518_e, BiomeGenBase.field_4299_b, BiomeGenBase.field_35520_c, BiomeGenBase.field_4294_g}; -- } - } - - public int[] func_35018_a(int p_35018_1_, int p_35018_2_, int p_35018_3_, int p_35018_4_) diff --git a/fml/patches/minecraft_server/net/minecraft/src/NetServerHandler.java.patch b/fml/patches/minecraft_server/net/minecraft/src/NetServerHandler.java.patch deleted file mode 100644 index 66b8dfe4e..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/NetServerHandler.java.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/NetServerHandler.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/NetServerHandler.java 0000-00-00 00:00:00.000000000 -0000 -@@ -7,6 +7,8 @@ - import java.util.Iterator; - import java.util.Random; - import java.util.logging.Logger; -+ -+import cpw.mods.fml.server.FMLServerHandler; - import net.minecraft.server.MinecraftServer; - - public class NetServerHandler extends NetHandler -@@ -602,7 +604,10 @@ - } - } - -- if (var2.startsWith("/")) -+ if (FMLServerHandler.instance().handleChatPacket(p_23_1_,field_16_e)) { -+ // We handled it -+ } -+ else if (var2.startsWith("/")) - { - this.func_4010_d(var2); - } -@@ -1014,4 +1019,11 @@ - } - } - } -+//TODO -+ /* -+ @Override -+ public void func_44001_a(Packet250CustomPayload p_44001_1_) { -+ FMLServerHandler.instance().handlePacket250(p_44001_1_, field_16_e); -+ } -+ */ - } diff --git a/fml/patches/minecraft_server/net/minecraft/src/ServerConfigurationManager.java.patch b/fml/patches/minecraft_server/net/minecraft/src/ServerConfigurationManager.java.patch deleted file mode 100644 index 12346a72b..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/ServerConfigurationManager.java.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/ServerConfigurationManager.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/ServerConfigurationManager.java 0000-00-00 00:00:00.000000000 -0000 -@@ -9,6 +9,8 @@ - import java.util.List; - import java.util.Set; - import java.util.logging.Logger; -+ -+import cpw.mods.fml.server.FMLServerHandler; - import net.minecraft.server.MinecraftServer; - - public abstract class ServerConfigurationManager -@@ -71,6 +73,8 @@ - } - - p_56432_2_.func_20057_k(); -+ FMLServerHandler.instance().handleClientLogin(p_56432_1_); -+ FMLServerHandler.instance().announceLogin(p_56432_2_); - } - - public void func_618_a(WorldServer[] p_618_1_) -@@ -144,6 +148,7 @@ - - public void func_616_c(EntityPlayerMP p_616_1_) - { -+ FMLServerHandler.instance().announceLogout(p_616_1_); - this.func_56430_b(p_616_1_); - WorldServer var2 = p_616_1_.func_55080_H(); - var2.func_22085_d(p_616_1_); -@@ -355,6 +360,8 @@ - p_28168_1_.field_425_ad.func_35694_a(var5); - this.func_28170_a(p_28168_1_, var5); - this.func_30008_g(p_28168_1_); -+ -+ FMLServerHandler.instance().announceDimensionChange(p_28168_1_); - } - - public void func_637_b() diff --git a/fml/patches/minecraft_server/net/minecraft/src/ServerGUI.java.patch b/fml/patches/minecraft_server/net/minecraft/src/ServerGUI.java.patch deleted file mode 100644 index 5b4912e4e..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/ServerGUI.java.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/ServerGUI.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/ServerGUI.java 0000-00-00 00:00:00.000000000 -0000 -@@ -3,6 +3,7 @@ - import java.awt.BorderLayout; - import java.awt.Component; - import java.awt.Dimension; -+import java.util.logging.Level; - import java.util.logging.Logger; - import javax.swing.JComponent; - import javax.swing.JFrame; -@@ -79,7 +80,9 @@ - { - JPanel var1 = new JPanel(new BorderLayout()); - JTextArea var2 = new JTextArea(); -- field_22_a.addHandler(new GuiLogOutputHandler(var2)); -+ GuiLogOutputHandler guihandler=new GuiLogOutputHandler(var2); -+ guihandler.setLevel(Level.FINE); -+ field_22_a.addHandler(guihandler); - JScrollPane var3 = new JScrollPane(var2, 22, 30); - var2.setEditable(false); - JTextField var4 = new JTextField(); diff --git a/fml/patches/minecraft_server/net/minecraft/src/SlotCrafting.java.patch b/fml/patches/minecraft_server/net/minecraft/src/SlotCrafting.java.patch deleted file mode 100644 index 11983cf76..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/SlotCrafting.java.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/SlotCrafting.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/SlotCrafting.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,5 +1,7 @@ - package net.minecraft.src; - -+import cpw.mods.fml.server.FMLServerHandler; -+ - public class SlotCrafting extends Slot - { - private final IInventory field_20103_a; -@@ -83,6 +85,7 @@ - - public void func_20091_b(ItemStack p_20091_1_) - { -+ FMLServerHandler.instance().onItemCrafted(field_25004_e, p_20091_1_, field_20103_a); - this.func_48416_b(p_20091_1_); - - for (int var2 = 0; var2 < this.field_20103_a.func_83_a(); ++var2) diff --git a/fml/patches/minecraft_server/net/minecraft/src/SlotFurnace.java.patch b/fml/patches/minecraft_server/net/minecraft/src/SlotFurnace.java.patch deleted file mode 100644 index 3404cc2e3..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/SlotFurnace.java.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/SlotFurnace.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/SlotFurnace.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,5 +1,7 @@ - package net.minecraft.src; - -+import cpw.mods.fml.server.FMLServerHandler; -+ - public class SlotFurnace extends Slot - { - private EntityPlayer field_27007_d; -@@ -56,6 +58,8 @@ - - this.field_48419_f = 0; - -+ FMLServerHandler.instance().onItemSmelted(field_27007_d, p_48416_1_); -+ - if (p_48416_1_.field_855_c == Item.field_166_m.field_234_aS) - { - this.field_27007_d.func_25046_a(AchievementList.field_27108_k, 1); diff --git a/fml/patches/minecraft_server/net/minecraft/src/StatBase.java.patch b/fml/patches/minecraft_server/net/minecraft/src/StatBase.java.patch deleted file mode 100644 index 75ecbe1a2..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/StatBase.java.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/StatBase.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/StatBase.java 0000-00-00 00:00:00.000000000 -0000 -@@ -55,4 +55,8 @@ - { - return StatCollector.func_25136_a(this.field_25062_e); - } -+ -+ public String getName() { -+ return field_25062_e; -+ } - } diff --git a/fml/patches/minecraft_server/net/minecraft/src/StringTranslate.java.patch b/fml/patches/minecraft_server/net/minecraft/src/StringTranslate.java.patch deleted file mode 100644 index 30f6965d9..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/StringTranslate.java.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/StringTranslate.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/StringTranslate.java 0000-00-00 00:00:00.000000000 -0000 -@@ -7,6 +7,8 @@ - import java.util.Properties; - import java.util.TreeMap; - -+import cpw.mods.fml.common.FMLCommonHandler; -+ - public class StringTranslate - { - private static StringTranslate field_25082_a = new StringTranslate("en_US"); -@@ -77,6 +79,7 @@ - } - } - } -+ FMLCommonHandler.instance().handleLanguageLoad(p_44011_1_, p_44011_2_); - } - - public void func_44010_a(String p_44010_1_) -@@ -145,4 +148,13 @@ - String var3 = this.field_25081_b.getProperty(p_25078_1_, p_25078_1_); - return String.format(var3, p_25078_2_); - } -+ -+ public String getCurrentLanguage() { -+ return this.field_44012_d; -+ } -+ -+ public Properties getCurrentLanguageTable() -+ { -+ return this.field_25081_b; -+ } - } diff --git a/fml/patches/minecraft_server/net/minecraft/src/TileEntity.java.patch b/fml/patches/minecraft_server/net/minecraft/src/TileEntity.java.patch deleted file mode 100644 index 5335f8237..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/TileEntity.java.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/TileEntity.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/TileEntity.java 0000-00-00 00:00:00.000000000 -0000 -@@ -156,4 +156,8 @@ - func_187_a(TileEntityEnchantmentTable.class, "EnchantTable"); - func_187_a(TileEntityEndPortal.class, "Airportal"); - } -+ -+ public static void addNewTileEntityMapping(Class tileEntityClass, String id) { -+ func_187_a(tileEntityClass, id); -+ } - } diff --git a/fml/patches/minecraft_server/net/minecraft/src/TileEntityFurnace.java.patch b/fml/patches/minecraft_server/net/minecraft/src/TileEntityFurnace.java.patch deleted file mode 100644 index 983ad353c..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/TileEntityFurnace.java.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,5 +1,7 @@ - package net.minecraft.src; - -+import cpw.mods.fml.common.FMLCommonHandler; -+ - public class TileEntityFurnace extends TileEntity implements IInventory - { - private ItemStack[] field_489_e = new ItemStack[3]; -@@ -254,7 +256,15 @@ - } - } - -- return var2 instanceof ItemTool && ((ItemTool)var2).func_56458_b().equals("WOOD") ? 200 : (var2 instanceof ItemSword && ((ItemSword)var2).func_56462_b().equals("WOOD") ? 200 : (var2 instanceof ItemHoe && ((ItemHoe)var2).func_56463_b().equals("WOOD") ? 200 : (var1 == Item.field_209_B.field_234_aS ? 100 : (var1 == Item.field_168_k.field_234_aS ? 1600 : (var1 == Item.field_201_aw.field_234_aS ? 20000 : (var1 == Block.field_6047_y.field_573_bc ? 100 : (var1 == Item.field_40239_bm.field_234_aS ? 2400 : 0))))))); -+ if (var2 instanceof ItemTool && ((ItemTool) var2).func_56458_b().equals("WOOD")) return 200; -+ if (var2 instanceof ItemSword && ((ItemSword) var2).func_56462_b().equals("WOOD")) return 200; -+ if (var2 instanceof ItemHoe && ((ItemHoe) var2).func_56463_b().equals("WOOD")) return 200; -+ if (var1 == Item.field_209_B.field_234_aS) return 100; -+ if (var1 == Item.field_168_k.field_234_aS) return 1600; -+ if (var1 == Item.field_201_aw.field_234_aS) return 20000; -+ if (var1 == Block.field_6047_y.field_573_bc) return 100; -+ if (var1 == Item.field_40239_bm.field_234_aS) return 2400; -+ return FMLCommonHandler.instance().fuelLookup(var1, p_194_0_.func_21125_h()); - } - } - diff --git a/fml/patches/minecraft_server/net/minecraft/src/WorldProvider.java.patch b/fml/patches/minecraft_server/net/minecraft/src/WorldProvider.java.patch deleted file mode 100644 index 15721822c..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/WorldProvider.java.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000 -@@ -32,19 +32,12 @@ - - protected void func_4090_a() - { -- if (this.field_4302_a.func_22081_n().func_46069_q() == WorldType.field_48458_c) -- { -- this.field_4301_b = new WorldChunkManagerHell(BiomeGenBase.field_35520_c, 0.5F, 0.5F); -- } -- else -- { -- this.field_4301_b = new WorldChunkManager(this.field_4302_a); -- } -+ this.field_4301_b = this.field_4302_a.func_22081_n().func_46069_q().getChunkManager(field_4302_a); - } - - public IChunkProvider func_4087_c() - { -- return (IChunkProvider)(this.field_46120_b == WorldType.field_48458_c ? new ChunkProviderFlat(this.field_4302_a, this.field_4302_a.func_22079_j(), this.field_4302_a.func_22081_n().func_35499_o()) : new ChunkProviderGenerate(this.field_4302_a, this.field_4302_a.func_22079_j(), this.field_4302_a.func_22081_n().func_35499_o())); -+ return this.field_46120_b.getChunkGenerator(this.field_4302_a); - } - - public boolean func_4092_a(int p_4092_1_, int p_4092_2_) -@@ -96,6 +89,6 @@ - - public int func_46119_e() - { -- return this.field_46120_b == WorldType.field_48458_c ? 4 : 64; -+ return this.field_46120_b.getMinimumSpawnHeight(field_4302_a); - } - } diff --git a/fml/patches/minecraft_server/net/minecraft/src/WorldType.java.patch b/fml/patches/minecraft_server/net/minecraft/src/WorldType.java.patch deleted file mode 100644 index e2fe87e92..000000000 --- a/fml/patches/minecraft_server/net/minecraft/src/WorldType.java.patch +++ /dev/null @@ -1,85 +0,0 @@ ---- ../src-base/minecraft_server/net/minecraft/src/WorldType.java 0000-00-00 00:00:00.000000000 -0000 -+++ ../src-work/minecraft_server/net/minecraft/src/WorldType.java 0000-00-00 00:00:00.000000000 -0000 -@@ -1,5 +1,9 @@ - package net.minecraft.src; - -+import java.util.ArrayList; -+import java.util.Arrays; -+import java.util.List; -+ - public class WorldType - { - public static final WorldType[] field_48459_a = new WorldType[16]; -@@ -12,17 +16,28 @@ - private boolean field_48455_g; - private boolean field_48460_h; - -- private WorldType(int p_i1025_1_, String p_i1025_2_) -+ protected BiomeGenBase[] biomesForWorldType; -+ -+ protected WorldType(int p_i1025_1_, String p_i1025_2_) - { - this(p_i1025_1_, p_i1025_2_, 0); - } - -- private WorldType(int p_i1026_1_, String p_i1026_2_, int p_i1026_3_) -+ protected WorldType(int p_i1026_1_, String p_i1026_2_, int p_i1026_3_) - { - this.field_46052_c = p_i1026_2_; - this.field_48454_f = p_i1026_3_; - this.field_48455_g = true; - field_48459_a[p_i1026_1_] = this; -+ switch (p_i1026_1_) { -+ case 8: -+ biomesForWorldType = new BiomeGenBase[] { BiomeGenBase.field_4293_h, BiomeGenBase.field_4297_d, BiomeGenBase.field_35518_e, -+ BiomeGenBase.field_4299_b, BiomeGenBase.field_35520_c, BiomeGenBase.field_4294_g }; -+ break; -+ default: -+ biomesForWorldType = new BiomeGenBase[] { BiomeGenBase.field_4293_h, BiomeGenBase.field_4297_d, BiomeGenBase.field_35518_e, -+ BiomeGenBase.field_4299_b, BiomeGenBase.field_35520_c, BiomeGenBase.field_4294_g, BiomeGenBase.field_48443_w }; -+ } - } - - public String func_48449_a() -@@ -74,4 +89,41 @@ - - return null; - } -+ -+ public WorldChunkManager getChunkManager(World world) -+ { -+ return this == field_48458_c ? new WorldChunkManagerHell(BiomeGenBase.field_35520_c, 0.5F, 0.5F) : new WorldChunkManager(world); -+ } -+ -+ public IChunkProvider getChunkGenerator(World var1) -+ { -+ return this == field_48458_c ? new ChunkProviderFlat(var1, var1.func_22079_j(), var1.func_22081_n().func_35499_o()) : new ChunkProviderGenerate(var1, var1.func_22079_j(), var1.func_22081_n().func_35499_o()); -+ } -+ -+ public int getMinimumSpawnHeight(World world) -+ { -+ return this == field_48458_c ? 4 : 64; -+ } -+ -+ public BiomeGenBase[] getBiomesForWorldType() { -+ return biomesForWorldType; -+ } -+ -+ public void addNewBiome(BiomeGenBase biome) { -+ List newBiomesForWorld = new ArrayList(); -+ newBiomesForWorld.addAll(Arrays.asList(biomesForWorldType)); -+ -+ if (!newBiomesForWorld.contains(biome)) -+ newBiomesForWorld.add(biome); -+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]); -+ } -+ -+ public void removeBiome(BiomeGenBase biome) { -+ List newBiomesForWorld = new ArrayList(); -+ newBiomesForWorld.addAll(Arrays.asList(biomesForWorldType)); -+ -+ newBiomesForWorld.remove(biome); -+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]); -+ } -+ - }