More work, moved over packet stuff, need to change everything to use new NetworkMod system
This commit is contained in:
parent
8db1584730
commit
4e91293271
14 changed files with 250 additions and 160 deletions
|
@ -33,3 +33,6 @@ public ayp.c # soundPoolStreaming
|
||||||
public ayp.d # soundPoolMusic
|
public ayp.d # soundPoolMusic
|
||||||
# EntityLiving
|
# EntityLiving
|
||||||
public jv.aM # carryoverDamage
|
public jv.aM # carryoverDamage
|
||||||
|
# EntityPlayerMP
|
||||||
|
public gt.bO()V # incrementWindowID()
|
||||||
|
public gt.cq # currentWindowId
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.minecraft.src.forge;
|
package net.minecraftforge.common;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.src.EntityPlayer;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.src.World;
|
||||||
|
@ -10,6 +10,9 @@ public interface IGuiHandler
|
||||||
* On the client side, this needs to return a instance of GuiScreen
|
* On the client side, this needs to return a instance of GuiScreen
|
||||||
* On the server side, this needs to return a instance of Container
|
* On the server side, this needs to return a instance of Container
|
||||||
*
|
*
|
||||||
|
* On the client, the player will always be a instance of EntityPlayerSP
|
||||||
|
* On the server, the player will always be a instance of EntityPlayerMP
|
||||||
|
*
|
||||||
* @param ID The Gui ID Number
|
* @param ID The Gui ID Number
|
||||||
* @param player The player viewing the Gui
|
* @param player The player viewing the Gui
|
||||||
* @param world The current world
|
* @param world The current world
|
|
@ -1,4 +1,4 @@
|
||||||
package net.minecraft.src.forge;
|
package net.minecraftforge.common;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
|
@ -157,10 +157,10 @@ public interface ISpecialArmor
|
||||||
}
|
}
|
||||||
if (stack.stackSize <= 0)
|
if (stack.stackSize <= 0)
|
||||||
{
|
{
|
||||||
if (entity instanceof EntityPlayer)
|
/*if (entity instanceof EntityPlayer)
|
||||||
{
|
{
|
||||||
stack.onItemDestroyedByUse((EntityPlayer)entity);
|
stack.onItemDestroyedByUse((EntityPlayer)entity);
|
||||||
}
|
}*/
|
||||||
inventory[prop.Slot] = null;
|
inventory[prop.Slot] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.minecraft.src.forge;
|
package net.minecraftforge.common;
|
||||||
|
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.src.Entity;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.minecraft.src.forge.packets;
|
package net.minecraftforge.packets;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
|
@ -8,17 +8,14 @@ import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.Packet;
|
import net.minecraft.src.Packet;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.src.Packet250CustomPayload;
|
||||||
import net.minecraft.src.forge.ForgeHooks;
|
|
||||||
|
|
||||||
public abstract class ForgePacket
|
public abstract class ForgePacket
|
||||||
{
|
{
|
||||||
//Forge Packet ID Constants.
|
//Forge Packet ID Constants.
|
||||||
public static final int FORGE_ID = 0x040E9B47; //"Forge".hashCode();
|
public static final int FORGE_ID = 0x040E9B47; //"Forge".hashCode();
|
||||||
public static final int SPAWN = 1;
|
public static final int SPAWN = 1;
|
||||||
public static final int MODLIST = 2;
|
public static final int OPEN_GUI = 2;
|
||||||
public static final int MOD_MISSING = 3;
|
public static final int TRACK = 3;
|
||||||
public static final int OPEN_GUI = 5;
|
|
||||||
public static final int TRACK = 6;
|
|
||||||
|
|
||||||
public Packet getPacket()
|
public Packet getPacket()
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
package net.minecraft.src.forge.packets;
|
package net.minecraftforge.packets;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
|
@ -8,10 +8,9 @@ import net.minecraft.src.Entity;
|
||||||
import net.minecraft.src.EntityLiving;
|
import net.minecraft.src.EntityLiving;
|
||||||
import net.minecraft.src.DataWatcher;
|
import net.minecraft.src.DataWatcher;
|
||||||
import net.minecraft.src.MathHelper;
|
import net.minecraft.src.MathHelper;
|
||||||
import net.minecraft.src.forge.ISpawnHandler;
|
import net.minecraftforge.common.ISpawnHandler;
|
||||||
import net.minecraft.src.forge.IThrowableEntity;
|
import net.minecraftforge.common.IThrowableEntity;
|
||||||
import net.minecraft.src.forge.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraft.src.forge.NetworkMod;
|
|
||||||
|
|
||||||
public class PacketEntitySpawn extends ForgePacket
|
public class PacketEntitySpawn extends ForgePacket
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
package net.minecraft.src.forge.packets;
|
package net.minecraftforge.packets;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
|
@ -1,4 +1,4 @@
|
||||||
package net.minecraft.src.forge.packets;
|
package net.minecraftforge.packets;
|
||||||
|
|
||||||
import net.minecraft.src.NetworkManager;
|
import net.minecraft.src.NetworkManager;
|
||||||
import net.minecraft.src.Packet;
|
import net.minecraft.src.Packet;
|
|
@ -1,4 +1,4 @@
|
||||||
package net.minecraft.src.forge.packets;
|
package net.minecraftforge.packets;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
|
@ -1,21 +0,0 @@
|
||||||
package net.minecraft.src.forge.packets;
|
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
|
||||||
import java.io.DataOutputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
public class PacketMissingMods extends PacketModList
|
|
||||||
{
|
|
||||||
|
|
||||||
public PacketMissingMods(boolean server)
|
|
||||||
{
|
|
||||||
super(!server);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getID()
|
|
||||||
{
|
|
||||||
return ForgePacket.MOD_MISSING;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,116 +0,0 @@
|
||||||
package net.minecraft.src.forge.packets;
|
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
|
||||||
import java.io.DataOutputStream;
|
|
||||||
import java.io.EOFException;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Hashtable;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map.Entry;
|
|
||||||
|
|
||||||
public class PacketModList extends ForgePacket
|
|
||||||
{
|
|
||||||
private boolean isServer = false;
|
|
||||||
public String[] Mods;
|
|
||||||
public Hashtable<Integer, String> ModIDs = new Hashtable<Integer, String>();
|
|
||||||
public int Length = -1;
|
|
||||||
public boolean has4096 = false;
|
|
||||||
|
|
||||||
public PacketModList(boolean server)
|
|
||||||
{
|
|
||||||
isServer = server;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void writeData(DataOutputStream data) throws IOException
|
|
||||||
{
|
|
||||||
if (!isServer)
|
|
||||||
{
|
|
||||||
data.writeInt(Mods.length);
|
|
||||||
for (String mod : Mods)
|
|
||||||
{
|
|
||||||
data.writeUTF(mod);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
data.writeInt(ModIDs.size());
|
|
||||||
for (Entry<Integer, String> entry : ModIDs.entrySet())
|
|
||||||
{
|
|
||||||
data.writeInt(entry.getKey());
|
|
||||||
data.writeUTF(entry.getValue());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
data.writeBoolean(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readData(DataInputStream data) throws IOException
|
|
||||||
{
|
|
||||||
if (isServer)
|
|
||||||
{
|
|
||||||
Length = data.readInt();
|
|
||||||
if (Length >= 0)
|
|
||||||
{
|
|
||||||
Mods = new String[Length];
|
|
||||||
for (int x = 0; x < Length; x++)
|
|
||||||
{
|
|
||||||
Mods[x] = data.readUTF();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Length = data.readInt();
|
|
||||||
for (int x = 0; x < Length; x++)
|
|
||||||
{
|
|
||||||
ModIDs.put(data.readInt(), data.readUTF());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
has4096 = data.readBoolean();
|
|
||||||
}
|
|
||||||
catch (EOFException e)
|
|
||||||
{
|
|
||||||
has4096 = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getID()
|
|
||||||
{
|
|
||||||
return ForgePacket.MODLIST;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString(boolean full)
|
|
||||||
{
|
|
||||||
if (full)
|
|
||||||
{
|
|
||||||
StringBuilder ret = new StringBuilder();
|
|
||||||
ret.append(toString()).append('\n');
|
|
||||||
if (Mods != null)
|
|
||||||
{
|
|
||||||
for (String mod : Mods)
|
|
||||||
{
|
|
||||||
ret.append(" " + mod + '\n');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (ModIDs.size() != 0)
|
|
||||||
{
|
|
||||||
for (Entry<Integer, String> mod : ModIDs.entrySet())
|
|
||||||
{
|
|
||||||
ret.append(String.format(" %03d ", mod.getKey()) + mod.getValue() + '\n');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ret.toString();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,15 +1,44 @@
|
||||||
--- ../src_base/minecraft/net/minecraft/src/EntityPlayer.java
|
--- ../src_base/minecraft/net/minecraft/src/EntityPlayer.java
|
||||||
+++ ../src_work/minecraft/net/minecraft/src/EntityPlayer.java
|
+++ ../src_work/minecraft/net/minecraft/src/EntityPlayer.java
|
||||||
@@ -2,6 +2,8 @@
|
@@ -2,6 +2,11 @@
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
+
|
+
|
||||||
+import net.minecraftforge.common.ForgeHooks;
|
+import net.minecraftforge.common.ForgeHooks;
|
||||||
|
+import net.minecraftforge.common.IGuiHandler;
|
||||||
|
+import net.minecraftforge.common.ISpecialArmor.ArmorProperties;
|
||||||
|
+import net.minecraftforge.common.MinecraftForge;
|
||||||
|
|
||||||
public abstract class EntityPlayer extends EntityLiving implements ICommandSender
|
public abstract class EntityPlayer extends EntityLiving implements ICommandSender
|
||||||
{
|
{
|
||||||
@@ -673,13 +675,21 @@
|
@@ -207,6 +212,7 @@
|
||||||
|
|
||||||
|
if (var1 == this.itemInUse)
|
||||||
|
{
|
||||||
|
+ itemInUse.getItem().onUsingItemTick(itemInUse, this, itemInUseCount);
|
||||||
|
if (this.itemInUseCount <= 25 && this.itemInUseCount % 4 == 0)
|
||||||
|
{
|
||||||
|
this.updateItemUse(var1, 5);
|
||||||
|
@@ -607,7 +613,16 @@
|
||||||
|
*/
|
||||||
|
public EntityItem dropOneItem()
|
||||||
|
{
|
||||||
|
- return this.dropPlayerItemWithRandomChoice(this.inventory.decrStackSize(this.inventory.currentItem, 1), false);
|
||||||
|
+ ItemStack stack = inventory.getCurrentItem();
|
||||||
|
+ if (stack == null)
|
||||||
|
+ {
|
||||||
|
+ return null;
|
||||||
|
+ }
|
||||||
|
+ if (stack.getItem().onDroppedByPlayer(stack, this))
|
||||||
|
+ {
|
||||||
|
+ return dropPlayerItemWithRandomChoice(inventory.decrStackSize(inventory.currentItem, 1), false);
|
||||||
|
+ }
|
||||||
|
+ return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -673,13 +688,21 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns how strong the player is against the specified block at this moment
|
* Returns how strong the player is against the specified block at this moment
|
||||||
|
@ -34,7 +63,42 @@
|
||||||
{
|
{
|
||||||
var2 += (float)(var3 * var3 + 1);
|
var2 += (float)(var3 * var3 + 1);
|
||||||
}
|
}
|
||||||
@@ -1055,7 +1065,9 @@
|
@@ -972,12 +995,22 @@
|
||||||
|
*/
|
||||||
|
protected void damageEntity(DamageSource par1DamageSource, int par2)
|
||||||
|
{
|
||||||
|
+ par2 = ForgeHooks.onEntityLivingHurt(this, par1DamageSource, par2);
|
||||||
|
+ if (par2 == 0)
|
||||||
|
+ {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (!par1DamageSource.isUnblockable() && this.isBlocking())
|
||||||
|
{
|
||||||
|
par2 = 1 + par2 >> 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- par2 = this.applyArmorCalculations(par1DamageSource, par2);
|
||||||
|
+ par2 = ArmorProperties.ApplyArmor(this, inventory.armorInventory, par1DamageSource, par2);
|
||||||
|
+ if (par2 <= 0)
|
||||||
|
+ {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
par2 = this.applyPotionDamageCalculations(par1DamageSource, par2);
|
||||||
|
this.addExhaustion(par1DamageSource.getHungerDamage());
|
||||||
|
this.health -= par2;
|
||||||
|
@@ -1012,6 +1045,10 @@
|
||||||
|
|
||||||
|
public boolean interactWith(Entity par1Entity)
|
||||||
|
{
|
||||||
|
+ if (!ForgeHooks.onEntityInteract(this, par1Entity, false))
|
||||||
|
+ {
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
if (par1Entity.interact(this))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
@@ -1055,7 +1092,9 @@
|
||||||
*/
|
*/
|
||||||
public void destroyCurrentEquippedItem()
|
public void destroyCurrentEquippedItem()
|
||||||
{
|
{
|
||||||
|
@ -44,3 +108,164 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1084,6 +1123,15 @@
|
||||||
|
*/
|
||||||
|
public void attackTargetEntityWithCurrentItem(Entity par1Entity)
|
||||||
|
{
|
||||||
|
+ if (!ForgeHooks.onEntityInteract(this, par1Entity, true))
|
||||||
|
+ {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ ItemStack stack = getCurrentEquippedItem();
|
||||||
|
+ if (stack != null && stack.getItem().onLeftClickEntity(stack, this, par1Entity))
|
||||||
|
+ {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
if (par1Entity.canAttackWithItem())
|
||||||
|
{
|
||||||
|
int var2 = this.inventory.getDamageVsEntity(par1Entity);
|
||||||
|
@@ -1226,6 +1274,11 @@
|
||||||
|
*/
|
||||||
|
public EnumStatus sleepInBedAt(int par1, int par2, int par3)
|
||||||
|
{
|
||||||
|
+ EnumStatus customSleep = ForgeHooks.sleepInBedAt(this, par1, par2, par3);
|
||||||
|
+ if (customSleep != null)
|
||||||
|
+ {
|
||||||
|
+ return customSleep;
|
||||||
|
+ }
|
||||||
|
if (!this.worldObj.isRemote)
|
||||||
|
{
|
||||||
|
if (this.isPlayerSleeping() || !this.isEntityAlive())
|
||||||
|
@@ -1265,6 +1318,11 @@
|
||||||
|
{
|
||||||
|
int var9 = this.worldObj.getBlockMetadata(par1, par2, par3);
|
||||||
|
int var5 = BlockBed.getDirection(var9);
|
||||||
|
+ Block block = Block.blocksList[worldObj.getBlockId(par1, par2, par3)];
|
||||||
|
+ if (block != null)
|
||||||
|
+ {
|
||||||
|
+ var5 = block.getBedDirection(worldObj, par1, par2, par3);
|
||||||
|
+ }
|
||||||
|
float var10 = 0.5F;
|
||||||
|
float var7 = 0.5F;
|
||||||
|
|
||||||
|
@@ -1334,11 +1392,12 @@
|
||||||
|
this.resetHeight();
|
||||||
|
ChunkCoordinates var4 = this.playerLocation;
|
||||||
|
ChunkCoordinates var5 = this.playerLocation;
|
||||||
|
-
|
||||||
|
- if (var4 != null && this.worldObj.getBlockId(var4.posX, var4.posY, var4.posZ) == Block.bed.blockID)
|
||||||
|
- {
|
||||||
|
- BlockBed.setBedOccupied(this.worldObj, var4.posX, var4.posY, var4.posZ, false);
|
||||||
|
- var5 = BlockBed.getNearestEmptyChunkCoordinates(this.worldObj, var4.posX, var4.posY, var4.posZ, 0);
|
||||||
|
+ Block block = (var4 == null ? null : Block.blocksList[worldObj.getBlockId(var4.posX, var4.posY, var4.posZ)]);
|
||||||
|
+
|
||||||
|
+ if (var4 != null && block != null && block.isBed(worldObj, var4.posX, var4.posY, var4.posZ, this))
|
||||||
|
+ {
|
||||||
|
+ block.setBedOccupied(this.worldObj, var4.posX, var4.posY, var4.posZ, this, false);
|
||||||
|
+ var5 = block.getBedSpawnPosition(worldObj, var4.posX, var4.posY, var4.posZ, this);
|
||||||
|
|
||||||
|
if (var5 == null)
|
||||||
|
{
|
||||||
|
@@ -1375,7 +1434,9 @@
|
||||||
|
*/
|
||||||
|
private boolean isInBed()
|
||||||
|
{
|
||||||
|
- return this.worldObj.getBlockId(this.playerLocation.posX, this.playerLocation.posY, this.playerLocation.posZ) == Block.bed.blockID;
|
||||||
|
+ ChunkCoordinates c = playerLocation;
|
||||||
|
+ int blockID = worldObj.getBlockId(c.posX, c.posY, c.posZ);
|
||||||
|
+ return Block.blocksList[blockID] != null && Block.blocksList[blockID].isBed(worldObj, c.posX, c.posY, c.posZ, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -1389,14 +1450,15 @@
|
||||||
|
var2.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4);
|
||||||
|
var2.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4);
|
||||||
|
var2.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4);
|
||||||
|
-
|
||||||
|
- if (par0World.getBlockId(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ) != Block.bed.blockID)
|
||||||
|
+ ChunkCoordinates c = par1ChunkCoordinates;
|
||||||
|
+ Block block = Block.blocksList[par0World.getBlockId(c.posX, c.posY, c.posZ)];
|
||||||
|
+ if (block == null || !block.isBed(par0World, c.posX, c.posY, c.posZ, null))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- ChunkCoordinates var3 = BlockBed.getNearestEmptyChunkCoordinates(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, 0);
|
||||||
|
+ ChunkCoordinates var3 = block.getBedSpawnPosition(par0World, c.posX, c.posY, c.posZ, null);
|
||||||
|
return var3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1408,8 +1470,11 @@
|
||||||
|
{
|
||||||
|
if (this.playerLocation != null)
|
||||||
|
{
|
||||||
|
- int var1 = this.worldObj.getBlockMetadata(this.playerLocation.posX, this.playerLocation.posY, this.playerLocation.posZ);
|
||||||
|
- int var2 = BlockBed.getDirection(var1);
|
||||||
|
+ int x = playerLocation.posX;
|
||||||
|
+ int y = playerLocation.posY;
|
||||||
|
+ int z = playerLocation.posZ;
|
||||||
|
+ Block block = Block.blocksList[worldObj.getBlockId(x, y, z)];
|
||||||
|
+ int var2 = (block == null ? 0 : block.getBedDirection(worldObj, x, y, z));
|
||||||
|
|
||||||
|
switch (var2)
|
||||||
|
{
|
||||||
|
@@ -1699,6 +1764,7 @@
|
||||||
|
return 101;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ var3 = par1ItemStack.getItem().getIconIndex(par1ItemStack, par2, this, itemInUse, itemInUseCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
return var3;
|
||||||
|
@@ -1919,4 +1985,50 @@
|
||||||
|
{
|
||||||
|
return this.theInventoryEnderChest;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Opens a Gui for the player.
|
||||||
|
+ *
|
||||||
|
+ * @param mod The mod associated with the gui
|
||||||
|
+ * @param ID The ID number for the Gui
|
||||||
|
+ * @param world The World
|
||||||
|
+ * @param x X Position
|
||||||
|
+ * @param y Y Position
|
||||||
|
+ * @param z Z Position
|
||||||
|
+ */
|
||||||
|
+ public void openGui(BaseMod mod, int ID, World world, int x, int y, int z)
|
||||||
|
+ {
|
||||||
|
+ if (this instanceof EntityPlayerSP)
|
||||||
|
+ {
|
||||||
|
+ IGuiHandler handler = MinecraftForge.getGuiHandler(mod, true);
|
||||||
|
+ if (handler != null)
|
||||||
|
+ {
|
||||||
|
+ GuiScreen screen = (GuiScreen)handler.getGuiElement(ID, this, world, x, y, z);
|
||||||
|
+ if (screen != null)
|
||||||
|
+ {
|
||||||
|
+ ModLoader.getMinecraftInstance().displayGuiScreen(screen);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ else if (this instanceof EntityPlayerMP)
|
||||||
|
+ {
|
||||||
|
+ EntityPlayerMP player = (EntityPlayerMP)this;
|
||||||
|
+ IGuiHandler handler = MinecraftForge.getGuiHandler(mod, false);
|
||||||
|
+
|
||||||
|
+ if (handler != null)
|
||||||
|
+ {
|
||||||
|
+ Container container = (Container)handler.getGuiElement(ID, player, world, x, y, z);
|
||||||
|
+ if (container != null)
|
||||||
|
+ {
|
||||||
|
+ player.incrementWindowID();
|
||||||
|
+ player.closeInventory();
|
||||||
|
+ PacketOpenGUI pkt = new PacketOpenGUI(player.currentWindowId, MinecraftForge.getModID((NetworkMod)mod), ID, x, y, z);
|
||||||
|
+ player.serverForThisPlayer.sendPacket(pkt.getPacket());
|
||||||
|
+ craftingInventory = container;
|
||||||
|
+ craftingInventory.windowId = player.currentWindowId;
|
||||||
|
+ craftingInventory.addCraftingToCrafters(player);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
- for (var15 = 0; var15 <= 1; ++var15)
|
- for (var15 = 0; var15 <= 1; ++var15)
|
||||||
+ this.loadTexture(Item.itemsList[var10.itemID].getTextureFile());
|
+ this.loadTexture(Item.itemsList[var10.itemID].getTextureFile());
|
||||||
+
|
+
|
||||||
+ for (var15 = 0; var15 <= var10.getItem().getRenderPasses(var10.getItemDamage(); ++var15)
|
+ for (var15 = 0; var15 <= var10.getItem().getRenderPasses(var10.getItemDamage()); ++var15)
|
||||||
{
|
{
|
||||||
+ this.random.setSeed(187L); //Fixes Vanilla bug where layers would not render aligns properly.
|
+ this.random.setSeed(187L); //Fixes Vanilla bug where layers would not render aligns properly.
|
||||||
var16 = var10.getItem().getIconFromDamageForRenderPass(var10.getItemDamage(), var15);
|
var16 = var10.getItem().getIconFromDamageForRenderPass(var10.getItemDamage(), var15);
|
||||||
|
|
Loading…
Reference in a new issue