diff --git a/patches/minecraft/net/minecraft/src/BlockDispenser.java.patch b/patches/minecraft/net/minecraft/src/BlockDispenser.java.patch index 7743153560..632d74ae5b 100644 --- a/patches/minecraft/net/minecraft/src/BlockDispenser.java.patch +++ b/patches/minecraft/net/minecraft/src/BlockDispenser.java.patch @@ -9,14 +9,17 @@ public class BlockDispenser extends BlockContainer { private Random field_28035_a = new Random(); -@@ -276,6 +278,10 @@ +@@ -276,7 +278,12 @@ float var15 = 1.1F; byte var16 = 6; +- if (p_56784_2_.field_1617_c == Item.field_226_j.field_291_aS) + if (FMLClientHandler.instance().tryDispensingEntity(p_56784_1_, p_56784_9_, p_56784_11_, p_56784_13_, p_56784_7_, p_56784_8_, p_56784_2_)) + { -+ ; ++ //TODO revisit ++ return 1; + } - if (p_56784_2_.field_1617_c == Item.field_226_j.field_291_aS) ++ else if (p_56784_2_.field_1617_c == Item.field_226_j.field_291_aS) { EntityArrow var28 = new EntityArrow(p_56784_1_, p_56784_9_, p_56784_11_, p_56784_13_); + var28.func_408_a((double)p_56784_7_, 0.10000000149011612D, (double)p_56784_8_, var15, (float)var16); diff --git a/patches/minecraft_server/net/minecraft/server/MinecraftServer.java.patch b/patches/minecraft_server/net/minecraft/server/MinecraftServer.java.patch index af2d92afee..f2c0b73843 100644 --- a/patches/minecraft_server/net/minecraft/server/MinecraftServer.java.patch +++ b/patches/minecraft_server/net/minecraft/server/MinecraftServer.java.patch @@ -1,22 +1,15 @@ --- ../src-base/minecraft_server/net/minecraft/server/MinecraftServer.java 0000-00-00 00:00:00.000000000 -0000 +++ ../src-work/minecraft_server/net/minecraft/server/MinecraftServer.java 0000-00-00 00:00:00.000000000 -0000 -@@ -11,6 +11,8 @@ +@@ -11,6 +11,9 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; + +import cpw.mods.fml.common.FMLCommonHandler; ++import cpw.mods.fml.server.FMLServerHandler; import net.minecraft.src.AnvilSaveConverter; import net.minecraft.src.AxisAlignedBB; import net.minecraft.src.CallableMCS5; -@@ -53,6 +55,7 @@ - - public abstract class MinecraftServer implements ICommandSender, IPlayerUsage, Runnable - { -+ fish; - public static Logger field_6038_a = Logger.getLogger("Minecraft"); - private static MinecraftServer field_55095_w = null; - private final ISaveFormat field_56220_l; @@ -350,6 +353,8 @@ { long var1 = System.currentTimeMillis(); @@ -26,3 +19,33 @@ for (long var50 = 0L; this.field_6025_n; this.field_56215_O = true) { long var5 = System.currentTimeMillis(); +@@ -440,9 +445,11 @@ + + protected void func_56174_n() + { ++ FMLCommonHandler.instance().rescheduleTicks(); + long var1 = System.nanoTime(); + AxisAlignedBB.func_58089_a().func_58066_a(); + Vec3.func_58052_a().func_58075_a(); ++ FMLServerHandler.instance().onPreServerTick(); + ++this.field_9014_h; + this.func_56160_o(); + +@@ -472,6 +479,7 @@ + { + this.field_56221_m.func_56622_b(); + } ++ FMLServerHandler.instance().onPostServerTick(); + } + + public void func_56160_o() +@@ -489,7 +497,9 @@ + this.field_6033_f.func_28169_a(new Packet4UpdateTime(var4.func_22080_k()), var4.field_4272_q.field_6165_g); + } + ++ FMLServerHandler.instance().onPreWorldTick(var4); + var4.func_22077_g(); ++ FMLServerHandler.instance().onPostWorldTick(var4); + + while (true) + { diff --git a/patches/minecraft_server/net/minecraft/src/BlockDispenser.java.patch b/patches/minecraft_server/net/minecraft/src/BlockDispenser.java.patch index 2a81f8e61c..ddbc765d37 100644 --- a/patches/minecraft_server/net/minecraft/src/BlockDispenser.java.patch +++ b/patches/minecraft_server/net/minecraft/src/BlockDispenser.java.patch @@ -9,3 +9,16 @@ public class BlockDispenser extends BlockContainer { private Random field_28032_a = new Random(); +@@ -259,7 +261,11 @@ + float var15 = 1.1F; + byte var16 = 6; + +- if (p_56353_2_.field_855_c == Item.field_4148_j.field_234_aS) ++ if (FMLServerHandler.instance().tryDispensingEntity(p_56353_1_, p_56353_9_, p_56353_11_, p_56353_13_, p_56353_7_, p_56353_8_, p_56353_2_)) ++ { ++ return 1; ++ } ++ else if (p_56353_2_.field_855_c == Item.field_4148_j.field_234_aS) + { + EntityArrow var28 = new EntityArrow(p_56353_1_, p_56353_9_, p_56353_11_, p_56353_13_); + var28.func_177_a((double)p_56353_7_, 0.10000000149011612D, (double)p_56353_8_, var15, (float)var16); diff --git a/patches/minecraft_server/net/minecraft/src/NetServerHandler.java.patch b/patches/minecraft_server/net/minecraft/src/NetServerHandler.java.patch index b76be2bf6c..66b8dfe4e5 100644 --- a/patches/minecraft_server/net/minecraft/src/NetServerHandler.java.patch +++ b/patches/minecraft_server/net/minecraft/src/NetServerHandler.java.patch @@ -9,7 +9,19 @@ import net.minecraft.server.MinecraftServer; public class NetServerHandler extends NetHandler -@@ -1014,4 +1016,11 @@ +@@ -602,7 +604,10 @@ + } + } + +- if (var2.startsWith("/")) ++ if (FMLServerHandler.instance().handleChatPacket(p_23_1_,field_16_e)) { ++ // We handled it ++ } ++ else if (var2.startsWith("/")) + { + this.func_4010_d(var2); + } +@@ -1014,4 +1019,11 @@ } } } diff --git a/patches/minecraft_server/net/minecraft/src/ServerConfigurationManager.java.patch b/patches/minecraft_server/net/minecraft/src/ServerConfigurationManager.java.patch index b8a3b0ac3f..44f40b535c 100644 --- a/patches/minecraft_server/net/minecraft/src/ServerConfigurationManager.java.patch +++ b/patches/minecraft_server/net/minecraft/src/ServerConfigurationManager.java.patch @@ -9,11 +9,28 @@ import net.minecraft.server.MinecraftServer; public abstract class ServerConfigurationManager -@@ -355,6 +357,8 @@ +@@ -71,6 +73,8 @@ + } + + p_56432_2_.func_20057_k(); ++ FMLServerHandler.instance().handleLogin(p_56432_1_); ++ FMLServerHandler.instance().announceLogin(p_56432_2_); + } + + public void func_618_a(WorldServer[] p_618_1_) +@@ -144,6 +148,7 @@ + + public void func_616_c(EntityPlayerMP p_616_1_) + { ++ FMLServerHandler.instance().announceLogout(p_616_1_); + this.func_56430_b(p_616_1_); + WorldServer var2 = p_616_1_.func_55080_H(); + var2.func_22085_d(p_616_1_); +@@ -355,6 +360,8 @@ p_28168_1_.field_425_ad.func_35694_a(var5); this.func_28170_a(p_28168_1_, var5); this.func_30008_g(p_28168_1_); -+ ++ + FMLServerHandler.instance().announceDimensionChange(p_28168_1_); } diff --git a/patches/minecraft_server/net/minecraft/src/TileEntityFurnace.java.patch b/patches/minecraft_server/net/minecraft/src/TileEntityFurnace.java.patch index 2c81723d4a..983ad353cb 100644 --- a/patches/minecraft_server/net/minecraft/src/TileEntityFurnace.java.patch +++ b/patches/minecraft_server/net/minecraft/src/TileEntityFurnace.java.patch @@ -8,3 +8,20 @@ public class TileEntityFurnace extends TileEntity implements IInventory { private ItemStack[] field_489_e = new ItemStack[3]; +@@ -254,7 +256,15 @@ + } + } + +- return var2 instanceof ItemTool && ((ItemTool)var2).func_56458_b().equals("WOOD") ? 200 : (var2 instanceof ItemSword && ((ItemSword)var2).func_56462_b().equals("WOOD") ? 200 : (var2 instanceof ItemHoe && ((ItemHoe)var2).func_56463_b().equals("WOOD") ? 200 : (var1 == Item.field_209_B.field_234_aS ? 100 : (var1 == Item.field_168_k.field_234_aS ? 1600 : (var1 == Item.field_201_aw.field_234_aS ? 20000 : (var1 == Block.field_6047_y.field_573_bc ? 100 : (var1 == Item.field_40239_bm.field_234_aS ? 2400 : 0))))))); ++ if (var2 instanceof ItemTool && ((ItemTool) var2).func_56458_b().equals("WOOD")) return 200; ++ if (var2 instanceof ItemSword && ((ItemSword) var2).func_56462_b().equals("WOOD")) return 200; ++ if (var2 instanceof ItemHoe && ((ItemHoe) var2).func_56463_b().equals("WOOD")) return 200; ++ if (var1 == Item.field_209_B.field_234_aS) return 100; ++ if (var1 == Item.field_168_k.field_234_aS) return 1600; ++ if (var1 == Item.field_201_aw.field_234_aS) return 20000; ++ if (var1 == Block.field_6047_y.field_573_bc) return 100; ++ if (var1 == Item.field_40239_bm.field_234_aS) return 2400; ++ return FMLCommonHandler.instance().fuelLookup(var1, p_194_0_.func_21125_h()); + } + } + diff --git a/server/cpw/mods/fml/server/FMLServerHandler.java b/server/cpw/mods/fml/server/FMLServerHandler.java index 3b14800ef8..8ab323c9f3 100644 --- a/server/cpw/mods/fml/server/FMLServerHandler.java +++ b/server/cpw/mods/fml/server/FMLServerHandler.java @@ -298,7 +298,7 @@ public class FMLServerHandler implements IFMLSidedHandler * @param item * @return */ - public boolean tryDispensingEntity(World world, double x, double y, double z, byte xVelocity, byte zVelocity, ItemStack item) + public boolean tryDispensingEntity(World world, double x, double y, double z, int xVelocity, int zVelocity, ItemStack item) { for (ModContainer mod : Loader.getModList()) { @@ -468,7 +468,7 @@ public class FMLServerHandler implements IFMLSidedHandler * @param loginPacket * @param networkManager */ - public void handleLogin(Packet1Login loginPacket, NetworkManager networkManager) + public void handleLogin(NetworkManager networkManager) { Packet250CustomPayload packet = new Packet250CustomPayload(); packet.field_44005_a = "REGISTER";