diff --git a/fml/patches/minecraft/net/minecraft/block/Block.java.patch b/fml/patches/minecraft/net/minecraft/block/Block.java.patch index 5bc6e2115..83e8d09f5 100644 --- a/fml/patches/minecraft/net/minecraft/block/Block.java.patch +++ b/fml/patches/minecraft/net/minecraft/block/Block.java.patch @@ -1,27 +1,21 @@ --- ../src-base/minecraft/net/minecraft/block/Block.java +++ ../src-work/minecraft/net/minecraft/block/Block.java -@@ -1,5 +1,6 @@ - package net.minecraft.block; - -+import cpw.mods.fml.common.registry.GameData; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.util.Iterator; -@@ -32,7 +33,7 @@ - +@@ -39,7 +39,7 @@ public class Block { -- public static final RegistryNamespaced field_149771_c = new RegistryNamespacedDefaultedByKey("air"); -+ public static final RegistryNamespaced field_149771_c = GameData.getBlockRegistry(); + private static final ResourceLocation field_176230_a = new ResourceLocation("air"); +- public static final RegistryNamespacedDefaultedByKey field_149771_c = new RegistryNamespacedDefaultedByKey(field_176230_a); ++ public static final RegistryNamespacedDefaultedByKey field_149771_c = cpw.mods.fml.common.registry.GameData.getBlockRegistry(); + public static final ObjectIntIdentityMap field_176229_d = new ObjectIntIdentityMap(); private CreativeTabs field_149772_a; - protected String field_149768_d; public static final Block.SoundType field_149769_e = new Block.SoundType("stone", 1.0F, 1.0F); -@@ -102,6 +103,8 @@ - protected IIcon field_149761_L; +@@ -124,6 +124,9 @@ + private String field_149770_b; private static final String __OBFID = "CL_00000199"; -+ public final cpw.mods.fml.common.registry.RegistryDelegate delegate = ++ public final cpw.mods.fml.common.registry.RegistryDelegate delegate = + ((cpw.mods.fml.common.registry.FMLControlledNamespacedRegistry)field_149771_c).getDelegate(this, Block.class); ++ public static int func_149682_b(Block p_149682_0_) { return field_149771_c.func_148757_b(p_149682_0_); diff --git a/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch b/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch index e5bebc386..92d47b97e 100644 --- a/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch @@ -1,17 +1,10 @@ --- ../src-base/minecraft/net/minecraft/client/ClientBrandRetriever.java +++ ../src-work/minecraft/net/minecraft/client/ClientBrandRetriever.java -@@ -1,5 +1,6 @@ - package net.minecraft.client; - -+import cpw.mods.fml.common.FMLCommonHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - -@@ -10,6 +11,6 @@ +@@ -10,6 +10,6 @@ public static String getClientModName() { - return "vanilla"; -+ return FMLCommonHandler.instance().getModName(); ++ return cpw.mods.fml.common.FMLCommonHandler.instance().getModName(); } } diff --git a/fml/patches/minecraft/net/minecraft/client/LoadingScreenRenderer.java.patch b/fml/patches/minecraft/net/minecraft/client/LoadingScreenRenderer.java.patch index 80ad37a79..34647b6fc 100644 --- a/fml/patches/minecraft/net/minecraft/client/LoadingScreenRenderer.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/LoadingScreenRenderer.java.patch @@ -1,26 +1,26 @@ --- ../src-base/minecraft/net/minecraft/client/LoadingScreenRenderer.java +++ ../src-work/minecraft/net/minecraft/client/LoadingScreenRenderer.java -@@ -1,5 +1,6 @@ - package net.minecraft.client; - -+import cpw.mods.fml.client.FMLClientHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import net.minecraft.client.gui.Gui; -@@ -138,6 +139,8 @@ - GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); +@@ -139,6 +139,10 @@ + GlStateManager.func_179086_m(16640); } -+ if (!FMLClientHandler.instance().handleLoadingScreen(scaledresolution)) ++ try + { - Tessellator tessellator = Tessellator.field_78398_a; ++ if (!cpw.mods.fml.client.FMLClientHandler.instance().handleLoadingScreen(scaledresolution)) //FML Don't render while FML's pre-screen is rendering ++ { + Tessellator tessellator = Tessellator.func_178181_a(); + WorldRenderer worldrenderer = tessellator.func_178180_c(); this.field_73725_b.func_110434_K().func_110577_a(Gui.field_110325_k); - float f = 32.0F; -@@ -175,6 +178,7 @@ - OpenGlHelper.func_148821_a(770, 771, 1, 0); - this.field_73725_b.field_71466_p.func_78261_a(this.field_73726_c, (l - this.field_73725_b.field_71466_p.func_78256_a(this.field_73726_c)) / 2, i1 / 2 - 4 - 16, 16777215); - this.field_73725_b.field_71466_p.func_78261_a(this.field_73727_a, (l - this.field_73725_b.field_71466_p.func_78256_a(this.field_73727_a)) / 2, i1 / 2 - 4 + 8, 16777215); +@@ -177,6 +181,12 @@ + GlStateManager.func_179120_a(770, 771, 1, 0); + this.field_73725_b.field_71466_p.func_175063_a(this.field_73726_c, (float)((l - this.field_73725_b.field_71466_p.func_78256_a(this.field_73726_c)) / 2), (float)(i1 / 2 - 4 - 16), 16777215); + this.field_73725_b.field_71466_p.func_175063_a(this.field_73727_a, (float)((l - this.field_73725_b.field_71466_p.func_78256_a(this.field_73727_a)) / 2), (float)(i1 / 2 - 4 + 8), 16777215); + } ++ } ++ catch (java.io.IOException e) ++ { ++ com.google.common.base.Throwables.propagate(e); ++ } //FML End this.field_146588_g.func_147609_e(); if (OpenGlHelper.func_148822_b()) diff --git a/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch index 9ffa53c54..b101e7c48 100644 --- a/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch @@ -1,125 +1,106 @@ --- ../src-base/minecraft/net/minecraft/client/Minecraft.java +++ ../src-work/minecraft/net/minecraft/client/Minecraft.java -@@ -9,6 +9,9 @@ - import com.google.common.util.concurrent.ListenableFutureTask; - import com.mojang.authlib.minecraft.MinecraftSessionService; - import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; -+import cpw.mods.fml.client.FMLClientHandler; -+import cpw.mods.fml.common.FMLCommonHandler; -+import cpw.mods.fml.common.StartupQuery; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import io.netty.util.concurrent.GenericFutureListener; -@@ -169,6 +172,8 @@ - import org.lwjgl.opengl.PixelFormat; - import org.lwjgl.util.glu.GLU; - -+import com.google.common.collect.MapDifference; -+ - @SideOnly(Side.CLIENT) - public class Minecraft implements IPlayerUsage - { -@@ -344,21 +349,23 @@ - File file2 = new File(file1, "crash-" + (new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss")).format(new Date()) + "-client.txt"); - System.out.println(p_71377_1_.func_71502_e()); - -+ int retVal; - if (p_71377_1_.func_71497_f() != null) - { - System.out.println("#@!@# Game crashed! Crash report saved to: #@!@# " + p_71377_1_.func_71497_f()); -- System.exit(-1); -+ retVal = -1; - } - else if (p_71377_1_.func_147149_a(file2)) - { - System.out.println("#@!@# Game crashed! Crash report saved to: #@!@# " + file2.getAbsolutePath()); -- System.exit(-1); -+ retVal = -1; - } - else - { - System.out.println("#@?@# Game crashed! Crash report could not be saved. #@?@#"); -- System.exit(-2); -+ retVal = -2; - } -+ FMLCommonHandler.instance().handleExit(retVal); - } - - public void func_71367_a(String p_71367_1_, int p_71367_2_) -@@ -471,7 +478,7 @@ +@@ -410,7 +410,7 @@ this.field_110451_am = new SimpleReloadableResourceManager(this.field_110452_an); this.field_135017_as = new LanguageManager(this.field_110452_an, this.field_71474_y.field_74363_ab); this.field_110451_am.func_110542_a(this.field_135017_as); - this.func_110436_a(); -+ FMLClientHandler.instance().beginMinecraftLoading(this, this.field_110449_ao, this.field_110451_am); ++ cpw.mods.fml.client.FMLClientHandler.instance().beginMinecraftLoading(this, this.field_110449_ao, this.field_110451_am); this.field_71446_o = new TextureManager(this.field_110451_am); this.field_110451_am.func_110542_a(this.field_71446_o); - this.field_152350_aA = new SkinManager(this.field_71446_o, new File(this.field_110446_Y, "skins"), this.field_152355_az); -@@ -532,12 +539,13 @@ - this.field_71446_o.func_130088_a(TextureMap.field_110576_c, new TextureMap(1, "textures/items")); - GL11.glViewport(0, 0, this.field_71443_c, this.field_71440_d); + this.func_180510_a(this.field_71446_o); +@@ -482,12 +482,13 @@ + this.field_71458_u = new GuiAchievement(this); + GlStateManager.func_179083_b(0, 0, this.field_71443_c, this.field_71440_d); this.field_71452_i = new EffectRenderer(this.field_71441_e, this.field_71446_o); -+ FMLClientHandler.instance().finishMinecraftLoading(); ++ cpw.mods.fml.client.FMLClientHandler.instance().finishMinecraftLoading(); this.func_71361_d("Post startup"); this.field_71456_v = new GuiIngame(this); if (this.field_71475_ae != null) { - this.func_147108_a(new GuiConnecting(new GuiMainMenu(), this, this.field_71475_ae, this.field_71477_af)); -+ FMLClientHandler.instance().connectToServerAtStartup(this.field_71475_ae, this.field_71477_af); ++ cpw.mods.fml.client.FMLClientHandler.instance().connectToServerAtStartup(this.field_71475_ae, this.field_71477_af); } else { -@@ -553,6 +561,7 @@ +@@ -503,6 +504,7 @@ this.func_71352_k(); } -+ FMLClientHandler.instance().onInitializationComplete(); ++ cpw.mods.fml.client.FMLClientHandler.instance().onInitializationComplete(); try { Display.setVSyncEnabled(this.field_71474_y.field_74352_v); -@@ -971,9 +980,11 @@ +@@ -681,21 +683,23 @@ + File file2 = new File(file1, "crash-" + (new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss")).format(new Date()) + "-client.txt"); + Bootstrap.func_179870_a(p_71377_1_.func_71502_e()); + ++ int retVal; + if (p_71377_1_.func_71497_f() != null) + { + Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + p_71377_1_.func_71497_f()); +- System.exit(-1); ++ retVal = -1; + } + else if (p_71377_1_.func_147149_a(file2)) + { + Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + file2.getAbsolutePath()); +- System.exit(-1); ++ retVal = -1; + } + else + { + Bootstrap.func_179870_a("#@?@# Game crashed! Crash report could not be saved. #@?@#"); +- System.exit(-2); ++ retVal = -2; + } ++ cpw.mods.fml.common.FMLCommonHandler.instance().handleExit(retVal); + } + + public boolean func_152349_b() +@@ -1034,9 +1038,11 @@ if (!this.field_71454_w) { -+ FMLCommonHandler.instance().onRenderTickStart(this.field_71428_T.field_74281_c); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onRenderTickStart(this.field_71428_T.field_74281_c); this.field_71424_I.func_76318_c("gameRenderer"); this.field_71460_t.func_78480_b(this.field_71428_T.field_74281_c); this.field_71424_I.func_76319_b(); -+ FMLCommonHandler.instance().onRenderTickEnd(this.field_71428_T.field_74281_c); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onRenderTickEnd(this.field_71428_T.field_74281_c); } - GL11.glFlush(); -@@ -1555,6 +1566,8 @@ + this.field_71424_I.func_76319_b(); +@@ -1591,6 +1597,8 @@ --this.field_71467_ac; } -+ FMLCommonHandler.instance().onPreClientTick(); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onPreClientTick(); + this.field_71424_I.func_76320_a("gui"); if (!this.field_71445_n) -@@ -1699,6 +1712,7 @@ +@@ -1744,6 +1752,7 @@ this.field_71462_r.func_146274_d(); } } -+ FMLCommonHandler.instance().fireMouseInput(); ++ cpw.mods.fml.common.FMLCommonHandler.instance().fireMouseInput(); } if (this.field_71429_W > 0) -@@ -1836,6 +1850,7 @@ +@@ -1920,6 +1929,7 @@ } } } -+ FMLCommonHandler.instance().fireKeyInput(); ++ cpw.mods.fml.common.FMLCommonHandler.instance().fireKeyInput(); } - for (j = 0; j < 9; ++j) -@@ -2026,12 +2041,15 @@ + for (i = 0; i < 9; ++i) +@@ -2120,12 +2130,15 @@ this.field_71453_ak.func_74428_b(); } -+ FMLCommonHandler.instance().onPostClientTick(); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onPostClientTick(); + this.field_71424_I.func_76319_b(); this.field_71423_H = func_71386_F(); @@ -127,15 +108,15 @@ public void func_71371_a(String p_71371_1_, String p_71371_2_, WorldSettings p_71371_3_) { -+ FMLClientHandler.instance().startIntegratedServer(p_71371_1_, p_71371_2_, p_71371_3_); ++ cpw.mods.fml.client.FMLClientHandler.instance().startIntegratedServer(p_71371_1_, p_71371_2_, p_71371_3_); this.func_71403_a((WorldClient)null); System.gc(); ISaveHandler isavehandler = this.field_71469_aa.func_75804_a(p_71371_1_, false); -@@ -2067,6 +2085,12 @@ +@@ -2161,6 +2174,12 @@ while (!this.field_71437_Z.func_71200_ad()) { -+ if (!StartupQuery.check()) ++ if (!cpw.mods.fml.common.StartupQuery.check()) + { + func_71403_a(null); + func_147108_a(null); @@ -144,11 +125,20 @@ String s2 = this.field_71437_Z.func_71195_b_(); if (s2 != null) -@@ -2142,6 +2166,7 @@ - this.field_110448_aq.func_148529_f(); +@@ -2186,7 +2205,7 @@ + SocketAddress socketaddress = this.field_71437_Z.func_147137_ag().func_151270_a(); + NetworkManager networkmanager = NetworkManager.func_150722_a(socketaddress); + networkmanager.func_150719_a(new NetHandlerLoginClient(networkmanager, this, (GuiScreen)null)); +- networkmanager.func_179290_a(new C00Handshake(47, socketaddress.toString(), 0, EnumConnectionState.LOGIN)); ++ networkmanager.func_179290_a(new C00Handshake(47, socketaddress.toString(), 0, EnumConnectionState.LOGIN, true)); + networkmanager.func_179290_a(new C00PacketLoginStart(this.func_110432_I().func_148256_e())); + this.field_71453_ak = networkmanager; + } +@@ -2237,6 +2256,7 @@ + this.func_71351_a((ServerData)null); this.field_71455_al = false; -+ FMLClientHandler.instance().handleClientWorldClosing(this.field_71441_e); ++ cpw.mods.fml.client.FMLClientHandler.instance().handleClientWorldClosing(this.field_71441_e); } this.field_147127_av.func_147690_c(); diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiButton.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiButton.java.patch index a48f5206d..1366ae5b5 100644 --- a/fml/patches/minecraft/net/minecraft/client/gui/GuiButton.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiButton.java.patch @@ -1,14 +1,14 @@ --- ../src-base/minecraft/net/minecraft/client/gui/GuiButton.java +++ ../src-work/minecraft/net/minecraft/client/gui/GuiButton.java -@@ -23,6 +23,7 @@ +@@ -22,6 +22,7 @@ public boolean field_146125_m; protected boolean field_146123_n; private static final String __OBFID = "CL_00000668"; -+ public int packedFGColour; ++ public int packedFGColour; //FML public GuiButton(int p_i1020_1_, int p_i1020_2_, int p_i1020_3_, String p_i1020_4_) { -@@ -76,8 +77,12 @@ +@@ -75,8 +76,12 @@ this.func_146119_b(p_146112_1_, p_146112_2_, p_146112_3_); int l = 14737632; diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch index ddf21adc5..3b07b5466 100644 --- a/fml/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/gui/GuiCreateWorld.java +++ ../src-work/minecraft/net/minecraft/client/gui/GuiCreateWorld.java -@@ -211,6 +211,8 @@ +@@ -213,6 +213,8 @@ } } diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiIngame.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiIngame.java.patch deleted file mode 100644 index 9f790eee3..000000000 --- a/fml/patches/minecraft/net/minecraft/client/gui/GuiIngame.java.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/client/gui/GuiIngame.java -+++ ../src-work/minecraft/net/minecraft/client/gui/GuiIngame.java -@@ -1,5 +1,6 @@ - package net.minecraft.client.gui; - -+import cpw.mods.fml.common.FMLCommonHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.awt.Color; -@@ -314,6 +315,11 @@ - this.func_73731_b(fontrenderer, s, k - fontrenderer.func_78256_a(s) - 2, 2, 14737632); - s = "Allocated memory: " + j5 * 100L / i5 + "% (" + j5 / 1024L / 1024L + "MB)"; - this.func_73731_b(fontrenderer, s, k - fontrenderer.func_78256_a(s) - 2, 12, 14737632); -+ int offset = 22; -+ for (String brd : FMLCommonHandler.instance().getBrandings(false)) -+ { -+ this.func_73731_b(fontrenderer, brd, k - fontrenderer.func_78256_a(brd) - 2, offset+=10, 14737632); -+ } - j3 = MathHelper.func_76128_c(this.field_73839_d.field_71439_g.field_70165_t); - k3 = MathHelper.func_76128_c(this.field_73839_d.field_71439_g.field_70163_u); - int l3 = MathHelper.func_76128_c(this.field_73839_d.field_71439_g.field_70161_v); diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiIngameMenu.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiIngameMenu.java.patch index 5b0bf352c..d968b09eb 100644 --- a/fml/patches/minecraft/net/minecraft/client/gui/GuiIngameMenu.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiIngameMenu.java.patch @@ -1,30 +1,23 @@ --- ../src-base/minecraft/net/minecraft/client/gui/GuiIngameMenu.java +++ ../src-work/minecraft/net/minecraft/client/gui/GuiIngameMenu.java -@@ -1,5 +1,6 @@ - package net.minecraft.client.gui; - -+import cpw.mods.fml.client.FMLClientHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import net.minecraft.client.gui.achievement.GuiAchievements; -@@ -29,8 +30,9 @@ +@@ -30,8 +30,9 @@ this.field_146292_n.add(new GuiButton(4, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 24 + b0, I18n.func_135052_a("menu.returnToGame", new Object[0]))); this.field_146292_n.add(new GuiButton(0, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 96 + b0, 98, 20, I18n.func_135052_a("menu.options", new Object[0]))); -+ this.field_146292_n.add(new GuiButton(12, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 96 + b0, 98, 20, "Mod Options...")); ++ this.field_146292_n.add(new GuiButton(12, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 96 + b0, 98, 20, I18n.func_135052_a("fml.menu.modoptions"))); GuiButton guibutton; - this.field_146292_n.add(guibutton = new GuiButton(7, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 96 + b0, 98, 20, I18n.func_135052_a("menu.shareToLan", new Object[0]))); + this.field_146292_n.add(guibutton = new GuiButton(7, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 72 + b0, 200, 20, I18n.func_135052_a("menu.shareToLan", new Object[0]))); this.field_146292_n.add(new GuiButton(5, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 48 + b0, 98, 20, I18n.func_135052_a("gui.achievements", new Object[0]))); this.field_146292_n.add(new GuiButton(6, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 48 + b0, 98, 20, I18n.func_135052_a("gui.stats", new Object[0]))); guibutton.field_146124_l = this.field_146297_k.func_71356_B() && !this.field_146297_k.func_71401_C().func_71344_c(); -@@ -64,6 +66,10 @@ +@@ -65,6 +66,10 @@ break; case 7: this.field_146297_k.func_147108_a(new GuiShareToLan(this)); + break; + case 12: -+ FMLClientHandler.instance().showInGameModOptions(this); ++ cpw.mods.fml.client.FMLClientHandler.instance().showInGameModOptions(this); + break; } } diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch index b45766b2b..7c5cc291c 100644 --- a/fml/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch @@ -1,68 +1,39 @@ --- ../src-base/minecraft/net/minecraft/client/gui/GuiMainMenu.java +++ ../src-work/minecraft/net/minecraft/client/gui/GuiMainMenu.java -@@ -1,5 +1,7 @@ - package net.minecraft.client.gui; - -+import cpw.mods.fml.client.GuiModList; -+import cpw.mods.fml.common.FMLCommonHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.io.BufferedReader; -@@ -9,6 +11,7 @@ - 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 net.minecraft.client.renderer.OpenGlHelper; -@@ -29,6 +32,9 @@ - import org.lwjgl.opengl.GLContext; - import org.lwjgl.util.glu.Project; - -+import com.google.common.base.Strings; -+import com.google.common.collect.Lists; -+ - @SideOnly(Side.CLIENT) - public class GuiMainMenu extends GuiScreen implements GuiYesNoCallback - { -@@ -190,7 +196,13 @@ - { +@@ -198,6 +198,11 @@ this.field_146292_n.add(new GuiButton(1, this.field_146294_l / 2 - 100, p_73969_1_, I18n.func_135052_a("menu.singleplayer", new Object[0]))); this.field_146292_n.add(new GuiButton(2, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 1, I18n.func_135052_a("menu.multiplayer", new Object[0]))); -- this.field_146292_n.add(new GuiButton(14, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135052_a("menu.online", new Object[0]))); -+ GuiButton realmsButton = new GuiButton(14, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135052_a("menu.online", new Object[0])); -+ GuiButton fmlModButton = new GuiButton(6, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, "Mods"); + this.field_146292_n.add(this.field_175372_K = new GuiButton(14, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135052_a("menu.online", new Object[0]))); ++ GuiButton fmlModButton = new GuiButton(6, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135052_a("fml.menu.mods")); + fmlModButton.field_146128_h = this.field_146294_l / 2 + 2; -+ realmsButton.field_146120_f = 98; ++ field_175372_K.field_146120_f = 98; + fmlModButton.field_146120_f = 98; -+ this.field_146292_n.add(realmsButton); + this.field_146292_n.add(fmlModButton); } private void func_73972_b(int p_73972_1_, int p_73972_2_) -@@ -238,6 +250,11 @@ +@@ -245,6 +250,11 @@ this.field_146297_k.func_71400_g(); } + if (p_146284_1_.field_146127_k == 6) + { -+ this.field_146297_k.func_147108_a(new GuiModList(this)); ++ this.field_146297_k.func_147108_a(new cpw.mods.fml.client.GuiModList(this)); + } + if (p_146284_1_.field_146127_k == 11) { this.field_146297_k.func_71371_a("Demo_World", "Demo_World", DemoWorldServer.field_73071_a); -@@ -481,7 +498,15 @@ +@@ -492,7 +502,15 @@ s = s + " Demo"; } - this.func_73731_b(this.field_146289_q, s, 2, this.field_146295_m - 10, -1); -+ List brandings = Lists.reverse(FMLCommonHandler.instance().getBrandings(true)); ++ java.util.List brandings = com.google.common.collect.Lists.reverse(cpw.mods.fml.common.FMLCommonHandler.instance().getBrandings(true)); + for (int i = 0; i < brandings.size(); i++) + { + String brd = brandings.get(i); -+ if (!Strings.isNullOrEmpty(brd)) ++ if (!com.google.common.base.Strings.isNullOrEmpty(brd)) + { + this.func_73731_b(this.field_146289_q, brd, 2, this.field_146295_m - ( 10 + i * (this.field_146289_q.field_78288_b + 1)), 16777215); + } diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch index a65e90b1d..6ae5f0742 100644 --- a/fml/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch @@ -1,27 +1,19 @@ --- ../src-base/minecraft/net/minecraft/client/gui/GuiMultiplayer.java +++ ../src-work/minecraft/net/minecraft/client/gui/GuiMultiplayer.java -@@ -2,6 +2,7 @@ - - import com.google.common.base.Splitter; - import com.google.common.collect.Lists; -+import cpw.mods.fml.client.FMLClientHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.util.List; -@@ -40,6 +41,7 @@ +@@ -41,6 +41,7 @@ public GuiMultiplayer(GuiScreen p_i1040_1_) { this.field_146798_g = p_i1040_1_; -+ FMLClientHandler.instance().setupServerList(); ++ cpw.mods.fml.client.FMLClientHandler.instance().setupServerList(); } public void func_73866_w_() -@@ -366,7 +368,7 @@ +@@ -373,7 +374,7 @@ private void func_146791_a(ServerData p_146791_1_) { - this.field_146297_k.func_147108_a(new GuiConnecting(this, this.field_146297_k, p_146791_1_)); -+ FMLClientHandler.instance().connectToServer(this, p_146791_1_); ++ cpw.mods.fml.client.FMLClientHandler.instance().connectToServer(this, p_146791_1_); } public void func_146790_a(int p_146790_1_) diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch new file mode 100644 index 000000000..a83260a16 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch @@ -0,0 +1,12 @@ +--- ../src-base/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java ++++ ../src-work/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java +@@ -170,6 +170,9 @@ + long l = j - k; + ArrayList arraylist = Lists.newArrayList(new String[] {String.format("Java: %s %dbit", new Object[]{System.getProperty("java.version"), Integer.valueOf(this.field_175242_a.func_147111_S() ? 64 : 32)}), String.format("Mem: % 2d%% %03d/%03dMB", new Object[]{Long.valueOf(l * 100L / i), Long.valueOf(func_175240_a(l)), Long.valueOf(func_175240_a(i))}), String.format("Allocated: % 2d%% %03dMB", new Object[]{Long.valueOf(j * 100L / i), Long.valueOf(func_175240_a(j))}), "", String.format("Display: %dx%d (%s)", new Object[]{Integer.valueOf(Display.getWidth()), Integer.valueOf(Display.getHeight()), GL11.glGetString(GL11.GL_VENDOR)}), GL11.glGetString(GL11.GL_RENDERER), GL11.glGetString(GL11.GL_VERSION)}); + ++ arraylist.add(""); ++ arraylist.addAll(cpw.mods.fml.common.FMLCommonHandler.instance().getBrandings(false)); ++ + if (this.func_175236_d()) + { + return arraylist; diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiSelectWorld.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiSelectWorld.java.patch index bd14fce51..50d6e10dd 100644 --- a/fml/patches/minecraft/net/minecraft/client/gui/GuiSelectWorld.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiSelectWorld.java.patch @@ -1,18 +1,11 @@ --- ../src-base/minecraft/net/minecraft/client/gui/GuiSelectWorld.java +++ ../src-work/minecraft/net/minecraft/client/gui/GuiSelectWorld.java -@@ -1,5 +1,6 @@ - package net.minecraft.client.gui; - -+import cpw.mods.fml.client.FMLClientHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.text.DateFormat; -@@ -179,7 +180,7 @@ +@@ -187,7 +187,7 @@ if (this.field_146297_k.func_71359_d().func_90033_f(s)) { - this.field_146297_k.func_71371_a(s, s1, (WorldSettings)null); -+ FMLClientHandler.instance().tryLoadExistingWorld(this, s, s1); ++ cpw.mods.fml.client.FMLClientHandler.instance().tryLoadExistingWorld(this, s, s1); } } } diff --git a/fml/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch index d103b151c..629a05d9b 100644 --- a/fml/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch @@ -1,31 +1,23 @@ --- ../src-base/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java +++ ../src-work/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java -@@ -2,6 +2,7 @@ - - import com.google.common.base.Charsets; - import com.google.common.util.concurrent.ThreadFactoryBuilder; -+import cpw.mods.fml.client.FMLClientHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import io.netty.buffer.ByteBuf; -@@ -83,7 +84,7 @@ - boolean flag2 = this.field_148301_e.field_82821_f < 5; +@@ -84,7 +84,7 @@ + boolean flag2 = this.field_148301_e.field_82821_f < 47; boolean flag3 = flag1 || flag2; - this.field_148300_d.field_71466_p.func_78276_b(this.field_148301_e.field_78847_a, p_148279_2_ + 32 + 3, p_148279_3_ + 1, 16777215); -- List list = this.field_148300_d.field_71466_p.func_78271_c(this.field_148301_e.field_78843_d, p_148279_4_ - 32 - 2); -+ List list = this.field_148300_d.field_71466_p.func_78271_c(FMLClientHandler.instance().fixDescription(this.field_148301_e.field_78843_d), p_148279_4_ - 48 - 2); + this.field_148300_d.field_71466_p.func_78276_b(this.field_148301_e.field_78847_a, p_180790_2_ + 32 + 3, p_180790_3_ + 1, 16777215); +- List list = this.field_148300_d.field_71466_p.func_78271_c(this.field_148301_e.field_78843_d, p_180790_4_ - 32 - 2); ++ List list = this.field_148300_d.field_71466_p.func_78271_c(cpw.mods.fml.client.FMLClientHandler.instance().fixDescription(this.field_148301_e.field_78843_d), p_180790_4_ - 48 - 2); for (int l1 = 0; l1 < Math.min(list.size(), 2); ++l1) { -@@ -174,6 +175,11 @@ - int k2 = p_148279_7_ - p_148279_2_; - int l2 = p_148279_8_ - p_148279_3_; +@@ -178,6 +178,11 @@ + int k2 = p_180790_6_ - p_180790_2_; + int l2 = p_180790_7_ - p_180790_3_; -+ String tooltip = FMLClientHandler.instance().enhanceServerListEntry(this, this.field_148301_e, p_148279_2_, p_148279_4_, p_148279_3_, k2, l2); ++ String tooltip = cpw.mods.fml.client.FMLClientHandler.instance().enhanceServerListEntry(this, this.field_148301_e, p_180790_2_, p_180790_4_, p_180790_3_, k2, l2); + if (tooltip != null) + { + this.field_148303_c.func_146793_a(tooltip); + } else - if (k2 >= p_148279_4_ - 15 && k2 <= p_148279_4_ - 5 && l2 >= 0 && l2 <= 8) + if (k2 >= p_180790_4_ - 15 && k2 <= p_180790_4_ - 5 && l2 >= 0 && l2 <= 8) { this.field_148303_c.func_146793_a(s1); diff --git a/fml/patches/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java.patch b/fml/patches/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java.patch index 51626808b..5c9477702 100644 --- a/fml/patches/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java.patch @@ -1,41 +1,14 @@ --- ../src-base/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java +++ ../src-work/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java -@@ -5,6 +5,9 @@ - import com.mojang.authlib.exceptions.InvalidCredentialsException; - import com.mojang.authlib.minecraft.MinecraftSessionService; - import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; -+ -+import cpw.mods.fml.client.FMLClientHandler; -+import cpw.mods.fml.common.network.internal.FMLNetworkHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import io.netty.util.concurrent.Future; -@@ -23,6 +26,7 @@ - import net.minecraft.network.login.server.S00PacketDisconnect; - import net.minecraft.network.login.server.S01PacketEncryptionRequest; - import net.minecraft.network.login.server.S02PacketLoginSuccess; -+import net.minecraft.network.play.client.C17PacketCustomPayload; - import net.minecraft.util.ChatComponentTranslation; - import net.minecraft.util.CryptManager; - import net.minecraft.util.IChatComponent; -@@ -100,7 +104,7 @@ - - public void func_147390_a(S02PacketLoginSuccess p_147390_1_) +@@ -92,7 +92,10 @@ { -- this.field_147393_d.func_150723_a(EnumConnectionState.PLAY); -+ FMLNetworkHandler.fmlClientHandshake(this.field_147393_d); + this.field_175091_e = p_147390_1_.func_179730_a(); + this.field_147393_d.func_150723_a(EnumConnectionState.PLAY); +- this.field_147393_d.func_150719_a(new NetHandlerPlayClient(this.field_147394_b, this.field_147395_c, this.field_147393_d, this.field_175091_e)); ++ cpw.mods.fml.common.network.internal.FMLNetworkHandler.fmlClientHandshake(this.field_147393_d); ++ NetHandlerPlayClient nhpc = new NetHandlerPlayClient(this.field_147394_b, this.field_147395_c, this.field_147393_d, this.field_175091_e); ++ this.field_147393_d.func_150719_a(nhpc); ++ cpw.mods.fml.client.FMLClientHandler.instance().setPlayClient(nhpc); } public void func_147231_a(IChatComponent p_147231_1_) -@@ -114,7 +118,10 @@ - - if (p_147232_2_ == EnumConnectionState.PLAY) - { -- this.field_147393_d.func_150719_a(new NetHandlerPlayClient(this.field_147394_b, this.field_147395_c, this.field_147393_d)); -+ NetHandlerPlayClient nhpc = new NetHandlerPlayClient(this.field_147394_b, this.field_147395_c, this.field_147393_d); -+ this.field_147393_d.func_150719_a(nhpc); -+ FMLClientHandler.instance().setPlayClient(nhpc); -+ - } - } - diff --git a/fml/patches/minecraft/net/minecraft/client/network/OldServerPinger.java.patch b/fml/patches/minecraft/net/minecraft/client/network/OldServerPinger.java.patch index 73bd3298f..7e23e00ac 100644 --- a/fml/patches/minecraft/net/minecraft/client/network/OldServerPinger.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/network/OldServerPinger.java.patch @@ -1,18 +1,10 @@ --- ../src-base/minecraft/net/minecraft/client/network/OldServerPinger.java +++ ../src-work/minecraft/net/minecraft/client/network/OldServerPinger.java -@@ -4,6 +4,7 @@ - import com.google.common.base.Splitter; - import com.google.common.collect.Iterables; - import com.mojang.authlib.GameProfile; -+import cpw.mods.fml.client.FMLClientHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import io.netty.bootstrap.Bootstrap; -@@ -147,6 +148,7 @@ +@@ -148,6 +148,7 @@ p_147224_1_.func_147407_a((String)null); } -+ FMLClientHandler.instance().bindServerListData(p_147224_1_, serverstatusresponse); - networkmanager.func_150725_a(new C01PacketPing(Minecraft.func_71386_F()), new GenericFutureListener[0]); ++ cpw.mods.fml.client.FMLClientHandler.instance().bindServerListData(p_147224_1_, serverstatusresponse); + this.field_175092_e = Minecraft.func_71386_F(); + networkmanager.func_179290_a(new C01PacketPing(this.field_175092_e)); this.field_147403_d = true; - } diff --git a/fml/patches/minecraft/net/minecraft/client/renderer/RenderBlocks.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/RenderBlocks.java.patch deleted file mode 100644 index dcbf43209..000000000 --- a/fml/patches/minecraft/net/minecraft/client/renderer/RenderBlocks.java.patch +++ /dev/null @@ -1,102 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/client/renderer/RenderBlocks.java -+++ ../src-work/minecraft/net/minecraft/client/renderer/RenderBlocks.java -@@ -40,6 +40,7 @@ - import net.minecraft.init.Blocks; - import net.minecraft.item.Item; - import net.minecraft.item.ItemBlock; -+import net.minecraft.src.FMLRenderAccessLibrary; - import net.minecraft.tileentity.TileEntity; - import net.minecraft.tileentity.TileEntityFlowerPot; - import net.minecraft.util.Direction; -@@ -245,7 +246,53 @@ - { - p_147805_1_.func_149719_a(this.field_147845_a, p_147805_2_, p_147805_3_, p_147805_4_); - this.func_147775_a(p_147805_1_); -- return l == 0 ? this.func_147784_q(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 4 ? this.func_147721_p(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 31 ? this.func_147742_r(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 1 ? this.func_147746_l(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 40 ? this.func_147774_a((BlockDoublePlant)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 2 ? this.func_147791_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 20 ? this.func_147726_j(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 11 ? this.func_147735_a((BlockFence)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 39 ? this.func_147779_s(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 5 ? this.func_147788_h(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 13 ? this.func_147755_t(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 9 ? this.func_147766_a((BlockRailBase)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 19 ? this.func_147724_m(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 23 ? this.func_147783_o(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 6 ? this.func_147796_n(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 3 ? this.func_147801_a((BlockFire)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 8 ? this.func_147794_i(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 7 ? this.func_147760_u(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 10 ? this.func_147722_a((BlockStairs)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 27 ? this.func_147802_a((BlockDragonEgg)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 32 ? this.func_147807_a((BlockWall)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 12 ? this.func_147790_e(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 29 ? this.func_147723_f(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 30 ? this.func_147756_g(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 14 ? this.func_147773_v(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 15 ? this.func_147759_a((BlockRedstoneRepeater)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 36 ? this.func_147748_a((BlockRedstoneDiode)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 37 ? this.func_147781_a((BlockRedstoneComparator)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 16 ? this.func_147731_b(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, false) : (l == 17 ? this.func_147809_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, true) : (l == 18 ? this.func_147767_a((BlockPane)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 41 ? this.func_147733_k(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 21 ? this.func_147776_a((BlockFenceGate)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 24 ? this.func_147785_a((BlockCauldron)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 33 ? this.func_147752_a((BlockFlowerPot)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 35 ? this.func_147725_a((BlockAnvil)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 25 ? this.func_147741_a((BlockBrewingStand)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 26 ? this.func_147743_a((BlockEndPortalFrame)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 28 ? this.func_147772_a((BlockCocoa)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 34 ? this.func_147797_a((BlockBeacon)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 38 ? this.func_147803_a((BlockHopper)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : false)))))))))))))))))))))))))))))))))))))))); -+ -+ switch (l) -+ { -+ //regex: ' : \(l == ([\d]+) \?' replace: ';\ncase \1: return' ::: IMPORTANT: REMEMBER THIS ON FIRST line! -+ case 0 : return this.func_147784_q(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 4: return this.func_147721_p(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 31: return this.func_147742_r(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 1: return this.func_147746_l(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 40: return this.func_147774_a((BlockDoublePlant)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 2: return this.func_147791_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 20: return this.func_147726_j(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 11: return this.func_147735_a((BlockFence)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 39: return this.func_147779_s(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 5: return this.func_147788_h(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 13: return this.func_147755_t(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 9: return this.func_147766_a((BlockRailBase)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 19: return this.func_147724_m(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 23: return this.func_147783_o(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 6: return this.func_147796_n(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 3: return this.func_147801_a((BlockFire)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 8: return this.func_147794_i(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 7: return this.func_147760_u(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 10: return this.func_147722_a((BlockStairs)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 27: return this.func_147802_a((BlockDragonEgg)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 32: return this.func_147807_a((BlockWall)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 12: return this.func_147790_e(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 29: return this.func_147723_f(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 30: return this.func_147756_g(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 14: return this.func_147773_v(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 15: return this.func_147759_a((BlockRedstoneRepeater)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 36: return this.func_147748_a((BlockRedstoneDiode)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 37: return this.func_147781_a((BlockRedstoneComparator)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 16: return this.func_147731_b(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, false) ; -+ case 17: return this.func_147809_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, true) ; -+ case 18: return this.func_147767_a((BlockPane)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 41: return this.func_147733_k(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 21: return this.func_147776_a((BlockFenceGate)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 24: return this.func_147785_a((BlockCauldron)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 33: return this.func_147752_a((BlockFlowerPot)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 35: return this.func_147725_a((BlockAnvil)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 25: return this.func_147741_a((BlockBrewingStand)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 26: return this.func_147743_a((BlockEndPortalFrame)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 28: return this.func_147772_a((BlockCocoa)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 34: return this.func_147797_a((BlockBeacon)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; -+ case 38: return this.func_147803_a((BlockHopper)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_); -+ default: return FMLRenderAccessLibrary.renderWorldBlock(this, field_147845_a, p_147805_2_, p_147805_3_, p_147805_4_, p_147805_1_, l); -+ } - } - } - -@@ -8089,6 +8136,10 @@ - this.func_147799_a((BlockHopper)p_147800_1_, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } -+ else -+ { -+ FMLRenderAccessLibrary.renderInventoryBlock(this, p_147800_1_, p_147800_2_, j); -+ } - } - else - { -@@ -8147,7 +8198,24 @@ - - public static boolean func_147739_a(int p_147739_0_) - { -- return p_147739_0_ == 0 ? true : (p_147739_0_ == 31 ? true : (p_147739_0_ == 39 ? true : (p_147739_0_ == 13 ? true : (p_147739_0_ == 10 ? true : (p_147739_0_ == 11 ? true : (p_147739_0_ == 27 ? true : (p_147739_0_ == 22 ? true : (p_147739_0_ == 21 ? true : (p_147739_0_ == 16 ? true : (p_147739_0_ == 26 ? true : (p_147739_0_ == 32 ? true : (p_147739_0_ == 34 ? true : (p_147739_0_ == 35 ? true : (p_147739_0_ == -1 ? false : false)))))))))))))); -+ switch (p_147739_0_) -+ { -+ case 0 : return true ; -+ case 31: return true ; -+ case 39: return true ; -+ case 13: return true ; -+ case 10: return true ; -+ case 11: return true ; -+ case 27: return true ; -+ case 22: return true ; -+ case 21: return true ; -+ case 16: return true ; -+ case 26: return true ; -+ case 32: return true ; -+ case 34: return true ; -+ case 35: return true ; -+ default: return FMLRenderAccessLibrary.renderItemAsFull3DBlock(p_147739_0_); -+ } - } - - public IIcon func_147793_a(Block p_147793_1_, IBlockAccess p_147793_2_, int p_147793_3_, int p_147793_4_, int p_147793_5_, int p_147793_6_) diff --git a/fml/patches/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java.patch index 0d2009393..f0d36567d 100644 --- a/fml/patches/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java.patch @@ -1,18 +1,11 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java +++ ../src-work/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java -@@ -1,5 +1,6 @@ - package net.minecraft.client.renderer.entity; - -+import cpw.mods.fml.common.registry.VillagerRegistry; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import net.minecraft.client.model.ModelVillager; -@@ -53,7 +54,7 @@ +@@ -48,7 +48,7 @@ case 4: return field_110906_m; default: - return field_110903_f; -+ return VillagerRegistry.getVillagerSkin(p_110775_1_.func_70946_n(), field_110903_f); ++ return cpw.mods.fml.common.registry.VillagerRegistry.getVillagerSkin(p_110775_1_.func_70946_n(), field_110903_f); } } diff --git a/fml/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch b/fml/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch index 62003bd86..281aaedd0 100644 --- a/fml/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch @@ -1,19 +1,10 @@ --- ../src-base/minecraft/net/minecraft/client/resources/LanguageManager.java +++ ../src-work/minecraft/net/minecraft/client/resources/LanguageManager.java -@@ -3,6 +3,8 @@ - import com.google.common.collect.Lists; - import com.google.common.collect.Maps; - import com.google.common.collect.Sets; -+ -+import cpw.mods.fml.common.registry.LanguageRegistry; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.io.IOException; -@@ -83,6 +85,7 @@ +@@ -83,6 +83,7 @@ } field_135049_a.func_135022_a(p_110549_1_, arraylist); -+ LanguageRegistry.instance().mergeLanguageTable(field_135049_a.field_135032_a, this.field_135048_c); ++ cpw.mods.fml.common.registry.LanguageRegistry.instance().mergeLanguageTable(field_135049_a.field_135032_a, this.field_135048_c); StringTranslate.func_135063_a(field_135049_a.field_135032_a); } diff --git a/fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch b/fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch index 052316866..8aaa86d16 100644 --- a/fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch +++ b/fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch @@ -1,19 +1,10 @@ --- ../src-base/minecraft/net/minecraft/client/settings/GameSettings.java +++ ../src-work/minecraft/net/minecraft/client/settings/GameSettings.java -@@ -2,6 +2,8 @@ - - import com.google.common.collect.Maps; - import com.google.gson.Gson; -+ -+import cpw.mods.fml.client.FMLClientHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.io.BufferedReader; -@@ -1049,6 +1051,7 @@ +@@ -1067,6 +1067,7 @@ public void func_74303_b() { -+ if (FMLClientHandler.instance().isLoading()) return; ++ if (cpw.mods.fml.client.FMLClientHandler.instance().isLoading()) return; try { PrintWriter printwriter = new PrintWriter(new FileWriter(this.field_74354_ai)); diff --git a/fml/patches/minecraft/net/minecraft/crash/CrashReport.java.patch b/fml/patches/minecraft/net/minecraft/crash/CrashReport.java.patch index 8e949dad3..cc885067d 100644 --- a/fml/patches/minecraft/net/minecraft/crash/CrashReport.java.patch +++ b/fml/patches/minecraft/net/minecraft/crash/CrashReport.java.patch @@ -1,17 +1,10 @@ --- ../src-base/minecraft/net/minecraft/crash/CrashReport.java +++ ../src-work/minecraft/net/minecraft/crash/CrashReport.java -@@ -1,5 +1,6 @@ - package net.minecraft.crash; - -+import cpw.mods.fml.common.FMLCommonHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.io.File; -@@ -140,6 +141,7 @@ +@@ -126,6 +126,7 @@ return IntCache.func_85144_b(); } }); -+ FMLCommonHandler.instance().enhanceCrashReport(this, this.field_85061_c); ++ cpw.mods.fml.common.FMLCommonHandler.instance().enhanceCrashReport(this, this.field_85061_c); } public String func_71501_a() diff --git a/fml/patches/minecraft/net/minecraft/entity/EntityList.java.patch b/fml/patches/minecraft/net/minecraft/entity/EntityList.java.patch index 5395ce369..675eca8cb 100644 --- a/fml/patches/minecraft/net/minecraft/entity/EntityList.java.patch +++ b/fml/patches/minecraft/net/minecraft/entity/EntityList.java.patch @@ -1,28 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/EntityList.java +++ ../src-work/minecraft/net/minecraft/entity/EntityList.java -@@ -5,6 +5,7 @@ - import java.util.LinkedHashMap; - import java.util.Map; - import java.util.Set; -+ - import net.minecraft.entity.ai.EntityMinecartMobSpawner; - import net.minecraft.entity.boss.EntityDragon; - import net.minecraft.entity.boss.EntityWither; -@@ -63,9 +64,13 @@ - import net.minecraft.stats.StatBase; - import net.minecraft.stats.StatList; - import net.minecraft.world.World; -+ -+import org.apache.logging.log4j.Level; - import org.apache.logging.log4j.LogManager; - import org.apache.logging.log4j.Logger; - -+import cpw.mods.fml.common.FMLLog; -+ - public class EntityList - { - private static final Logger field_151516_b = LogManager.getLogger(); -@@ -145,9 +150,10 @@ +@@ -153,9 +153,10 @@ p_75615_0_.func_82580_o("Type"); } @@ -34,18 +12,17 @@ if (oclass != null) { -@@ -161,7 +167,17 @@ +@@ -169,7 +170,17 @@ if (entity != null) { -- entity.func_70020_e(p_75615_0_); + try + { -+ entity.func_70020_e(p_75615_0_); + entity.func_70020_e(p_75615_0_); + } + catch (Exception e) + { -+ FMLLog.log(Level.ERROR, e, ++ cpw.mods.fml.common.FMLLog.log(org.apache.logging.log4j.Level.ERROR, e, + "An Entity %s(%s) has thrown an exception during loading, its state cannot be restored. Report this to the mod author", + p_75615_0_.func_74779_i("id"), oclass.getName()); + entity = null; diff --git a/fml/patches/minecraft/net/minecraft/entity/EntityTracker.java.patch b/fml/patches/minecraft/net/minecraft/entity/EntityTracker.java.patch index 6ac693b32..30f1bcaf8 100644 --- a/fml/patches/minecraft/net/minecraft/entity/EntityTracker.java.patch +++ b/fml/patches/minecraft/net/minecraft/entity/EntityTracker.java.patch @@ -1,22 +1,10 @@ --- ../src-base/minecraft/net/minecraft/entity/EntityTracker.java +++ ../src-work/minecraft/net/minecraft/entity/EntityTracker.java -@@ -39,6 +39,8 @@ - import org.apache.logging.log4j.LogManager; - import org.apache.logging.log4j.Logger; - -+import cpw.mods.fml.common.registry.EntityRegistry; -+ - public class EntityTracker - { - private static final Logger field_151249_a = LogManager.getLogger(); -@@ -56,6 +58,11 @@ +@@ -58,6 +58,8 @@ public void func_72786_a(Entity p_72786_1_) { -+ if (EntityRegistry.instance().tryTrackingEntity(this, p_72786_1_)) -+ { -+ return; -+ } ++ if (cpw.mods.fml.common.registry.EntityRegistry.instance().tryTrackingEntity(this, p_72786_1_)) return; + if (p_72786_1_ instanceof EntityPlayerMP) { diff --git a/fml/patches/minecraft/net/minecraft/entity/EntityTrackerEntry.java.patch b/fml/patches/minecraft/net/minecraft/entity/EntityTrackerEntry.java.patch index 17616ed0c..d35b17033 100644 --- a/fml/patches/minecraft/net/minecraft/entity/EntityTrackerEntry.java.patch +++ b/fml/patches/minecraft/net/minecraft/entity/EntityTrackerEntry.java.patch @@ -1,15 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/EntityTrackerEntry.java +++ ../src-work/minecraft/net/minecraft/entity/EntityTrackerEntry.java -@@ -57,6 +57,8 @@ - import org.apache.logging.log4j.LogManager; - import org.apache.logging.log4j.Logger; - -+import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -+ - public class EntityTrackerEntry - { - private static final Logger field_151262_p = LogManager.getLogger(); -@@ -377,6 +379,14 @@ +@@ -388,6 +388,14 @@ this.field_73138_k = this.field_73132_a.field_70181_x; this.field_73135_l = this.field_73132_a.field_70179_y; @@ -18,22 +9,19 @@ + int posZ = MathHelper.func_76128_c(this.field_73132_a.field_70161_v * 32.0D); + if (posX != this.field_73128_d || posY != this.field_73129_e || posZ != this.field_73126_f) + { -+ FMLNetworkHandler.makeEntitySpawnAdjustment(this.field_73132_a, p_73117_1_, this.field_73128_d, this.field_73129_e, this.field_73126_f); ++ cpw.mods.fml.common.network.internal.FMLNetworkHandler.makeEntitySpawnAdjustment(this.field_73132_a, p_73117_1_, this.field_73128_d, this.field_73129_e, this.field_73126_f); + } + if (this.field_73143_t && !(packet instanceof S0FPacketSpawnMob)) { p_73117_1_.field_71135_a.func_147359_a(new S12PacketEntityVelocity(this.field_73132_a.func_145782_y(), this.field_73132_a.field_70159_w, this.field_73132_a.field_70181_x, this.field_73132_a.field_70179_y)); -@@ -456,6 +466,12 @@ +@@ -474,6 +482,9 @@ field_151262_p.warn("Fetching addPacket for removed entity"); } -+ Packet pkt = FMLNetworkHandler.getEntitySpawningPacket(this.field_73132_a); ++ Packet pkt = cpw.mods.fml.common.network.internal.FMLNetworkHandler.getEntitySpawningPacket(this.field_73132_a); ++ if (pkt != null) return pkt; + -+ if (pkt != null) -+ { -+ return pkt; -+ } if (this.field_73132_a instanceof EntityItem) { return new S0EPacketSpawnObject(this.field_73132_a, 2, 1); diff --git a/fml/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch b/fml/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch index 4798e9ed6..b4a5f611e 100644 --- a/fml/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch +++ b/fml/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch @@ -1,20 +1,10 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityItem.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityItem.java -@@ -17,6 +17,8 @@ - import org.apache.logging.log4j.LogManager; - import org.apache.logging.log4j.Logger; - -+import cpw.mods.fml.common.FMLCommonHandler; -+ - public class EntityItem extends Entity - { - private static final Logger field_145803_d = LogManager.getLogger(); -@@ -325,6 +327,8 @@ +@@ -366,6 +366,7 @@ } } -+ FMLCommonHandler.instance().firePlayerItemPickupEvent(p_70100_1_, this); -+ - this.field_70170_p.func_72956_a(p_70100_1_, "random.pop", 0.2F, ((this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.7F + 1.0F) * 2.0F); - p_70100_1_.func_71001_a(this, i); - ++ cpw.mods.fml.common.FMLCommonHandler.instance().firePlayerItemPickupEvent(p_70100_1_, this); + if (!this.func_174814_R()) + { + this.field_70170_p.func_72956_a(p_70100_1_, "random.pop", 0.2F, ((this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.7F + 1.0F) * 2.0F); diff --git a/fml/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch b/fml/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch index 473248061..45e3d5eec 100644 --- a/fml/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch +++ b/fml/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch @@ -1,8 +1,8 @@ --- ../src-base/minecraft/net/minecraft/entity/monster/EntitySlime.java +++ ../src-work/minecraft/net/minecraft/entity/monster/EntitySlime.java -@@ -247,7 +247,7 @@ +@@ -271,7 +271,7 @@ { - Chunk chunk = this.field_70170_p.func_72938_d(MathHelper.func_76128_c(this.field_70165_t), MathHelper.func_76128_c(this.field_70161_v)); + Chunk chunk = this.field_70170_p.func_175726_f(new BlockPos(MathHelper.func_76128_c(this.field_70165_t), 0, MathHelper.func_76128_c(this.field_70161_v))); - if (this.field_70170_p.func_72912_H().func_76067_t() == WorldType.field_77138_c && this.field_70146_Z.nextInt(4) != 1) + if (this.field_70170_p.func_72912_H().func_76067_t().handleSlimeSpawnReduction(field_70146_Z, field_70170_p)) diff --git a/fml/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch b/fml/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch index f3665c4ea..e45513c0d 100644 --- a/fml/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch +++ b/fml/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch @@ -1,26 +1,35 @@ --- ../src-base/minecraft/net/minecraft/entity/passive/EntityVillager.java +++ ../src-work/minecraft/net/minecraft/entity/passive/EntityVillager.java -@@ -1,5 +1,6 @@ - package net.minecraft.entity.passive; +@@ -83,6 +83,7 @@ + private boolean field_82190_bM; + private boolean field_175564_by; + private InventoryBasic field_175560_bz; ++ @Deprecated //Use VillagerRegistry + private static final EntityVillager.ITradeList[][][][] field_175561_bA = new EntityVillager.ITradeList[][][][] {{{{new EntityVillager.EmeraldForItems(Items.field_151015_O, new EntityVillager.PriceInfo(18, 22)), new EntityVillager.EmeraldForItems(Items.field_151174_bG, new EntityVillager.PriceInfo(15, 19)), new EntityVillager.EmeraldForItems(Items.field_151172_bF, new EntityVillager.PriceInfo(15, 19)), new EntityVillager.ListItemForEmeralds(Items.field_151025_P, new EntityVillager.PriceInfo(-4, -2))}, {new EntityVillager.EmeraldForItems(Item.func_150898_a(Blocks.field_150423_aK), new EntityVillager.PriceInfo(8, 13)), new EntityVillager.ListItemForEmeralds(Items.field_151158_bO, new EntityVillager.PriceInfo(-3, -2))}, {new EntityVillager.EmeraldForItems(Item.func_150898_a(Blocks.field_150440_ba), new EntityVillager.PriceInfo(7, 12)), new EntityVillager.ListItemForEmeralds(Items.field_151034_e, new EntityVillager.PriceInfo(-5, -7))}, {new EntityVillager.ListItemForEmeralds(Items.field_151106_aX, new EntityVillager.PriceInfo(-6, -10)), new EntityVillager.ListItemForEmeralds(Items.field_151105_aU, new EntityVillager.PriceInfo(1, 1))}}, {{new EntityVillager.EmeraldForItems(Items.field_151007_F, new EntityVillager.PriceInfo(15, 20)), new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ItemAndEmeraldToItem(Items.field_151115_aP, new EntityVillager.PriceInfo(6, 6), Items.field_179566_aV, new EntityVillager.PriceInfo(6, 6))}, {new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151112_aM, new EntityVillager.PriceInfo(7, 8))}}, {{new EntityVillager.EmeraldForItems(Item.func_150898_a(Blocks.field_150325_L), new EntityVillager.PriceInfo(16, 22)), new EntityVillager.ListItemForEmeralds(Items.field_151097_aZ, new EntityVillager.PriceInfo(3, 4))}, {new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 0), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 1), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 2), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 3), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 4), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 5), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 6), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 7), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 8), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 9), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 10), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 11), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 12), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 13), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 14), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 15), new EntityVillager.PriceInfo(1, 2))}}, {{new EntityVillager.EmeraldForItems(Items.field_151007_F, new EntityVillager.PriceInfo(15, 20)), new EntityVillager.ListItemForEmeralds(Items.field_151032_g, new EntityVillager.PriceInfo(-12, -8))}, {new EntityVillager.ListItemForEmeralds(Items.field_151031_f, new EntityVillager.PriceInfo(2, 3)), new EntityVillager.ItemAndEmeraldToItem(Item.func_150898_a(Blocks.field_150351_n), new EntityVillager.PriceInfo(10, 10), Items.field_151145_ak, new EntityVillager.PriceInfo(6, 10))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151121_aF, new EntityVillager.PriceInfo(24, 36)), new EntityVillager.ListEnchantedBookForEmeralds()}, {new EntityVillager.EmeraldForItems(Items.field_151122_aG, new EntityVillager.PriceInfo(8, 10)), new EntityVillager.ListItemForEmeralds(Items.field_151111_aL, new EntityVillager.PriceInfo(10, 12)), new EntityVillager.ListItemForEmeralds(Item.func_150898_a(Blocks.field_150342_X), new EntityVillager.PriceInfo(3, 4))}, {new EntityVillager.EmeraldForItems(Items.field_151164_bB, new EntityVillager.PriceInfo(2, 2)), new EntityVillager.ListItemForEmeralds(Items.field_151113_aN, new EntityVillager.PriceInfo(10, 12)), new EntityVillager.ListItemForEmeralds(Item.func_150898_a(Blocks.field_150359_w), new EntityVillager.PriceInfo(-5, -3))}, {new EntityVillager.ListEnchantedBookForEmeralds()}, {new EntityVillager.ListEnchantedBookForEmeralds()}, {new EntityVillager.ListItemForEmeralds(Items.field_151057_cb, new EntityVillager.PriceInfo(20, 22))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151078_bh, new EntityVillager.PriceInfo(36, 40)), new EntityVillager.EmeraldForItems(Items.field_151043_k, new EntityVillager.PriceInfo(8, 10))}, {new EntityVillager.ListItemForEmeralds(Items.field_151137_ax, new EntityVillager.PriceInfo(-4, -1)), new EntityVillager.ListItemForEmeralds(new ItemStack(Items.field_151100_aR, 1, EnumDyeColor.BLUE.func_176767_b()), new EntityVillager.PriceInfo(-2, -1))}, {new EntityVillager.ListItemForEmeralds(Items.field_151061_bv, new EntityVillager.PriceInfo(7, 11)), new EntityVillager.ListItemForEmeralds(Item.func_150898_a(Blocks.field_150426_aN), new EntityVillager.PriceInfo(-3, -1))}, {new EntityVillager.ListItemForEmeralds(Items.field_151062_by, new EntityVillager.PriceInfo(3, 11))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListItemForEmeralds(Items.field_151028_Y, new EntityVillager.PriceInfo(4, 6))}, {new EntityVillager.EmeraldForItems(Items.field_151042_j, new EntityVillager.PriceInfo(7, 9)), new EntityVillager.ListItemForEmeralds(Items.field_151030_Z, new EntityVillager.PriceInfo(10, 14))}, {new EntityVillager.EmeraldForItems(Items.field_151045_i, new EntityVillager.PriceInfo(3, 4)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151163_ad, new EntityVillager.PriceInfo(16, 19))}, {new EntityVillager.ListItemForEmeralds(Items.field_151029_X, new EntityVillager.PriceInfo(5, 7)), new EntityVillager.ListItemForEmeralds(Items.field_151022_W, new EntityVillager.PriceInfo(9, 11)), new EntityVillager.ListItemForEmeralds(Items.field_151020_U, new EntityVillager.PriceInfo(5, 7)), new EntityVillager.ListItemForEmeralds(Items.field_151023_V, new EntityVillager.PriceInfo(11, 15))}}, {{new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListItemForEmeralds(Items.field_151036_c, new EntityVillager.PriceInfo(6, 8))}, {new EntityVillager.EmeraldForItems(Items.field_151042_j, new EntityVillager.PriceInfo(7, 9)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151040_l, new EntityVillager.PriceInfo(9, 10))}, {new EntityVillager.EmeraldForItems(Items.field_151045_i, new EntityVillager.PriceInfo(3, 4)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151048_u, new EntityVillager.PriceInfo(12, 15)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151056_x, new EntityVillager.PriceInfo(9, 12))}}, {{new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151037_a, new EntityVillager.PriceInfo(5, 7))}, {new EntityVillager.EmeraldForItems(Items.field_151042_j, new EntityVillager.PriceInfo(7, 9)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151035_b, new EntityVillager.PriceInfo(9, 11))}, {new EntityVillager.EmeraldForItems(Items.field_151045_i, new EntityVillager.PriceInfo(3, 4)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151046_w, new EntityVillager.PriceInfo(12, 15))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151147_al, new EntityVillager.PriceInfo(14, 18)), new EntityVillager.EmeraldForItems(Items.field_151076_bf, new EntityVillager.PriceInfo(14, 18))}, {new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListItemForEmeralds(Items.field_151157_am, new EntityVillager.PriceInfo(-7, -5)), new EntityVillager.ListItemForEmeralds(Items.field_151077_bg, new EntityVillager.PriceInfo(-8, -6))}}, {{new EntityVillager.EmeraldForItems(Items.field_151116_aA, new EntityVillager.PriceInfo(9, 12)), new EntityVillager.ListItemForEmeralds(Items.field_151026_S, new EntityVillager.PriceInfo(2, 4))}, {new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151027_R, new EntityVillager.PriceInfo(7, 12))}, {new EntityVillager.ListItemForEmeralds(Items.field_151141_av, new EntityVillager.PriceInfo(8, 10))}}}}; + private static final String __OBFID = "CL_00001707"; -+import cpw.mods.fml.common.registry.VillagerRegistry; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.util.Collections; -@@ -422,6 +423,7 @@ +@@ -540,6 +541,7 @@ - MerchantRecipeList merchantrecipelist; - merchantrecipelist = new MerchantRecipeList(); -+ VillagerRegistry.manageVillagerTrades(merchantrecipelist, this, this.func_70946_n(), this.field_70146_Z); - int k; - label50: - -@@ -626,7 +628,7 @@ - public IEntityLivingData func_110161_a(IEntityLivingData p_110161_1_) + private void func_175554_cu() { - p_110161_1_ = super.func_110161_a(p_110161_1_); -- this.func_70938_b(this.field_70170_p.field_73012_v.nextInt(5)); -+ VillagerRegistry.applyRandomTrade(this, field_70170_p.field_73012_v); - return p_110161_1_; - } ++ //TODO: Hook into VillagerRegistry + EntityVillager.ITradeList[][][] aitradelist = field_175561_bA[this.func_70946_n()]; + if (this.field_175563_bv != 0 && this.field_175562_bw != 0) +@@ -648,6 +650,7 @@ + } + } + ++ //TODO: Hook into VillagerRegistry to get name + if (s1 != null) + { + ChatComponentTranslation chatcomponenttranslation = new ChatComponentTranslation("entity.Villager." + s1, new Object[0]); +@@ -710,7 +713,7 @@ + public IEntityLivingData func_180482_a(DifficultyInstance p_180482_1_, IEntityLivingData p_180482_2_) + { + p_180482_2_ = super.func_180482_a(p_180482_1_, p_180482_2_); +- this.func_70938_b(this.field_70170_p.field_73012_v.nextInt(5)); ++ cpw.mods.fml.common.registry.VillagerRegistry.setRandomProfession(this, this.field_70170_p.field_73012_v); + this.func_175552_ct(); + return p_180482_2_; + } diff --git a/fml/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch b/fml/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch index b3209c0d5..23de5973f 100644 --- a/fml/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch +++ b/fml/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch @@ -1,40 +1,41 @@ --- ../src-base/minecraft/net/minecraft/entity/player/EntityPlayer.java +++ ../src-work/minecraft/net/minecraft/entity/player/EntityPlayer.java -@@ -2,6 +2,9 @@ - - import com.google.common.base.Charsets; - import com.mojang.authlib.GameProfile; -+ -+import cpw.mods.fml.common.FMLCommonHandler; -+import cpw.mods.fml.common.network.internal.FMLNetworkHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.util.Collection; -@@ -193,6 +196,7 @@ +@@ -200,6 +200,7 @@ public void func_70071_h_() { -+ FMLCommonHandler.instance().onPlayerPreTick(this); - if (this.field_71074_e != null) ++ cpw.mods.fml.common.FMLCommonHandler.instance().onPlayerPreTick(this); + this.field_70145_X = this.func_175149_v(); + + if (this.func_175149_v()) +@@ -344,6 +345,7 @@ { - ItemStack itemstack = this.field_71071_by.func_70448_g(); -@@ -316,6 +320,7 @@ - this.field_71100_bB.func_75118_a(this); - this.func_71064_a(StatList.field_75948_k, 1); + this.func_70107_b(d3, this.field_70163_u, d4); } -+ FMLCommonHandler.instance().onPlayerPostTick(this); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onPlayerPostTick(this); } public int func_82145_z() -@@ -2031,6 +2036,11 @@ - } +@@ -2139,6 +2141,22 @@ + this.field_175153_bG = p_175150_1_; } ++ /** ++ * Opens a GUI with this player, uses FML's IGuiHandler system. ++ * Allows for extension by modders. ++ * ++ * @param mod The mod trying to open a GUI ++ * @param modGuiId GUI ID ++ * @param world Current World ++ * @param x Passed directly to IGuiHandler, data meaningless Typically world X position ++ * @param y Passed directly to IGuiHandler, data meaningless Typically world Y position ++ * @param z Passed directly to IGuiHandler, data meaningless Typically world Z position ++ */ + public void openGui(Object mod, int modGuiId, World world, int x, int y, int z) + { -+ FMLNetworkHandler.openGui(this, mod, modGuiId, world, x, y, z); ++ cpw.mods.fml.common.network.internal.FMLNetworkHandler.openGui(this, mod, modGuiId, world, x, y, z); + } + - public static enum EnumStatus + public static enum EnumChatVisibility { - OK, + FULL(0, "options.chat.visibility.full"), diff --git a/fml/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch b/fml/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch index fe83af5f2..a88aa191d 100644 --- a/fml/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch +++ b/fml/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch @@ -1,17 +1,10 @@ --- ../src-base/minecraft/net/minecraft/inventory/SlotCrafting.java +++ ../src-work/minecraft/net/minecraft/inventory/SlotCrafting.java -@@ -1,5 +1,6 @@ - package net.minecraft.inventory; - -+import cpw.mods.fml.common.FMLCommonHandler; - import net.minecraft.entity.player.EntityPlayer; - import net.minecraft.init.Blocks; - import net.minecraft.init.Items; -@@ -103,6 +104,7 @@ +@@ -113,6 +113,7 @@ public void func_82870_a(EntityPlayer p_82870_1_, ItemStack p_82870_2_) { -+ FMLCommonHandler.instance().firePlayerCraftingEvent(p_82870_1_, p_82870_2_, field_75239_a); ++ cpw.mods.fml.common.FMLCommonHandler.instance().firePlayerCraftingEvent(p_82870_1_, p_82870_2_, field_75239_a); this.func_75208_c(p_82870_2_); + ItemStack[] aitemstack = CraftingManager.func_77594_a().func_180303_b(this.field_75239_a, p_82870_1_.field_70170_p); - for (int i = 0; i < this.field_75239_a.func_70302_i_(); ++i) diff --git a/fml/patches/minecraft/net/minecraft/inventory/SlotFurnace.java.patch b/fml/patches/minecraft/net/minecraft/inventory/SlotFurnace.java.patch deleted file mode 100644 index 3837df4f6..000000000 --- a/fml/patches/minecraft/net/minecraft/inventory/SlotFurnace.java.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/inventory/SlotFurnace.java -+++ ../src-work/minecraft/net/minecraft/inventory/SlotFurnace.java -@@ -1,5 +1,6 @@ - package net.minecraft.inventory; - -+import cpw.mods.fml.common.FMLCommonHandler; - import net.minecraft.entity.item.EntityXPOrb; - import net.minecraft.entity.player.EntityPlayer; - import net.minecraft.init.Items; -@@ -83,6 +84,8 @@ - - this.field_75228_b = 0; - -+ FMLCommonHandler.instance().firePlayerSmeltedEvent(field_75229_a, p_75208_1_); -+ - if (p_75208_1_.func_77973_b() == Items.field_151042_j) - { - this.field_75229_a.func_71064_a(AchievementList.field_76016_k, 1); diff --git a/fml/patches/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java.patch b/fml/patches/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java.patch new file mode 100644 index 000000000..84538eae2 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java ++++ ../src-work/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java +@@ -83,6 +83,8 @@ + + this.field_75228_b = 0; + ++ cpw.mods.fml.common.FMLCommonHandler.instance().firePlayerSmeltedEvent(field_75229_a, p_75208_1_); ++ + if (p_75208_1_.func_77973_b() == Items.field_151042_j) + { + this.field_75229_a.func_71029_a(AchievementList.field_76016_k); diff --git a/fml/patches/minecraft/net/minecraft/item/Item.java.patch b/fml/patches/minecraft/net/minecraft/item/Item.java.patch index dd8c2a4f1..d42047561 100644 --- a/fml/patches/minecraft/net/minecraft/item/Item.java.patch +++ b/fml/patches/minecraft/net/minecraft/item/Item.java.patch @@ -1,29 +1,21 @@ --- ../src-base/minecraft/net/minecraft/item/Item.java +++ ../src-work/minecraft/net/minecraft/item/Item.java -@@ -3,6 +3,8 @@ - import com.google.common.collect.HashMultimap; - import com.google.common.collect.Multimap; - import com.google.common.collect.Sets; -+ -+import cpw.mods.fml.common.registry.GameData; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.util.HashSet; -@@ -46,7 +48,7 @@ +@@ -47,7 +47,7 @@ public class Item { - public static final RegistryNamespaced field_150901_e = new RegistryNamespaced(); -+ public static final RegistryNamespaced field_150901_e = GameData.getItemRegistry(); ++ public static final RegistryNamespaced field_150901_e = cpw.mods.fml.common.registry.GameData.getItemRegistry(); + private static final Map field_179220_a = Maps.newHashMap(); protected static final UUID field_111210_e = UUID.fromString("CB3F55D3-645C-4F38-A497-9C13A33DB5CF"); private CreativeTabs field_77701_a; - protected static Random field_77697_d = new Random(); -@@ -62,6 +64,8 @@ - protected String field_111218_cA; +@@ -61,6 +61,9 @@ + private String field_77774_bZ; private static final String __OBFID = "CL_00000041"; -+ public final cpw.mods.fml.common.registry.RegistryDelegate delegate = ++ public final cpw.mods.fml.common.registry.RegistryDelegate delegate = + ((cpw.mods.fml.common.registry.FMLControlledNamespacedRegistry)field_150901_e).getDelegate(this, Item.class); ++ public static int func_150891_b(Item p_150891_0_) { return p_150891_0_ == null ? 0 : field_150901_e.func_148757_b(p_150891_0_); diff --git a/fml/patches/minecraft/net/minecraft/item/ItemEmptyMap.java.patch b/fml/patches/minecraft/net/minecraft/item/ItemEmptyMap.java.patch index 7138639c5..dce46dfd0 100644 --- a/fml/patches/minecraft/net/minecraft/item/ItemEmptyMap.java.patch +++ b/fml/patches/minecraft/net/minecraft/item/ItemEmptyMap.java.patch @@ -1,11 +1,11 @@ --- ../src-base/minecraft/net/minecraft/item/ItemEmptyMap.java +++ ../src-work/minecraft/net/minecraft/item/ItemEmptyMap.java -@@ -25,7 +25,7 @@ - int i = 128 * (1 << mapdata.field_76197_d); - mapdata.field_76201_a = (int)(Math.round(p_77659_3_.field_70165_t / (double)i) * (long)i); - mapdata.field_76199_b = (int)(Math.round(p_77659_3_.field_70161_v / (double)i) * (long)i); -- mapdata.field_76200_c = (byte)p_77659_2_.field_73011_w.field_76574_g; -+ mapdata.field_76200_c = p_77659_2_.field_73011_w.field_76574_g; +@@ -24,7 +24,7 @@ + p_77659_2_.func_72823_a(s, mapdata); + mapdata.field_76197_d = 0; + mapdata.func_176054_a(p_77659_3_.field_70165_t, p_77659_3_.field_70161_v, mapdata.field_76197_d); +- mapdata.field_76200_c = (byte)p_77659_2_.field_73011_w.func_177502_q(); ++ mapdata.field_76200_c = p_77659_2_.field_73011_w.func_177502_q(); mapdata.func_76185_a(); --p_77659_1_.field_77994_a; diff --git a/fml/patches/minecraft/net/minecraft/item/ItemMap.java.patch b/fml/patches/minecraft/net/minecraft/item/ItemMap.java.patch index 80875eefe..9201f5bba 100644 --- a/fml/patches/minecraft/net/minecraft/item/ItemMap.java.patch +++ b/fml/patches/minecraft/net/minecraft/item/ItemMap.java.patch @@ -1,11 +1,11 @@ --- ../src-base/minecraft/net/minecraft/item/ItemMap.java +++ ../src-work/minecraft/net/minecraft/item/ItemMap.java -@@ -57,7 +57,7 @@ - int i = 128 * (1 << mapdata.field_76197_d); - mapdata.field_76201_a = Math.round((float)p_77873_2_.func_72912_H().func_76079_c() / (float)i) * i; - mapdata.field_76199_b = Math.round((float)(p_77873_2_.func_72912_H().func_76074_e() / i)) * i; -- mapdata.field_76200_c = (byte)p_77873_2_.field_73011_w.field_76574_g; -+ mapdata.field_76200_c = p_77873_2_.field_73011_w.field_76574_g; +@@ -58,7 +58,7 @@ + mapdata = new MapData(s); + mapdata.field_76197_d = 3; + mapdata.func_176054_a((double)p_77873_2_.func_72912_H().func_76079_c(), (double)p_77873_2_.func_72912_H().func_76074_e(), mapdata.field_76197_d); +- mapdata.field_76200_c = (byte)p_77873_2_.field_73011_w.func_177502_q(); ++ mapdata.field_76200_c = p_77873_2_.field_73011_w.func_177502_q(); mapdata.func_76185_a(); p_77873_2_.func_72823_a(s, mapdata); } diff --git a/fml/patches/minecraft/net/minecraft/item/ItemStack.java.patch b/fml/patches/minecraft/net/minecraft/item/ItemStack.java.patch index 7e2047115..3d5e04a3b 100644 --- a/fml/patches/minecraft/net/minecraft/item/ItemStack.java.patch +++ b/fml/patches/minecraft/net/minecraft/item/ItemStack.java.patch @@ -1,23 +1,23 @@ --- ../src-base/minecraft/net/minecraft/item/ItemStack.java +++ ../src-work/minecraft/net/minecraft/item/ItemStack.java -@@ -45,6 +45,7 @@ - private EntityItemFrame field_82843_f; +@@ -52,6 +52,7 @@ + private boolean field_179551_k; private static final String __OBFID = "CL_00000043"; + private cpw.mods.fml.common.registry.RegistryDelegate delegate; public ItemStack(Block p_i1876_1_) { this(p_i1876_1_, 1); -@@ -72,7 +73,7 @@ - - public ItemStack(Item p_i1881_1_, int p_i1881_2_, int p_i1881_3_) - { +@@ -83,7 +84,7 @@ + this.field_179553_i = false; + this.field_179550_j = null; + this.field_179551_k = false; - this.field_151002_e = p_i1881_1_; -+ func_150996_a(p_i1881_1_); ++ this.func_150996_a(p_i1881_1_); this.field_77994_a = p_i1881_2_; this.field_77991_e = p_i1881_3_; -@@ -106,7 +107,7 @@ +@@ -123,7 +124,7 @@ public Item func_77973_b() { @@ -25,17 +25,22 @@ + return this.delegate != null ? this.delegate.get() : null; } - @SideOnly(Side.CLIENT) -@@ -164,7 +165,7 @@ - - public void func_77963_c(NBTTagCompound p_77963_1_) + public boolean func_179546_a(EntityPlayer p_179546_1_, World p_179546_2_, BlockPos p_179546_3_, EnumFacing p_179546_4_, float p_179546_5_, float p_179546_6_, float p_179546_7_) +@@ -172,11 +173,11 @@ { -- this.field_151002_e = Item.func_150899_d(p_77963_1_.func_74765_d("id")); -+ func_150996_a(Item.func_150899_d(p_77963_1_.func_74765_d("id"))); - this.field_77994_a = p_77963_1_.func_74771_c("Count"); - this.field_77991_e = p_77963_1_.func_74765_d("Damage"); + if (p_77963_1_.func_150297_b("id", 8)) + { +- this.field_151002_e = Item.func_111206_d(p_77963_1_.func_74779_i("id")); ++ this.func_150996_a(Item.func_111206_d(p_77963_1_.func_74779_i("id"))); + } + else + { +- this.field_151002_e = Item.func_150899_d(p_77963_1_.func_74765_d("id")); ++ this.func_150996_a(Item.func_150899_d(p_77963_1_.func_74765_d("id"))); + } -@@ -744,6 +745,7 @@ + this.field_77994_a = p_77963_1_.func_74771_c("Count"); +@@ -870,6 +871,7 @@ public void func_150996_a(Item p_150996_1_) { diff --git a/fml/patches/minecraft/net/minecraft/network/NetworkManager.java.patch b/fml/patches/minecraft/net/minecraft/network/NetworkManager.java.patch index cbb30dfb8..13efefc2b 100644 --- a/fml/patches/minecraft/net/minecraft/network/NetworkManager.java.patch +++ b/fml/patches/minecraft/net/minecraft/network/NetworkManager.java.patch @@ -1,42 +1,33 @@ --- ../src-base/minecraft/net/minecraft/network/NetworkManager.java +++ ../src-work/minecraft/net/minecraft/network/NetworkManager.java -@@ -2,6 +2,8 @@ - - import com.google.common.collect.Queues; - import com.google.common.util.concurrent.ThreadFactoryBuilder; -+ -+import cpw.mods.fml.common.network.internal.FMLProxyPacket; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import io.netty.bootstrap.Bootstrap; -@@ -142,7 +144,7 @@ +@@ -175,7 +175,7 @@ final EnumConnectionState enumconnectionstate = EnumConnectionState.func_150752_a(p_150732_1_); final EnumConnectionState enumconnectionstate1 = (EnumConnectionState)this.field_150746_k.attr(field_150739_c).get(); - if (enumconnectionstate1 != enumconnectionstate) -+ if (enumconnectionstate1 != enumconnectionstate && !( p_150732_1_ instanceof FMLProxyPacket)) ++ if (enumconnectionstate1 != enumconnectionstate && !( p_150732_1_ instanceof cpw.mods.fml.common.network.internal.FMLProxyPacket)) { field_150735_g.debug("Disabled auto read"); this.field_150746_k.config().setAutoRead(false); -@@ -150,7 +152,7 @@ +@@ -183,7 +183,7 @@ if (this.field_150746_k.eventLoop().inEventLoop()) { - if (enumconnectionstate != enumconnectionstate1) -+ if (enumconnectionstate != enumconnectionstate1 && !( p_150732_1_ instanceof FMLProxyPacket)) ++ if (enumconnectionstate != enumconnectionstate1 && !( p_150732_1_ instanceof cpw.mods.fml.common.network.internal.FMLProxyPacket)) { this.func_150723_a(enumconnectionstate); } -@@ -164,7 +166,7 @@ - private static final String __OBFID = "CL_00001241"; +@@ -204,7 +204,7 @@ + private static final String __OBFID = "CL_00001243"; public void run() { - if (enumconnectionstate != enumconnectionstate1) -+ if (enumconnectionstate != enumconnectionstate1 && !( p_150732_1_ instanceof FMLProxyPacket)) ++ if (enumconnectionstate != enumconnectionstate1 && !( p_150732_1_ instanceof cpw.mods.fml.common.network.internal.FMLProxyPacket)) { NetworkManager.this.func_150723_a(enumconnectionstate); } -@@ -315,6 +317,11 @@ +@@ -409,6 +409,11 @@ this.channelRead0(p_channelRead0_1_, (Packet)p_channelRead0_2_); } diff --git a/fml/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch b/fml/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch index 4f2a10a6b..c0216a150 100644 --- a/fml/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch +++ b/fml/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch @@ -1,20 +1,11 @@ --- ../src-base/minecraft/net/minecraft/network/NetworkSystem.java +++ ../src-work/minecraft/net/minecraft/network/NetworkSystem.java -@@ -1,6 +1,8 @@ - package net.minecraft.network; - - import com.google.common.util.concurrent.ThreadFactoryBuilder; -+ -+import cpw.mods.fml.common.network.internal.FMLNetworkHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import io.netty.bootstrap.ServerBootstrap; -@@ -84,7 +86,7 @@ +@@ -110,7 +110,7 @@ ; } -- p_initChannel_1_.pipeline().addLast("timeout", new ReadTimeoutHandler(30)).addLast("legacy_query", new PingResponseHandler(NetworkSystem.this)).addLast("splitter", new MessageDeserializer2()).addLast("decoder", new MessageDeserializer(NetworkManager.field_152462_h)).addLast("prepender", new MessageSerializer2()).addLast("encoder", new MessageSerializer(NetworkManager.field_152462_h)); -+ p_initChannel_1_.pipeline().addLast("timeout", new ReadTimeoutHandler(FMLNetworkHandler.READ_TIMEOUT)).addLast("legacy_query", new PingResponseHandler(NetworkSystem.this)).addLast("splitter", new MessageDeserializer2()).addLast("decoder", new MessageDeserializer(NetworkManager.field_152462_h)).addLast("prepender", new MessageSerializer2()).addLast("encoder", new MessageSerializer(NetworkManager.field_152462_h)); - NetworkManager networkmanager = new NetworkManager(false); +- p_initChannel_1_.pipeline().addLast("timeout", new ReadTimeoutHandler(30)).addLast("legacy_query", new PingResponseHandler(NetworkSystem.this)).addLast("splitter", new MessageDeserializer2()).addLast("decoder", new MessageDeserializer(EnumPacketDirection.SERVERBOUND)).addLast("prepender", new MessageSerializer2()).addLast("encoder", new MessageSerializer(EnumPacketDirection.CLIENTBOUND)); ++ p_initChannel_1_.pipeline().addLast("timeout", new ReadTimeoutHandler(cpw.mods.fml.common.network.internal.FMLNetworkHandler.READ_TIMEOUT)).addLast("legacy_query", new PingResponseHandler(NetworkSystem.this)).addLast("splitter", new MessageDeserializer2()).addLast("decoder", new MessageDeserializer(EnumPacketDirection.SERVERBOUND)).addLast("prepender", new MessageSerializer2()).addLast("encoder", new MessageSerializer(EnumPacketDirection.CLIENTBOUND)); + NetworkManager networkmanager = new NetworkManager(EnumPacketDirection.SERVERBOUND); NetworkSystem.this.field_151272_f.add(networkmanager); p_initChannel_1_.pipeline().addLast("packet_handler", networkmanager); diff --git a/fml/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch b/fml/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch index bb67d40fd..9b8d90474 100644 --- a/fml/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch +++ b/fml/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch @@ -1,27 +1,18 @@ --- ../src-base/minecraft/net/minecraft/network/ServerStatusResponse.java +++ ../src-work/minecraft/net/minecraft/network/ServerStatusResponse.java -@@ -8,6 +8,8 @@ - import com.google.gson.JsonSerializationContext; - import com.google.gson.JsonSerializer; - import com.mojang.authlib.GameProfile; -+import cpw.mods.fml.client.FMLClientHandler; -+import cpw.mods.fml.common.network.internal.FMLNetworkHandler; - import java.lang.reflect.Type; - import java.util.UUID; - import net.minecraft.util.IChatComponent; -@@ -233,6 +235,7 @@ +@@ -233,6 +233,7 @@ serverstatusresponse.func_151320_a(JsonUtils.func_151200_h(jsonobject, "favicon")); } -+ FMLClientHandler.instance().captureAdditionalData(serverstatusresponse, jsonobject); ++ cpw.mods.fml.client.FMLClientHandler.instance().captureAdditionalData(serverstatusresponse, jsonobject); return serverstatusresponse; } -@@ -260,6 +263,7 @@ +@@ -260,6 +261,7 @@ jsonobject.addProperty("favicon", p_serialize_1_.func_151316_d()); } -+ FMLNetworkHandler.enhanceStatusQuery(jsonobject); ++ cpw.mods.fml.common.network.internal.FMLNetworkHandler.enhanceStatusQuery(jsonobject); return jsonobject; } diff --git a/fml/patches/minecraft/net/minecraft/network/play/server/S3FPacketCustomPayload.java.patch b/fml/patches/minecraft/net/minecraft/network/play/server/S3FPacketCustomPayload.java.patch deleted file mode 100644 index e9712dcf1..000000000 --- a/fml/patches/minecraft/net/minecraft/network/play/server/S3FPacketCustomPayload.java.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/network/play/server/S3FPacketCustomPayload.java -+++ ../src-work/minecraft/net/minecraft/network/play/server/S3FPacketCustomPayload.java -@@ -27,23 +27,24 @@ - this.field_149172_a = p_i45190_1_; - this.field_149171_b = p_i45190_2_; - -- if (p_i45190_2_.length >= 1048576) -+ //TODO: Remove this when FML protocol is re-written. To restore vanilla compatibility. -+ if (p_i45190_2_.length > 0x1FFF9A) // Max size of ANY MC packet is 0x1FFFFF minus max size of this packet (101) - { -- throw new IllegalArgumentException("Payload may not be larger than 1048576 bytes"); -+ throw new IllegalArgumentException("Payload may not be larger than 2097050 bytes"); - } - } - - public void func_148837_a(PacketBuffer p_148837_1_) throws IOException - { - this.field_149172_a = p_148837_1_.func_150789_c(20); -- this.field_149171_b = new byte[p_148837_1_.readUnsignedShort()]; -+ this.field_149171_b = new byte[cpw.mods.fml.common.network.ByteBufUtils.readVarShort(p_148837_1_)]; - p_148837_1_.readBytes(this.field_149171_b); - } - - public void func_148840_b(PacketBuffer p_148840_1_) throws IOException - { - p_148840_1_.func_150785_a(this.field_149172_a); -- p_148840_1_.writeShort(this.field_149171_b.length); -+ cpw.mods.fml.common.network.ByteBufUtils.writeVarShort(p_148840_1_, this.field_149171_b.length); - p_148840_1_.writeBytes(this.field_149171_b); - } - diff --git a/fml/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch b/fml/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch index 10a6a682f..f23ad51c9 100644 --- a/fml/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch +++ b/fml/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/realms/RealmsConnect.java +++ ../src-work/minecraft/net/minecraft/realms/RealmsConnect.java -@@ -40,6 +40,7 @@ +@@ -39,6 +39,7 @@ try { @@ -8,3 +8,12 @@ inetaddress = InetAddress.getByName(p_connect_1_); if (RealmsConnect.this.aborted) +@@ -60,7 +61,7 @@ + return; + } + +- RealmsConnect.this.connection.func_179290_a(new C00Handshake(47, p_connect_1_, p_connect_2_, EnumConnectionState.LOGIN)); ++ RealmsConnect.this.connection.func_179290_a(new C00Handshake(47, p_connect_1_, p_connect_2_, EnumConnectionState.LOGIN, true)); + + if (RealmsConnect.this.aborted) + { diff --git a/fml/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch b/fml/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch index 118a0951d..69a0c8ab7 100644 --- a/fml/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch +++ b/fml/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch @@ -1,118 +1,106 @@ --- ../src-base/minecraft/net/minecraft/server/MinecraftServer.java +++ ../src-work/minecraft/net/minecraft/server/MinecraftServer.java -@@ -5,6 +5,11 @@ - import com.mojang.authlib.GameProfileRepository; - import com.mojang.authlib.minecraft.MinecraftSessionService; - import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; -+ -+import cpw.mods.fml.common.FMLCommonHandler; -+import cpw.mods.fml.common.Loader; -+import cpw.mods.fml.common.LoaderState; -+import cpw.mods.fml.common.StartupQuery; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import io.netty.buffer.ByteBuf; -@@ -343,7 +348,7 @@ +@@ -399,7 +399,7 @@ public void func_71260_j() { - if (!this.field_71290_O) -+ if (!this.field_71290_O && Loader.instance().hasReachedState(LoaderState.SERVER_STARTED) && !field_71316_v) // make sure the save is valid and we don't save twice ++ if (!this.field_71290_O && cpw.mods.fml.common.Loader.instance().hasReachedState(cpw.mods.fml.common.LoaderState.SERVER_STARTED) && !field_71316_v) // make sure the save is valid and we don't save twice { field_147145_h.info("Stopping server"); -@@ -394,6 +399,7 @@ +@@ -456,6 +456,7 @@ { if (this.func_71197_b()) { -+ FMLCommonHandler.instance().handleServerStarted(); - long i = func_130071_aq(); - long l = 0L; ++ cpw.mods.fml.common.FMLCommonHandler.instance().handleServerStarted(); + this.field_175591_ab = func_130071_aq(); + long i = 0L; this.field_147147_p.func_151315_a(new ChatComponentText(this.field_71286_C)); -@@ -438,12 +444,20 @@ - Thread.sleep(Math.max(1L, 50L - l)); +@@ -500,12 +501,20 @@ + Thread.sleep(Math.max(1L, 50L - i)); this.field_71296_Q = true; } -+ FMLCommonHandler.instance().handleServerStopping(); -+ FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions ++ cpw.mods.fml.common.FMLCommonHandler.instance().handleServerStopping(); ++ cpw.mods.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions } else { -+ FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions ++ cpw.mods.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions this.func_71228_a((CrashReport)null); } } -+ catch (StartupQuery.AbortedException e) ++ catch (cpw.mods.fml.common.StartupQuery.AbortedException e) + { + // ignore silently -+ FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions ++ cpw.mods.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions + } catch (Throwable throwable1) { field_147145_h.error("Encountered an unexpected exception", throwable1); -@@ -469,6 +483,7 @@ +@@ -531,6 +540,7 @@ field_147145_h.error("We were unable to save this crash report to disk."); } -+ FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions ++ cpw.mods.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions this.func_71228_a(crashreport); } finally -@@ -484,6 +499,8 @@ +@@ -546,6 +556,8 @@ } finally { -+ FMLCommonHandler.instance().handleServerStopped(); ++ cpw.mods.fml.common.FMLCommonHandler.instance().handleServerStopped(); + this.field_71316_v = true; this.func_71240_o(); } } -@@ -529,6 +546,7 @@ +@@ -591,6 +603,7 @@ public void func_71217_p() { long i = System.nanoTime(); -+ FMLCommonHandler.instance().onPreServerTick(); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onPreServerTick(); ++this.field_71315_w; if (this.field_71295_T) -@@ -582,6 +600,7 @@ +@@ -644,6 +657,7 @@ this.field_71304_b.func_76319_b(); this.field_71304_b.func_76319_b(); -+ FMLCommonHandler.instance().onPostServerTick(); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onPostServerTick(); } public void func_71190_q() -@@ -608,6 +627,7 @@ +@@ -686,6 +700,7 @@ } this.field_71304_b.func_76320_a("tick"); -+ FMLCommonHandler.instance().onPreWorldTick(worldserver); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onPreWorldTick(worldserver); CrashReport crashreport; try -@@ -632,6 +652,7 @@ +@@ -710,6 +725,7 @@ throw new ReportedException(crashreport); } -+ FMLCommonHandler.instance().onPostWorldTick(worldserver); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onPostWorldTick(worldserver); this.field_71304_b.func_76319_b(); this.field_71304_b.func_76320_a("tracker"); worldserver.func_73039_n().func_72788_a(); -@@ -663,6 +684,7 @@ +@@ -741,6 +757,7 @@ public void func_71256_s() { -+ StartupQuery.reset(); - (new Thread("Server thread") - { - private static final String __OBFID = "CL_00001418"; -@@ -715,7 +737,7 @@ ++ cpw.mods.fml.common.StartupQuery.reset(); + this.field_175590_aa = new Thread(this, "Server thread"); + this.field_175590_aa.start(); + } +@@ -787,7 +804,7 @@ public String getServerModName() { - return "vanilla"; -+ return FMLCommonHandler.instance().getModName(); ++ return cpw.mods.fml.common.FMLCommonHandler.instance().getModName(); } public CrashReport func_71230_b(CrashReport p_71230_1_) diff --git a/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch b/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch index 10c0aefbe..5fc8c0d57 100644 --- a/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch +++ b/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch @@ -1,13 +1,6 @@ --- ../src-base/minecraft/net/minecraft/server/dedicated/DedicatedServer.java +++ ../src-work/minecraft/net/minecraft/server/dedicated/DedicatedServer.java -@@ -1,5 +1,6 @@ - package net.minecraft.server.dedicated; - -+import cpw.mods.fml.common.FMLCommonHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.io.BufferedReader; -@@ -48,6 +49,7 @@ +@@ -49,6 +49,7 @@ private boolean field_71338_p; private WorldSettings.GameType field_71337_q; private boolean field_71335_s; @@ -15,37 +8,37 @@ private static final String __OBFID = "CL_00001784"; public DedicatedServer(File p_i1508_1_) -@@ -112,6 +114,8 @@ +@@ -113,6 +114,8 @@ field_155771_h.warn("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\""); } -+ FMLCommonHandler.instance().onServerStart(this); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onServerStart(this); + field_155771_h.info("Loading properties"); this.field_71340_o = new PropertyManager(new File("server.properties")); this.field_154332_n = new ServerEula(new File("eula.txt")); -@@ -203,6 +207,7 @@ +@@ -204,6 +207,7 @@ } else { -+ FMLCommonHandler.instance().onServerStarted(); ++ cpw.mods.fml.common.FMLCommonHandler.instance().onServerStarted(); this.func_152361_a(new DedicatedPlayerList(this)); long j = System.nanoTime(); -@@ -248,6 +253,7 @@ +@@ -250,6 +254,7 @@ this.func_71191_d((this.func_71207_Z() + 8) / 16 * 16); this.func_71191_d(MathHelper.func_76125_a(this.func_71207_Z(), 64, 256)); this.field_71340_o.func_73667_a("max-build-height", Integer.valueOf(this.func_71207_Z())); -+ if (!FMLCommonHandler.instance().handleServerAboutToStart(this)) { return false; } ++ if (!cpw.mods.fml.common.FMLCommonHandler.instance().handleServerAboutToStart(this)) return false; field_155771_h.info("Preparing level \"" + this.func_71270_I() + "\""); this.func_71247_a(this.func_71270_I(), this.func_71270_I(), k, worldtype, s2); long i1 = System.nanoTime() - j; -@@ -268,7 +274,7 @@ - this.field_71339_n.func_72602_a(); +@@ -278,7 +283,7 @@ + thread1.start(); } - return true; -+ return FMLCommonHandler.instance().handleServerStarting(this); ++ return cpw.mods.fml.common.FMLCommonHandler.instance().handleServerStarting(this); } } } diff --git a/fml/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch b/fml/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch index fe1cb7236..1caa6d7a0 100644 --- a/fml/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch +++ b/fml/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch @@ -1,14 +1,6 @@ --- ../src-base/minecraft/net/minecraft/server/gui/MinecraftServerGui.java +++ ../src-work/minecraft/net/minecraft/server/gui/MinecraftServerGui.java -@@ -13,6 +13,7 @@ - import java.awt.event.FocusEvent; - import java.awt.event.WindowAdapter; - import java.awt.event.WindowEvent; -+import java.util.concurrent.CountDownLatch; - import javax.swing.JComponent; - import javax.swing.JFrame; - import javax.swing.JPanel; -@@ -79,6 +80,7 @@ +@@ -79,6 +79,7 @@ System.exit(0); } }); @@ -16,19 +8,17 @@ } public MinecraftServerGui(DedicatedServer p_i2362_1_) -@@ -164,8 +166,15 @@ +@@ -164,8 +165,13 @@ return jpanel; } -+ private CountDownLatch latch = new CountDownLatch(1); ++ private java.util.concurrent.CountDownLatch latch = new java.util.concurrent.CountDownLatch(1); public void func_164247_a(final JTextArea p_164247_1_, final JScrollPane p_164247_2_, final String p_164247_3_) { + try + { + latch.await(); -+ } catch (InterruptedException e) -+ { -+ } ++ } catch (InterruptedException e){} //Prevent logging until after constructor has ended. if (!SwingUtilities.isEventDispatchThread()) { SwingUtilities.invokeLater(new Runnable() diff --git a/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch b/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch index e3d4c9f08..b0a4d64b1 100644 --- a/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch +++ b/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch @@ -1,21 +1,14 @@ --- ../src-base/minecraft/net/minecraft/server/integrated/IntegratedServer.java +++ ../src-work/minecraft/net/minecraft/server/integrated/IntegratedServer.java -@@ -1,5 +1,6 @@ - package net.minecraft.server.integrated; - -+import cpw.mods.fml.common.FMLCommonHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.io.File; -@@ -105,9 +106,10 @@ +@@ -144,9 +144,10 @@ this.func_71245_h(true); field_147148_h.info("Generating keypair"); this.func_71253_a(CryptManager.func_75891_b()); -+ if (!FMLCommonHandler.instance().handleServerAboutToStart(this)) { return false; } ++ if (!cpw.mods.fml.common.FMLCommonHandler.instance().handleServerAboutToStart(this)) return false; this.func_71247_a(this.func_71270_I(), this.func_71221_J(), this.field_71350_m.func_77160_d(), this.field_71350_m.func_77165_h(), this.field_71350_m.func_82749_j()); this.func_71205_p(this.func_71214_G() + " - " + this.field_71305_c[0].func_72912_H().func_76065_j()); - return true; -+ return FMLCommonHandler.instance().handleServerStarting(this); ++ return cpw.mods.fml.common.FMLCommonHandler.instance().handleServerStarting(this); } public void func_71217_p() diff --git a/fml/patches/minecraft/net/minecraft/server/management/ServerConfigurationManager.java.patch b/fml/patches/minecraft/net/minecraft/server/management/ServerConfigurationManager.java.patch index 33ab4041f..b8df09371 100644 --- a/fml/patches/minecraft/net/minecraft/server/management/ServerConfigurationManager.java.patch +++ b/fml/patches/minecraft/net/minecraft/server/management/ServerConfigurationManager.java.patch @@ -1,15 +1,6 @@ --- ../src-base/minecraft/net/minecraft/server/management/ServerConfigurationManager.java +++ ../src-work/minecraft/net/minecraft/server/management/ServerConfigurationManager.java -@@ -4,6 +4,8 @@ - import com.google.common.collect.Lists; - import com.google.common.collect.Maps; - import com.mojang.authlib.GameProfile; -+ -+import cpw.mods.fml.common.FMLCommonHandler; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.io.File; -@@ -98,7 +100,7 @@ +@@ -103,7 +103,7 @@ this.field_72405_c = 8; } @@ -18,24 +9,24 @@ { GameProfile gameprofile = p_72355_2_.func_146103_bH(); PlayerProfileCache playerprofilecache = this.field_72400_f.func_152358_ax(); -@@ -119,7 +121,7 @@ - WorldServer worldserver = this.field_72400_f.func_71218_a(p_72355_2_.field_71093_bK); - ChunkCoordinates chunkcoordinates = worldserver.func_72861_E(); +@@ -125,7 +125,7 @@ + WorldInfo worldinfo = worldserver.func_72912_H(); + BlockPos blockpos = worldserver.func_175694_M(); this.func_72381_a(p_72355_2_, (EntityPlayerMP)null, worldserver); - NetHandlerPlayServer nethandlerplayserver = new NetHandlerPlayServer(this.field_72400_f, p_72355_1_, p_72355_2_); + p_72355_2_.field_71135_a = nethandlerplayserver; - nethandlerplayserver.func_147359_a(new S01PacketJoinGame(p_72355_2_.func_145782_y(), p_72355_2_.field_71134_c.func_73081_b(), worldserver.func_72912_H().func_76093_s(), worldserver.field_73011_w.field_76574_g, worldserver.field_73013_u, this.func_72352_l(), worldserver.func_72912_H().func_76067_t())); - nethandlerplayserver.func_147359_a(new S3FPacketCustomPayload("MC|Brand", this.func_72365_p().getServerModName().getBytes(Charsets.UTF_8))); - nethandlerplayserver.func_147359_a(new S05PacketSpawnPosition(chunkcoordinates.field_71574_a, chunkcoordinates.field_71572_b, chunkcoordinates.field_71573_c)); -@@ -161,6 +163,7 @@ + nethandlerplayserver.func_147359_a(new S01PacketJoinGame(p_72355_2_.func_145782_y(), p_72355_2_.field_71134_c.func_73081_b(), worldinfo.func_76093_s(), worldserver.field_73011_w.func_177502_q(), worldserver.func_175659_aa(), this.func_72352_l(), worldinfo.func_76067_t(), worldserver.func_82736_K().func_82766_b("reducedDebugInfo"))); + nethandlerplayserver.func_147359_a(new S3FPacketCustomPayload("MC|Brand", (new PacketBuffer(Unpooled.buffer())).func_180714_a(this.func_72365_p().getServerModName()))); + nethandlerplayserver.func_147359_a(new S41PacketServerDifficulty(worldinfo.func_176130_y(), worldinfo.func_176123_z())); +@@ -168,6 +168,7 @@ p_72355_2_.func_71116_b(); -+ FMLCommonHandler.instance().firePlayerLoggedIn(p_72355_2_); ++ cpw.mods.fml.common.FMLCommonHandler.instance().firePlayerLoggedIn(p_72355_2_); if (nbttagcompound != null && nbttagcompound.func_150297_b("Riding", 10)) { Entity entity = EntityList.func_75615_a(nbttagcompound.func_74775_l("Riding"), worldserver); -@@ -250,6 +253,8 @@ +@@ -283,6 +284,8 @@ protected void func_72391_b(EntityPlayerMP p_72391_1_) { @@ -44,27 +35,27 @@ this.field_72412_k.func_75753_a(p_72391_1_); StatisticsFile statisticsfile = (StatisticsFile)this.field_148547_k.get(p_72391_1_.func_110124_au()); -@@ -281,6 +286,7 @@ +@@ -315,6 +318,7 @@ public void func_72367_e(EntityPlayerMP p_72367_1_) { -+ FMLCommonHandler.instance().firePlayerLoggedOut(p_72367_1_); ++ cpw.mods.fml.common.FMLCommonHandler.instance().firePlayerLoggedOut(p_72367_1_); p_72367_1_.func_71029_a(StatList.field_75947_j); this.func_72391_b(p_72367_1_); WorldServer worldserver = p_72367_1_.func_71121_q(); -@@ -436,6 +442,7 @@ - this.field_72404_b.add(entityplayermp1); +@@ -473,6 +477,7 @@ + this.field_177454_f.put(entityplayermp1.func_110124_au(), entityplayermp1); entityplayermp1.func_71116_b(); entityplayermp1.func_70606_j(entityplayermp1.func_110143_aJ()); -+ FMLCommonHandler.instance().firePlayerRespawnEvent(entityplayermp1); ++ cpw.mods.fml.common.FMLCommonHandler.instance().firePlayerRespawnEvent(entityplayermp1); return entityplayermp1; } -@@ -461,6 +468,7 @@ +@@ -498,6 +503,7 @@ PotionEffect potioneffect = (PotionEffect)iterator.next(); p_72356_1_.field_71135_a.func_147359_a(new S1DPacketEntityEffect(p_72356_1_.func_145782_y(), potioneffect)); } -+ FMLCommonHandler.instance().firePlayerChangedDimensionEvent(p_72356_1_, j, p_72356_2_); ++ cpw.mods.fml.common.FMLCommonHandler.instance().firePlayerChangedDimensionEvent(p_72356_1_, j, p_72356_2_); } public void func_82448_a(Entity p_82448_1_, int p_82448_2_, WorldServer p_82448_3_, WorldServer p_82448_4_) diff --git a/fml/patches/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java.patch b/fml/patches/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java.patch index d11069d0e..0d3269f96 100644 --- a/fml/patches/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java.patch +++ b/fml/patches/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java.patch @@ -1,20 +1,13 @@ --- ../src-base/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java +++ ../src-work/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java -@@ -1,5 +1,6 @@ - package net.minecraft.server.network; - -+import cpw.mods.fml.common.FMLCommonHandler; - import io.netty.util.concurrent.GenericFutureListener; - import net.minecraft.network.EnumConnectionState; - import net.minecraft.network.NetworkManager; -@@ -24,6 +25,14 @@ +@@ -23,6 +23,14 @@ public void func_147383_a(C00Handshake p_147383_1_) { -+ if (!FMLCommonHandler.instance().shouldAllowPlayerLogins()) ++ if (!cpw.mods.fml.common.FMLCommonHandler.instance().shouldAllowPlayerLogins()) + { + ChatComponentText chatcomponenttext = new ChatComponentText("Server is still starting! Please wait before reconnecting."); -+ this.field_147386_b.func_150725_a(new S00PacketDisconnect(chatcomponenttext), new GenericFutureListener[0]); ++ this.field_147386_b.func_179290_a(new S00PacketDisconnect(chatcomponenttext)); + this.field_147386_b.func_150718_a(chatcomponenttext); + return; + } diff --git a/fml/patches/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java.patch b/fml/patches/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java.patch index ca0d3332e..9f03f53e4 100644 --- a/fml/patches/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java.patch +++ b/fml/patches/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java.patch @@ -1,29 +1,20 @@ --- ../src-base/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java +++ ../src-work/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java -@@ -3,6 +3,8 @@ - import com.google.common.base.Charsets; - import com.mojang.authlib.GameProfile; - import com.mojang.authlib.exceptions.AuthenticationUnavailableException; -+ -+import cpw.mods.fml.common.network.internal.FMLNetworkHandler; - import io.netty.util.concurrent.GenericFutureListener; - import java.math.BigInteger; - import java.security.PrivateKey; -@@ -58,7 +60,7 @@ +@@ -62,7 +62,7 @@ this.func_147326_c(); } - if (this.field_147336_h++ == 600) -+ if (this.field_147336_h++ == FMLNetworkHandler.LOGIN_TIMEOUT) ++ if (this.field_147336_h++ == cpw.mods.fml.common.network.internal.FMLNetworkHandler.LOGIN_TIMEOUT) { this.func_147322_a("Took too long to log in"); } -@@ -96,7 +98,7 @@ - { - this.field_147328_g = NetHandlerLoginServer.LoginState.ACCEPTED; - this.field_147333_a.func_150725_a(new S02PacketLoginSuccess(this.field_147337_i), new GenericFutureListener[0]); +@@ -113,7 +113,7 @@ + } + + this.field_147333_a.func_179290_a(new S02PacketLoginSuccess(this.field_147337_i)); - this.field_147327_f.func_71203_ab().func_72355_a(this.field_147333_a, this.field_147327_f.func_71203_ab().func_148545_a(this.field_147337_i)); -+ FMLNetworkHandler.fmlServerHandshake(this.field_147327_f.func_71203_ab(), this.field_147333_a, this.field_147327_f.func_71203_ab().func_148545_a(this.field_147337_i)); ++ cpw.mods.fml.common.network.internal.FMLNetworkHandler.fmlServerHandshake(this.field_147327_f.func_71203_ab(), this.field_147333_a, this.field_147327_f.func_71203_ab().func_148545_a(this.field_147337_i)); } } diff --git a/fml/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch b/fml/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch index 7b3b32225..f7f12bd7a 100644 --- a/fml/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch +++ b/fml/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch @@ -1,28 +1,6 @@ --- ../src-base/minecraft/net/minecraft/tileentity/TileEntity.java +++ ../src-work/minecraft/net/minecraft/tileentity/TileEntity.java -@@ -1,10 +1,12 @@ - package net.minecraft.tileentity; - -+import cpw.mods.fml.common.FMLLog; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import java.util.HashMap; - import java.util.Map; - import java.util.concurrent.Callable; -+ - import net.minecraft.block.Block; - import net.minecraft.block.BlockJukebox; - import net.minecraft.crash.CrashReportCategory; -@@ -12,6 +14,8 @@ - import net.minecraft.nbt.NBTTagCompound; - import net.minecraft.network.Packet; - import net.minecraft.world.World; -+ -+import org.apache.logging.log4j.Level; - import org.apache.logging.log4j.LogManager; - import org.apache.logging.log4j.Logger; - -@@ -87,9 +91,10 @@ +@@ -89,9 +89,10 @@ { TileEntity tileentity = null; @@ -34,29 +12,29 @@ if (oclass != null) { -@@ -103,7 +108,17 @@ - - if (tileentity != null) +@@ -109,7 +110,17 @@ + } + else { + try + { - tileentity.func_145839_a(p_145827_0_); + field_145852_a.warn("Skipping BlockEntity with id " + p_145827_0_.func_74779_i("id")); + } + catch (Exception ex) + { -+ FMLLog.log(Level.ERROR, ex, ++ cpw.mods.fml.common.FMLLog.log(org.apache.logging.log4j.Level.ERROR, ex, + "A TileEntity %s(%s) has thrown an exception during loading, its state cannot be restored. Report this to the mod author", + p_145827_0_.func_74779_i("id"), oclass.getName()); + tileentity = null; + } } - else - { -@@ -137,7 +152,6 @@ + + return tileentity; +@@ -141,7 +152,6 @@ } } - @SideOnly(Side.CLIENT) public double func_145835_a(double p_145835_1_, double p_145835_3_, double p_145835_5_) { - double d3 = (double)this.field_145851_c + 0.5D - p_145835_1_; + double d3 = (double)this.field_174879_c.func_177958_n() + 0.5D - p_145835_1_; diff --git a/fml/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch b/fml/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch index fefdb72bb..b19a35bb3 100644 --- a/fml/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch +++ b/fml/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch @@ -1,13 +1,6 @@ --- ../src-base/minecraft/net/minecraft/tileentity/TileEntityFurnace.java +++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityFurnace.java -@@ -1,5 +1,6 @@ - package net.minecraft.tileentity; - -+import cpw.mods.fml.common.registry.GameRegistry; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - import net.minecraft.block.Block; -@@ -322,7 +323,15 @@ +@@ -348,7 +348,15 @@ } } @@ -20,7 +13,7 @@ + if (item == Items.field_151129_at) return 20000; + if (item == Item.func_150898_a(Blocks.field_150345_g)) return 100; + if (item == Items.field_151072_bj) return 2400; -+ return GameRegistry.getFuelValue(p_145952_0_); ++ return cpw.mods.fml.common.registry.GameRegistry.getFuelValue(p_145952_0_); } } diff --git a/fml/patches/minecraft/net/minecraft/util/MessageSerializer.java.patch b/fml/patches/minecraft/net/minecraft/util/MessageSerializer.java.patch new file mode 100644 index 000000000..7724ff4c7 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/util/MessageSerializer.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/util/MessageSerializer.java ++++ ../src-work/minecraft/net/minecraft/util/MessageSerializer.java +@@ -49,7 +49,7 @@ + { + if (p_encode_2_ instanceof S0CPacketSpawnPlayer) + { +- p_encode_2_ = p_encode_2_; ++ //p_encode_2_ = p_encode_2_; FML: Kill warning + } + + p_encode_2_.func_148840_b(packetbuffer); diff --git a/fml/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch b/fml/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch index 6b8ed79c4..94370f194 100644 --- a/fml/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch +++ b/fml/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch @@ -1,13 +1,26 @@ --- ../src-base/minecraft/net/minecraft/util/ResourceLocation.java +++ ../src-work/minecraft/net/minecraft/util/ResourceLocation.java -@@ -1,10 +1,7 @@ +@@ -1,7 +1,5 @@ package net.minecraft.util; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import org.apache.commons.lang3.Validate; --@SideOnly(Side.CLIENT) public class ResourceLocation - { - private final String field_110626_a; +@@ -22,7 +20,6 @@ + this(0, func_177516_a(p_i1293_1_)); + } + +- @SideOnly(Side.CLIENT) + public ResourceLocation(String p_i1292_1_, String p_i1292_2_) + { + this(0, new String[] {p_i1292_1_, p_i1292_2_}); +@@ -51,7 +48,6 @@ + return this.field_110625_b; + } + +- @SideOnly(Side.CLIENT) + public String func_110624_b() + { + return this.field_110626_a; diff --git a/fml/patches/minecraft/net/minecraft/world/World.java.patch b/fml/patches/minecraft/net/minecraft/world/World.java.patch index 516c116d5..b7c78b9f3 100644 --- a/fml/patches/minecraft/net/minecraft/world/World.java.patch +++ b/fml/patches/minecraft/net/minecraft/world/World.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/World.java +++ ../src-work/minecraft/net/minecraft/world/World.java -@@ -1800,14 +1800,14 @@ +@@ -1626,8 +1626,6 @@ } } @@ -8,16 +8,17 @@ - if (!this.field_147483_b.isEmpty()) { - this.field_147482_g.removeAll(this.field_147483_b); + this.field_175730_i.removeAll(this.field_147483_b); +@@ -1635,6 +1633,8 @@ this.field_147483_b.clear(); } -+ this.field_147481_N = false; ++ this.field_147481_N = false; //FML Move below remove to prevent CMEs + this.field_72984_F.func_76318_c("pendingBlockEntities"); if (!this.field_147484_a.isEmpty()) -@@ -3598,7 +3598,7 @@ +@@ -3429,7 +3429,7 @@ @SideOnly(Side.CLIENT) public double func_72919_O() { @@ -25,4 +26,4 @@ + return this.field_72986_A.func_76067_t().getHorizon(this); } - public CrashReportCategory func_72914_a(CrashReport p_72914_1_) + public void func_175715_c(int p_175715_1_, BlockPos p_175715_2_, int p_175715_3_) diff --git a/fml/patches/minecraft/net/minecraft/world/WorldProvider.java.patch b/fml/patches/minecraft/net/minecraft/world/WorldProvider.java.patch index 19c9ed2ea..2f2668b79 100644 --- a/fml/patches/minecraft/net/minecraft/world/WorldProvider.java.patch +++ b/fml/patches/minecraft/net/minecraft/world/WorldProvider.java.patch @@ -1,13 +1,19 @@ --- ../src-base/minecraft/net/minecraft/world/WorldProvider.java +++ ../src-work/minecraft/net/minecraft/world/WorldProvider.java -@@ -50,20 +50,12 @@ +@@ -52,26 +52,12 @@ protected void func_76572_b() { -- if (this.field_76579_a.func_72912_H().func_76067_t() == WorldType.field_77138_c) +- WorldType worldtype = this.field_76579_a.func_72912_H().func_76067_t(); +- +- if (worldtype == WorldType.field_77138_c) - { - FlatGeneratorInfo flatgeneratorinfo = FlatGeneratorInfo.func_82651_a(this.field_76579_a.func_72912_H().func_82571_y()); -- this.field_76578_c = new WorldChunkManagerHell(BiomeGenBase.func_150568_d(flatgeneratorinfo.func_82648_a()), 0.5F); +- this.field_76578_c = new WorldChunkManagerHell(BiomeGenBase.func_180276_a(flatgeneratorinfo.func_82648_a(), BiomeGenBase.field_180279_ad), 0.5F); +- } +- else if (worldtype == WorldType.field_180272_g) +- { +- this.field_76578_c = new WorldChunkManagerHell(BiomeGenBase.field_76772_c, 0.0F); - } - else - { @@ -18,12 +24,12 @@ public IChunkProvider func_76555_c() { -- return (IChunkProvider)(this.field_76577_b == WorldType.field_77138_c ? new ChunkProviderFlat(this.field_76579_a, this.field_76579_a.func_72905_C(), this.field_76579_a.func_72912_H().func_76089_r(), this.field_82913_c) : new ChunkProviderGenerate(this.field_76579_a, this.field_76579_a.func_72905_C(), this.field_76579_a.func_72912_H().func_76089_r())); +- return (IChunkProvider)(this.field_76577_b == WorldType.field_77138_c ? new ChunkProviderFlat(this.field_76579_a, this.field_76579_a.func_72905_C(), this.field_76579_a.func_72912_H().func_76089_r(), this.field_82913_c) : (this.field_76577_b == WorldType.field_180272_g ? new ChunkProviderDebug(this.field_76579_a) : (this.field_76577_b == WorldType.field_180271_f ? new ChunkProviderGenerate(this.field_76579_a, this.field_76579_a.func_72905_C(), this.field_76579_a.func_72912_H().func_76089_r(), this.field_82913_c) : new ChunkProviderGenerate(this.field_76579_a, this.field_76579_a.func_72905_C(), this.field_76579_a.func_72912_H().func_76089_r(), this.field_82913_c)))); + return field_76577_b.getChunkGenerator(field_76579_a, field_82913_c); } public boolean func_76566_a(int p_76566_1_, int p_76566_2_) -@@ -179,19 +171,19 @@ +@@ -177,13 +163,13 @@ public int func_76557_i() { @@ -31,13 +37,6 @@ + return this.field_76577_b.getMinimumSpawnHeight(this.field_76579_a); } - @SideOnly(Side.CLIENT) - public boolean func_76564_j() - { -- return this.field_76577_b != WorldType.field_77138_c && !this.field_76576_e; -+ return this.field_76577_b.hasVoidParticles(this.field_76576_e); - } - @SideOnly(Side.CLIENT) public double func_76565_k() { diff --git a/fml/patches/minecraft/net/minecraft/world/WorldType.java.patch b/fml/patches/minecraft/net/minecraft/world/WorldType.java.patch index facfd0587..5053a737c 100644 --- a/fml/patches/minecraft/net/minecraft/world/WorldType.java.patch +++ b/fml/patches/minecraft/net/minecraft/world/WorldType.java.patch @@ -1,41 +1,32 @@ --- ../src-base/minecraft/net/minecraft/world/WorldType.java +++ ../src-work/minecraft/net/minecraft/world/WorldType.java -@@ -1,5 +1,14 @@ - package net.minecraft.world; - -+import java.util.Random; -+ -+import net.minecraft.world.biome.BiomeGenBase; -+import net.minecraft.world.biome.WorldChunkManager; -+import net.minecraft.world.biome.WorldChunkManagerHell; -+import net.minecraft.world.chunk.IChunkProvider; -+import net.minecraft.world.gen.ChunkProviderFlat; -+import net.minecraft.world.gen.ChunkProviderGenerate; -+import net.minecraft.world.gen.FlatGeneratorInfo; - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; - -@@ -112,4 +121,70 @@ +@@ -114,4 +114,53 @@ this.field_151361_l = true; return this; } + -+ public WorldChunkManager getChunkManager(World world) ++ public net.minecraft.world.biome.WorldChunkManager getChunkManager(World world) + { + if (this == field_77138_c) + { -+ FlatGeneratorInfo flatgeneratorinfo = FlatGeneratorInfo.func_82651_a(world.func_72912_H().func_82571_y()); -+ return new WorldChunkManagerHell(BiomeGenBase.func_150568_d(flatgeneratorinfo.func_82648_a()), 0.5F); ++ net.minecraft.world.gen.FlatGeneratorInfo flatgeneratorinfo = net.minecraft.world.gen.FlatGeneratorInfo.func_82651_a(world.func_72912_H().func_82571_y()); ++ return new net.minecraft.world.biome.WorldChunkManagerHell(net.minecraft.world.biome.BiomeGenBase.func_180276_a(flatgeneratorinfo.func_82648_a(), net.minecraft.world.biome.BiomeGenBase.field_180279_ad), 0.5F); ++ } ++ else if (this == field_180272_g) ++ { ++ return new net.minecraft.world.biome.WorldChunkManagerHell(net.minecraft.world.biome.BiomeGenBase.field_76772_c, 0.0F); + } + else + { -+ return new WorldChunkManager(world); ++ return new net.minecraft.world.biome.WorldChunkManager(world); + } + } + -+ public IChunkProvider getChunkGenerator(World world, String generatorOptions) ++ public net.minecraft.world.chunk.IChunkProvider getChunkGenerator(World world, String generatorOptions) + { -+ return (this == field_77138_c ? new ChunkProviderFlat(world, world.func_72905_C(), world.func_72912_H().func_76089_r(), generatorOptions) : new ChunkProviderGenerate(world, world.func_72905_C(), world.func_72912_H().func_76089_r())); ++ if (this == field_77138_c) return new net.minecraft.world.gen.ChunkProviderFlat(world, world.func_72905_C(), world.func_72912_H().func_76089_r(), generatorOptions); ++ if (this == field_180272_g) return new net.minecraft.world.gen.ChunkProviderDebug(world); ++ return new net.minecraft.world.gen.ChunkProviderGenerate(world, world.func_72905_C(), world.func_72912_H().func_76089_r(), generatorOptions); + } + + public int getMinimumSpawnHeight(World world) @@ -48,35 +39,12 @@ + return this == field_77138_c ? 0.0D : 63.0D; + } + -+ public boolean hasVoidParticles(boolean flag) -+ { -+ return this != field_77138_c && !flag; -+ } -+ + public double voidFadeMagnitude() + { + return this == field_77138_c ? 1.0D : 0.03125D; + } + -+/* public BiomeGenBase[] getBiomesForWorldType() { -+ return biomesForWorldType; -+ } -+ -+ public void addNewBiome(BiomeGenBase biome) -+ { -+ Set newBiomesForWorld = Sets.newLinkedHashSet(Arrays.asList(biomesForWorldType)); -+ newBiomesForWorld.add(biome); -+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]); -+ } -+ -+ public void removeBiome(BiomeGenBase biome) -+ { -+ Set newBiomesForWorld = Sets.newLinkedHashSet(Arrays.asList(biomesForWorldType)); -+ newBiomesForWorld.remove(biome); -+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]); -+ } -+*/ -+ public boolean handleSlimeSpawnReduction(Random random, World world) ++ public boolean handleSlimeSpawnReduction(java.util.Random random, World world) + { + return this == field_77138_c ? random.nextInt(4) != 1 : false; + } diff --git a/fml/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch b/fml/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch index fb88bdfbe..ffb08ae99 100644 --- a/fml/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch +++ b/fml/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch @@ -1,65 +1,41 @@ --- ../src-base/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java +++ ../src-work/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java -@@ -9,6 +9,7 @@ - import java.util.Iterator; - import java.util.List; - import java.util.Set; -+ - import net.minecraft.block.Block; - import net.minecraft.entity.Entity; - import net.minecraft.entity.EntityList; -@@ -24,9 +25,13 @@ - import net.minecraft.world.chunk.NibbleArray; - import net.minecraft.world.storage.IThreadedFileIO; - import net.minecraft.world.storage.ThreadedFileIOBase; -+ -+import org.apache.logging.log4j.Level; - import org.apache.logging.log4j.LogManager; - import org.apache.logging.log4j.Logger; - -+import cpw.mods.fml.common.FMLLog; -+ - public class AnvilChunkLoader implements IChunkLoader, IThreadedFileIO - { - private static final Logger field_151505_a = LogManager.getLogger(); -@@ -260,11 +265,20 @@ - Entity entity = (Entity)iterator1.next(); +@@ -287,11 +287,20 @@ + Entity entity = (Entity)iterator.next(); nbttagcompound1 = new NBTTagCompound(); -- if (entity.func_70039_c(nbttagcompound1)) + try ++ { + if (entity.func_70039_c(nbttagcompound1)) { -- p_75820_1_.field_76644_m = true; -- nbttaglist2.func_74742_a(nbttagcompound1); -+ if (entity.func_70039_c(nbttagcompound1)) -+ { -+ p_75820_1_.field_76644_m = true; -+ nbttaglist2.func_74742_a(nbttagcompound1); -+ } + p_75820_1_.func_177409_g(true); + nbttaglist1.func_74742_a(nbttagcompound1); } ++ } + catch (Exception e) + { -+ FMLLog.log(Level.ERROR, e, ++ cpw.mods.fml.common.FMLLog.log(org.apache.logging.log4j.Level.ERROR, e, + "An Entity type %s has thrown an exception trying to write state. It will not persist. Report this to the mod author", + entity.getClass().getName()); + } } } -@@ -276,8 +290,16 @@ +@@ -303,8 +312,17 @@ { - TileEntity tileentity = (TileEntity)iterator1.next(); + TileEntity tileentity = (TileEntity)iterator.next(); nbttagcompound1 = new NBTTagCompound(); -+ try { ++ try ++ { tileentity.func_145841_b(nbttagcompound1); - nbttaglist3.func_74742_a(nbttagcompound1); + nbttaglist2.func_74742_a(nbttagcompound1); + } + catch (Exception e) + { -+ FMLLog.log(Level.ERROR, e, ++ cpw.mods.fml.common.FMLLog.log(org.apache.logging.log4j.Level.ERROR, e, + "A TileEntity type %s has throw an exception trying to write state. It will not persist. Report this to the mod author", + tileentity.getClass().getName()); + } } - p_75820_3_.func_74782_a("TileEntities", nbttaglist3); + p_75820_3_.func_74782_a("TileEntities", nbttaglist2); diff --git a/fml/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch b/fml/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch index 6dc802af4..ced3ded49 100644 --- a/fml/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch +++ b/fml/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch @@ -1,18 +1,10 @@ --- ../src-base/minecraft/net/minecraft/world/gen/ChunkProviderServer.java +++ ../src-work/minecraft/net/minecraft/world/gen/ChunkProviderServer.java -@@ -1,6 +1,7 @@ - package net.minecraft.world.gen; - - import com.google.common.collect.Lists; -+import cpw.mods.fml.common.registry.GameRegistry; - import java.io.IOException; - import java.util.ArrayList; - import java.util.Collections; -@@ -216,6 +217,7 @@ +@@ -209,6 +209,7 @@ if (this.field_73246_d != null) { this.field_73246_d.func_73153_a(p_73153_1_, p_73153_2_, p_73153_3_); -+ GameRegistry.generateWorld(p_73153_2_, p_73153_3_, field_73251_h, field_73246_d, p_73153_1_); ++ cpw.mods.fml.common.registry.GameRegistry.generateWorld(p_73153_2_, p_73153_3_, field_73251_h, field_73246_d, p_73153_1_); chunk.func_76630_e(); } } diff --git a/fml/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch b/fml/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch index a40dab34f..8f62daa21 100644 --- a/fml/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch +++ b/fml/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch @@ -1,30 +1,21 @@ --- ../src-base/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java +++ ../src-work/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java -@@ -4,6 +4,8 @@ - import java.util.Iterator; - import java.util.List; - import java.util.Random; -+ -+import cpw.mods.fml.common.registry.VillagerRegistry; - import net.minecraft.block.Block; - import net.minecraft.block.material.Material; - import net.minecraft.entity.passive.EntityVillager; -@@ -50,6 +52,8 @@ +@@ -59,6 +59,8 @@ arraylist.add(new StructureVillagePieces.PieceWeight(StructureVillagePieces.Field2.class, 3, MathHelper.func_76136_a(p_75084_0_, 2 + p_75084_1_, 4 + p_75084_1_ * 2))); arraylist.add(new StructureVillagePieces.PieceWeight(StructureVillagePieces.House2.class, 15, MathHelper.func_76136_a(p_75084_0_, 0, 1 + p_75084_1_))); arraylist.add(new StructureVillagePieces.PieceWeight(StructureVillagePieces.House3.class, 8, MathHelper.func_76136_a(p_75084_0_, 0 + p_75084_1_, 3 + p_75084_1_ * 2))); -+ VillagerRegistry.addExtraVillageComponents(arraylist, p_75084_0_, p_75084_1_); ++ cpw.mods.fml.common.registry.VillagerRegistry.addExtraVillageComponents(arraylist, p_75084_0_, p_75084_1_); + Iterator iterator = arraylist.iterator(); while (iterator.hasNext()) -@@ -123,6 +127,10 @@ +@@ -132,6 +134,10 @@ { - object = StructureVillagePieces.House3.func_74921_a(p_75083_0_, p_75083_2_, p_75083_3_, p_75083_4_, p_75083_5_, p_75083_6_, p_75083_7_, p_75083_8_); + object = StructureVillagePieces.House3.func_175849_a(p_176065_0_, p_176065_2_, p_176065_3_, p_176065_4_, p_176065_5_, p_176065_6_, p_176065_7_, p_176065_8_); } + else + { -+ object = VillagerRegistry.getVillageComponent(p_75083_1_, p_75083_0_ , p_75083_2_, p_75083_3_, p_75083_4_, p_75083_5_, p_75083_6_, p_75083_7_, p_75083_8_); ++ object = cpw.mods.fml.common.registry.VillagerRegistry.getVillageComponent(p_176065_1_, p_176065_0_ , p_176065_2_, p_176065_3_, p_176065_4_, p_176065_5_, p_176065_6_, p_176065_7_, p_176065_8_); + } return (StructureVillagePieces.Village)object; diff --git a/fml/patches/minecraft/net/minecraft/world/storage/MapData.java.patch b/fml/patches/minecraft/net/minecraft/world/storage/MapData.java.patch index 9072ca133..e23138bc9 100644 --- a/fml/patches/minecraft/net/minecraft/world/storage/MapData.java.patch +++ b/fml/patches/minecraft/net/minecraft/world/storage/MapData.java.patch @@ -1,43 +1,34 @@ --- ../src-base/minecraft/net/minecraft/world/storage/MapData.java +++ ../src-work/minecraft/net/minecraft/world/storage/MapData.java -@@ -10,7 +10,7 @@ - import java.util.Map; - import net.minecraft.entity.player.EntityPlayer; - import net.minecraft.item.ItemStack; --import net.minecraft.nbt.NBTTagCompound; -+import net.minecraft.nbt.*; - import net.minecraft.world.World; - import net.minecraft.world.WorldSavedData; - -@@ -18,7 +18,7 @@ +@@ -22,7 +22,7 @@ { public int field_76201_a; public int field_76199_b; - public byte field_76200_c; -+ public int field_76200_c; ++ public int field_76200_c; //FML byte -> int public byte field_76197_d; public byte[] field_76198_e = new byte[16384]; - public List field_76196_g = new ArrayList(); -@@ -33,7 +33,17 @@ + public List field_76196_g = Lists.newArrayList(); +@@ -46,7 +46,17 @@ public void func_76184_a(NBTTagCompound p_76184_1_) { - this.field_76200_c = p_76184_1_.func_74771_c("dimension"); -+ NBTBase dimension = p_76184_1_.func_74781_a("dimension"); ++ net.minecraft.nbt.NBTBase dimension = p_76184_1_.func_74781_a("dimension"); + -+ if (dimension instanceof NBTTagByte) ++ if (dimension instanceof net.minecraft.nbt.NBTTagByte) + { -+ this.field_76200_c = ((NBTTagByte)dimension).func_150290_f(); ++ this.field_76200_c = ((net.minecraft.nbt.NBTTagByte)dimension).func_150290_f(); + } + else + { -+ this.field_76200_c = ((NBTTagInt)dimension).func_150287_d(); ++ this.field_76200_c = ((net.minecraft.nbt.NBTTagInt)dimension).func_150287_d(); + } + this.field_76201_a = p_76184_1_.func_74762_e("xCenter"); this.field_76199_b = p_76184_1_.func_74762_e("zCenter"); this.field_76197_d = p_76184_1_.func_74771_c("scale"); -@@ -84,7 +94,7 @@ +@@ -87,7 +97,7 @@ public void func_76187_b(NBTTagCompound p_76187_1_) { diff --git a/fml/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch b/fml/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch index dddda84c7..d47a6097e 100644 --- a/fml/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch +++ b/fml/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch @@ -1,16 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/storage/SaveHandler.java +++ ../src-work/minecraft/net/minecraft/world/storage/SaveHandler.java -@@ -6,6 +6,9 @@ - import java.io.FileInputStream; - import java.io.FileOutputStream; - import java.io.IOException; -+ -+import cpw.mods.fml.common.FMLCommonHandler; -+import cpw.mods.fml.common.StartupQuery; - import net.minecraft.entity.player.EntityPlayer; - import net.minecraft.nbt.CompressedStreamTools; - import net.minecraft.nbt.NBTTagCompound; -@@ -107,20 +110,29 @@ +@@ -107,20 +107,29 @@ NBTTagCompound nbttagcompound; NBTTagCompound nbttagcompound1; @@ -22,12 +12,11 @@ { nbttagcompound = CompressedStreamTools.func_74796_a(new FileInputStream(file1)); nbttagcompound1 = nbttagcompound.func_74775_l("Data"); -- return new WorldInfo(nbttagcompound1); + worldInfo = new WorldInfo(nbttagcompound1); -+ FMLCommonHandler.instance().handleWorldDataLoad(this, worldInfo, nbttagcompound); -+ return worldInfo; ++ cpw.mods.fml.common.FMLCommonHandler.instance().handleWorldDataLoad(this, worldInfo, nbttagcompound); + return new WorldInfo(nbttagcompound1); } -+ catch (StartupQuery.AbortedException e) ++ catch (cpw.mods.fml.common.StartupQuery.AbortedException e) + { + throw e; + } @@ -37,40 +26,39 @@ } } -+ FMLCommonHandler.instance().confirmBackupLevelDatUse(this); ++ cpw.mods.fml.common.FMLCommonHandler.instance().confirmBackupLevelDatUse(this); file1 = new File(this.field_75770_b, "level.dat_old"); if (file1.exists()) -@@ -129,8 +141,14 @@ +@@ -129,7 +138,13 @@ { nbttagcompound = CompressedStreamTools.func_74796_a(new FileInputStream(file1)); nbttagcompound1 = nbttagcompound.func_74775_l("Data"); - return new WorldInfo(nbttagcompound1); + worldInfo = new WorldInfo(nbttagcompound1); -+ FMLCommonHandler.instance().handleWorldDataLoad(this, worldInfo, nbttagcompound); ++ cpw.mods.fml.common.FMLCommonHandler.instance().handleWorldDataLoad(this, worldInfo, nbttagcompound); + return worldInfo; - } -+ catch (StartupQuery.AbortedException e) ++ } ++ catch (cpw.mods.fml.common.StartupQuery.AbortedException e) + { + throw e; -+ } + } catch (Exception exception) { - exception.printStackTrace(); -@@ -146,6 +164,8 @@ +@@ -146,6 +161,8 @@ NBTTagCompound nbttagcompound2 = new NBTTagCompound(); nbttagcompound2.func_74782_a("Data", nbttagcompound1); -+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75755_1_, nbttagcompound2); ++ cpw.mods.fml.common.FMLCommonHandler.instance().handleWorldDataSave(this, p_75755_1_, nbttagcompound2); + try { File file1 = new File(this.field_75770_b, "level.dat_new"); -@@ -184,6 +204,8 @@ +@@ -184,6 +201,8 @@ NBTTagCompound nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.func_74782_a("Data", nbttagcompound); -+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75761_1_, nbttagcompound1); ++ cpw.mods.fml.common.FMLCommonHandler.instance().handleWorldDataSave(this, p_75761_1_, nbttagcompound1); + try { diff --git a/fml/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch b/fml/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch index 609a7f370..b1d007002 100644 --- a/fml/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch +++ b/fml/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch @@ -1,26 +1,14 @@ --- ../src-base/minecraft/net/minecraft/world/storage/WorldInfo.java +++ ../src-work/minecraft/net/minecraft/world/storage/WorldInfo.java -@@ -2,8 +2,11 @@ - - import cpw.mods.fml.relauncher.Side; - import cpw.mods.fml.relauncher.SideOnly; -+ -+import java.util.Map; - import java.util.concurrent.Callable; - import net.minecraft.crash.CrashReportCategory; -+import net.minecraft.nbt.NBTBase; - import net.minecraft.nbt.NBTTagCompound; - import net.minecraft.server.MinecraftServer; - import net.minecraft.world.GameRules; -@@ -36,6 +39,7 @@ - private boolean field_76110_t; - private boolean field_76109_u; +@@ -52,6 +52,7 @@ + private int field_176155_J; private GameRules field_82577_x; -+ private Map additionalProperties; private static final String __OBFID = "CL_00000587"; ++ private java.util.Map additionalProperties; protected WorldInfo() -@@ -532,4 +536,24 @@ + { +@@ -803,4 +804,24 @@ } }); } @@ -31,7 +19,7 @@ + * Used by Forge to store the dimensions available to a world + * @param additionalProperties + */ -+ public void setAdditionalProperties(Map additionalProperties) ++ public void setAdditionalProperties(java.util.Map additionalProperties) + { + // one time set for this + if (this.additionalProperties == null) @@ -40,7 +28,7 @@ + } + } + -+ public NBTBase getAdditionalProperty(String additionalProperty) ++ public net.minecraft.nbt.NBTBase getAdditionalProperty(String additionalProperty) + { + return this.additionalProperties!=null? this.additionalProperties.get(additionalProperty) : null; + } diff --git a/fml/src/main/java/cpw/mods/fml/client/FMLClientHandler.java b/fml/src/main/java/cpw/mods/fml/client/FMLClientHandler.java index cab9210ca..48d572fdc 100644 --- a/fml/src/main/java/cpw/mods/fml/client/FMLClientHandler.java +++ b/fml/src/main/java/cpw/mods/fml/client/FMLClientHandler.java @@ -14,6 +14,7 @@ package cpw.mods.fml.client; import java.io.File; import java.io.FileInputStream; +import java.io.IOException; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Arrays; @@ -26,7 +27,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityClientPlayerMP; +import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiIngameMenu; import net.minecraft.client.gui.GuiMainMenu; @@ -130,10 +131,8 @@ public class FMLClientHandler implements IFMLSidedHandler private DummyModContainer optifineContainer; - @SuppressWarnings("unused") private boolean guiLoaded; - @SuppressWarnings("unused") private boolean serverIsRunning; private MissingModsException modsMissing; @@ -152,7 +151,6 @@ public class FMLClientHandler implements IFMLSidedHandler private List resourcePackList; - @SuppressWarnings("unused") private IReloadableResourceManager resourceManager; private Map resourcePackMap; @@ -301,7 +299,7 @@ public class FMLClientHandler implements IFMLSidedHandler // Reload resources client.refreshResources(); - RenderingRegistry.instance().loadEntityRenderers((Map, Render>)RenderManager.instance.entityRenderMap); + //RenderingRegistry.instance().loadEntityRenderers((Map, Render>)Minecraft.getMinecraft().func_175598_ae().entityRenderMap); guiFactories = HashBiMap.create(); for (ModContainer mc : Loader.instance().getActiveModList()) { @@ -326,7 +324,6 @@ public class FMLClientHandler implements IFMLSidedHandler client.gameSettings.loadOptions(); //Reload options to load any mod added keybindings. } - @SuppressWarnings("unused") public void extendModList() { @SuppressWarnings("unchecked") @@ -463,16 +460,16 @@ public class FMLClientHandler implements IFMLSidedHandler { if (Thread.interrupted()) throw new InterruptedException(); - client.loadingScreen.resetProgresAndWorkingMessage(""); + client.loadingScreen.displayLoadingString(""); Thread.sleep(50); } - client.loadingScreen.resetProgresAndWorkingMessage(""); // make sure the blank screen is being drawn at the end + client.loadingScreen.displayLoadingString(""); // make sure the blank screen is being drawn at the end } } - public boolean handleLoadingScreen(ScaledResolution scaledResolution) + public boolean handleLoadingScreen(ScaledResolution scaledResolution) throws IOException { if (client.currentScreen instanceof GuiNotification) { @@ -497,7 +494,7 @@ public class FMLClientHandler implements IFMLSidedHandler return client.theWorld; } - public EntityClientPlayerMP getClientPlayerEntity() + public EntityPlayerSP getClientPlayerEntity() { return client.thePlayer; } @@ -630,7 +627,6 @@ public class FMLClientHandler implements IFMLSidedHandler public void startIntegratedServer(String id, String name, WorldSettings settings) { - playClientBlock = new CountDownLatch(1); } public File getSavesDir() @@ -774,10 +770,10 @@ public class FMLClientHandler implements IFMLSidedHandler return null; } this.client.getTextureManager().bindTexture(iconSheet); - Gui.func_146110_a(x + width - 18, y + 10, 0, (float)idx, 16, 16, 256.0f, 256.0f); + Gui.drawModalRectWithCustomSizedTexture(x + width - 18, y + 10, 0, (float)idx, 16, 16, 256.0f, 256.0f); if (blocked) { - Gui.func_146110_a(x + width - 18, y + 10, 0, 80, 16, 16, 256.0f, 256.0f); + Gui.drawModalRectWithCustomSizedTexture(x + width - 18, y + 10, 0, 80, 16, 16, 256.0f, 256.0f); } return relativeMouseX > width - 15 && relativeMouseX < width && relativeMouseY > 10 && relativeMouseY < 26 ? tooltip : null; @@ -795,7 +791,7 @@ public class FMLClientHandler implements IFMLSidedHandler ServerData serverData = new ServerData("Command Line", host+":"+port); try { - osp.func_147224_a(serverData); + osp.ping(serverData); startupConnectionData.await(30, TimeUnit.SECONDS); } catch (Exception e) @@ -817,46 +813,20 @@ public class FMLClientHandler implements IFMLSidedHandler { showGuiScreen(new GuiConnecting(guiMultiplayer, client, serverEntry)); } - playClientBlock = new CountDownLatch(1); } - public void connectToRealmsServer(String host, int port) - { - playClientBlock = new CountDownLatch(1); - } - - private CountDownLatch playClientBlock; + public void connectToRealmsServer(String host, int port){} public void setPlayClient(NetHandlerPlayClient netHandlerPlayClient) { - if (playClientBlock == null) - playClientBlock = new CountDownLatch(1); - playClientBlock.countDown(); this.currentPlayClient = new WeakReference(netHandlerPlayClient); } - @Override - public void waitForPlayClient() - { - boolean gotIt = false; - try - { - gotIt = playClientBlock.await(5,TimeUnit.SECONDS); - } catch (InterruptedException e) - { - } - if (!gotIt) - { - throw new RuntimeException("Timeout waiting for client thread to catch up!"); - } - } - @Override public void fireNetRegistrationEvent(EventBus bus, NetworkManager manager, Set channelSet, String channel, Side side) { if (side == Side.CLIENT) { - waitForPlayClient(); bus.post(new FMLNetworkEvent.CustomPacketRegistrationEvent(manager, channelSet, channel, side, NetHandlerPlayClient.class)); } else diff --git a/fml/src/main/java/cpw/mods/fml/client/GuiModList.java b/fml/src/main/java/cpw/mods/fml/client/GuiModList.java index cd37cba03..e635a0269 100644 --- a/fml/src/main/java/cpw/mods/fml/client/GuiModList.java +++ b/fml/src/main/java/cpw/mods/fml/client/GuiModList.java @@ -27,6 +27,7 @@ import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.client.renderer.texture.DynamicTexture; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.client.resources.I18n; @@ -106,7 +107,7 @@ public class GuiModList extends GuiScreen } @Override - protected void actionPerformed(GuiButton button) { + protected void actionPerformed(GuiButton button) throws IOException { if (button.enabled) { switch (button.id) @@ -193,12 +194,13 @@ public class GuiModList extends GuiScreen cachedLogoDimensions.width *= scale; cachedLogoDimensions.height *= scale; int top = 32; - Tessellator tess = Tessellator.instance; - tess.startDrawingQuads(); - tess.addVertexWithUV(offset, top + cachedLogoDimensions.height, zLevel, 0, 1); - tess.addVertexWithUV(offset + cachedLogoDimensions.width, top + cachedLogoDimensions.height, zLevel, 1, 1); - tess.addVertexWithUV(offset + cachedLogoDimensions.width, top, zLevel, 1, 0); - tess.addVertexWithUV(offset, top, zLevel, 0, 0); + Tessellator tess = Tessellator.func_178181_a(); + WorldRenderer world = tess.func_178180_c(); + world.func_178970_b(); + world.func_178985_a(offset, top + cachedLogoDimensions.height, zLevel, 0, 1); + world.func_178985_a(offset + cachedLogoDimensions.width, top + cachedLogoDimensions.height, zLevel, 1, 1); + world.func_178985_a(offset + cachedLogoDimensions.width, top, zLevel, 1, 0); + world.func_178985_a(offset, top, zLevel, 0, 0); tess.draw(); shifty += 65; @@ -209,7 +211,7 @@ public class GuiModList extends GuiScreen ; } } - this.fontRendererObj.drawStringWithShadow(selectedMod.getMetadata().name, offset, shifty, 0xFFFFFF); + this.fontRendererObj.func_175063_a(selectedMod.getMetadata().name, offset, shifty, 0xFFFFFF); shifty += 12; shifty = drawLine(String.format("Version: %s (%s)", selectedMod.getDisplayVersion(), selectedMod.getVersion()), offset, shifty); diff --git a/fml/src/main/java/cpw/mods/fml/client/GuiOldSaveLoadConfirm.java b/fml/src/main/java/cpw/mods/fml/client/GuiOldSaveLoadConfirm.java index d1175b7eb..666a40f1b 100644 --- a/fml/src/main/java/cpw/mods/fml/client/GuiOldSaveLoadConfirm.java +++ b/fml/src/main/java/cpw/mods/fml/client/GuiOldSaveLoadConfirm.java @@ -50,7 +50,7 @@ public class GuiOldSaveLoadConfirm extends GuiYesNo implements GuiYesNoCallback for (k = 0; k < this.labelList.size(); ++k) { - ((GuiLabel)this.labelList.get(k)).func_146159_a(this.mc, p_73863_1_, p_73863_2_); + ((GuiLabel)this.labelList.get(k)).drawLabel(this.mc, p_73863_1_, p_73863_2_); } } @Override diff --git a/fml/src/main/java/cpw/mods/fml/client/GuiScrollingList.java b/fml/src/main/java/cpw/mods/fml/client/GuiScrollingList.java index e1d053874..6b10dea5e 100644 --- a/fml/src/main/java/cpw/mods/fml/client/GuiScrollingList.java +++ b/fml/src/main/java/cpw/mods/fml/client/GuiScrollingList.java @@ -19,6 +19,7 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.WorldRenderer; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; @@ -263,7 +264,8 @@ public abstract class GuiScrollingList } this.applyScrollLimits(); - Tessellator var18 = Tessellator.instance; + Tessellator tess = Tessellator.func_178181_a(); + WorldRenderer worldr = tess.func_178180_c(); if (this.client.theWorld != null) { this.drawGradientRect(this.left, this.top, this.right, this.bottom, -1072689136, -804253680); @@ -275,20 +277,20 @@ public abstract class GuiScrollingList this.client.renderEngine.bindTexture(Gui.optionsBackground); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); float var17 = 32.0F; - var18.startDrawingQuads(); - var18.setColorOpaque_I(2105376); - var18.addVertexWithUV((double)this.left, (double)this.bottom, 0.0D, (double)((float)this.left / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17)); - var18.addVertexWithUV((double)this.right, (double)this.bottom, 0.0D, (double)((float)this.right / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17)); - var18.addVertexWithUV((double)this.right, (double)this.top, 0.0D, (double)((float)this.right / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17)); - var18.addVertexWithUV((double)this.left, (double)this.top, 0.0D, (double)((float)this.left / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17)); - var18.draw(); + worldr.func_178970_b(); + worldr.func_178991_c(2105376); + worldr.func_178985_a((double)this.left, (double)this.bottom, 0.0D, (double)((float)this.left / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17)); + worldr.func_178985_a((double)this.right, (double)this.bottom, 0.0D, (double)((float)this.right / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17)); + worldr.func_178985_a((double)this.right, (double)this.top, 0.0D, (double)((float)this.right / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17)); + worldr.func_178985_a((double)this.left, (double)this.top, 0.0D, (double)((float)this.left / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17)); + tess.draw(); } // boxRight = this.listWidth / 2 - 92 - 16; var10 = this.top + 4 - (int)this.scrollDistance; if (this.field_27262_q) { - this.func_27260_a(boxRight, var10, var18); + this.func_27260_a(boxRight, var10, tess); } int var14; @@ -306,22 +308,22 @@ public abstract class GuiScrollingList int var15 = boxRight; GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_TEXTURE_2D); - var18.startDrawingQuads(); - var18.setColorOpaque_I(8421504); - var18.addVertexWithUV((double)var14, (double)(var19 + var13 + 2), 0.0D, 0.0D, 1.0D); - var18.addVertexWithUV((double)var15, (double)(var19 + var13 + 2), 0.0D, 1.0D, 1.0D); - var18.addVertexWithUV((double)var15, (double)(var19 - 2), 0.0D, 1.0D, 0.0D); - var18.addVertexWithUV((double)var14, (double)(var19 - 2), 0.0D, 0.0D, 0.0D); - var18.setColorOpaque_I(0); - var18.addVertexWithUV((double)(var14 + 1), (double)(var19 + var13 + 1), 0.0D, 0.0D, 1.0D); - var18.addVertexWithUV((double)(var15 - 1), (double)(var19 + var13 + 1), 0.0D, 1.0D, 1.0D); - var18.addVertexWithUV((double)(var15 - 1), (double)(var19 - 1), 0.0D, 1.0D, 0.0D); - var18.addVertexWithUV((double)(var14 + 1), (double)(var19 - 1), 0.0D, 0.0D, 0.0D); - var18.draw(); + worldr.func_178970_b(); + worldr.func_178991_c(8421504); + worldr.func_178985_a((double)var14, (double)(var19 + var13 + 2), 0.0D, 0.0D, 1.0D); + worldr.func_178985_a((double)var15, (double)(var19 + var13 + 2), 0.0D, 1.0D, 1.0D); + worldr.func_178985_a((double)var15, (double)(var19 - 2), 0.0D, 1.0D, 0.0D); + worldr.func_178985_a((double)var14, (double)(var19 - 2), 0.0D, 0.0D, 0.0D); + worldr.func_178991_c(0); + worldr.func_178985_a((double)(var14 + 1), (double)(var19 + var13 + 1), 0.0D, 0.0D, 1.0D); + worldr.func_178985_a((double)(var15 - 1), (double)(var19 + var13 + 1), 0.0D, 1.0D, 1.0D); + worldr.func_178985_a((double)(var15 - 1), (double)(var19 - 1), 0.0D, 1.0D, 0.0D); + worldr.func_178985_a((double)(var14 + 1), (double)(var19 - 1), 0.0D, 0.0D, 0.0D); + tess.draw(); GL11.glEnable(GL11.GL_TEXTURE_2D); } - this.drawSlot(var11, boxRight, var19, var13, var18); + this.drawSlot(var11, boxRight, var19, var13, tess); } } @@ -337,22 +339,22 @@ public abstract class GuiScrollingList GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glShadeModel(GL11.GL_SMOOTH); GL11.glDisable(GL11.GL_TEXTURE_2D); - var18.startDrawingQuads(); - var18.setColorRGBA_I(0, 0); - var18.addVertexWithUV((double)this.left, (double)(this.top + var20), 0.0D, 0.0D, 1.0D); - var18.addVertexWithUV((double)this.right, (double)(this.top + var20), 0.0D, 1.0D, 1.0D); - var18.setColorRGBA_I(0, 255); - var18.addVertexWithUV((double)this.right, (double)this.top, 0.0D, 1.0D, 0.0D); - var18.addVertexWithUV((double)this.left, (double)this.top, 0.0D, 0.0D, 0.0D); - var18.draw(); - var18.startDrawingQuads(); - var18.setColorRGBA_I(0, 255); - var18.addVertexWithUV((double)this.left, (double)this.bottom, 0.0D, 0.0D, 1.0D); - var18.addVertexWithUV((double)this.right, (double)this.bottom, 0.0D, 1.0D, 1.0D); - var18.setColorRGBA_I(0, 0); - var18.addVertexWithUV((double)this.right, (double)(this.bottom - var20), 0.0D, 1.0D, 0.0D); - var18.addVertexWithUV((double)this.left, (double)(this.bottom - var20), 0.0D, 0.0D, 0.0D); - var18.draw(); + worldr.func_178970_b(); + worldr.func_178974_a(0, 0); + worldr.func_178985_a((double)this.left, (double)(this.top + var20), 0.0D, 0.0D, 1.0D); + worldr.func_178985_a((double)this.right, (double)(this.top + var20), 0.0D, 1.0D, 1.0D); + worldr.func_178974_a(0, 255); + worldr.func_178985_a((double)this.right, (double)this.top, 0.0D, 1.0D, 0.0D); + worldr.func_178985_a((double)this.left, (double)this.top, 0.0D, 0.0D, 0.0D); + tess.draw(); + worldr.func_178970_b(); + worldr.func_178974_a(0, 255); + worldr.func_178985_a((double)this.left, (double)this.bottom, 0.0D, 0.0D, 1.0D); + worldr.func_178985_a((double)this.right, (double)this.bottom, 0.0D, 1.0D, 1.0D); + worldr.func_178974_a(0, 0); + worldr.func_178985_a((double)this.right, (double)(this.bottom - var20), 0.0D, 1.0D, 0.0D); + worldr.func_178985_a((double)this.left, (double)(this.bottom - var20), 0.0D, 0.0D, 0.0D); + tess.draw(); var19 = this.getContentHeight() - (this.bottom - this.top - 4); if (var19 > 0) @@ -376,27 +378,27 @@ public abstract class GuiScrollingList var14 = this.top; } - var18.startDrawingQuads(); - var18.setColorRGBA_I(0, 255); - var18.addVertexWithUV((double)scrollBarXStart, (double)this.bottom, 0.0D, 0.0D, 1.0D); - var18.addVertexWithUV((double)scrollBarXEnd, (double)this.bottom, 0.0D, 1.0D, 1.0D); - var18.addVertexWithUV((double)scrollBarXEnd, (double)this.top, 0.0D, 1.0D, 0.0D); - var18.addVertexWithUV((double)scrollBarXStart, (double)this.top, 0.0D, 0.0D, 0.0D); - var18.draw(); - var18.startDrawingQuads(); - var18.setColorRGBA_I(8421504, 255); - var18.addVertexWithUV((double)scrollBarXStart, (double)(var14 + var13), 0.0D, 0.0D, 1.0D); - var18.addVertexWithUV((double)scrollBarXEnd, (double)(var14 + var13), 0.0D, 1.0D, 1.0D); - var18.addVertexWithUV((double)scrollBarXEnd, (double)var14, 0.0D, 1.0D, 0.0D); - var18.addVertexWithUV((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D); - var18.draw(); - var18.startDrawingQuads(); - var18.setColorRGBA_I(12632256, 255); - var18.addVertexWithUV((double)scrollBarXStart, (double)(var14 + var13 - 1), 0.0D, 0.0D, 1.0D); - var18.addVertexWithUV((double)(scrollBarXEnd - 1), (double)(var14 + var13 - 1), 0.0D, 1.0D, 1.0D); - var18.addVertexWithUV((double)(scrollBarXEnd - 1), (double)var14, 0.0D, 1.0D, 0.0D); - var18.addVertexWithUV((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D); - var18.draw(); + worldr.func_178970_b(); + worldr.func_178974_a(0, 255); + worldr.func_178985_a((double)scrollBarXStart, (double)this.bottom, 0.0D, 0.0D, 1.0D); + worldr.func_178985_a((double)scrollBarXEnd, (double)this.bottom, 0.0D, 1.0D, 1.0D); + worldr.func_178985_a((double)scrollBarXEnd, (double)this.top, 0.0D, 1.0D, 0.0D); + worldr.func_178985_a((double)scrollBarXStart, (double)this.top, 0.0D, 0.0D, 0.0D); + tess.draw(); + worldr.func_178970_b(); + worldr.func_178974_a(8421504, 255); + worldr.func_178985_a((double)scrollBarXStart, (double)(var14 + var13), 0.0D, 0.0D, 1.0D); + worldr.func_178985_a((double)scrollBarXEnd, (double)(var14 + var13), 0.0D, 1.0D, 1.0D); + worldr.func_178985_a((double)scrollBarXEnd, (double)var14, 0.0D, 1.0D, 0.0D); + worldr.func_178985_a((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D); + tess.draw(); + worldr.func_178970_b(); + worldr.func_178974_a(12632256, 255); + worldr.func_178985_a((double)scrollBarXStart, (double)(var14 + var13 - 1), 0.0D, 0.0D, 1.0D); + worldr.func_178985_a((double)(scrollBarXEnd - 1), (double)(var14 + var13 - 1), 0.0D, 1.0D, 1.0D); + worldr.func_178985_a((double)(scrollBarXEnd - 1), (double)var14, 0.0D, 1.0D, 0.0D); + worldr.func_178985_a((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D); + tess.draw(); } this.func_27257_b(mouseX, mouseY); @@ -408,17 +410,18 @@ 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.instance; + Tessellator var5 = Tessellator.func_178181_a(); + WorldRenderer worldr = var5.func_178180_c(); this.client.renderEngine.bindTexture(Gui.optionsBackground); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); float var6 = 32.0F; - var5.startDrawingQuads(); - var5.setColorRGBA_I(4210752, p_22239_4_); - var5.addVertexWithUV(0.0D, (double)p_22239_2_, 0.0D, 0.0D, (double)((float)p_22239_2_ / var6)); - var5.addVertexWithUV((double)this.listWidth + 30, (double)p_22239_2_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_2_ / var6)); - var5.setColorRGBA_I(4210752, p_22239_3_); - var5.addVertexWithUV((double)this.listWidth + 30, (double)p_22239_1_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_1_ / var6)); - var5.addVertexWithUV(0.0D, (double)p_22239_1_, 0.0D, 0.0D, (double)((float)p_22239_1_ / var6)); + worldr.func_178970_b(); + worldr.func_178974_a(4210752, p_22239_4_); + worldr.func_178985_a(0.0D, (double)p_22239_2_, 0.0D, 0.0D, (double)((float)p_22239_2_ / var6)); + worldr.func_178985_a((double)this.listWidth + 30, (double)p_22239_2_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_2_ / var6)); + worldr.func_178974_a(4210752, p_22239_3_); + worldr.func_178985_a((double)this.listWidth + 30, (double)p_22239_1_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_1_ / var6)); + worldr.func_178985_a(0.0D, (double)p_22239_1_, 0.0D, 0.0D, (double)((float)p_22239_1_ / var6)); var5.draw(); } @@ -437,14 +440,15 @@ public abstract class GuiScrollingList GL11.glDisable(GL11.GL_ALPHA_TEST); OpenGlHelper.glBlendFunc(770, 771, 1, 0); GL11.glShadeModel(GL11.GL_SMOOTH); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(f1, f2, f3, f); - tessellator.addVertex((double)par3, (double)par2, 0.0D); - tessellator.addVertex((double)par1, (double)par2, 0.0D); - tessellator.setColorRGBA_F(f5, f6, f7, f4); - tessellator.addVertex((double)par1, (double)par4, 0.0D); - tessellator.addVertex((double)par3, (double)par4, 0.0D); + Tessellator tessellator = Tessellator.func_178181_a(); + WorldRenderer worldrenderer = tessellator.func_178180_c(); + worldrenderer.func_178970_b(); + worldrenderer.func_178960_a(f1, f2, f3, f); + worldrenderer.func_178984_b((double)par3, (double)par2, 0.0D); + worldrenderer.func_178984_b((double)par1, (double)par2, 0.0D); + worldrenderer.func_178960_a(f5, f6, f7, f4); + worldrenderer.func_178984_b((double)par1, (double)par4, 0.0D); + worldrenderer.func_178984_b((double)par3, (double)par4, 0.0D); tessellator.draw(); GL11.glShadeModel(GL11.GL_FLAT); GL11.glDisable(GL11.GL_BLEND); diff --git a/fml/src/main/java/cpw/mods/fml/client/config/GuiButtonExt.java b/fml/src/main/java/cpw/mods/fml/client/config/GuiButtonExt.java index 1ff93b2bd..b9f24a0fd 100644 --- a/fml/src/main/java/cpw/mods/fml/client/config/GuiButtonExt.java +++ b/fml/src/main/java/cpw/mods/fml/client/config/GuiButtonExt.java @@ -17,12 +17,12 @@ import net.minecraft.client.gui.GuiButton; /** * This class provides a button that fixes several bugs present in the vanilla GuiButton drawing code. - * The gist of it is that it allows buttons of any size without gaps in the graphics and with the + * The gist of it is that it allows buttons of any size without gaps in the graphics and with the * borders drawn properly. It also prevents button text from extending out of the sides of the button by * trimming the end of the string and adding an ellipsis.

- * + * * The code that handles drawing the button is in GuiUtils. - * + * * @author bspkrs */ public class GuiButtonExt extends GuiButton @@ -31,12 +31,12 @@ public class GuiButtonExt extends GuiButton { super(id, xPos, yPos, displayString); } - + public GuiButtonExt(int id, int xPos, int yPos, int width, int height, String displayString) { super(id, xPos, yPos, width, height, displayString); } - + /** * Draws this button to the screen. */ @@ -45,12 +45,12 @@ public class GuiButtonExt extends GuiButton { if (this.visible) { - this.field_146123_n = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; - int k = this.getHoverState(this.field_146123_n); + this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; + int k = this.getHoverState(this.hovered); GuiUtils.drawContinuousTexturedBox(buttonTextures, this.xPosition, this.yPosition, 0, 46 + k * 20, this.width, this.height, 200, 20, 2, 3, 2, 2, this.zLevel); this.mouseDragged(mc, mouseX, mouseY); int color = 14737632; - + if (packedFGColour != 0) { color = packedFGColour; @@ -59,19 +59,19 @@ public class GuiButtonExt extends GuiButton { color = 10526880; } - else if (this.field_146123_n) + else if (this.hovered) { color = 16777120; } - + String buttonText = this.displayString; - int strWidth = mc.fontRenderer.getStringWidth(buttonText); - int ellipsisWidth = mc.fontRenderer.getStringWidth("..."); - + int strWidth = mc.fontRendererObj.getStringWidth(buttonText); + int ellipsisWidth = mc.fontRendererObj.getStringWidth("..."); + if (strWidth > width - 6 && strWidth > ellipsisWidth) - buttonText = mc.fontRenderer.trimStringToWidth(buttonText, width - 6 - ellipsisWidth).trim() + "..."; - - this.drawCenteredString(mc.fontRenderer, buttonText, this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, color); + buttonText = mc.fontRendererObj.trimStringToWidth(buttonText, width - 6 - ellipsisWidth).trim() + "..."; + + this.drawCenteredString(mc.fontRendererObj, buttonText, this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, color); } } } \ No newline at end of file diff --git a/fml/src/main/java/cpw/mods/fml/client/config/GuiCheckBox.java b/fml/src/main/java/cpw/mods/fml/client/config/GuiCheckBox.java index 3bfd08d06..dd5598431 100644 --- a/fml/src/main/java/cpw/mods/fml/client/config/GuiCheckBox.java +++ b/fml/src/main/java/cpw/mods/fml/client/config/GuiCheckBox.java @@ -17,33 +17,33 @@ import net.minecraft.client.gui.GuiButton; /** * This class provides a checkbox style control. - * + * * @author bspkrs */ public class GuiCheckBox extends GuiButton { private boolean isChecked; private int boxWidth; - + public GuiCheckBox(int id, int xPos, int yPos, String displayString, boolean isChecked) { super(id, xPos, yPos, displayString); this.isChecked = isChecked; this.boxWidth = 11; this.height = 11; - this.width = this.boxWidth + 2 + Minecraft.getMinecraft().fontRenderer.getStringWidth(displayString); + this.width = this.boxWidth + 2 + Minecraft.getMinecraft().fontRendererObj.getStringWidth(displayString); } - + @Override public void drawButton(Minecraft mc, int mouseX, int mouseY) { if (this.visible) { - this.field_146123_n = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.boxWidth && mouseY < this.yPosition + this.height; + this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.boxWidth && mouseY < this.yPosition + this.height; GuiUtils.drawContinuousTexturedBox(buttonTextures, this.xPosition, this.yPosition, 0, 46, this.boxWidth, this.height, 200, 20, 2, 3, 2, 2, this.zLevel); this.mouseDragged(mc, mouseX, mouseY); int color = 14737632; - + if (packedFGColour != 0) { color = packedFGColour; @@ -52,14 +52,14 @@ public class GuiCheckBox extends GuiButton { color = 10526880; } - + if (this.isChecked) - this.drawCenteredString(mc.fontRenderer, "x", this.xPosition + this.boxWidth / 2 + 1, this.yPosition + 1, 14737632); - - this.drawString(mc.fontRenderer, displayString, xPosition + this.boxWidth + 2, yPosition + 2, color); + this.drawCenteredString(mc.fontRendererObj, "x", this.xPosition + this.boxWidth / 2 + 1, this.yPosition + 1, 14737632); + + this.drawString(mc.fontRendererObj, displayString, xPosition + this.boxWidth + 2, yPosition + 2, color); } } - + @Override public boolean mousePressed(Minecraft p_146116_1_, int p_146116_2_, int p_146116_3_) { @@ -68,15 +68,15 @@ public class GuiCheckBox extends GuiButton this.isChecked = !this.isChecked; return true; } - + return false; } - + public boolean isChecked() { return this.isChecked; } - + public void setIsChecked(boolean isChecked) { this.isChecked = isChecked; diff --git a/fml/src/main/java/cpw/mods/fml/client/config/GuiConfig.java b/fml/src/main/java/cpw/mods/fml/client/config/GuiConfig.java index 929980808..24cf72fac 100644 --- a/fml/src/main/java/cpw/mods/fml/client/config/GuiConfig.java +++ b/fml/src/main/java/cpw/mods/fml/client/config/GuiConfig.java @@ -15,6 +15,7 @@ package cpw.mods.fml.client.config; import static cpw.mods.fml.client.config.GuiUtils.RESET_CHAR; import static cpw.mods.fml.client.config.GuiUtils.UNDO_CHAR; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -37,7 +38,7 @@ import cpw.mods.fml.common.eventhandler.Event.Result; /** * This class is the base GuiScreen for all config GUI screens. It can be extended by mods to provide the top-level config screen * that will be called when the Config button is clicked from the Main Menu Mods list. - * + * * @author bspkrs */ public class GuiConfig extends GuiScreen @@ -74,13 +75,13 @@ public class GuiConfig extends GuiScreen /** * GuiConfig constructor that will use ConfigChangedEvent when editing is concluded. If a non-null value is passed for configID, * the OnConfigChanged and PostConfigChanged events will be posted when the Done button is pressed if any configElements were changed - * (includes child screens). If configID is not defined, the events will be posted if the parent gui is null or if the parent gui + * (includes child screens). If configID is not defined, the events will be posted if the parent gui is null or if the parent gui * is not an instance of GuiConfig. * * @param parentScreen the parent GuiScreen object * @param configElements a List of IConfigProperty objects * @param modID the mod ID for the mod whose config settings will be edited - * @param configID an identifier that will be passed to the OnConfigChanged and PostConfigChanged events. Setting this value will force + * @param configID an identifier that will be passed to the OnConfigChanged and PostConfigChanged events. Setting this value will force * the save action to be called when the Done button is pressed on this screen if any configElements were changed. * @param allRequireWorldRestart send true if all configElements on this screen require a world restart * @param allRequireMcRestart send true if all configElements on this screen require MC to be restarted @@ -88,7 +89,7 @@ public class GuiConfig extends GuiScreen * edited. */ @SuppressWarnings("rawtypes") - public GuiConfig(GuiScreen parentScreen, List configElements, String modID, String configID, + public GuiConfig(GuiScreen parentScreen, List configElements, String modID, String configID, boolean allRequireWorldRestart, boolean allRequireMcRestart, String title) { this(parentScreen, configElements, modID, configID, allRequireWorldRestart, allRequireMcRestart, title, null); @@ -107,7 +108,7 @@ public class GuiConfig extends GuiScreen * edited. */ @SuppressWarnings("rawtypes") - public GuiConfig(GuiScreen parentScreen, List configElements, String modID, + public GuiConfig(GuiScreen parentScreen, List configElements, String modID, boolean allRequireWorldRestart, boolean allRequireMcRestart, String title) { this(parentScreen, configElements, modID, null, allRequireWorldRestart, allRequireMcRestart, title, null); @@ -128,7 +129,7 @@ public class GuiConfig extends GuiScreen * currently being edited. */ @SuppressWarnings("rawtypes") - public GuiConfig(GuiScreen parentScreen, List configElements, String modID, + public GuiConfig(GuiScreen parentScreen, List configElements, String modID, boolean allRequireWorldRestart, boolean allRequireMcRestart, String title, String titleLine2) { this(parentScreen, configElements, modID, null, allRequireWorldRestart, allRequireMcRestart, title, titleLine2); @@ -136,8 +137,8 @@ public class GuiConfig extends GuiScreen /** * GuiConfig constructor that will use ConfigChangedEvent when editing is concluded. titleLine2 is specified in this constructor. - * If a non-null value is passed for configID, the OnConfigChanged and PostConfigChanged events will be posted when the Done button is - * pressed if any configElements were changed (includes child screens). If configID is not defined, the events will be posted if the parent + * If a non-null value is passed for configID, the OnConfigChanged and PostConfigChanged events will be posted when the Done button is + * pressed if any configElements were changed (includes child screens). If configID is not defined, the events will be posted if the parent * gui is null or if the parent gui is not an instance of GuiConfig. * * @param parentScreen the parent GuiScreen object @@ -152,7 +153,7 @@ public class GuiConfig extends GuiScreen * currently being edited. */ @SuppressWarnings("rawtypes") - public GuiConfig(GuiScreen parentScreen, List configElements, String modID, String configID, + public GuiConfig(GuiScreen parentScreen, List configElements, String modID, String configID, boolean allRequireWorldRestart, boolean allRequireMcRestart, String title, String titleLine2) { this.mc = Minecraft.getMinecraft(); @@ -193,12 +194,12 @@ public class GuiConfig extends GuiScreen this.needsRefresh = false; } - int undoGlyphWidth = mc.fontRenderer.getStringWidth(UNDO_CHAR) * 2; - int resetGlyphWidth = mc.fontRenderer.getStringWidth(RESET_CHAR) * 2; - int doneWidth = Math.max(mc.fontRenderer.getStringWidth(I18n.format("gui.done")) + 20, 100); - int undoWidth = mc.fontRenderer.getStringWidth(" " + I18n.format("fml.configgui.tooltip.undoChanges")) + undoGlyphWidth + 20; - int resetWidth = mc.fontRenderer.getStringWidth(" " + I18n.format("fml.configgui.tooltip.resetToDefault")) + resetGlyphWidth + 20; - int checkWidth = mc.fontRenderer.getStringWidth(I18n.format("fml.configgui.applyGlobally")) + 13; + int undoGlyphWidth = mc.fontRendererObj.getStringWidth(UNDO_CHAR) * 2; + int resetGlyphWidth = mc.fontRendererObj.getStringWidth(RESET_CHAR) * 2; + int doneWidth = Math.max(mc.fontRendererObj.getStringWidth(I18n.format("gui.done")) + 20, 100); + int undoWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.undoChanges")) + undoGlyphWidth + 20; + int resetWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.resetToDefault")) + resetGlyphWidth + 20; + int checkWidth = mc.fontRendererObj.getStringWidth(I18n.format("fml.configgui.applyGlobally")) + 13; int buttonWidthHalf = (doneWidth + 5 + undoWidth + 5 + resetWidth + 5 + checkWidth) / 2; this.buttonList.add(new GuiButtonExt(2000, this.width / 2 - buttonWidthHalf, this.height - 29, doneWidth, 20, I18n.format("gui.done"))); this.buttonList.add(this.btnDefaultAll = new GuiUnicodeGlyphButton(2001, this.width / 2 - buttonWidthHalf + doneWidth + 5 + undoWidth + 5, @@ -218,14 +219,14 @@ public class GuiConfig extends GuiScreen public void onGuiClosed() { this.entryList.onGuiClosed(); - + if (this.configID != null && this.parentScreen instanceof GuiConfig) { GuiConfig parentGuiConfig = (GuiConfig) this.parentScreen; parentGuiConfig.needsRefresh = true; parentGuiConfig.initGui(); } - + if (!(this.parentScreen instanceof GuiConfig)) Keyboard.enableRepeatEvents(false); } @@ -238,7 +239,7 @@ public class GuiConfig extends GuiScreen boolean flag = true; try { - if ((configID != null || this.parentScreen == null || !(this.parentScreen instanceof GuiConfig)) + if ((configID != null || this.parentScreen == null || !(this.parentScreen instanceof GuiConfig)) && (this.entryList.hasChangedEntry(true))) { boolean requiresMcRestart = this.entryList.saveConfigElements(); @@ -249,14 +250,14 @@ public class GuiConfig extends GuiScreen FMLCommonHandler.instance().bus().post(event); if (!event.getResult().equals(Result.DENY)) FMLCommonHandler.instance().bus().post(new PostConfigChangedEvent(modID, configID, isWorldRunning, requiresMcRestart)); - + if (requiresMcRestart) { flag = false; - mc.displayGuiScreen(new GuiMessageDialog(parentScreen, "fml.configgui.gameRestartTitle", + mc.displayGuiScreen(new GuiMessageDialog(parentScreen, "fml.configgui.gameRestartTitle", new ChatComponentText(I18n.format("fml.configgui.gameRestartRequired")), "fml.configgui.confirmRestartMessage")); } - + if (this.parentScreen instanceof GuiConfig) ((GuiConfig) this.parentScreen).needsRefresh = true; } @@ -266,7 +267,7 @@ public class GuiConfig extends GuiScreen { e.printStackTrace(); } - + if (flag) this.mc.displayGuiScreen(this.parentScreen); } @@ -281,7 +282,7 @@ public class GuiConfig extends GuiScreen } @Override - protected void mouseClicked(int x, int y, int mouseEvent) + protected void mouseClicked(int x, int y, int mouseEvent) throws IOException { if (mouseEvent != 0 || !this.entryList.func_148179_a(x, y, mouseEvent)) { @@ -291,11 +292,11 @@ public class GuiConfig extends GuiScreen } @Override - protected void mouseMovedOrUp(int x, int y, int mouseEvent) + protected void mouseReleased(int x, int y, int mouseEvent) { if (mouseEvent != 0 || !this.entryList.func_148181_b(x, y, mouseEvent)) { - super.mouseMovedOrUp(x, y, mouseEvent); + super.mouseReleased(x, y, mouseEvent); } } @@ -325,10 +326,10 @@ public class GuiConfig extends GuiScreen if (title2 != null) { - int strWidth = mc.fontRenderer.getStringWidth(title2); - int elipsisWidth = mc.fontRenderer.getStringWidth("..."); + int strWidth = mc.fontRendererObj.getStringWidth(title2); + int elipsisWidth = mc.fontRendererObj.getStringWidth("..."); if (strWidth > width - 6 && strWidth > elipsisWidth) - title2 = mc.fontRenderer.trimStringToWidth(title2, width - 6 - elipsisWidth).trim() + "..."; + title2 = mc.fontRendererObj.trimStringToWidth(title2, width - 6 - elipsisWidth).trim() + "..."; this.drawCenteredString(this.fontRendererObj, title2, this.width / 2, 18, 16777215); } @@ -337,16 +338,16 @@ public class GuiConfig extends GuiScreen super.drawScreen(mouseX, mouseY, partialTicks); this.entryList.drawScreenPost(mouseX, mouseY, partialTicks); if (this.undoHoverChecker.checkHover(mouseX, mouseY)) - this.drawToolTip(this.mc.fontRenderer.listFormattedStringToWidth(I18n.format("fml.configgui.tooltip.undoAll"), 300), mouseX, mouseY); + this.drawToolTip(this.mc.fontRendererObj.listFormattedStringToWidth(I18n.format("fml.configgui.tooltip.undoAll"), 300), mouseX, mouseY); if (this.resetHoverChecker.checkHover(mouseX, mouseY)) - this.drawToolTip(this.mc.fontRenderer.listFormattedStringToWidth(I18n.format("fml.configgui.tooltip.resetAll"), 300), mouseX, mouseY); + this.drawToolTip(this.mc.fontRendererObj.listFormattedStringToWidth(I18n.format("fml.configgui.tooltip.resetAll"), 300), mouseX, mouseY); if (this.checkBoxHoverChecker.checkHover(mouseX, mouseY)) - this.drawToolTip(this.mc.fontRenderer.listFormattedStringToWidth(I18n.format("fml.configgui.tooltip.applyGlobally"), 300), mouseX, mouseY); + this.drawToolTip(this.mc.fontRendererObj.listFormattedStringToWidth(I18n.format("fml.configgui.tooltip.applyGlobally"), 300), mouseX, mouseY); } @SuppressWarnings("rawtypes") public void drawToolTip(List stringList, int x, int y) { - this.func_146283_a(stringList, x, y); + this.drawHoveringText(stringList, x, y); } } \ No newline at end of file diff --git a/fml/src/main/java/cpw/mods/fml/client/config/GuiConfigEntries.java b/fml/src/main/java/cpw/mods/fml/client/config/GuiConfigEntries.java index 6d33b8752..5ddb4f01c 100644 --- a/fml/src/main/java/cpw/mods/fml/client/config/GuiConfigEntries.java +++ b/fml/src/main/java/cpw/mods/fml/client/config/GuiConfigEntries.java @@ -96,9 +96,9 @@ public class GuiConfigEntries extends GuiListExtended // protects against language keys that are not defined in the .lang file if (!I18n.format(configElement.getLanguageKey()).equals(configElement.getLanguageKey())) - length = mc.fontRenderer.getStringWidth(I18n.format(configElement.getLanguageKey())); + length = mc.fontRendererObj.getStringWidth(I18n.format(configElement.getLanguageKey())); else - length = mc.fontRenderer.getStringWidth(configElement.getName()); + length = mc.fontRendererObj.getStringWidth(configElement.getName()); if (length > this.maxLabelTextWidth) this.maxLabelTextWidth = length; @@ -575,10 +575,10 @@ public class GuiConfigEntries extends GuiListExtended } @Override - public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, Tessellator tessellator, int mouseX, int mouseY, boolean isSelected) + public void func_180790_a(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) { this.btnValue.packedFGColour = GuiUtils.getColorCode(this.configElement.getValidValues()[currentIndex].charAt(0), true); - super.drawEntry(slotIndex, x, y, listWidth, slotHeight, tessellator, mouseX, mouseY, isSelected); + super.func_180790_a(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); } @Override @@ -927,9 +927,9 @@ public class GuiConfigEntries extends GuiListExtended public abstract void valueButtonPressed(int slotIndex); @Override - public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, Tessellator tessellator, int mouseX, int mouseY, boolean isSelected) + public void func_180790_a(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) { - super.drawEntry(slotIndex, x, y, listWidth, slotHeight, tessellator, mouseX, mouseY, isSelected); + super.func_180790_a(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); this.btnValue.width = this.owningEntryList.controlWidth; this.btnValue.xPosition = this.owningScreen.entryList.controlX; this.btnValue.yPosition = y; @@ -945,7 +945,7 @@ public class GuiConfigEntries extends GuiListExtended { if (this.btnValue.mousePressed(this.mc, x, y)) { - btnValue.func_146113_a(mc.getSoundHandler()); + btnValue.playPressSound(mc.getSoundHandler()); valueButtonPressed(index); updateValueButtonText(); return true; @@ -1205,15 +1205,15 @@ public class GuiConfigEntries extends GuiListExtended { super(owningScreen, owningEntryList, configElement); beforeValue = configElement.get().toString(); - this.textFieldValue = new GuiTextField(this.mc.fontRenderer, this.owningEntryList.controlX + 1, 0, this.owningEntryList.controlWidth - 3, 16); + this.textFieldValue = new GuiTextField(10, this.mc.fontRendererObj, this.owningEntryList.controlX + 1, 0, this.owningEntryList.controlWidth - 3, 16); this.textFieldValue.setMaxStringLength(10000); this.textFieldValue.setText(configElement.get().toString()); } @Override - public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, Tessellator tessellator, int mouseX, int mouseY, boolean isSelected) + public void func_180790_a(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) { - super.drawEntry(slotIndex, x, y, listWidth, slotHeight, tessellator, mouseX, mouseY, isSelected); + super.func_180790_a(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); this.textFieldValue.xPosition = this.owningEntryList.controlX + 2; this.textFieldValue.yPosition = y + 1; this.textFieldValue.width = this.owningEntryList.controlWidth - 4; @@ -1350,14 +1350,14 @@ public class GuiConfigEntries extends GuiListExtended } @Override - public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, Tessellator tessellator, int mouseX, int mouseY, boolean isSelected) + public void func_180790_a(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) { this.btnSelectCategory.xPosition = listWidth / 2 - 150; this.btnSelectCategory.yPosition = y; this.btnSelectCategory.enabled = enabled(); this.btnSelectCategory.drawButton(this.mc, mouseX, mouseY); - super.drawEntry(slotIndex, x, y, listWidth, slotHeight, tessellator, mouseX, mouseY, isSelected); + super.func_180790_a(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); } @Override @@ -1376,7 +1376,7 @@ public class GuiConfigEntries extends GuiListExtended { if (this.btnSelectCategory.mousePressed(this.mc, x, y)) { - btnSelectCategory.func_146113_a(mc.getSoundHandler()); + btnSelectCategory.playPressSound(mc.getSoundHandler()); Minecraft.getMinecraft().displayGuiScreen(childScreen); return true; } @@ -1532,30 +1532,30 @@ public class GuiConfigEntries extends GuiListExtended comment = I18n.format(configElement.getLanguageKey() + ".tooltip").replace("\\n", "\n"); if (!comment.equals(configElement.getLanguageKey() + ".tooltip")) - toolTip = new ArrayList(this.mc.fontRenderer.listFormattedStringToWidth( + toolTip = new ArrayList(this.mc.fontRendererObj.listFormattedStringToWidth( EnumChatFormatting.GREEN + name + "\n" + EnumChatFormatting.YELLOW + comment, 300)); else if (configElement.getComment() != null && !configElement.getComment().trim().isEmpty()) - toolTip = new ArrayList(this.mc.fontRenderer.listFormattedStringToWidth( + toolTip = new ArrayList(this.mc.fontRendererObj.listFormattedStringToWidth( EnumChatFormatting.GREEN + name + "\n" + EnumChatFormatting.YELLOW + configElement.getComment(), 300)); else - toolTip = new ArrayList(this.mc.fontRenderer.listFormattedStringToWidth( + toolTip = new ArrayList(this.mc.fontRendererObj.listFormattedStringToWidth( EnumChatFormatting.GREEN + name + "\n" + EnumChatFormatting.RED + "No tooltip defined.", 300)); if ((configElement.getType() == ConfigGuiType.INTEGER && (Integer.valueOf(configElement.getMinValue().toString()) != Integer.MIN_VALUE || Integer.valueOf(configElement.getMaxValue().toString()) != Integer.MAX_VALUE)) || (configElement.getType() == ConfigGuiType.DOUBLE && (Double.valueOf(configElement.getMinValue().toString()) != -Double.MAX_VALUE || Double.valueOf(configElement.getMaxValue().toString()) != Double.MAX_VALUE))) - toolTip.addAll(this.mc.fontRenderer.listFormattedStringToWidth( + toolTip.addAll(this.mc.fontRendererObj.listFormattedStringToWidth( EnumChatFormatting.AQUA + I18n.format("fml.configgui.tooltip.defaultNumeric", configElement.getMinValue(), configElement.getMaxValue(), configElement.getDefault()), 300)); else if (configElement.getType() != ConfigGuiType.CONFIG_CATEGORY) - toolTip.addAll(this.mc.fontRenderer.listFormattedStringToWidth(EnumChatFormatting.AQUA + I18n.format("fml.configgui.tooltip.default", configElement.getDefault()),300)); + toolTip.addAll(this.mc.fontRendererObj.listFormattedStringToWidth(EnumChatFormatting.AQUA + I18n.format("fml.configgui.tooltip.default", configElement.getDefault()),300)); if (configElement.requiresMcRestart() || owningScreen.allRequireMcRestart) toolTip.add(EnumChatFormatting.RED + "[" + I18n.format("fml.configgui.gameRestartTitle") + "]"); } @Override - public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, Tessellator tessellator, int mouseX, int mouseY, boolean isSelected) + public void func_180790_a(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) { boolean isChanged = isChanged(); @@ -1564,10 +1564,10 @@ public class GuiConfigEntries extends GuiListExtended String label = (!isValidValue ? EnumChatFormatting.RED.toString() : (isChanged ? EnumChatFormatting.WHITE.toString() : EnumChatFormatting.GRAY.toString())) + (isChanged ? EnumChatFormatting.ITALIC.toString() : "") + this.name; - this.mc.fontRenderer.drawString( + this.mc.fontRendererObj.drawString( label, this.owningScreen.entryList.labelX, - y + slotHeight / 2 - this.mc.fontRenderer.FONT_HEIGHT / 2, + y + slotHeight / 2 - this.mc.fontRendererObj.FONT_HEIGHT / 2, 16777215); } @@ -1609,13 +1609,13 @@ public class GuiConfigEntries extends GuiListExtended { if (this.btnDefault.mousePressed(this.mc, x, y)) { - btnDefault.func_146113_a(mc.getSoundHandler()); + btnDefault.playPressSound(mc.getSoundHandler()); setToDefault(); return true; } else if (this.btnUndoChanges.mousePressed(this.mc, x, y)) { - btnUndoChanges.func_146113_a(mc.getSoundHandler()); + btnUndoChanges.playPressSound(mc.getSoundHandler()); undoChanges(); return true; } @@ -1652,6 +1652,9 @@ public class GuiConfigEntries extends GuiListExtended @Override public abstract boolean saveConfigElement(); + @Override + public void func_178011_a(int p_178011_1_, int p_178011_2_, int p_178011_3_){} + @Override public boolean enabled() { @@ -1661,7 +1664,7 @@ public class GuiConfigEntries extends GuiListExtended @Override public int getLabelWidth() { - return this.mc.fontRenderer.getStringWidth(this.name); + return this.mc.fontRendererObj.getStringWidth(this.name); } @Override diff --git a/fml/src/main/java/cpw/mods/fml/client/config/GuiEditArray.java b/fml/src/main/java/cpw/mods/fml/client/config/GuiEditArray.java index a86dfe4ba..dbfb9870b 100644 --- a/fml/src/main/java/cpw/mods/fml/client/config/GuiEditArray.java +++ b/fml/src/main/java/cpw/mods/fml/client/config/GuiEditArray.java @@ -12,6 +12,7 @@ package cpw.mods.fml.client.config; +import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -21,7 +22,6 @@ import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.resources.I18n; import net.minecraft.util.EnumChatFormatting; - import static cpw.mods.fml.client.config.GuiUtils.RESET_CHAR; import static cpw.mods.fml.client.config.GuiUtils.UNDO_CHAR; @@ -30,7 +30,7 @@ import org.lwjgl.input.Keyboard; /** * This class is the base screen used for editing an array-type property. It provides a list of array entries for the user to edit. * This screen is invoked from a GuiConfig screen by controls that use the EditListPropEntry IGuiConfigListEntry object. - * + * * @author bspkrs */ public class GuiEditArray extends GuiScreen @@ -50,7 +50,7 @@ public class GuiEditArray extends GuiScreen @SuppressWarnings("rawtypes") private List toolTip; protected boolean enabled; - + @SuppressWarnings("rawtypes") public GuiEditArray(GuiScreen parentScreen, IConfigElement configElement, int slotIndex, Object[] currentValues, boolean enabled) { @@ -64,20 +64,20 @@ public class GuiEditArray extends GuiScreen this.enabled = enabled; String propName = I18n.format(configElement.getLanguageKey()); String comment; - + comment = I18n.format(configElement.getLanguageKey() + ".tooltip", "\n" + EnumChatFormatting.AQUA, configElement.getDefault(), configElement.getMinValue(), configElement.getMaxValue()); - + if (!comment.equals(configElement.getLanguageKey() + ".tooltip")) - toolTip = mc.fontRenderer.listFormattedStringToWidth( + toolTip = mc.fontRendererObj.listFormattedStringToWidth( EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.YELLOW + comment, 300); else if (configElement.getComment() != null && !configElement.getComment().trim().isEmpty()) - toolTip = mc.fontRenderer.listFormattedStringToWidth( + toolTip = mc.fontRendererObj.listFormattedStringToWidth( EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.YELLOW + configElement.getComment(), 300); else - toolTip = mc.fontRenderer.listFormattedStringToWidth( + toolTip = mc.fontRendererObj.listFormattedStringToWidth( EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.RED + "No tooltip defined.", 300); - + if (parentScreen instanceof GuiConfig) { this.title = ((GuiConfig) parentScreen).title; @@ -96,18 +96,18 @@ public class GuiEditArray extends GuiScreen this.tooltipHoverChecker = new HoverChecker(8, 17, 0, parentScreen.width, 800); } } - + @SuppressWarnings("unchecked") @Override public void initGui() { this.entryList = new GuiEditArrayEntries(this, this.mc, this.configElement, this.beforeValues, this.currentValues); - int undoGlyphWidth = mc.fontRenderer.getStringWidth(UNDO_CHAR) * 2; - int resetGlyphWidth = mc.fontRenderer.getStringWidth(RESET_CHAR) * 2; - int doneWidth = Math.max(mc.fontRenderer.getStringWidth(I18n.format("gui.done")) + 20, 100); - int undoWidth = mc.fontRenderer.getStringWidth(" " + I18n.format("fml.configgui.tooltip.undoChanges")) + undoGlyphWidth + 20; - int resetWidth = mc.fontRenderer.getStringWidth(" " + I18n.format("fml.configgui.tooltip.resetToDefault")) + resetGlyphWidth + 20; + int undoGlyphWidth = mc.fontRendererObj.getStringWidth(UNDO_CHAR) * 2; + int resetGlyphWidth = mc.fontRendererObj.getStringWidth(RESET_CHAR) * 2; + int doneWidth = Math.max(mc.fontRendererObj.getStringWidth(I18n.format("gui.done")) + 20, 100); + int undoWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.undoChanges")) + undoGlyphWidth + 20; + int resetWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.resetToDefault")) + resetGlyphWidth + 20; int buttonWidthHalf = (doneWidth + 5 + undoWidth + 5 + resetWidth) / 2; this.buttonList.add(btnDone = new GuiButtonExt(2000, this.width / 2 - buttonWidthHalf, this.height - 29, doneWidth, 20, I18n.format("gui.done"))); this.buttonList.add(btnDefault = new GuiUnicodeGlyphButton(2001, this.width / 2 - buttonWidthHalf + doneWidth + 5 + undoWidth + 5, @@ -115,7 +115,7 @@ public class GuiEditArray extends GuiScreen this.buttonList.add(btnUndoChanges = new GuiUnicodeGlyphButton(2002, this.width / 2 - buttonWidthHalf + doneWidth + 5, this.height - 29, undoWidth, 20, " " + I18n.format("fml.configgui.tooltip.undoChanges"), UNDO_CHAR, 2.0F)); } - + @Override protected void actionPerformed(GuiButton button) { @@ -142,9 +142,9 @@ public class GuiEditArray extends GuiScreen this.entryList = new GuiEditArrayEntries(this, this.mc, this.configElement, this.beforeValues, this.currentValues); } } - + @Override - protected void mouseClicked(int x, int y, int mouseEvent) + protected void mouseClicked(int x, int y, int mouseEvent) throws IOException { if (mouseEvent != 0 || !this.entryList.func_148179_a(x, y, mouseEvent)) { @@ -152,16 +152,16 @@ public class GuiEditArray extends GuiScreen super.mouseClicked(x, y, mouseEvent); } } - + @Override - protected void mouseMovedOrUp(int x, int y, int mouseEvent) + protected void mouseReleased(int x, int y, int mouseEvent) { if (mouseEvent != 0 || !this.entryList.func_148181_b(x, y, mouseEvent)) { - super.mouseMovedOrUp(x, y, mouseEvent); + super.mouseReleased(x, y, mouseEvent); } } - + @Override protected void keyTyped(char eventChar, int eventKey) { @@ -170,40 +170,40 @@ public class GuiEditArray extends GuiScreen else this.entryList.keyTyped(eventChar, eventKey); } - + @Override public void updateScreen() { super.updateScreen(); this.entryList.updateScreen(); } - + @Override public void drawScreen(int par1, int par2, float par3) { this.drawDefaultBackground(); this.entryList.drawScreen(par1, par2, par3); this.drawCenteredString(this.fontRendererObj, this.title, this.width / 2, 8, 16777215); - + if (this.titleLine2 != null) this.drawCenteredString(this.fontRendererObj, this.titleLine2, this.width / 2, 18, 16777215); - + if (this.titleLine3 != null) this.drawCenteredString(this.fontRendererObj, this.titleLine3, this.width / 2, 28, 16777215); - + this.btnDone.enabled = this.entryList.isListSavable(); this.btnDefault.enabled = enabled && !this.entryList.isDefault(); this.btnUndoChanges.enabled = enabled && this.entryList.isChanged(); super.drawScreen(par1, par2, par3); this.entryList.drawScreenPost(par1, par2, par3); - + if (this.tooltipHoverChecker != null && this.tooltipHoverChecker.checkHover(par1, par2)) drawToolTip(this.toolTip, par1, par2); } - + @SuppressWarnings("rawtypes") public void drawToolTip(List stringList, int x, int y) { - this.func_146283_a(stringList, x, y); + this.drawHoveringText(stringList, x, y); } } \ No newline at end of file diff --git a/fml/src/main/java/cpw/mods/fml/client/config/GuiEditArrayEntries.java b/fml/src/main/java/cpw/mods/fml/client/config/GuiEditArrayEntries.java index ddabd5612..ba26381a5 100644 --- a/fml/src/main/java/cpw/mods/fml/client/config/GuiEditArrayEntries.java +++ b/fml/src/main/java/cpw/mods/fml/client/config/GuiEditArrayEntries.java @@ -34,7 +34,7 @@ import cpw.mods.fml.common.FMLLog; /** * This class implements the scrolling list functionality of the GuiEditList screen. It also provides all the default controls * for editing array-type properties. - * + * * @author bspkrs */ @SuppressWarnings("rawtypes") @@ -68,7 +68,7 @@ public class GuiEditArrayEntries extends GuiListExtended listEntries = new ArrayList(); controlWidth = (parent.width / 2) - (configElement.isListLengthFixed() ? 0 : 48); - + if (configElement.isList() && configElement.getArrayEntryClass() != null) { Class clazz = configElement.getArrayEntryClass(); @@ -141,7 +141,7 @@ public class GuiEditArrayEntries extends GuiListExtended listEntries.add(index, new DoubleEntry(this.owningGui, this, this.configElement, 0.0D)); else if (configElement.isList()) listEntries.add(index, new StringEntry(this.owningGui, this, this.configElement, "")); - this.canAddMoreEntries = !configElement.isListLengthFixed() + this.canAddMoreEntries = !configElement.isListLengthFixed() && (configElement.getMaxListLength() == -1 || this.listEntries.size() - 1 < configElement.getMaxListLength()); keyTyped((char) Keyboard.CHAR_NONE, Keyboard.KEY_END); } @@ -149,7 +149,7 @@ public class GuiEditArrayEntries extends GuiListExtended public void removeEntry(int index) { this.listEntries.remove(index); - this.canAddMoreEntries = !configElement.isListLengthFixed() + this.canAddMoreEntries = !configElement.isListLengthFixed() && (configElement.getMaxListLength() == -1 || this.listEntries.size() - 1 < configElement.getMaxListLength()); keyTyped((char) Keyboard.CHAR_NONE, Keyboard.KEY_END); } @@ -343,7 +343,7 @@ public class GuiEditArrayEntries extends GuiListExtended } public static class IntegerEntry extends StringEntry - { + { public IntegerEntry(GuiEditArray owningScreen, GuiEditArrayEntries owningEntryList, IConfigElement configElement, Integer value) { super(owningScreen, owningEntryList, configElement, value); @@ -405,7 +405,7 @@ public class GuiEditArrayEntries extends GuiListExtended public StringEntry(GuiEditArray owningScreen, GuiEditArrayEntries owningEntryList, IConfigElement configElement, Object value) { super(owningScreen, owningEntryList, configElement); - this.textFieldValue = new GuiTextField(owningEntryList.mc.fontRenderer, owningEntryList.width / 4 + 1, 0, owningEntryList.controlWidth - 3, 16); + this.textFieldValue = new GuiTextField(0, owningEntryList.mc.fontRendererObj, owningEntryList.width / 4 + 1, 0, owningEntryList.controlWidth - 3, 16); this.textFieldValue.setMaxStringLength(10000); this.textFieldValue.setText(value.toString()); this.isValidated = configElement.getValidationPattern() != null; @@ -420,9 +420,9 @@ public class GuiEditArrayEntries extends GuiListExtended } @Override - public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, Tessellator tessellator, int mouseX, int mouseY, boolean isSelected) + public void func_180790_a(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) { - super.drawEntry(slotIndex, x, y, listWidth, slotHeight, tessellator, mouseX, mouseY, isSelected); + super.func_180790_a(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); if (configElement.isListLengthFixed() || slotIndex != owningEntryList.listEntries.size() - 1) { this.textFieldValue.setVisible(true); @@ -486,9 +486,9 @@ public class GuiEditArrayEntries extends GuiListExtended } @Override - public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, Tessellator tessellator, int mouseX, int mouseY, boolean isSelected) + public void func_180790_a(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) { - super.drawEntry(slotIndex, x, y, listWidth, slotHeight, tessellator, mouseX, mouseY, isSelected); + super.func_180790_a(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); this.btnValue.xPosition = listWidth / 4; this.btnValue.yPosition = y; @@ -507,7 +507,7 @@ public class GuiEditArrayEntries extends GuiListExtended { if (this.btnValue.mousePressed(owningEntryList.mc, x, y)) { - btnValue.func_146113_a(owningEntryList.mc.getSoundHandler()); + btnValue.playPressSound(owningEntryList.mc.getSoundHandler()); value = !value; owningEntryList.recalculateState(); return true; @@ -564,13 +564,13 @@ public class GuiEditArrayEntries extends GuiListExtended } @Override - public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, Tessellator tessellator, int mouseX, int mouseY, boolean isSelected) + public void func_180790_a(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) { if (this.getValue() != null && this.isValidated) - owningEntryList.mc.fontRenderer.drawString( + owningEntryList.mc.fontRendererObj.drawString( isValidValue ? EnumChatFormatting.GREEN + VALID : EnumChatFormatting.RED + INVALID, - listWidth / 4 - owningEntryList.mc.fontRenderer.getStringWidth(VALID) - 2, - y + slotHeight / 2 - owningEntryList.mc.fontRenderer.FONT_HEIGHT / 2, + listWidth / 4 - owningEntryList.mc.fontRendererObj.getStringWidth(VALID) - 2, + y + slotHeight / 2 - owningEntryList.mc.fontRendererObj.FONT_HEIGHT / 2, 16777215); int half = listWidth / 2; @@ -610,14 +610,14 @@ public class GuiEditArrayEntries extends GuiListExtended { if (this.btnAddNewEntryAbove.mousePressed(owningEntryList.mc, x, y)) { - btnAddNewEntryAbove.func_146113_a(owningEntryList.mc.getSoundHandler()); + btnAddNewEntryAbove.playPressSound(owningEntryList.mc.getSoundHandler()); owningEntryList.addNewEntry(index); owningEntryList.recalculateState(); return true; } else if (this.btnRemoveEntry.mousePressed(owningEntryList.mc, x, y)) { - btnRemoveEntry.func_146113_a(owningEntryList.mc.getSoundHandler()); + btnRemoveEntry.playPressSound(owningEntryList.mc.getSoundHandler()); owningEntryList.removeEntry(index); owningEntryList.recalculateState(); return true; @@ -656,6 +656,9 @@ public class GuiEditArrayEntries extends GuiListExtended { return null; } + + @Override + public void func_178011_a(int p_178011_1_, int p_178011_2_, int p_178011_3_){} } public static interface IArrayEntry extends GuiListExtended.IGuiListEntry diff --git a/fml/src/main/java/cpw/mods/fml/client/config/GuiSelectString.java b/fml/src/main/java/cpw/mods/fml/client/config/GuiSelectString.java index 6f1109938..ec68cd05b 100644 --- a/fml/src/main/java/cpw/mods/fml/client/config/GuiSelectString.java +++ b/fml/src/main/java/cpw/mods/fml/client/config/GuiSelectString.java @@ -27,7 +27,7 @@ import static cpw.mods.fml.client.config.GuiUtils.UNDO_CHAR; /** * This class provides a screen that allows the user to select a value from a list. - * + * * @author bspkrs */ public class GuiSelectString extends GuiScreen @@ -68,13 +68,13 @@ public class GuiSelectString extends GuiScreen "\n" + EnumChatFormatting.AQUA, configElement.getDefault(), configElement.getMinValue(), configElement.getMaxValue()); if (!comment.equals(configElement.getLanguageKey() + ".tooltip")) - toolTip = mc.fontRenderer.listFormattedStringToWidth( + toolTip = mc.fontRendererObj.listFormattedStringToWidth( EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.YELLOW + comment, 300); else if (configElement.getComment() != null && !configElement.getComment().trim().isEmpty()) - toolTip = mc.fontRenderer.listFormattedStringToWidth( + toolTip = mc.fontRendererObj.listFormattedStringToWidth( EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.YELLOW + configElement.getComment(), 300); else - toolTip = mc.fontRenderer.listFormattedStringToWidth( + toolTip = mc.fontRendererObj.listFormattedStringToWidth( EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.RED + "No tooltip defined.", 300); if (parentScreen instanceof GuiConfig) @@ -98,11 +98,11 @@ public class GuiSelectString extends GuiScreen { this.entriesList = new GuiSelectStringEntries(this, this.mc, this.configElement, this.selectableValues); - int undoGlyphWidth = mc.fontRenderer.getStringWidth(UNDO_CHAR) * 2; - int resetGlyphWidth = mc.fontRenderer.getStringWidth(RESET_CHAR) * 2; - int doneWidth = Math.max(mc.fontRenderer.getStringWidth(I18n.format("gui.done")) + 20, 100); - int undoWidth = mc.fontRenderer.getStringWidth(" " + I18n.format("fml.configgui.tooltip.undoChanges")) + undoGlyphWidth + 20; - int resetWidth = mc.fontRenderer.getStringWidth(" " + I18n.format("fml.configgui.tooltip.resetToDefault")) + resetGlyphWidth + 20; + int undoGlyphWidth = mc.fontRendererObj.getStringWidth(UNDO_CHAR) * 2; + int resetGlyphWidth = mc.fontRendererObj.getStringWidth(RESET_CHAR) * 2; + int doneWidth = Math.max(mc.fontRendererObj.getStringWidth(I18n.format("gui.done")) + 20, 100); + int undoWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.undoChanges")) + undoGlyphWidth + 20; + int resetWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.resetToDefault")) + resetGlyphWidth + 20; int buttonWidthHalf = (doneWidth + 5 + undoWidth + 5 + resetWidth) / 2; this.buttonList.add(btnDone = new GuiButtonExt(2000, this.width / 2 - buttonWidthHalf, this.height - 29, doneWidth, 20, I18n.format("gui.done"))); this.buttonList.add(btnDefault = new GuiUnicodeGlyphButton(2001, this.width / 2 - buttonWidthHalf + doneWidth + 5 + undoWidth + 5, @@ -139,11 +139,11 @@ public class GuiSelectString extends GuiScreen } @Override - protected void mouseMovedOrUp(int x, int y, int mouseEvent) + protected void mouseReleased(int x, int y, int mouseEvent) { if (mouseEvent != 0 || !this.entriesList.func_148181_b(x, y, mouseEvent)) { - super.mouseMovedOrUp(x, y, mouseEvent); + super.mouseReleased(x, y, mouseEvent); } } @@ -172,6 +172,6 @@ public class GuiSelectString extends GuiScreen @SuppressWarnings("rawtypes") public void drawToolTip(List stringList, int x, int y) { - this.func_146283_a(stringList, x, y); + this.drawHoveringText(stringList, x, y); } } \ No newline at end of file diff --git a/fml/src/main/java/cpw/mods/fml/client/config/GuiSelectStringEntries.java b/fml/src/main/java/cpw/mods/fml/client/config/GuiSelectStringEntries.java index b4640a169..d3a4d0cf4 100644 --- a/fml/src/main/java/cpw/mods/fml/client/config/GuiSelectStringEntries.java +++ b/fml/src/main/java/cpw/mods/fml/client/config/GuiSelectStringEntries.java @@ -27,7 +27,7 @@ import cpw.mods.fml.client.config.GuiConfigEntries.SelectValueEntry; /** * This class implements the scrolling list functionality of the GuiSelectString screen. - * + * * @author bspkrs */ public class GuiSelectStringEntries extends GuiListExtended @@ -40,53 +40,53 @@ public class GuiSelectStringEntries extends GuiListExtended public final Map selectableValues; public int selectedIndex = -1; public int maxEntryWidth = 0; - + @SuppressWarnings("rawtypes") public GuiSelectStringEntries(GuiSelectString owningScreen, Minecraft mc, IConfigElement configElement, Map selectableValues) { - super(mc, owningScreen.width, owningScreen.height, owningScreen.titleLine2 != null ? (owningScreen.titleLine3 != null ? 43 : 33) : 23, + super(mc, owningScreen.width, owningScreen.height, owningScreen.titleLine2 != null ? (owningScreen.titleLine3 != null ? 43 : 33) : 23, owningScreen.height - 32, 11); this.owningScreen = owningScreen; this.mc = mc; this.configElement = configElement; this.selectableValues = selectableValues; this.setShowSelectionBox(true); - + listEntries = new ArrayList(); - + int index = 0; List> sortedList = new ArrayList>(selectableValues.entrySet()); Collections.sort(sortedList, new EntryComparator()); - + for (Entry entry : sortedList) { listEntries.add(new ListEntry(this, entry)); - if (mc.fontRenderer.getStringWidth(entry.getValue()) > maxEntryWidth) - maxEntryWidth = mc.fontRenderer.getStringWidth(entry.getValue()); - + if (mc.fontRendererObj.getStringWidth(entry.getValue()) > maxEntryWidth) + maxEntryWidth = mc.fontRendererObj.getStringWidth(entry.getValue()); + if (owningScreen.currentValue.equals(entry.getKey())) { this.selectedIndex = index; } - + index++; } } - + public static class EntryComparator implements Comparator> { @Override public int compare(Entry o1, Entry o2) { int compare = o1.getValue().toLowerCase(Locale.US).compareTo(o2.getValue().toLowerCase(Locale.US)); - + if (compare == 0) compare = o1.getKey().toString().toLowerCase(Locale.US).compareTo(o2.getKey().toString().toLowerCase(Locale.US)); - + return compare; } } - + /** * The element in the slot that was clicked, boolean for whether it was double clicked or not */ @@ -96,7 +96,7 @@ public class GuiSelectStringEntries extends GuiListExtended selectedIndex = index; owningScreen.currentValue = listEntries.get(index).getValue(); } - + /** * Returns true if the element passed in is currently selected */ @@ -105,13 +105,13 @@ public class GuiSelectStringEntries extends GuiListExtended { return index == selectedIndex; } - + @Override protected int getScrollBarX() { return width / 2 + this.maxEntryWidth / 2 + 5; } - + /** * Gets the width of the list */ @@ -120,29 +120,29 @@ public class GuiSelectStringEntries extends GuiListExtended { return maxEntryWidth + 5; } - + @Override public IGuiSelectStringListEntry getListEntry(int index) { return listEntries.get(index); } - + @Override protected int getSize() { return listEntries.size(); } - + public boolean isChanged() { return owningScreen.beforeValue != null ? !owningScreen.beforeValue.equals(owningScreen.currentValue) : owningScreen.currentValue != null; } - + public boolean isDefault() { return owningScreen.currentValue != null ? owningScreen.currentValue.equals(configElement.getDefault()) : configElement.getDefault() == null; } - + @SuppressWarnings("unchecked") public void saveChanges() { @@ -151,47 +151,50 @@ public class GuiSelectStringEntries extends GuiListExtended && ((GuiConfig) owningScreen.parentScreen).entryList.getListEntry(owningScreen.slotIndex) instanceof SelectValueEntry) { SelectValueEntry entry = (SelectValueEntry) ((GuiConfig) owningScreen.parentScreen).entryList.getListEntry(owningScreen.slotIndex); - + entry.setValueFromChildScreen(owningScreen.currentValue); } else configElement.set(owningScreen.currentValue); } - + public static class ListEntry implements IGuiSelectStringListEntry { protected final GuiSelectStringEntries owningList; protected final Entry value; - + public ListEntry(GuiSelectStringEntries owningList, Entry value) { this.owningList = owningList; this.value = value; } - + @Override - public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, Tessellator tessellator, int mouseX, int mouseY, boolean isSelected) + public void func_180790_a(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) { - owningList.mc.fontRenderer.drawString(value.getValue(), x + 1, y, slotIndex == owningList.selectedIndex ? 16777215 : 14737632); + owningList.mc.fontRendererObj.drawString(value.getValue(), x + 1, y, slotIndex == owningList.selectedIndex ? 16777215 : 14737632); } - + @Override public boolean mousePressed(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) { return false; } - + @Override public void mouseReleased(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) {} - + @Override public Object getValue() { return value.getKey(); } + + @Override + public void func_178011_a(int p_178011_1_, int p_178011_2_, int p_178011_3_){} } - + public static interface IGuiSelectStringListEntry extends GuiListExtended.IGuiListEntry { public Object getValue(); diff --git a/fml/src/main/java/cpw/mods/fml/client/config/GuiUnicodeGlyphButton.java b/fml/src/main/java/cpw/mods/fml/client/config/GuiUnicodeGlyphButton.java index 9ed3b01bb..323a0f20f 100644 --- a/fml/src/main/java/cpw/mods/fml/client/config/GuiUnicodeGlyphButton.java +++ b/fml/src/main/java/cpw/mods/fml/client/config/GuiUnicodeGlyphButton.java @@ -18,32 +18,32 @@ import org.lwjgl.opengl.GL11; /** * This class provides a button that shows a string glyph at the beginning. The glyph can be scaled using the glyphScale parameter. - * + * * @author bspkrs */ public class GuiUnicodeGlyphButton extends GuiButtonExt { public String glyph; public float glyphScale; - + public GuiUnicodeGlyphButton(int id, int xPos, int yPos, int width, int height, String displayString, String glyph, float glyphScale) { super(id, xPos, yPos, width, height, displayString); this.glyph = glyph; this.glyphScale = glyphScale; } - + @Override public void drawButton(Minecraft mc, int mouseX, int mouseY) { if (this.visible) { - this.field_146123_n = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; - int k = this.getHoverState(this.field_146123_n); + this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; + int k = this.getHoverState(this.hovered); GuiUtils.drawContinuousTexturedBox(buttonTextures, this.xPosition, this.yPosition, 0, 46 + k * 20, this.width, this.height, 200, 20, 2, 3, 2, 2, this.zLevel); this.mouseDragged(mc, mouseX, mouseY); int color = 14737632; - + if (packedFGColour != 0) { color = packedFGColour; @@ -52,31 +52,31 @@ public class GuiUnicodeGlyphButton extends GuiButtonExt { color = 10526880; } - else if (this.field_146123_n) + else if (this.hovered) { color = 16777120; } - + String buttonText = this.displayString; - int glyphWidth = (int) (mc.fontRenderer.getStringWidth(glyph) * glyphScale); - int strWidth = mc.fontRenderer.getStringWidth(buttonText); - int elipsisWidth = mc.fontRenderer.getStringWidth("..."); + int glyphWidth = (int) (mc.fontRendererObj.getStringWidth(glyph) * glyphScale); + int strWidth = mc.fontRendererObj.getStringWidth(buttonText); + int elipsisWidth = mc.fontRendererObj.getStringWidth("..."); int totalWidth = strWidth + glyphWidth; - + if (totalWidth > width - 6 && totalWidth > elipsisWidth) - buttonText = mc.fontRenderer.trimStringToWidth(buttonText, width - 6 - elipsisWidth).trim() + "..."; - - strWidth = mc.fontRenderer.getStringWidth(buttonText); + buttonText = mc.fontRendererObj.trimStringToWidth(buttonText, width - 6 - elipsisWidth).trim() + "..."; + + strWidth = mc.fontRendererObj.getStringWidth(buttonText); totalWidth = glyphWidth + strWidth; - + GL11.glPushMatrix(); GL11.glScalef(glyphScale, glyphScale, 1.0F); - this.drawCenteredString(mc.fontRenderer, glyph, + this.drawCenteredString(mc.fontRendererObj, glyph, (int) (((this.xPosition + (this.width / 2) - (strWidth / 2)) / glyphScale) - (glyphWidth / (2 * glyphScale)) + 2), (int) (((this.yPosition + ((this.height - 8) / glyphScale) / 2) - 1) / glyphScale), color); GL11.glPopMatrix(); - - this.drawCenteredString(mc.fontRenderer, buttonText, (int) (this.xPosition + (this.width / 2) + (glyphWidth / glyphScale)), + + this.drawCenteredString(mc.fontRendererObj, buttonText, (int) (this.xPosition + (this.width / 2) + (glyphWidth / glyphScale)), this.yPosition + (this.height - 8) / 2, color); } } diff --git a/fml/src/main/java/cpw/mods/fml/client/config/GuiUtils.java b/fml/src/main/java/cpw/mods/fml/client/config/GuiUtils.java index eedf8dc59..4dbbd1ad6 100644 --- a/fml/src/main/java/cpw/mods/fml/client/config/GuiUtils.java +++ b/fml/src/main/java/cpw/mods/fml/client/config/GuiUtils.java @@ -15,22 +15,23 @@ package cpw.mods.fml.client.config; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; /** * This class provides several methods and constants used by the Config GUI classes. - * + * * @author bspkrs */ -public class GuiUtils +public class GuiUtils { public static final String UNDO_CHAR = "\u21B6"; public static final String RESET_CHAR = "\u2604"; public static final String VALID = "\u2714"; public static final String INVALID = "\u2715"; - + private static int[] colorCodes = new int[] { 0, 170, 43520, 43690, 11141120, 11141290, 16755200, 11184810, 5592405, 5592575, 5635925, 5636095, 16733525, 16733695, 16777045, 16777215, 0, 42, 10752, 10794, 2752512, 2752554, 2763264, 2763306, 1381653, 1381695, 1392405, 1392447, 4134165, 4134207, 4144917, 4144959 }; @@ -42,7 +43,7 @@ public class GuiUtils * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders * and filler. It is assumed that the desired texture ResourceLocation object has been bound using * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). - * + * * @param x x axis offset * @param y y axis offset * @param u bound resource location image x offset @@ -59,12 +60,12 @@ public class GuiUtils { drawContinuousTexturedBox(x, y, u, v, width, height, textureWidth, textureHeight, borderSize, borderSize, borderSize, borderSize, zLevel); } - + /** * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders * and filler. The provided ResourceLocation object will be bound using * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). - * + * * @param res the ResourceLocation object that contains the desired image * @param x x axis offset * @param y y axis offset @@ -82,12 +83,12 @@ public class GuiUtils { drawContinuousTexturedBox(res, x, y, u, v, width, height, textureWidth, textureHeight, borderSize, borderSize, borderSize, borderSize, zLevel); } - + /** * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders * and filler. The provided ResourceLocation object will be bound using * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). - * + * * @param res the ResourceLocation object that contains the desired image * @param x x axis offset * @param y y axis offset @@ -109,12 +110,12 @@ public class GuiUtils Minecraft.getMinecraft().getTextureManager().bindTexture(res); drawContinuousTexturedBox(x, y, u, v, width, height, textureWidth, textureHeight, topBorder, bottomBorder, leftBorder, rightBorder, zLevel); } - + /** * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders * and filler. It is assumed that the desired texture ResourceLocation object has been bound using * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). - * + * * @param x x axis offset * @param y y axis offset * @param u bound resource location image x offset @@ -136,7 +137,7 @@ public class GuiUtils GL11.glEnable(GL11.GL_BLEND); OpenGlHelper.glBlendFunc(770, 771, 1, 0); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - + int fillerWidth = textureWidth - leftBorder - rightBorder; int fillerHeight = textureHeight - topBorder - bottomBorder; int canvasWidth = width - leftBorder - rightBorder; @@ -145,7 +146,7 @@ public class GuiUtils int remainderWidth = canvasWidth % fillerWidth; int yPasses = canvasHeight / fillerHeight; int remainderHeight = canvasHeight % fillerHeight; - + // Draw Border // Top Left drawTexturedModalRect(x, y, u, v, leftBorder, topBorder, zLevel); @@ -155,19 +156,19 @@ public class GuiUtils drawTexturedModalRect(x, y + topBorder + canvasHeight, u, v + topBorder + fillerHeight, leftBorder, bottomBorder, zLevel); // Bottom Right drawTexturedModalRect(x + leftBorder + canvasWidth, y + topBorder + canvasHeight, u + leftBorder + fillerWidth, v + topBorder + fillerHeight, rightBorder, bottomBorder, zLevel); - + for (int i = 0; i < xPasses + (remainderWidth > 0 ? 1 : 0); i++) { // Top Border drawTexturedModalRect(x + leftBorder + (i * fillerWidth), y, u + leftBorder, v, (i == xPasses ? remainderWidth : fillerWidth), topBorder, zLevel); // Bottom Border drawTexturedModalRect(x + leftBorder + (i * fillerWidth), y + topBorder + canvasHeight, u + leftBorder, v + topBorder + fillerHeight, (i == xPasses ? remainderWidth : fillerWidth), bottomBorder, zLevel); - + // Throw in some filler for good measure for (int j = 0; j < yPasses + (remainderHeight > 0 ? 1 : 0); j++) drawTexturedModalRect(x + leftBorder + (i * fillerWidth), y + topBorder + (j * fillerHeight), u + leftBorder, v + topBorder, (i == xPasses ? remainderWidth : fillerWidth), (j == yPasses ? remainderHeight : fillerHeight), zLevel); } - + // Side Borders for (int j = 0; j < yPasses + (remainderHeight > 0 ? 1 : 0); j++) { @@ -177,17 +178,18 @@ public class GuiUtils drawTexturedModalRect(x + leftBorder + canvasWidth, y + topBorder + (j * fillerHeight), u + leftBorder + fillerWidth, v + topBorder, rightBorder, (j == yPasses ? remainderHeight : fillerHeight), zLevel); } } - + public static void drawTexturedModalRect(int x, int y, int u, int v, int width, int height, float zLevel) { float var7 = 0.00390625F; float var8 = 0.00390625F; - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV((x + 0), (y + height), zLevel, ((u + 0) * var7), ((v + height) * var8)); - tessellator.addVertexWithUV((x + width), (y + height), zLevel, ((u + width) * var7), ((v + height) * var8)); - tessellator.addVertexWithUV((x + width), (y + 0), zLevel, ((u + width) * var7), ((v + 0) * var8)); - tessellator.addVertexWithUV((x + 0), (y + 0), zLevel, ((u + 0) * var7), ((v + 0) * var8)); + Tessellator tessellator = Tessellator.func_178181_a(); + WorldRenderer worldr = tessellator.func_178180_c(); + worldr.func_178970_b(); + worldr.func_178985_a((x + 0), (y + height), zLevel, ((u + 0) * var7), ((v + height) * var8)); + worldr.func_178985_a((x + width), (y + height), zLevel, ((u + width) * var7), ((v + height) * var8)); + worldr.func_178985_a((x + width), (y + 0), zLevel, ((u + width) * var7), ((v + 0) * var8)); + worldr.func_178985_a((x + 0), (y + 0), zLevel, ((u + 0) * var7), ((v + 0) * var8)); tessellator.draw(); } diff --git a/fml/src/main/java/cpw/mods/fml/client/registry/ISimpleBlockRenderingHandler.java b/fml/src/main/java/cpw/mods/fml/client/registry/ISimpleBlockRenderingHandler.java deleted file mode 100644 index 79931d2c8..000000000 --- a/fml/src/main/java/cpw/mods/fml/client/registry/ISimpleBlockRenderingHandler.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Forge Mod Loader - * Copyright (c) 2012-2013 cpw. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the GNU Lesser Public License v2.1 - * which accompanies this distribution, and is available at - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - * - * Contributors: - * cpw - implementation - */ - -package cpw.mods.fml.client.registry; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.world.IBlockAccess; - -public interface ISimpleBlockRenderingHandler -{ - public abstract void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer); - - public abstract boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer); - - public abstract boolean shouldRender3DInInventory(int modelId); - - public abstract int getRenderId(); -} diff --git a/fml/src/main/java/cpw/mods/fml/client/registry/RenderingRegistry.java b/fml/src/main/java/cpw/mods/fml/client/registry/RenderingRegistry.java index 65e1ce2a1..902b9ee9b 100644 --- a/fml/src/main/java/cpw/mods/fml/client/registry/RenderingRegistry.java +++ b/fml/src/main/java/cpw/mods/fml/client/registry/RenderingRegistry.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.Map; import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderBiped; import net.minecraft.client.renderer.entity.RenderManager; @@ -35,23 +35,8 @@ public class RenderingRegistry { private static final RenderingRegistry INSTANCE = new RenderingRegistry(); - private int nextRenderId = 42; - - private Map blockRenderers = Maps.newHashMap(); - private List entityRenderers = Lists.newArrayList(); - /** - * Add a new armour prefix to the RenderPlayer - * - * @param armor - */ - public static int addNewArmourRendererPrefix(String armor) - { - RenderBiped.bipedArmorFilenamePrefix = ObjectArrays.concat(RenderBiped.bipedArmorFilenamePrefix, armor); - return RenderBiped.bipedArmorFilenamePrefix.length - 1; - } - /** * Register an entity rendering handler. This will, after mod initialization, be inserted into the main * render map for entities @@ -64,37 +49,6 @@ public class RenderingRegistry instance().entityRenderers.add(new EntityRendererInfo(entityClass, renderer)); } - /** - * Register a simple block rendering handler - * - * @param handler - */ - public static void registerBlockHandler(ISimpleBlockRenderingHandler handler) - { - instance().blockRenderers.put(handler.getRenderId(), handler); - } - - /** - * Register the simple block rendering handler - * This version will not call getRenderId on the passed in handler, instead using the supplied ID, so you - * can easily re-use the same rendering handler for multiple IDs - * - * @param renderId - * @param handler - */ - public static void registerBlockHandler(int renderId, ISimpleBlockRenderingHandler handler) - { - instance().blockRenderers.put(renderId, handler); - } - /** - * Get the next available renderId from the block render ID list - */ - public static int getNextAvailableRenderId() - { - return instance().nextRenderId++; - } - - @Deprecated public static RenderingRegistry instance() { return INSTANCE; @@ -111,32 +65,13 @@ public class RenderingRegistry private Render renderer; } - public boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelId) - { - if (!blockRenderers.containsKey(modelId)) { return false; } - ISimpleBlockRenderingHandler bri = blockRenderers.get(modelId); - return bri.renderWorldBlock(world, x, y, z, block, modelId, renderer); - } - - public void renderInventoryBlock(RenderBlocks renderer, Block block, int metadata, int modelID) - { - if (!blockRenderers.containsKey(modelID)) { return; } - ISimpleBlockRenderingHandler bri = blockRenderers.get(modelID); - bri.renderInventoryBlock(block, metadata, modelID, renderer); - } - - public boolean renderItemAsFull3DBlock(int modelId) - { - ISimpleBlockRenderingHandler bri = blockRenderers.get(modelId); - return bri != null && bri.shouldRender3DInInventory(modelId); - } - + /* public void loadEntityRenderers(Map, Render> rendererMap) { for (EntityRendererInfo info : entityRenderers) { rendererMap.put(info.target, info.renderer); - info.renderer.setRenderManager(RenderManager.instance); + info.renderer.setRenderManager(Minecraft.getMinecraft().func_175598_ae()); } - } + }*/ } diff --git a/fml/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java b/fml/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java index 9c5e065d3..10e40d07d 100644 --- a/fml/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java +++ b/fml/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java @@ -580,11 +580,6 @@ public class FMLCommonHandler return sidedDelegate.getClientPlayHandler(); } - public void waitForPlayClient() - { - sidedDelegate.waitForPlayClient(); - } - public void fireNetRegistrationEvent(NetworkManager manager, Set channelSet, String channel, Side side) { sidedDelegate.fireNetRegistrationEvent(bus(), manager, channelSet, channel, side); diff --git a/fml/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java b/fml/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java index ec230f32b..3807b7330 100644 --- a/fml/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java +++ b/fml/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java @@ -54,8 +54,6 @@ public interface IFMLSidedHandler INetHandler getClientPlayHandler(); - void waitForPlayClient(); - void fireNetRegistrationEvent(EventBus bus, NetworkManager manager, Set channelSet, String channel, Side side); boolean shouldAllowPlayerLogins(); diff --git a/fml/src/main/java/cpw/mods/fml/common/Loader.java b/fml/src/main/java/cpw/mods/fml/common/Loader.java index 86c48abb7..62a2e0628 100644 --- a/fml/src/main/java/cpw/mods/fml/common/Loader.java +++ b/fml/src/main/java/cpw/mods/fml/common/Loader.java @@ -105,7 +105,7 @@ import cpw.mods.fml.relauncher.Side; */ public class Loader { - public static final String MC_VERSION = "1.7.10"; + public static final String MC_VERSION = "1.8"; private static final Splitter DEPENDENCYPARTSPLITTER = Splitter.on(":").omitEmptyStrings().trimResults(); private static final Splitter DEPENDENCYSPLITTER = Splitter.on(";").omitEmptyStrings().trimResults(); /** diff --git a/fml/src/main/java/cpw/mods/fml/common/LoaderState.java b/fml/src/main/java/cpw/mods/fml/common/LoaderState.java index 8fc26635a..89d3b0432 100644 --- a/fml/src/main/java/cpw/mods/fml/common/LoaderState.java +++ b/fml/src/main/java/cpw/mods/fml/common/LoaderState.java @@ -49,7 +49,6 @@ public enum LoaderState private Class eventClass; - @SuppressWarnings("unused") private String name; private LoaderState(String name, Class event) diff --git a/fml/src/main/java/cpw/mods/fml/common/MetadataCollection.java b/fml/src/main/java/cpw/mods/fml/common/MetadataCollection.java index 832f2317d..2555f90cc 100644 --- a/fml/src/main/java/cpw/mods/fml/common/MetadataCollection.java +++ b/fml/src/main/java/cpw/mods/fml/common/MetadataCollection.java @@ -34,7 +34,6 @@ import cpw.mods.fml.common.versioning.VersionParser; public class MetadataCollection { - @SuppressWarnings("unused") private String modListVersion; private ModMetadata[] modList; private Map metadatas = Maps.newHashMap(); diff --git a/fml/src/main/java/cpw/mods/fml/common/ModAPIManager.java b/fml/src/main/java/cpw/mods/fml/common/ModAPIManager.java index 8bde83dd0..696b0b4ee 100644 --- a/fml/src/main/java/cpw/mods/fml/common/ModAPIManager.java +++ b/fml/src/main/java/cpw/mods/fml/common/ModAPIManager.java @@ -22,7 +22,6 @@ import cpw.mods.fml.common.versioning.VersionParser; public class ModAPIManager { public static final ModAPIManager INSTANCE = new ModAPIManager(); - @SuppressWarnings("unused") private ModAPITransformer transformer; private ASMDataTable dataTable; private Map apiContainers; diff --git a/fml/src/main/java/cpw/mods/fml/common/discovery/asm/ModAnnotation.java b/fml/src/main/java/cpw/mods/fml/common/discovery/asm/ModAnnotation.java index 9a079f238..33c15c8c5 100644 --- a/fml/src/main/java/cpw/mods/fml/common/discovery/asm/ModAnnotation.java +++ b/fml/src/main/java/cpw/mods/fml/common/discovery/asm/ModAnnotation.java @@ -27,9 +27,7 @@ public class ModAnnotation { public class EnumHolder { - @SuppressWarnings("unused") private String desc; - @SuppressWarnings("unused") private String value; public EnumHolder(String desc, String value) diff --git a/fml/src/main/java/cpw/mods/fml/common/discovery/asm/ModAnnotationVisitor.java b/fml/src/main/java/cpw/mods/fml/common/discovery/asm/ModAnnotationVisitor.java index c7b4a91f8..64d12384d 100644 --- a/fml/src/main/java/cpw/mods/fml/common/discovery/asm/ModAnnotationVisitor.java +++ b/fml/src/main/java/cpw/mods/fml/common/discovery/asm/ModAnnotationVisitor.java @@ -19,7 +19,6 @@ public class ModAnnotationVisitor extends AnnotationVisitor { private ASMModParser discoverer; private boolean array; - @SuppressWarnings("unused") private String name; private boolean isSubAnnotation; diff --git a/fml/src/main/java/cpw/mods/fml/common/eventhandler/EventBus.java b/fml/src/main/java/cpw/mods/fml/common/eventhandler/EventBus.java index 100ce9eff..d4570b0ef 100644 --- a/fml/src/main/java/cpw/mods/fml/common/eventhandler/EventBus.java +++ b/fml/src/main/java/cpw/mods/fml/common/eventhandler/EventBus.java @@ -33,7 +33,6 @@ public class EventBus implements IEventExceptionHandler { ListenerList.resize(busID + 1); exceptionHandler = this; - register(this); } public EventBus(@Nonnull IEventExceptionHandler handler) diff --git a/fml/src/main/java/cpw/mods/fml/common/network/ByteBufUtils.java b/fml/src/main/java/cpw/mods/fml/common/network/ByteBufUtils.java index babc81116..1e2d3124e 100644 --- a/fml/src/main/java/cpw/mods/fml/common/network/ByteBufUtils.java +++ b/fml/src/main/java/cpw/mods/fml/common/network/ByteBufUtils.java @@ -144,14 +144,7 @@ public class ByteBufUtils { public static void writeItemStack(ByteBuf to, ItemStack stack) { PacketBuffer pb = new PacketBuffer(to); - try - { - pb.writeItemStackToBuffer(stack); - } catch (IOException e) - { - // Unpossible? - throw Throwables.propagate(e); - } + pb.writeItemStackToBuffer(stack); } /** @@ -182,14 +175,7 @@ public class ByteBufUtils { public static void writeTag(ByteBuf to, NBTTagCompound tag) { PacketBuffer pb = new PacketBuffer(to); - try - { - pb.writeNBTTagCompoundToBuffer(tag); - } catch (IOException e) - { - // Unpossible? - throw Throwables.propagate(e); - } + pb.writeNBTTagCompoundToBuffer(tag); } /** diff --git a/fml/src/main/java/cpw/mods/fml/common/network/FMLEventChannel.java b/fml/src/main/java/cpw/mods/fml/common/network/FMLEventChannel.java index f98466c64..956045401 100644 --- a/fml/src/main/java/cpw/mods/fml/common/network/FMLEventChannel.java +++ b/fml/src/main/java/cpw/mods/fml/common/network/FMLEventChannel.java @@ -42,7 +42,7 @@ public class FMLEventChannel { if (msg.handler() instanceof NetHandlerPlayServer) { NetHandlerPlayServer server = (NetHandlerPlayServer) msg.handler(); - event = new FMLNetworkEvent.ServerCustomPacketEvent(server.func_147362_b(), msg); + event = new FMLNetworkEvent.ServerCustomPacketEvent(server.getNetworkManager(), msg); } return event; } @@ -61,7 +61,7 @@ public class FMLEventChannel { else if (msg.handler() instanceof NetHandlerPlayServer) { NetHandlerPlayServer server = (NetHandlerPlayServer) msg.handler(); - event = new FMLNetworkEvent.ServerCustomPacketEvent(server.func_147362_b(), msg); + event = new FMLNetworkEvent.ServerCustomPacketEvent(server.getNetworkManager(), msg); } return event; } diff --git a/fml/src/main/java/cpw/mods/fml/common/network/FMLIndexedMessageToMessageCodec.java b/fml/src/main/java/cpw/mods/fml/common/network/FMLIndexedMessageToMessageCodec.java index 1ab74f935..1ce75f727 100644 --- a/fml/src/main/java/cpw/mods/fml/common/network/FMLIndexedMessageToMessageCodec.java +++ b/fml/src/main/java/cpw/mods/fml/common/network/FMLIndexedMessageToMessageCodec.java @@ -8,9 +8,14 @@ import io.netty.channel.ChannelHandler.Sharable; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToMessageCodec; import io.netty.util.AttributeKey; + import java.lang.ref.WeakReference; import java.util.List; + +import net.minecraft.network.PacketBuffer; + import org.apache.logging.log4j.Level; + import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.network.internal.FMLProxyPacket; @@ -43,13 +48,13 @@ public abstract class FMLIndexedMessageToMessageCodec extends MessageToMessag @Override protected final void encode(ChannelHandlerContext ctx, A msg, List out) throws Exception { - ByteBuf buffer = Unpooled.buffer(); + PacketBuffer buffer = new PacketBuffer(Unpooled.buffer()); @SuppressWarnings("unchecked") // Stupid unnecessary cast I can't seem to kill Class clazz = (Class) msg.getClass(); byte discriminator = types.get(clazz); buffer.writeByte(discriminator); encodeInto(ctx, msg, buffer); - FMLProxyPacket proxy = new FMLProxyPacket(buffer.copy(), ctx.channel().attr(NetworkRegistry.FML_CHANNEL).get()); + FMLProxyPacket proxy = new FMLProxyPacket(buffer/*.copy()*/, ctx.channel().attr(NetworkRegistry.FML_CHANNEL).get()); WeakReference ref = ctx.attr(INBOUNDPACKETTRACKER).get().get(); FMLProxyPacket old = ref == null ? null : ref.get(); if (old != null) diff --git a/fml/src/main/java/cpw/mods/fml/common/network/FMLNetworkEvent.java b/fml/src/main/java/cpw/mods/fml/common/network/FMLNetworkEvent.java index 3e467c513..4e3c78156 100644 --- a/fml/src/main/java/cpw/mods/fml/common/network/FMLNetworkEvent.java +++ b/fml/src/main/java/cpw/mods/fml/common/network/FMLNetworkEvent.java @@ -13,7 +13,6 @@ import cpw.mods.fml.relauncher.Side; public class FMLNetworkEvent extends Event { public final T handler; public final NetworkManager manager; - @SuppressWarnings("unused") private final Class type; FMLNetworkEvent(T thing, Class type, NetworkManager manager) diff --git a/fml/src/main/java/cpw/mods/fml/common/network/handshake/FMLHandshakeMessage.java b/fml/src/main/java/cpw/mods/fml/common/network/handshake/FMLHandshakeMessage.java index d11933c44..efd83c18c 100644 --- a/fml/src/main/java/cpw/mods/fml/common/network/handshake/FMLHandshakeMessage.java +++ b/fml/src/main/java/cpw/mods/fml/common/network/handshake/FMLHandshakeMessage.java @@ -9,6 +9,8 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import net.minecraft.network.PacketBuffer; + import com.google.common.base.Charsets; import com.google.common.base.Joiner; import com.google.common.collect.Iterables; @@ -25,7 +27,7 @@ public abstract class FMLHandshakeMessage { public static FMLProxyPacket makeCustomChannelRegistration(Set channels) { String salutation = Joiner.on('\0').join(Iterables.concat(Arrays.asList("FML|HS","FML"),channels)); - FMLProxyPacket proxy = new FMLProxyPacket(Unpooled.wrappedBuffer(salutation.getBytes(Charsets.UTF_8)), "REGISTER"); + FMLProxyPacket proxy = new FMLProxyPacket(new PacketBuffer(Unpooled.wrappedBuffer(salutation.getBytes(Charsets.UTF_8))), "REGISTER"); return proxy; } public static class ServerHello extends FMLHandshakeMessage { diff --git a/fml/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java b/fml/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java index 26ff077d1..f3f92a0e6 100644 --- a/fml/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java +++ b/fml/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java @@ -151,7 +151,7 @@ public class NetworkDispatcher extends SimpleChannelInboundHandler imple void clientListenForServerHandshake() { manager.setConnectionState(EnumConnectionState.PLAY); - FMLCommonHandler.instance().waitForPlayClient(); + //FMLCommonHandler.instance().waitForPlayClient(); this.netHandler = FMLCommonHandler.instance().getClientPlayHandler(); this.state = ConnectionState.AWAITING_HANDSHAKE; } @@ -235,7 +235,7 @@ public class NetworkDispatcher extends SimpleChannelInboundHandler imple } else { - manager.scheduleOutboundPacket(new S40PacketDisconnect(chatcomponenttext), new GenericFutureListener>() + manager.func_179288_a(new S40PacketDisconnect(chatcomponenttext), new GenericFutureListener>() { @Override public void operationComplete(Future result) @@ -345,7 +345,7 @@ public class NetworkDispatcher extends SimpleChannelInboundHandler imple public void sendProxy(FMLProxyPacket msg) { - manager.scheduleOutboundPacket(msg); + manager.func_179290_a(msg); } public void rejectHandshake(String result) @@ -455,7 +455,7 @@ public class NetworkDispatcher extends SimpleChannelInboundHandler imple public void abortClientHandshake(String type) { FMLLog.log(Level.INFO, "Aborting client handshake \"%s\"", type); - FMLCommonHandler.instance().waitForPlayClient(); + //FMLCommonHandler.instance().waitForPlayClient(); completeClientSideConnection(ConnectionType.valueOf(type)); } diff --git a/fml/src/main/java/cpw/mods/fml/common/network/internal/EntitySpawnHandler.java b/fml/src/main/java/cpw/mods/fml/common/network/internal/EntitySpawnHandler.java index 450d1cf2a..fa58405c8 100644 --- a/fml/src/main/java/cpw/mods/fml/common/network/internal/EntitySpawnHandler.java +++ b/fml/src/main/java/cpw/mods/fml/common/network/internal/EntitySpawnHandler.java @@ -4,9 +4,10 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; import java.util.List; + import org.apache.logging.log4j.Level; -import net.minecraft.client.entity.EntityClientPlayerMP; +import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -93,7 +94,7 @@ public class EntitySpawnHandler extends SimpleChannelInboundHandler badPackets = ConcurrentHashMultiset.create(); private static int packetCountWarning = Integers.parseInt(System.getProperty("fml.badPacketCounter", "100"), 100); - private FMLProxyPacket(byte[] payload, String channel) - { - this(Unpooled.wrappedBuffer(payload), channel); - } public FMLProxyPacket(S3FPacketCustomPayload original) { - this(original.func_149168_d(), original.func_149169_c()); + this(original.func_180735_b(), original.func_149169_c()); this.target = Side.CLIENT; } public FMLProxyPacket(C17PacketCustomPayload original) { - this(original.func_149558_e(), original.func_149559_c()); + this(original.func_180760_b(), original.func_149559_c()); this.target = Side.SERVER; } - public FMLProxyPacket(ByteBuf payload, String channel) + public FMLProxyPacket(PacketBuffer payload, String channel) { this.channel = channel; this.payload = payload; @@ -117,12 +113,12 @@ public class FMLProxyPacket extends Packet { } public Packet toC17Packet() { - return new C17PacketCustomPayload(channel, payload.array()); + return new C17PacketCustomPayload(channel, payload); } public Packet toS3FPacket() { - return new S3FPacketCustomPayload(channel, payload.array()); + return new S3FPacketCustomPayload(channel, payload); } public void setTarget(Side target) diff --git a/fml/src/main/java/cpw/mods/fml/common/registry/FMLControlledNamespacedRegistry.java b/fml/src/main/java/cpw/mods/fml/common/registry/FMLControlledNamespacedRegistry.java index 49c5911dd..62fc9c57e 100644 --- a/fml/src/main/java/cpw/mods/fml/common/registry/FMLControlledNamespacedRegistry.java +++ b/fml/src/main/java/cpw/mods/fml/common/registry/FMLControlledNamespacedRegistry.java @@ -8,10 +8,14 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.commons.lang3.Validate; + import net.minecraft.block.Block; import net.minecraft.item.ItemBlock; import net.minecraft.util.ObjectIntIdentityMap; import net.minecraft.util.RegistryNamespaced; +import net.minecraft.util.RegistryNamespacedDefaultedByKey; +import net.minecraft.util.ResourceLocation; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; @@ -20,9 +24,9 @@ import com.google.common.collect.ImmutableMap; import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.functions.GenericIterableFactory; -public class FMLControlledNamespacedRegistry extends RegistryNamespaced { +public class FMLControlledNamespacedRegistry extends RegistryNamespacedDefaultedByKey { private final Class superType; - private String optionalDefaultName; + private Object optionalDefaultKey; private I optionalDefaultObject; private int maxId; private int minId; @@ -33,11 +37,12 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { private BiMap persistentSubstitutions; private BiMap activeSubstitutions = HashBiMap.create(); - FMLControlledNamespacedRegistry(String optionalDefault, int maxIdValue, int minIdValue, Class type, char discriminator) + FMLControlledNamespacedRegistry(Object defaultKey, int maxIdValue, int minIdValue, Class type, char discriminator) { + super(defaultKey); this.superType = type; this.discriminator = discriminator; - this.optionalDefaultName = optionalDefault; + this.optionalDefaultKey = defaultKey; this.maxId = maxIdValue; this.minId = minIdValue; } @@ -47,24 +52,29 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { for (I obj : typeSafeIterable()) { int id = getId(obj); - String name = getNameForObject(obj); + Object name = func_177774_c(obj); + + // name lookup failed -> obj is not in the obj<->name map + if (name == null) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, doesn't yield a name.", type, obj, id)); + + ResourceLocation loc = (name instanceof ResourceLocation) ? (ResourceLocation)name : null; + String nameS = (name instanceof String) ? (String)name : (loc != null ? name.toString() : null); + if (loc == null && nameS == null) throw new IllegalStateException(String.format("Registry entry for %s %s name is invalid, must be a String or ResourceLocation %s", type, obj, name)); // id lookup failed -> obj is not in the obj<->id map if (id < 0) throw new IllegalStateException(String.format("Registry entry for %s %s, name %s, doesn't yield an id.", type, obj, name)); // id is too high if (id > maxId) throw new IllegalStateException(String.format("Registry entry for %s %s, name %s uses the too large id %d.", type, obj, name)); - // name lookup failed -> obj is not in the obj<->name map - if (name == null) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, doesn't yield a name.", type, obj, id)); // empty name - if (name.isEmpty()) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, yields an empty name.", type, obj, id)); + if (name.toString().isEmpty()) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, yields an empty name.", type, obj, id)); // non-prefixed name - if (name.indexOf(':') == -1) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, has the non-prefixed name %s.", type, obj, id, name)); + if (name.toString().indexOf(':') == -1) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, has the non-prefixed name %s.", type, obj, id, name)); // id -> obj lookup is inconsistent if (getRaw(id) != obj) throw new IllegalStateException(String.format("Registry entry for id %d, name %s, doesn't yield the expected %s %s.", id, name, type, obj)); // name -> obj lookup is inconsistent - if (!(activeSubstitutions.containsKey(name) || activeSubstitutions.containsValue(name)) && getRaw(name) != obj ) throw new IllegalStateException(String.format("Registry entry for name %s, id %d, doesn't yield the expected %s %s.", name, id, type, obj)); + if (!(activeSubstitutions.containsKey(name) || activeSubstitutions.containsValue(name)) && getRaw(nameS) != obj ) throw new IllegalStateException(String.format("Registry entry for name %s, id %d, doesn't yield the expected %s %s.", name, id, type, obj)); // name -> id lookup is inconsistent - if (!(activeSubstitutions.containsKey(name) || activeSubstitutions.containsValue(name)) && getId(name) != id) throw new IllegalStateException(String.format("Registry entry for name %s doesn't yield the expected id %d.", name, id)); + if (!(activeSubstitutions.containsKey(name) || activeSubstitutions.containsValue(name)) && getId(nameS) != id) throw new IllegalStateException(String.format("Registry entry for name %s doesn't yield the expected id %d.", name, id)); // id isn't marked as unavailable if (!availabilityMap.get(id)) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, name %s, marked as empty.", type, obj, id, name)); // entry is blocked, thus should be empty @@ -72,7 +82,7 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { if (obj instanceof ItemBlock) { - Block block = ((ItemBlock) obj).field_150939_a; + Block block = ((ItemBlock) obj).blockInstance; // verify matching block entry if (iBlockRegistry.getId(block) != id) @@ -90,7 +100,7 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { if (this.superType != registry.superType) throw new IllegalArgumentException("incompatible registry"); this.discriminator = registry.discriminator; - this.optionalDefaultName = registry.optionalDefaultName; + this.optionalDefaultKey = registry.optionalDefaultKey; this.maxId = registry.maxId; this.minId = registry.minId; this.aliases.clear(); @@ -100,7 +110,7 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { for (I thing : registry.typeSafeIterable()) { - addObjectRaw(registry.getId(thing), registry.getNameForObject(thing), thing); + addObjectRaw(registry.getId(thing), registry.func_177774_c(thing), thing); } } @@ -113,9 +123,10 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { */ @Override @Deprecated - public void addObject(int id, String name, Object thing) + public void func_177775_a(int id, Object name, Object thing) { - GameData.getMain().register(thing, name, id); + Validate.isInstanceOf(ResourceLocation.class, name); + GameData.getMain().register(thing, name.toString(), id); } /** @@ -127,15 +138,15 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { @Deprecated public void putObject(Object objName, Object obj) { - String name = (String) objName; + String name = objName.toString(); I thing = superType.cast(obj); if (name == null) throw new NullPointerException("Can't use a null-name for the registry."); if (name.isEmpty()) throw new IllegalArgumentException("Can't use an empty name for the registry."); if (thing == null) throw new NullPointerException("Can't add null-object to the registry."); - name = ensureNamespaced(name); - String existingName = getNameForObject(thing); + name = new ResourceLocation(name).toString(); + Object existingName = func_177774_c(thing); if (existingName == null) { @@ -148,7 +159,7 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { else { FMLLog.bigWarning("Ignoring putObject(%s, %s), adding alias to %s instead", name, thing, existingName); - addAlias(name, existingName); + addAlias(name, existingName.toString()); } } @@ -161,9 +172,11 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { * @return Registered object of the default object if it wasn't found- */ @Override - public I getObject(String name) + public I getObject(Object name) { - I object = getRaw(name); + I object = null; + if (name instanceof ResourceLocation) object = getRaw((ResourceLocation)name); + if (name instanceof String) object = getRaw((String)name); return object == null ? this.optionalDefaultObject : object; } @@ -235,11 +248,22 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { */ public I getRaw(String name) { - I ret = superType.cast(super.getObject(name)); + return getRaw(new ResourceLocation(name)); + } + + /** + * Get the object identified by the specified name. + * + * @param name Block/Item name. + * @return Block/Item object or null if it wasn't found. + */ + private I getRaw(ResourceLocation loc) + { + I ret = superType.cast(super.getObject(loc)); if (ret == null) // no match, try aliases recursively { - name = aliases.get(name); + String name = aliases.get(loc.toString()); if (name != null) return getRaw(name); } @@ -256,7 +280,7 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { * @return true if a matching entry was found. */ @Override - public boolean containsKey(String name) + public boolean containsKey(Object name) { boolean ret = super.containsKey(name); @@ -310,7 +334,7 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { { for (I thing : this.typeSafeIterable()) { - idMapping.put(discriminator+getNameForObject(thing), getId(thing)); + idMapping.put(discriminator+func_177774_c(thing).toString(), getId(thing)); } } @@ -334,7 +358,7 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { if (name.isEmpty()) throw new IllegalArgumentException(String.format("Can't use an empty name for the registry, object %s.", thing)); if (name.indexOf(':') == -1) throw new IllegalArgumentException(String.format("Can't add the name (%s) without a prefix, object %s", name, thing)); if (thing == null) throw new NullPointerException(String.format("Can't add null-object to the registry, name %s.", name)); - if (name.equals(optionalDefaultName) && this.optionalDefaultObject == null) + if (optionalDefaultKey != null && optionalDefaultKey.toString().equals(name) && this.optionalDefaultObject == null) { this.optionalDefaultObject = thing; } @@ -365,7 +389,7 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { { int foundId = getId(thing); Object otherThing = getRaw(foundId); - throw new IllegalArgumentException(String.format("The object %s{%x} has been registered twice, using the names %s and %s. (Other object at this id is %s{%x})", thing, System.identityHashCode(thing), getNameForObject(thing), name, otherThing, System.identityHashCode(otherThing))); + throw new IllegalArgumentException(String.format("The object %s{%x} has been registered twice, using the names %s and %s. (Other object at this id is %s{%x})", thing, System.identityHashCode(thing), func_177774_c(thing), name, otherThing, System.identityHashCode(otherThing))); } if (GameData.isFrozen(this)) { @@ -376,7 +400,7 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { { thing = activeSubstitutions.get(name); } - addObjectRaw(idToUse, name, thing); + addObjectRaw(idToUse, new ResourceLocation(name), thing); FMLLog.finer("Registry add: %s %d %s (req. id %d)", name, idToUse, thing, id); return idToUse; @@ -396,9 +420,9 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { { if (!registry.field_148758_b.containsKey(thing)) { - if (!registry.activeSubstitutions.containsKey(getNameForObject(thing))) + if (!registry.activeSubstitutions.containsKey(func_177774_c(thing).toString())) { - ret.put(getNameForObject(thing), getId(thing)); + ret.put(func_177774_c(thing).toString(), getId(thing)); } } } @@ -421,14 +445,14 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { for (int id : ids) { I thing = getRaw(id); - FMLLog.finer("Registry: %s %d %s", getNameForObject(thing), id, thing); + FMLLog.finer("Registry: %s %d %s", func_177774_c(thing), id, thing); } } /** * Version of addObject not using the API restricting overrides. */ - private void addObjectRaw(int id, String name, I thing) + private void addObjectRaw(int id, Object name, I thing) { if (name == null) throw new NullPointerException("The name to be added to the registry is null. This can only happen with a corrupted registry state. Reflection/ASM hackery? Registry bug?"); if (thing == null) throw new NullPointerException("The object to be added to the registry is null. This can only happen with a corrupted registry state. Reflection/ASM hackery? Registry bug?"); @@ -494,4 +518,11 @@ public class FMLControlledNamespacedRegistry extends RegistryNamespaced { } return persistentSubstitutions; } + + @Override + public void func_177776_a() + { + if (this.optionalDefaultKey != null) + Validate.notNull(this.optionalDefaultObject); + } } diff --git a/fml/src/main/java/cpw/mods/fml/common/registry/GameData.java b/fml/src/main/java/cpw/mods/fml/common/registry/GameData.java index 816ab0e49..0871c2834 100644 --- a/fml/src/main/java/cpw/mods/fml/common/registry/GameData.java +++ b/fml/src/main/java/cpw/mods/fml/common/registry/GameData.java @@ -28,6 +28,7 @@ import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; import org.apache.logging.log4j.Level; @@ -221,7 +222,7 @@ public class GameData { static UniqueIdentifier getUniqueName(Block block) { if (block == null) return null; - String name = getMain().iBlockRegistry.getNameForObject(block); + Object name = getMain().iBlockRegistry.func_177774_c(block); UniqueIdentifier ui = new UniqueIdentifier(name); if (customItemStacks.contains(ui.modId, ui.name)) { @@ -234,7 +235,7 @@ public class GameData { static UniqueIdentifier getUniqueName(Item item) { if (item == null) return null; - String name = getMain().iItemRegistry.getNameForObject(item); + Object name = getMain().iItemRegistry.func_177774_c(item); UniqueIdentifier ui = new UniqueIdentifier(name); if (customItemStacks.contains(ui.modId, ui.name)) { @@ -260,7 +261,6 @@ public class GameData { for (Entry entry : dataList.entrySet()) { String itemName = entry.getKey(); - @SuppressWarnings("unused") String realName = itemName.substring(1); if (itemName.charAt(0) == '\u0001') // is a block @@ -608,7 +608,7 @@ public class GameData { if (remap.type == Type.BLOCK) { currId = getMain().iBlockRegistry.getId((Block) remap.getTarget()); - newName = getMain().iBlockRegistry.getNameForObject(remap.getTarget()); + newName = getMain().iBlockRegistry.func_177774_c(remap.getTarget()).toString(); FMLLog.fine("The Block %s is being remapped to %s.", remap.name, newName); newId = gameData.registerBlock((Block) remap.getTarget(), newName, remap.id); @@ -617,7 +617,7 @@ public class GameData { else { currId = getMain().iItemRegistry.getId((Item) remap.getTarget()); - newName = getMain().iItemRegistry.getNameForObject(remap.getTarget()); + newName = getMain().iItemRegistry.func_177774_c(remap.getTarget()).toString(); FMLLog.fine("The Item %s is being remapped to %s.", remap.name, newName); newId = gameData.registerItem((Item) remap.getTarget(), newName, remap.id); @@ -752,7 +752,7 @@ public class GameData { private GameData() { - iBlockRegistry = new FMLControlledNamespacedRegistry("minecraft:air", MAX_BLOCK_ID, MIN_BLOCK_ID, Block.class,'\u0001'); + iBlockRegistry = new FMLControlledNamespacedRegistry(new ResourceLocation("minecraft:air"), MAX_BLOCK_ID, MIN_BLOCK_ID, Block.class,'\u0001'); iItemRegistry = new FMLControlledNamespacedRegistry(null, MAX_ITEM_ID, MIN_ITEM_ID, Item.class,'\u0002'); availabilityMap = new BitSet(MAX_ITEM_ID + 1); blockedIds = new HashSet(); @@ -806,7 +806,7 @@ public class GameData { { if (item instanceof ItemBlock) // ItemBlock, adjust id and clear the slot already occupied by the corresponding block { - Block block = ((ItemBlock) item).field_150939_a; + Block block = ((ItemBlock) item).blockInstance; if (idHint != -1 && getMain().blockSubstitutions.containsKey(name)) { block = getMain().blockSubstitutions.get(name); @@ -865,7 +865,7 @@ public class GameData { for (Item item : iItemRegistry.typeSafeIterable()) // find matching ItemBlock { - if (item instanceof ItemBlock && ((ItemBlock) item).field_150939_a == block) + if (item instanceof ItemBlock && ((ItemBlock) item).blockInstance == block) { itemBlock = (ItemBlock) item; break; @@ -967,8 +967,8 @@ public class GameData { private void verifyItemBlockName(ItemBlock item) { - String blockName = iBlockRegistry.getNameForObject(item.field_150939_a); - String itemName = iItemRegistry.getNameForObject(item); + Object blockName = iBlockRegistry.func_177774_c(item.blockInstance); + Object itemName = iItemRegistry.func_177774_c(item); if (blockName != null && !blockName.equals(itemName)) { diff --git a/fml/src/main/java/cpw/mods/fml/common/registry/GameRegistry.java b/fml/src/main/java/cpw/mods/fml/common/registry/GameRegistry.java index 093ef06f6..6a0c2b29e 100644 --- a/fml/src/main/java/cpw/mods/fml/common/registry/GameRegistry.java +++ b/fml/src/main/java/cpw/mods/fml/common/registry/GameRegistry.java @@ -33,6 +33,7 @@ import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.item.crafting.IRecipe; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; @@ -257,17 +258,17 @@ public class GameRegistry public static void addSmelting(Block input, ItemStack output, float xp) { - FurnaceRecipes.smelting().func_151393_a(input, output, xp); + FurnaceRecipes.instance().addSmeltingRecipeForBlock(input, output, xp); } public static void addSmelting(Item input, ItemStack output, float xp) { - FurnaceRecipes.smelting().func_151396_a(input, output, xp); + FurnaceRecipes.instance().addSmelting(input, output, xp); } public static void addSmelting(ItemStack input, ItemStack output, float xp) { - FurnaceRecipes.smelting().func_151394_a(input, output, xp); + FurnaceRecipes.instance().addSmeltingRecipe(input, output, xp); } public static void registerTileEntity(Class tileEntityClass, String id) @@ -385,6 +386,25 @@ public class GameRegistry this.name = parts[1]; } + public UniqueIdentifier(Object obj) + { + if (obj instanceof String) + { + String[] parts = ((String)obj).split(":"); + this.modId = parts[0]; + this.name = parts[1]; + } + else if (obj instanceof ResourceLocation) + { + this.modId = ((ResourceLocation)obj).getResourceDomain(); + this.name = ((ResourceLocation)obj).getResourcePath(); + } + else + { + throw new IllegalArgumentException("UniqueIdentifier must be a String or ResourceLocation, was " + obj.getClass()); + } + } + @Override public boolean equals(Object obj) { diff --git a/fml/src/main/java/cpw/mods/fml/common/registry/ObjectHolderRef.java b/fml/src/main/java/cpw/mods/fml/common/registry/ObjectHolderRef.java index c072d3a52..f94b16a27 100644 --- a/fml/src/main/java/cpw/mods/fml/common/registry/ObjectHolderRef.java +++ b/fml/src/main/java/cpw/mods/fml/common/registry/ObjectHolderRef.java @@ -46,8 +46,9 @@ class ObjectHolderRef { } else { - this.injectedObject = isBlock ? GameData.getBlockRegistry().getNameForObject(existing) : - isItem ? GameData.getItemRegistry().getNameForObject(existing) : null; + Object tmp = isBlock ? GameData.getBlockRegistry().func_177774_c(existing) : + isItem ? GameData.getItemRegistry().func_177774_c(existing) : null; + this.injectedObject = tmp != null ? tmp.toString() : null; } } catch (Exception e) { diff --git a/fml/src/main/java/cpw/mods/fml/common/registry/VillagerRegistry.java b/fml/src/main/java/cpw/mods/fml/common/registry/VillagerRegistry.java index 0f509895c..96f2c84e1 100644 --- a/fml/src/main/java/cpw/mods/fml/common/registry/VillagerRegistry.java +++ b/fml/src/main/java/cpw/mods/fml/common/registry/VillagerRegistry.java @@ -12,6 +12,8 @@ package cpw.mods.fml.common.registry; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -19,8 +21,16 @@ import java.util.List; import java.util.Map; import java.util.Random; +import org.apache.commons.lang3.Validate; + import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.entity.passive.EntityVillager.*; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.EnumDyeColor; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Tuple; import net.minecraft.village.MerchantRecipeList; @@ -45,12 +55,16 @@ public class VillagerRegistry { private static final VillagerRegistry INSTANCE = new VillagerRegistry(); - private Multimap tradeHandlers = ArrayListMultimap.create(); private Map, IVillageCreationHandler> villageCreationHandlers = Maps.newHashMap(); private List newVillagerIds = Lists.newArrayList(); @SideOnly(Side.CLIENT) private Map newVillagers; + private VillagerRegistry() + { + init(); + } + /** * Allow access to the {@link net.minecraft.world.gen.structure.StructureVillagePieces} array controlling new village * creation so you can insert your own new village pieces @@ -83,29 +97,11 @@ public class VillagerRegistry * @param p1 * @param p2 * @param p3 - * @param p4 + * @param facing * @param p5 */ Object buildComponent(StructureVillagePieces.PieceWeight villagePiece, StructureVillagePieces.Start startPiece, @SuppressWarnings("rawtypes") List pieces, Random random, int p1, - int p2, int p3, int p4, int p5); - } - - /** - * Allow access to the {@link MerchantRecipeList} for a villager type for manipulation - * - * @author cpw - * - */ - public interface IVillageTradeHandler - { - /** - * Called to allow changing the content of the {@link MerchantRecipeList} for the villager - * supplied during creation - * - * @param villager - * @param recipeList - */ - void manipulateTradesForVillager(EntityVillager villager, MerchantRecipeList recipeList, Random random); + int p2, int p3, EnumFacing facing, int p5); } public static VillagerRegistry instance() @@ -152,17 +148,6 @@ public class VillagerRegistry villageCreationHandlers.put(handler.getComponentClass(), handler); } - /** - * Register a new villager trading handler for the specified villager type - * - * @param villagerId - * @param handler - */ - public void registerVillageTradeHandler(int villagerId, IVillageTradeHandler handler) - { - tradeHandlers.put(villagerId, handler); - } - /** * Callback to setup new villager types * @@ -188,21 +173,6 @@ public class VillagerRegistry { return Collections.unmodifiableCollection(instance().newVillagerIds); } - /** - * Callback to handle trade setup for villagers - * - * @param recipeList - * @param villager - * @param villagerType - * @param random - */ - public static void manageVillagerTrades(MerchantRecipeList recipeList, EntityVillager villager, int villagerType, Random random) - { - for (IVillageTradeHandler handler : instance().tradeHandlers.get(villagerType)) - { - handler.manipulateTradesForVillager(villager, recipeList, random); - } - } public static void addExtraVillageComponents(@SuppressWarnings("rawtypes") ArrayList components, Random random, int i) { @@ -215,36 +185,311 @@ public class VillagerRegistry } public static Object getVillageComponent(StructureVillagePieces.PieceWeight villagePiece, StructureVillagePieces.Start startPiece, @SuppressWarnings("rawtypes") List pieces, Random random, - int p1, int p2, int p3, int p4, int p5) + int p1, int p2, int p3, EnumFacing facing, int p5) { - return instance().villageCreationHandlers.get(villagePiece.villagePieceClass).buildComponent(villagePiece, startPiece, pieces, random, p1, p2, p3, p4, p5); + return instance().villageCreationHandlers.get(villagePiece.villagePieceClass).buildComponent(villagePiece, startPiece, pieces, random, p1, p2, p3, facing, p5); } - - @SuppressWarnings("unchecked") - public static void addEmeraldBuyRecipe(EntityVillager villager, MerchantRecipeList list, Random random, Item item, float chance, int min, int max) + public void register(VillagerProfession prof) + { + //blah + } + + private boolean hasInit = false; + private List professions = Lists.newArrayList(); + + //This field is moved from EntityVillager over to here. + //It is nasty I know but it's vanilla. + private static final ITradeList[][][][] vanillaTrades = { - if (min > 0 && max > 0) { - EntityVillager.villagersSellingList.put(item, new Tuple(min, max)); - } - EntityVillager.func_146091_a(list, item, random, chance); - } - - @SuppressWarnings("unchecked") - public static void addEmeraldSellRecipe(EntityVillager villager, MerchantRecipeList list, Random random, Item item, float chance, int min, int max) - { - if (min > 0 && max > 0) + { + { + new EmeraldForItems(Items.wheat, new PriceInfo(18, 22)), + new EmeraldForItems(Items.potato, new PriceInfo(15, 19)), + new EmeraldForItems(Items.carrot, new PriceInfo(15, 19)), + new ListItemForEmeralds(Items.bread, new PriceInfo(-4, -2)) + }, + { + new EmeraldForItems(Item.getItemFromBlock(Blocks.pumpkin), new PriceInfo(8, 13)), + new ListItemForEmeralds(Items.pumpkin_pie, new PriceInfo(-3, -2)) + }, + { + new EmeraldForItems(Item.getItemFromBlock(Blocks.melon_block), new PriceInfo(7, 12)), + new ListItemForEmeralds(Items.apple, new PriceInfo(-5, -7)) + }, + { + new ListItemForEmeralds(Items.cookie, new PriceInfo(-6, -10)), + new ListItemForEmeralds(Items.cake, new PriceInfo(1, 1)) + } + }, + { + { + new EmeraldForItems(Items.string, new PriceInfo(15, 20)), + new EmeraldForItems(Items.coal, new PriceInfo(16, 24)), + new ItemAndEmeraldToItem(Items.fish, new PriceInfo(6, 6), Items.field_179566_aV, new PriceInfo(6, 6)) + }, + { + new ListEnchantedItemForEmeralds(Items.fishing_rod, new PriceInfo(7, 8)) + } + }, + { + { + new EmeraldForItems(Item.getItemFromBlock(Blocks.wool), new PriceInfo(16, 22)), + new ListItemForEmeralds(Items.shears, new PriceInfo(3, 4)) + }, + { + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 0), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 1), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 2), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 3), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 4), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 5), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 6), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 7), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 8), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 9), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 10), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 11), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 12), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 13), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 14), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 15), new PriceInfo(1, 2)) + } + }, + { + { + new EmeraldForItems(Items.string, new PriceInfo(15, 20)), + new ListItemForEmeralds(Items.arrow, new PriceInfo(-12, -8)) + }, + { + new ListItemForEmeralds(Items.bow, new PriceInfo(2, 3)), + new ItemAndEmeraldToItem(Item.getItemFromBlock(Blocks.gravel), new PriceInfo(10, 10), Items.flint, new PriceInfo(6, 10)) + } + } + }, { - EntityVillager.blacksmithSellingList.put(item, new Tuple(min, max)); + { + { + new EmeraldForItems(Items.paper, new PriceInfo(24, 36)), + new ListEnchantedBookForEmeralds() + }, + { + new EmeraldForItems(Items.book, new PriceInfo(8, 10)), + new ListItemForEmeralds(Items.compass, new PriceInfo(10, 12)), + new ListItemForEmeralds(Item.getItemFromBlock(Blocks.bookshelf), new PriceInfo(3, 4)) + }, + { + new EmeraldForItems(Items.written_book, new PriceInfo(2, 2)), + new ListItemForEmeralds(Items.clock, new PriceInfo(10, 12)), + new ListItemForEmeralds(Item.getItemFromBlock(Blocks.glass), new PriceInfo(-5, -3)) + }, + { + new ListEnchantedBookForEmeralds() + }, + { + new ListEnchantedBookForEmeralds() + }, + { + new ListItemForEmeralds(Items.name_tag, new PriceInfo(20, 22)) + } + } + }, + { + { + { + new EmeraldForItems(Items.rotten_flesh, new PriceInfo(36, 40)), + new EmeraldForItems(Items.gold_ingot, new PriceInfo(8, 10)) + }, + { + new ListItemForEmeralds(Items.redstone, new PriceInfo(-4, -1)), + new ListItemForEmeralds(new ItemStack(Items.dye, 1, EnumDyeColor.BLUE.func_176767_b()), + new PriceInfo(-2, -1)) + }, + { + new ListItemForEmeralds(Items.ender_eye, new PriceInfo(7, 11)), + new ListItemForEmeralds(Item.getItemFromBlock(Blocks.glowstone), new PriceInfo(-3, -1)) + }, + { + new ListItemForEmeralds(Items.experience_bottle, new PriceInfo(3, 11)) + } + } + }, + { + { + { + new EmeraldForItems(Items.coal, new PriceInfo(16, 24)), + new ListItemForEmeralds(Items.iron_helmet, new PriceInfo(4, 6)) + }, + { + new EmeraldForItems(Items.iron_ingot, new PriceInfo(7, 9)), + new ListItemForEmeralds(Items.iron_chestplate, new PriceInfo(10, 14)) + }, + { + new EmeraldForItems(Items.diamond, new PriceInfo(3, 4)), + new ListEnchantedItemForEmeralds(Items.diamond_chestplate, new PriceInfo(16, 19)) + }, + { + new ListItemForEmeralds(Items.chainmail_boots, new PriceInfo(5, 7)), + new ListItemForEmeralds(Items.chainmail_leggings, new PriceInfo(9, 11)), + new ListItemForEmeralds(Items.chainmail_helmet, new PriceInfo(5, 7)), + new ListItemForEmeralds(Items.chainmail_chestplate, new PriceInfo(11, 15)) + } + }, + { + { + new EmeraldForItems(Items.coal, new PriceInfo(16, 24)), + new ListItemForEmeralds(Items.iron_axe, new PriceInfo(6, 8)) + }, + { + new EmeraldForItems(Items.iron_ingot, new PriceInfo(7, 9)), + new ListEnchantedItemForEmeralds(Items.iron_sword, new PriceInfo(9, 10)) + }, + { + new EmeraldForItems(Items.diamond, new PriceInfo(3, 4)), + new ListEnchantedItemForEmeralds(Items.diamond_sword, new PriceInfo(12, 15)), + new ListEnchantedItemForEmeralds(Items.diamond_axe, new PriceInfo(9, 12)) + } + }, + { + { + new EmeraldForItems(Items.coal, new PriceInfo(16, 24)), + new ListEnchantedItemForEmeralds(Items.iron_shovel, new PriceInfo(5, 7)) + }, + { + new EmeraldForItems(Items.iron_ingot, new PriceInfo(7, 9)), + new ListEnchantedItemForEmeralds(Items.iron_pickaxe, new PriceInfo(9, 11)) + }, + { + new EmeraldForItems(Items.diamond, new PriceInfo(3, 4)), + new ListEnchantedItemForEmeralds(Items.diamond_pickaxe, new PriceInfo(12, 15)) + } + } + }, + { + { + { + new EmeraldForItems(Items.porkchop, new PriceInfo(14, 18)), + new EmeraldForItems(Items.chicken, new PriceInfo(14, 18)) + }, + { + new EmeraldForItems(Items.coal, new PriceInfo(16, 24)), + new ListItemForEmeralds(Items.cooked_porkchop, new PriceInfo(-7, -5)), + new ListItemForEmeralds(Items.cooked_chicken, new PriceInfo(-8, -6)) + } + }, + { + { + new EmeraldForItems(Items.leather, new PriceInfo(9, 12)), + new ListItemForEmeralds(Items.leather_leggings, new PriceInfo(2, 4)) + }, + { + new ListEnchantedItemForEmeralds(Items.leather_chestplate, new PriceInfo(7, 12)) + }, + { + new ListItemForEmeralds(Items.saddle, new PriceInfo(8, 10)) + } + } + } + }; + + private void init() + { + if (hasInit) + return; + + VillagerProfession prof = new VillagerProfession("minecraft:farmer", "minecraft:textures/entity/villager/farmer.png"); + { + register(prof); + (new VillagerCareer(prof, "farmer" )).init(vanillaTrades[0][0]); + (new VillagerCareer(prof, "fisherman" )).init(vanillaTrades[0][1]); + (new VillagerCareer(prof, "shepherd" )).init(vanillaTrades[0][2]); + (new VillagerCareer(prof, "fletcher" )).init(vanillaTrades[0][3]); + } + prof = new VillagerProfession("minecraft:librarian", "minecraft:textures/entity/villager/librarian.png"); + { + register(prof); + (new VillagerCareer(prof, "librarian")).init(vanillaTrades[1][0]); + } + prof = new VillagerProfession("minecraft:priest", "minecraft:textures/entity/villager/priest.png"); + { + register(prof); + (new VillagerCareer(prof, "cleric")).init(vanillaTrades[2][0]); + } + prof = new VillagerProfession("minecraft:smith", "minecraft:textures/entity/villager/smith.png"); + { + register(prof); + (new VillagerCareer(prof, "armor" )).init(vanillaTrades[3][0]); + (new VillagerCareer(prof, "weapon")).init(vanillaTrades[3][1]); + (new VillagerCareer(prof, "tool" )).init(vanillaTrades[3][2]); + } + prof = new VillagerProfession("minecraft:butcher", "minecraft:textures/entity/villager/butcher.png"); + { + register(prof); + (new VillagerCareer(prof, "butcher")).init(vanillaTrades[4][0]); + (new VillagerCareer(prof, "leather")).init(vanillaTrades[4][1]); } - EntityVillager.func_146089_b(list, item, random, chance); } - public static void applyRandomTrade(EntityVillager villager, Random rand) + public static class VillagerProfession { - int extra = instance().newVillagerIds.size(); - int trade = rand.nextInt(5 + extra); - villager.setProfession(trade < 5 ? trade : instance().newVillagerIds.get(trade - 5)); + private ResourceLocation name; + private ResourceLocation texture; + private List careers = Lists.newArrayList(); + + public VillagerProfession(String name, String texture) + { + this.name = new ResourceLocation(name); + this.texture = new ResourceLocation(texture); + } + + private void register(VillagerCareer career) + { + Validate.isTrue(!careers.contains(career), "Attempted to register career that is already registered."); + Validate.isTrue(career.profession == this, "Attempted to register career for the wrong profession."); + career.id = careers.size(); + careers.add(career); + } } + + public static class VillagerCareer + { + private VillagerProfession profession; + private String name; + private int id; + public VillagerCareer(VillagerProfession parent, String name) + { + this.profession = parent; + this.name = name; + parent.register(this); + } + + private VillagerCareer init(EntityVillager.ITradeList[][] traids) + { + return this; + } + + @Override + public boolean equals(Object o) + { + if (o == this) return true; + if (!(o instanceof VillagerCareer)) return false; + VillagerCareer oc = (VillagerCareer)o; + return name.equals(oc.name) && profession == oc.profession; + } + } + + /** + * Hook called when spawning a Villager, sets it's profession to a random registered profession. + * + * @param entity The new entity + * @param rand The world's RNG + */ + public static void setRandomProfession(EntityVillager entity, Random rand) + { + //TODO: Grab id range from internal registry + entity.setProfession(rand.nextInt(5)); + } + + //TODO: Figure out a good generic system for this. Put on hold for Patches. } diff --git a/fml/src/main/java/cpw/mods/fml/relauncher/CoreModManager.java b/fml/src/main/java/cpw/mods/fml/relauncher/CoreModManager.java index 8b1e092a3..f771366da 100644 --- a/fml/src/main/java/cpw/mods/fml/relauncher/CoreModManager.java +++ b/fml/src/main/java/cpw/mods/fml/relauncher/CoreModManager.java @@ -489,7 +489,6 @@ public class CoreModManager { return null; } - @SuppressWarnings("unused") private static void sortCoreMods() { TopologicalSort.DirectedGraph sortGraph = new TopologicalSort.DirectedGraph(); diff --git a/fml/src/main/java/cpw/mods/fml/relauncher/ReflectionHelper.java b/fml/src/main/java/cpw/mods/fml/relauncher/ReflectionHelper.java index 45807cfad..a0c14928e 100644 --- a/fml/src/main/java/cpw/mods/fml/relauncher/ReflectionHelper.java +++ b/fml/src/main/java/cpw/mods/fml/relauncher/ReflectionHelper.java @@ -25,7 +25,6 @@ public class ReflectionHelper public static class UnableToFindMethodException extends RuntimeException { private static final long serialVersionUID = 1L; - @SuppressWarnings("unused") private String[] methodNames; public UnableToFindMethodException(String[] methodNames, Exception failed) @@ -39,7 +38,6 @@ public class ReflectionHelper public static class UnableToFindClassException extends RuntimeException { private static final long serialVersionUID = 1L; - @SuppressWarnings("unused") private String[] classNames; public UnableToFindClassException(String[] classNames, Exception err) @@ -53,7 +51,6 @@ public class ReflectionHelper public static class UnableToAccessFieldException extends RuntimeException { private static final long serialVersionUID = 1L; - @SuppressWarnings("unused") private String[] fieldNameList; public UnableToAccessFieldException(String[] fieldNames, Exception e) @@ -66,7 +63,6 @@ public class ReflectionHelper public static class UnableToFindFieldException extends RuntimeException { private static final long serialVersionUID = 1L; - @SuppressWarnings("unused") private String[] fieldNameList; public UnableToFindFieldException(String[] fieldNameList, Exception e) { diff --git a/fml/src/main/java/cpw/mods/fml/server/FMLServerHandler.java b/fml/src/main/java/cpw/mods/fml/server/FMLServerHandler.java index 91eb2c775..7f8c3d6bb 100644 --- a/fml/src/main/java/cpw/mods/fml/server/FMLServerHandler.java +++ b/fml/src/main/java/cpw/mods/fml/server/FMLServerHandler.java @@ -242,11 +242,6 @@ public class FMLServerHandler implements IFMLSidedHandler { return null; } - @Override - public void waitForPlayClient() - { - // NOOP - } @Override public void fireNetRegistrationEvent(EventBus bus, NetworkManager manager, Set channelSet, String channel, Side side) @@ -259,7 +254,7 @@ public class FMLServerHandler implements IFMLSidedHandler { return DedicatedServer.allowPlayerLogins; } - + @Override public void allowLogins() { DedicatedServer.allowPlayerLogins = true; diff --git a/fml/src/main/java/net/minecraft/src/FMLRenderAccessLibrary.java b/fml/src/main/java/net/minecraft/src/FMLRenderAccessLibrary.java deleted file mode 100644 index 581b29f54..000000000 --- a/fml/src/main/java/net/minecraft/src/FMLRenderAccessLibrary.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Forge Mod Loader - * Copyright (c) 2012-2013 cpw. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the GNU Lesser Public License v2.1 - * which accompanies this distribution, and is available at - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - * - * Contributors: - * cpw - implementation - */ - -package net.minecraft.src; - -import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.world.IBlockAccess; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.FMLLog; - -/** - * - * A static hook library for optifine and other basemod editing code to access FML functions - * - * @author cpw - * - */ -public class FMLRenderAccessLibrary -{ - public static Logger getLogger() - { - Logger l = LogManager.getLogger("FMLRenderAccessLibrary"); - return l; - } - - public static void log(Level level, String message) - { - FMLLog.log("FMLRenderAccessLibrary", level, message); - } - - public static void log(Level level, String message, Throwable throwable) - { - FMLLog.log(level, throwable, message); - } - - @SuppressWarnings("deprecation") - public static boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelId) - { - return RenderingRegistry.instance().renderWorldBlock(renderer, world, x, y, z, block, modelId); - } - - @SuppressWarnings("deprecation") - public static void renderInventoryBlock(RenderBlocks renderer, Block block, int metadata, int modelID) - { - RenderingRegistry.instance().renderInventoryBlock(renderer, block, metadata, modelID); - } - - @SuppressWarnings("deprecation") - public static boolean renderItemAsFull3DBlock(int modelId) - { - return RenderingRegistry.instance().renderItemAsFull3DBlock(modelId); - } - -// public static void doTextureCopy(Texture atlas, Texture source, int targetX, int targetY) -// { -// TextureFXManager.instance().getHelper().doTextureCopy(atlas, source, targetX, targetY); -// } -} diff --git a/fml/src/main/resources/assets/fml/lang/en_US.lang b/fml/src/main/resources/assets/fml/lang/en_US.lang index d57f99fad..270d2ff98 100644 --- a/fml/src/main/resources/assets/fml/lang/en_US.lang +++ b/fml/src/main/resources/assets/fml/lang/en_US.lang @@ -80,3 +80,6 @@ fml.configgui.tooltip.undoAll=Undo All Changes. If the Apply globally checkbox i fml.configgui.tooltip.undoChanges=Undo Changes fml.configgui.tooltip.default=[default: %s] fml.configgui.tooltip.defaultNumeric=[range: %s ~ %s, default: %s] + +fml.menu.mods=Mods +fml.menu.modoptions=Mod Options... diff --git a/fml/src/main/resources/fml_at.cfg b/fml/src/main/resources/fml_at.cfg index 3b2642b21..5520baf81 100644 --- a/fml/src/main/resources/fml_at.cfg +++ b/fml/src/main/resources/fml_at.cfg @@ -9,16 +9,6 @@ public net.minecraft.entity.EntityList field_75626_c #classToNameMap public net.minecraft.entity.EntityList field_75623_d #idToClassMap ## RenderManager public net.minecraft.client.renderer.entity.RenderManager field_78729_o #renderers -## RenderBlocks - everything -public net.minecraft.client.renderer.RenderBlocks * # all fields -public net.minecraft.client.renderer.RenderBlocks *() # all methods -##RenderPlayer -##public-f bht.h #FD:RenderPlayer/field_77110_j #armorlist # -- MISSING MAPPING -##RenderBiped -public-f net.minecraft.client.renderer.entity.RenderBiped field_82424_k #armorlist -##StringTranslate -##public bp.b #FD:StringTranslate/field_74815_b # -- MISSING MAPPING -##public bp.e #FD:StringTranslate/field_74813_d # -- MISSING MAPPING ## TileEntityRendererDispatcher public net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher field_147559_m ## CraftingManager - make the add recipe methods public @@ -26,53 +16,22 @@ public net.minecraft.item.crafting.CraftingManager func_92103_a(Lnet.minecraft.i public net.minecraft.item.crafting.CraftingManager func_77596_b(Lnet.minecraft.item.ItemStack;[Ljava/lang/Object;)V ## WeightedRandomItem public net.minecraft.util.WeightedRandom$Item field_76292_a #probability -## ItemStack -##public+f tv.c #FD:ItemStack/field_77993_c #itemId -## StatBase -#public ku.a #FD:StatBase/field_75978_a #statName -## NetLoginHandler -#public jy.a(Ljy;Z)Z #MD:NetLoginHandler/func_72531_a #'complete connection' -#public jy.g #FD:NetLoginHandler/field_72543_h #userName ## EntityPlayerMP getNextWindowId public net.minecraft.entity.player.EntityPlayerMP func_71117_bO()V public net.minecraft.entity.player.EntityPlayerMP field_71139_cq ## EntityAITaskEntry public net.minecraft.entity.ai.EntityAITasks$EntityAITaskEntry -## EntityAITasks -#public pt.a #FD:EntityAITasks/field_75782_a #taskList -## BlockChest -#public ank.m(Labw;III)Z #MD:BlockChest/func_72292_n #isOcelotBlockingChest ## EntityLiving -##public ng.aU #FD:EntityLiving/field_70736_aM #carryoverDamage # -- MISSING MAPPING public net.minecraft.entity.EntityLiving field_70714_bg #tasks public net.minecraft.entity.EntityLiving field_70715_bh #targetTasks -##public ng.bG #FD:EntityLiving/field_70703_bu #isJumping # -- MISSING MAPPING -## EntityAIOcelotSit -#protected qg.a(Labw;III)Z #MD:EntityAIOcelotSit/func_75398_a #nearestSittableBlock -#protected qg.f()Z #MD:EntityAIOcelotSit/func_75399_f #isblocksittable -## CallableMinecraftVersion - sanity check the MC version -#public c #CL:CallableMinecraftVersion -#public c.(Lb;)V #MD:CallableMinecraftVersion/(Lnet/minecraft/src/CrashReport;) #constructor -## EntityAnimal -#public rp.bp #FD:EntityAnimal/field_70881_d #inLove -## WorldType -#public acg.(ILjava/lang/String;)V #MD:WorldType/(ILjava/lang/String;) -#public acg.(ILjava/lang/String;I)V #MD:WorldType/(ILjava/lang/String;I) -## ComponentVillage -#public ajm #CL:ComponentVillage -## StructureStart -#public aiv.a #FD:StructureStart/field_75075_a ## EntityVillager - minmax lists public net.minecraft.entity.passive.EntityVillager func_146091_a(Lnet/minecraft/village/MerchantRecipeList;Lnet/minecraft/item/Item;Ljava/util/Random;F)V # buy public net.minecraft.entity.passive.EntityVillager func_146089_b(Lnet/minecraft/village/MerchantRecipeList;Lnet/minecraft/item/Item;Ljava/util/Random;F)V # sell public net.minecraft.entity.passive.EntityVillager field_70958_bB public net.minecraft.entity.passive.EntityVillager field_70960_bC -## GuiButtonMerchant -#public axx #CL:GuiButtonMerchant # GuiScreen public net.minecraft.client.gui.GuiScreen field_146297_k # minecraft instance - public because gui's outside access it # Minecraft -#public atv.D #FD:Minecraft/field_71425_J #running public net.minecraft.client.Minecraft field_71446_o # textureManager ## ItemBlock public net.minecraft.item.ItemBlock field_150939_a @@ -84,7 +43,6 @@ public net.minecraft.world.storage.SaveFormatOld field_75808_a # savesDirectory protected net.minecraft.util.ObjectIntIdentityMap field_148749_a # internal map protected net.minecraft.util.ObjectIntIdentityMap field_148748_b # internal index list protected-f net.minecraft.util.RegistryNamespaced field_148759_a # identitymap -protected net.minecraft.util.RegistryNamespaced func_148755_c(Ljava/lang/String;)Ljava/lang/String; # prefix if necessary # GuiButton public net.minecraft.client.gui.GuiButton field_146120_f # width - needed for config GUI stuff @@ -102,4 +60,13 @@ public net.minecraft.client.gui.GuiSlot field_148153_b # top - needed for config public net.minecraft.client.gui.GuiSlot field_148154_c # bottom - needed for config GUI stuff public net.minecraft.client.gui.GuiSlot field_148155_a # width - needed for config GUI stuff public net.minecraft.client.gui.GuiSlot field_148158_l # height - needed for config GUI stuff -public net.minecraft.client.gui.GuiSlot field_148160_j # headerPadding - needed for config GUI stuff \ No newline at end of file +public net.minecraft.client.gui.GuiSlot field_148160_j # headerPadding - needed for config GUI stuff + +# Villager Traid Classes +public net.minecraft.entity.passive.EntityVillager$EmeraldForItems +public net.minecraft.entity.passive.EntityVillager$ITradeList +public net.minecraft.entity.passive.EntityVillager$ItemAndEmeraldToItem +public net.minecraft.entity.passive.EntityVillager$ListEnchantedBookForEmeralds +public net.minecraft.entity.passive.EntityVillager$ListEnchantedItemForEmeralds +public net.minecraft.entity.passive.EntityVillager$ListItemForEmeralds +public net.minecraft.entity.passive.EntityVillager$PriceInfo \ No newline at end of file