Tidying up and more hooks

This commit is contained in:
Christian Weeks committed 2012-05-10 21:30:06 -04:00
1 parent b7861ec04c
commit abc7b3f2a6
7 files changed
+123 -6

No files matched your search

@@ -41,6 +41,7 @@ import net.minecraft.src.IInventory;
import net.minecraft.src.Item;
import net.minecraft.src.ItemStack;
import net.minecraft.src.KeyBinding;
import net.minecraft.src.NetClientHandler;
import net.minecraft.src.NetworkManager;
import net.minecraft.src.Packet1Login;
import net.minecraft.src.Packet250CustomPayload;
@@ -379,11 +380,11 @@ public class FMLClientHandler implements IFMLSidedHandler
* @return true if you want the packet to stop processing and not echo to
* the rest of the world
*/
public boolean handleChatPacket(Packet3Chat chat, EntityPlayer player)
public boolean handleChatPacket(Packet3Chat chat)
{
for (ModContainer mod : Loader.getModList())
{
if (mod.wantsNetworkPackets() && mod.getNetworkHandler().onChat(chat, player))
if (mod.wantsNetworkPackets() && mod.getNetworkHandler().onChat(chat))
{
return true;
}
@@ -392,6 +393,21 @@ public class FMLClientHandler implements IFMLSidedHandler
return false;
}
public void handleServerLogin(Packet1Login loginPacket, NetClientHandler handler, NetworkManager networkManager)
{
Packet250CustomPayload packet = new Packet250CustomPayload();
packet.field_44012_a = "REGISTER";
packet.field_44011_c = FMLCommonHandler.instance().getPacketRegistry();
packet.field_44010_b = packet.field_44011_c.length;
if (packet.field_44010_b > 0)
{
networkManager.func_972_a(packet);
}
for (ModContainer mod : Loader.getModList()) {
mod.getNetworkHandler().onServerLogin(handler);
}
}
/**
* Called when a packet 250 packet is received from the player
*
+20 -2
View File
@@ -73,9 +73,20 @@ public abstract class BaseMod implements IWorldGenerator, IPickupNotifier, IDisp
@Override
public final boolean onChat(Object... data)
{
return onChatMessageReceived((EntityPlayer)data[1], (Packet3Chat)data[0]);
receiveChatPacket(((Packet3Chat)data[0]).field_517_a);
return true;
}
@Override
public final void onServerLogin(Object handler) {
serverConnect((NetClientHandler) handler);
}
public final void onServerLogout() {
serverDisconnect();
}
@Override
public final void onPlayerLogin(Object player)
{
@@ -97,7 +108,7 @@ public abstract class BaseMod implements IWorldGenerator, IPickupNotifier, IDisp
@Override
public final void onPacket250Packet(Object... data)
{
onPacket250Received((EntityPlayer)data[1], (Packet250CustomPayload)data[0]);
receiveCustomPacket((Packet250CustomPayload)data[0]);
}
@Override
@@ -300,6 +311,13 @@ public abstract class BaseMod implements IWorldGenerator, IPickupNotifier, IDisp
}
public void serverConnect(NetClientHandler handler) {
}
public void serverDisconnect() {
}
/**
* Called when someone crafts an item from a crafting table
*
@@ -13,6 +13,7 @@
package cpw.mods.fml.common;
/**
* @author cpw
*
@@ -21,4 +22,5 @@ public interface INetworkHandler
{
boolean onChat(Object... data);
void onPacket250Packet(Object... data);
void onServerLogin(Object handler);
}
@@ -0,0 +1,41 @@
--- ../src-base/minecraft/net/minecraft/src/NetClientHandler.java 0000-00-00 00:00:00.000000000 -0000
+++ ../src-work/minecraft/net/minecraft/src/NetClientHandler.java 0000-00-00 00:00:00.000000000 -0000
@@ -14,6 +14,8 @@
import java.util.List;
import java.util.Map;
import java.util.Random;
+
+import cpw.mods.fml.client.FMLClientHandler;
import net.minecraft.client.Minecraft;
public class NetClientHandler extends NetHandler
@@ -59,6 +61,7 @@
this.field_1212_e.field_6322_g.field_620_ab = p_4115_1_.field_519_a;
this.field_35785_d = p_4115_1_.field_35251_h;
((PlayerControllerMP)this.field_1212_e.field_6327_b).func_35648_a(p_4115_1_.field_35249_d == 1);
+ FMLClientHandler.instance().handleServerLogin(p_4115_1_, this, field_1213_d);
}
public void func_832_a(Packet21PickupSpawn p_832_1_)
@@ -510,6 +513,7 @@
public void func_4113_a(Packet3Chat p_4113_1_)
{
+ FMLClientHandler.instance().handleChatPacket(p_4113_1_);
this.field_1212_e.field_6308_u.func_552_a(p_4113_1_.field_517_a);
}
@@ -1026,4 +1030,13 @@
var2.field_35212_aW.field_35759_a = p_50100_1_.field_50072_a;
var2.field_35212_aW.field_35758_c = p_50100_1_.field_50071_c;
}
+
+ /* (non-Javadoc)
+ * @see net.minecraft.src.NetHandler#func_44028_a(net.minecraft.src.Packet250CustomPayload)
+ */
+ @Override
+ public void func_44028_a(Packet250CustomPayload p_44028_1_)
+ {
+ FMLClientHandler.instance().handlePacket250(p_44028_1_);
+ }
}
@@ -0,0 +1,26 @@
--- ../src-base/minecraft/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000
+++ ../src-work/minecraft/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000
@@ -1,5 +1,8 @@
package net.minecraft.src;
+import cpw.mods.fml.client.FMLClientHandler;
+import cpw.mods.fml.common.FMLCommonHandler;
+
public class TileEntityFurnace extends TileEntity implements IInventory
{
private ItemStack[] field_833_a = new ItemStack[3];
@@ -251,7 +254,13 @@
else
{
int var1 = p_488_1_.func_1091_a().field_291_aS;
- return var1 < 256 && Block.field_345_n[var1].field_356_bn == Material.field_1335_c ? 300 : (var1 == Item.field_266_B.field_291_aS ? 100 : (var1 == Item.field_225_k.field_291_aS ? 1600 : (var1 == Item.field_258_aw.field_291_aS ? 20000 : (var1 == Block.field_333_z.field_376_bc ? 100 : (var1 == Item.field_40417_bo.field_291_aS ? 2400 : 0)))));
+ if (var1 < 256 && Block.field_345_n[var1].field_356_bn == Material.field_1335_c) return 300;
+ if (var1 == Item.field_266_B.field_291_aS) return 100;
+ if (var1 == Item.field_225_k.field_291_aS) return 1600;
+ if (var1 == Item.field_258_aw.field_291_aS) return 20000;
+ if (var1 == Block.field_333_z.field_376_bc) return 100;
+ if (var1 == Item.field_40417_bo.field_291_aS) return 2400;
+ return FMLCommonHandler.instance().fuelLookup(var1, p_488_1_.func_21179_h());
}
}
@@ -8,12 +8,18 @@
public class TileEntityFurnace extends TileEntity implements IInventory
{
private ItemStack[] field_489_e = new ItemStack[3];
@@ -236,7 +238,7 @@
@@ -236,7 +238,13 @@
else
{
int var1 = p_194_1_.func_569_a().field_234_aS;
- return var1 < 256 && Block.field_542_n[var1].field_553_bn == Material.field_524_c ? 300 : (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)))));
+ return var1 < 256 && Block.field_542_n[var1].field_553_bn == Material.field_524_c ? 300 : (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 : FMLCommonHandler.instance().fuelLookup(var1, p_194_1_.func_21125_h()))))));
+ if (var1 < 256 && Block.field_542_n[var1].field_553_bn == Material.field_524_c) return 300;
+ 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_1_.func_21125_h());
}
}
@@ -66,6 +66,14 @@ public abstract class BaseMod implements IWorldGenerator, IPickupNotifier, IDisp
return onChatMessageReceived((EntityPlayer)data[1], (Packet3Chat)data[0]);
}
@Override
public final void onServerLogin(Object handler) {
// NOOP
}
public final void onServerLogout() {
// NOOP
}
@Override
public final void onPlayerLogin(Object player)
{