summaryrefslogtreecommitdiff
path: root/java/darkknight/jewelrycraft/network/PacketRequestLiquidData.java
blob: 6fd3274a2430cdf358db268e6427b42557534d28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package darkknight.jewelrycraft.network;

import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import io.netty.buffer.ByteBuf;
import cpw.mods.fml.common.network.handshake.NetworkDispatcher;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.util.JewelryNBT;

public class PacketRequestLiquidData implements IMessage, IMessageHandler<PacketRequestLiquidData, IMessage>
{
    int dimID, x, y, z;
    
    public PacketRequestLiquidData()
    {
    }
    
    public PacketRequestLiquidData(int dimID, int x, int y, int z)
    {
        this.dimID = dimID;
        this.x = x;
        this.y = y;
        this.z = z;
    }
    
    @Override
    public IMessage onMessage(PacketRequestLiquidData message, MessageContext ctx)
    {
        String data = JewelrycraftMod.saveData.getString(message.x + " " + message.y + " " + message.z + " " + message.dimID);
        String[] splitData = data.split(":");
        
        IMessage replyPacket = null;
        
        if (splitData.length == 3)
        {
            int itemID, itemDamage, color;
            try
            {
                itemID = Integer.parseInt(splitData[0]);
                itemDamage = Integer.parseInt(splitData[1]);
                color = Integer.parseInt(splitData[2]);
                
                replyPacket = (IMessage) new PacketSendLiquidData(message, itemID, itemDamage, color);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
        
        return replyPacket;
    }
    
    @Override
    public void fromBytes(ByteBuf buf)
    {
        dimID = buf.readInt();
        x = buf.readInt();
        y = buf.readInt();
        z = buf.readInt();
    }
    
    @Override
    public void toBytes(ByteBuf buf)
    {
        buf.writeInt(dimID);
        buf.writeInt(x);
        buf.writeInt(y);
        buf.writeInt(z);
    }
}