|
|
|
@ -175,6 +175,55 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/BlockCont
|
|
|
|
|
public void playBlock(World world, int i, int j, int k, int l, int i1)
|
|
|
|
|
{
|
|
|
|
|
super.playBlock(world, i, j, k, l, i1);
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/BlockCrops.java ../src_work/minecraft/net/minecraft/src/BlockCrops.java
|
|
|
|
|
--- ../src_base/minecraft/net/minecraft/src/BlockCrops.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/BlockCrops.java 2011-10-02 03:22:32.000000000 -0400
|
|
|
|
|
@@ -5,6 +5,7 @@
|
|
|
|
|
package net.minecraft.src;
|
|
|
|
|
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
|
|
|
|
|
// Referenced classes of package net.minecraft.src:
|
|
|
|
|
// BlockFlower, Block, World, EntityItem,
|
|
|
|
|
@@ -108,27 +109,16 @@
|
|
|
|
|
return 6;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
- public void dropBlockAsItemWithChance(World world, int i, int j, int k, int l, float f)
|
|
|
|
|
- {
|
|
|
|
|
- super.dropBlockAsItemWithChance(world, i, j, k, l, f);
|
|
|
|
|
- if(world.multiplayerWorld)
|
|
|
|
|
- {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- for(int i1 = 0; i1 < 3; i1++)
|
|
|
|
|
- {
|
|
|
|
|
- if(world.rand.nextInt(15) <= l)
|
|
|
|
|
- {
|
|
|
|
|
- float f1 = 0.7F;
|
|
|
|
|
- float f2 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
|
|
|
|
|
- float f3 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
|
|
|
|
|
- float f4 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
|
|
|
|
|
- EntityItem entityitem = new EntityItem(world, (float)i + f2, (float)j + f3, (float)k + f4, new ItemStack(Item.seeds));
|
|
|
|
|
- entityitem.delayBeforeCanPickup = 10;
|
|
|
|
|
- world.entityJoinedWorld(entityitem);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
+ public ArrayList<ItemStack> getBlockDropped(World world,
|
|
|
|
|
+ int i, int j, int k, int md) {
|
|
|
|
|
+ ArrayList<ItemStack> tr=new ArrayList<ItemStack>();
|
|
|
|
|
+ if(md==7) tr.add(new ItemStack(Item.wheat));
|
|
|
|
|
+
|
|
|
|
|
+ for(int n=0; n<3; n++) {
|
|
|
|
|
+ if(world.rand.nextInt(15) <= md)
|
|
|
|
|
+ tr.add(new ItemStack(Item.seeds));
|
|
|
|
|
+ }
|
|
|
|
|
+ return tr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int idDropped(int i, Random random)
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/BlockDoor.java ../src_work/minecraft/net/minecraft/src/BlockDoor.java
|
|
|
|
|
--- ../src_base/minecraft/net/minecraft/src/BlockDoor.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/BlockDoor.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
@ -198,7 +247,7 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/BlockDoor
|
|
|
|
|
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/Block.java ../src_work/minecraft/net/minecraft/src/Block.java
|
|
|
|
|
--- ../src_base/minecraft/net/minecraft/src/Block.java 2011-09-26 15:46:44.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/Block.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/Block.java 2011-10-02 03:06:23.000000000 -0400
|
|
|
|
|
@@ -4,6 +4,7 @@
|
|
|
|
|
|
|
|
|
|
package net.minecraft.src;
|
|
|
|
@ -224,7 +273,7 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/Block.jav
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
|
|
|
|
|
@@ -278,24 +281,24 @@
|
|
|
|
|
@@ -278,24 +281,40 @@
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -257,19 +306,50 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/Block.jav
|
|
|
|
|
- return entityplayer.getCurrentPlayerStrVsBlock(this) / blockHardness / 30F;
|
|
|
|
|
- }
|
|
|
|
|
+ return blockStrength(entityplayer,0);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /* FORGE: This function returns the complete list of drops for a block.
|
|
|
|
|
+ */
|
|
|
|
|
+ public ArrayList<ItemStack> getBlockDropped(World world,
|
|
|
|
|
+ int i, int j, int k, int md) {
|
|
|
|
|
+ ArrayList<ItemStack> tr=new ArrayList<ItemStack>();
|
|
|
|
|
+
|
|
|
|
|
+ int q=quantityDropped(md,world.rand);
|
|
|
|
|
+ for(int n=0; n<q; n++) {
|
|
|
|
|
+ int id=idDropped(md, world.rand);
|
|
|
|
|
+ if(id>0) {
|
|
|
|
|
+ tr.add(new ItemStack(id,1,damageDropped(md)));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return tr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public final void dropBlockAsItem(World world, int i, int j, int k, int l)
|
|
|
|
|
@@ -309,7 +312,7 @@
|
|
|
|
|
@@ -309,20 +328,12 @@
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
- int i1 = quantityDropped(world.rand);
|
|
|
|
|
+ int i1 = quantityDropped(l,world.rand);
|
|
|
|
|
for(int j1 = 0; j1 < i1; j1++)
|
|
|
|
|
{
|
|
|
|
|
- for(int j1 = 0; j1 < i1; j1++)
|
|
|
|
|
- {
|
|
|
|
|
+ ArrayList<ItemStack> ar=getBlockDropped(world,i,j,k,l);
|
|
|
|
|
+ for(ItemStack ist : ar) {
|
|
|
|
|
if(world.rand.nextFloat() > f)
|
|
|
|
|
@@ -618,6 +621,86 @@
|
|
|
|
|
- {
|
|
|
|
|
continue;
|
|
|
|
|
- }
|
|
|
|
|
- int k1 = idDropped(l, world.rand);
|
|
|
|
|
- if(k1 > 0)
|
|
|
|
|
- {
|
|
|
|
|
- dropBlockAsItem_do(world, i, j, k, new ItemStack(k1, 1, damageDropped(l)));
|
|
|
|
|
- }
|
|
|
|
|
+ dropBlockAsItem_do(world, i, j, k, ist);
|
|
|
|
|
}
|
|
|
|
|
-
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void dropBlockAsItem_do(World world, int i, int j, int k, ItemStack itemstack)
|
|
|
|
|
@@ -618,6 +629,86 @@
|
|
|
|
|
return iblockaccess.isBlockNormalCube(i, j, k) ? 0.2F : 1.0F;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -693,6 +773,45 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/BlockReds
|
|
|
|
|
if(Block.blocksList[i1].canProvidePower())
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/BlockTallGrass.java ../src_work/minecraft/net/minecraft/src/BlockTallGrass.java
|
|
|
|
|
--- ../src_base/minecraft/net/minecraft/src/BlockTallGrass.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/BlockTallGrass.java 2011-10-02 03:45:39.000000000 -0400
|
|
|
|
|
@@ -4,7 +4,10 @@
|
|
|
|
|
|
|
|
|
|
package net.minecraft.src;
|
|
|
|
|
|
|
|
|
|
+import net.minecraft.src.forge.ForgeHooks;
|
|
|
|
|
+
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
|
|
|
|
|
// Referenced classes of package net.minecraft.src:
|
|
|
|
|
// BlockFlower, ColorizerGrass, ColorizerFoliage, IBlockAccess,
|
|
|
|
|
@@ -79,13 +82,17 @@
|
|
|
|
|
|
|
|
|
|
public int idDropped(int i, Random random)
|
|
|
|
|
{
|
|
|
|
|
- if(random.nextInt(8) == 0)
|
|
|
|
|
- {
|
|
|
|
|
- return Item.seeds.shiftedIndex;
|
|
|
|
|
- } else
|
|
|
|
|
- {
|
|
|
|
|
- return -1;
|
|
|
|
|
- }
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public ArrayList<ItemStack> getBlockDropped(World world,
|
|
|
|
|
+ int i, int j, int k, int md) {
|
|
|
|
|
+ ArrayList<ItemStack> tr=new ArrayList<ItemStack>();
|
|
|
|
|
+ if(world.rand.nextInt(8)!=0)
|
|
|
|
|
+ return tr;
|
|
|
|
|
+ ItemStack ist=ForgeHooks.getGrassSeed(world);
|
|
|
|
|
+ if(ist!=null) tr.add(ist);
|
|
|
|
|
+ return tr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void harvestBlock(World world, EntityPlayer entityplayer, int i, int j, int k, int l)
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/BlockTorch.java ../src_work/minecraft/net/minecraft/src/BlockTorch.java
|
|
|
|
|
--- ../src_base/minecraft/net/minecraft/src/BlockTorch.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/BlockTorch.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
@ -1586,8 +1705,16 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemBucke
|
|
|
|
|
world.setBlockWithNotify(i, j, k, 0);
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemDye.java ../src_work/minecraft/net/minecraft/src/ItemDye.java
|
|
|
|
|
--- ../src_base/minecraft/net/minecraft/src/ItemDye.java 2011-09-26 15:46:44.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/ItemDye.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
|
@@ -35,7 +35,7 @@
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/ItemDye.java 2011-10-02 01:36:25.000000000 -0400
|
|
|
|
|
@@ -3,6 +3,7 @@
|
|
|
|
|
// Decompiler options: packimports(3) braces deadcode
|
|
|
|
|
|
|
|
|
|
package net.minecraft.src;
|
|
|
|
|
+import net.minecraft.src.forge.ForgeHooks;
|
|
|
|
|
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
|
|
|
|
|
@@ -35,13 +36,18 @@
|
|
|
|
|
|
|
|
|
|
public boolean onItemUse(ItemStack itemstack, EntityPlayer entityplayer, World world, int i, int j, int k, int l)
|
|
|
|
|
{
|
|
|
|
@ -1596,6 +1723,32 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemDye.j
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if(itemstack.getItemDamage() == 15)
|
|
|
|
|
{
|
|
|
|
|
int i1 = world.getBlockId(i, j, k);
|
|
|
|
|
+ if(ForgeHooks.onUseBonemeal(world,i1,i,j,k)) {
|
|
|
|
|
+ if(!world.multiplayerWorld)
|
|
|
|
|
+ itemstack.stackSize--;
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
if(i1 == Block.sapling.blockID)
|
|
|
|
|
{
|
|
|
|
|
if(!world.multiplayerWorld)
|
|
|
|
|
@@ -108,13 +114,7 @@
|
|
|
|
|
world.setBlockAndMetadataWithNotify(k1, l1, i2, Block.tallGrass.blockID, 1);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
- if(itemRand.nextInt(3) != 0)
|
|
|
|
|
- {
|
|
|
|
|
- world.setBlockWithNotify(k1, l1, i2, Block.plantYellow.blockID);
|
|
|
|
|
- } else
|
|
|
|
|
- {
|
|
|
|
|
- world.setBlockWithNotify(k1, l1, i2, Block.plantRed.blockID);
|
|
|
|
|
- }
|
|
|
|
|
+ ForgeHooks.plantGrassPlant(world,k1,l1,i2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemFlintAndSteel.java ../src_work/minecraft/net/minecraft/src/ItemFlintAndSteel.java
|
|
|
|
|
--- ../src_base/minecraft/net/minecraft/src/ItemFlintAndSteel.java 2011-09-26 15:46:44.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/ItemFlintAndSteel.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
@ -2136,7 +2289,7 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/RenderIte
|
|
|
|
|
float f = (float)(k1 >> 16 & 0xff) / 255F;
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/RenderPlayer.java ../src_work/minecraft/net/minecraft/src/RenderPlayer.java
|
|
|
|
|
--- ../src_base/minecraft/net/minecraft/src/RenderPlayer.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/RenderPlayer.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/RenderPlayer.java 2011-10-02 04:49:13.000000000 -0400
|
|
|
|
|
@@ -4,6 +4,7 @@
|
|
|
|
|
|
|
|
|
|
package net.minecraft.src;
|
|
|
|
@ -2152,7 +2305,7 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/RenderPla
|
|
|
|
|
- loadTexture((new StringBuilder()).append("/armor/").append(armorFilenamePrefix[itemarmor.renderIndex]).append("_").append(i != 2 ? 1 : 2).append(".png").toString());
|
|
|
|
|
+ if ( item instanceof IArmorTextureProvider )
|
|
|
|
|
+ {
|
|
|
|
|
+ loadTexture( ((IArmorTextureProvider)item).getArmorTextureFile() );
|
|
|
|
|
+ loadTexture( ((IArmorTextureProvider)item).getArmorTextureFile(itemstack) );
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
@ -2371,8 +2524,42 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/Tessellat
|
|
|
|
|
}
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/TileEntityFurnace.java ../src_work/minecraft/net/minecraft/src/TileEntityFurnace.java
|
|
|
|
|
--- ../src_base/minecraft/net/minecraft/src/TileEntityFurnace.java 2011-09-26 15:46:44.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/TileEntityFurnace.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
|
@@ -196,7 +196,7 @@
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/TileEntityFurnace.java 2011-10-02 04:28:11.000000000 -0400
|
|
|
|
|
@@ -4,6 +4,7 @@
|
|
|
|
|
|
|
|
|
|
package net.minecraft.src;
|
|
|
|
|
|
|
|
|
|
+import net.minecraft.src.forge.ISidedInventory;
|
|
|
|
|
|
|
|
|
|
// Referenced classes of package net.minecraft.src:
|
|
|
|
|
// TileEntity, IInventory, ItemStack, NBTTagCompound,
|
|
|
|
|
@@ -12,7 +13,7 @@
|
|
|
|
|
// EntityPlayer
|
|
|
|
|
|
|
|
|
|
public class TileEntityFurnace extends TileEntity
|
|
|
|
|
- implements IInventory
|
|
|
|
|
+ implements IInventory, ISidedInventory
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
public TileEntityFurnace()
|
|
|
|
|
@@ -28,6 +29,16 @@
|
|
|
|
|
return furnaceItemStacks.length;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public int getStartInventorySide(int side) {
|
|
|
|
|
+ if(side==0) return 1;
|
|
|
|
|
+ if(side==1) return 0;
|
|
|
|
|
+ return 2;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public int getSizeInventorySide(int side) {
|
|
|
|
|
+ return 1;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
public ItemStack getStackInSlot(int i)
|
|
|
|
|
{
|
|
|
|
|
return furnaceItemStacks[i];
|
|
|
|
|
@@ -196,7 +207,7 @@
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
@ -2381,7 +2568,22 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/TileEntit
|
|
|
|
|
if(itemstack == null)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
@@ -222,12 +222,12 @@
|
|
|
|
|
@@ -209,11 +220,9 @@
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
- if(furnaceItemStacks[2].stackSize < getInventoryStackLimit() && furnaceItemStacks[2].stackSize < furnaceItemStacks[2].getMaxStackSize())
|
|
|
|
|
- {
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
- return furnaceItemStacks[2].stackSize < itemstack.getMaxStackSize();
|
|
|
|
|
+ int st=furnaceItemStacks[2].stackSize+itemstack.stackSize;
|
|
|
|
|
+ return (st<=getInventoryStackLimit() &&
|
|
|
|
|
+ st<=itemstack.getMaxStackSize());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void smeltItem()
|
|
|
|
|
@@ -222,14 +231,14 @@
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -2394,8 +2596,20 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/TileEntit
|
|
|
|
|
- if(furnaceItemStacks[2].itemID == itemstack.itemID)
|
|
|
|
|
+ if(furnaceItemStacks[2].isItemEqual(itemstack))
|
|
|
|
|
{
|
|
|
|
|
furnaceItemStacks[2].stackSize++;
|
|
|
|
|
- furnaceItemStacks[2].stackSize++;
|
|
|
|
|
+ furnaceItemStacks[2].stackSize+=itemstack.stackSize;
|
|
|
|
|
}
|
|
|
|
|
if(furnaceItemStacks[0].getItem().hasContainerItem())
|
|
|
|
|
{
|
|
|
|
|
@@ -244,7 +253,7 @@
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
- private int getItemBurnTime(ItemStack itemstack)
|
|
|
|
|
+ public static int getItemBurnTime(ItemStack itemstack)
|
|
|
|
|
{
|
|
|
|
|
if(itemstack == null)
|
|
|
|
|
{
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/TileEntity.java ../src_work/minecraft/net/minecraft/src/TileEntity.java
|
|
|
|
|
--- ../src_base/minecraft/net/minecraft/src/TileEntity.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft/net/minecraft/src/TileEntity.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
@ -2888,6 +3102,55 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Bl
|
|
|
|
|
public void playBlock(World world, int i, int j, int k, int l, int i1)
|
|
|
|
|
{
|
|
|
|
|
super.playBlock(world, i, j, k, l, i1);
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/BlockCrops.java ../src_work/minecraft_server/net/minecraft/src/BlockCrops.java
|
|
|
|
|
--- ../src_base/minecraft_server/net/minecraft/src/BlockCrops.java 2011-09-26 15:46:46.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/BlockCrops.java 2011-10-02 03:22:30.000000000 -0400
|
|
|
|
|
@@ -5,6 +5,7 @@
|
|
|
|
|
package net.minecraft.src;
|
|
|
|
|
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
|
|
|
|
|
// Referenced classes of package net.minecraft.src:
|
|
|
|
|
// BlockFlower, Block, World, EntityItem,
|
|
|
|
|
@@ -103,27 +104,16 @@
|
|
|
|
|
return blockIndexInTexture + j;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
- public void dropBlockAsItemWithChance(World world, int i, int j, int k, int l, float f)
|
|
|
|
|
- {
|
|
|
|
|
- super.dropBlockAsItemWithChance(world, i, j, k, l, f);
|
|
|
|
|
- if(world.singleplayerWorld)
|
|
|
|
|
- {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- for(int i1 = 0; i1 < 3; i1++)
|
|
|
|
|
- {
|
|
|
|
|
- if(world.rand.nextInt(15) <= l)
|
|
|
|
|
- {
|
|
|
|
|
- float f1 = 0.7F;
|
|
|
|
|
- float f2 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
|
|
|
|
|
- float f3 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
|
|
|
|
|
- float f4 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
|
|
|
|
|
- EntityItem entityitem = new EntityItem(world, (float)i + f2, (float)j + f3, (float)k + f4, new ItemStack(Item.seeds));
|
|
|
|
|
- entityitem.delayBeforeCanPickup = 10;
|
|
|
|
|
- world.entityJoinedWorld(entityitem);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
+ public ArrayList<ItemStack> getBlockDropped(World world,
|
|
|
|
|
+ int i, int j, int k, int md) {
|
|
|
|
|
+ ArrayList<ItemStack> tr=new ArrayList<ItemStack>();
|
|
|
|
|
+ if(md==7) tr.add(new ItemStack(Item.wheat));
|
|
|
|
|
+
|
|
|
|
|
+ for(int n=0; n<3; n++) {
|
|
|
|
|
+ if(world.rand.nextInt(15) <= md)
|
|
|
|
|
+ tr.add(new ItemStack(Item.seeds));
|
|
|
|
|
+ }
|
|
|
|
|
+ return tr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int idDropped(int i, Random random)
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/BlockDoor.java ../src_work/minecraft_server/net/minecraft/src/BlockDoor.java
|
|
|
|
|
--- ../src_base/minecraft_server/net/minecraft/src/BlockDoor.java 2011-09-26 15:46:46.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/BlockDoor.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
@ -2911,7 +3174,7 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Bl
|
|
|
|
|
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Block.java ../src_work/minecraft_server/net/minecraft/src/Block.java
|
|
|
|
|
--- ../src_base/minecraft_server/net/minecraft/src/Block.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/Block.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/Block.java 2011-10-02 03:06:26.000000000 -0400
|
|
|
|
|
@@ -3,6 +3,7 @@
|
|
|
|
|
// Decompiler options: packimports(3) braces deadcode
|
|
|
|
|
|
|
|
|
@ -2920,7 +3183,7 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Bl
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
@@ -218,24 +219,24 @@
|
|
|
|
|
@@ -218,24 +219,40 @@
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2953,19 +3216,50 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Bl
|
|
|
|
|
- return entityplayer.getCurrentPlayerStrVsBlock(this) / blockHardness / 30F;
|
|
|
|
|
- }
|
|
|
|
|
+ return blockStrength(entityplayer,0);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /* FORGE: This function returns the complete list of drops for a block.
|
|
|
|
|
+ */
|
|
|
|
|
+ public ArrayList<ItemStack> getBlockDropped(World world,
|
|
|
|
|
+ int i, int j, int k, int md) {
|
|
|
|
|
+ ArrayList<ItemStack> tr=new ArrayList<ItemStack>();
|
|
|
|
|
+
|
|
|
|
|
+ int q=quantityDropped(md,world.rand);
|
|
|
|
|
+ for(int n=0; n<q; n++) {
|
|
|
|
|
+ int id=idDropped(md, world.rand);
|
|
|
|
|
+ if(id>0) {
|
|
|
|
|
+ tr.add(new ItemStack(id,1,damageDropped(md)));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return tr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public final void dropBlockAsItem(World world, int i, int j, int k, int l)
|
|
|
|
|
@@ -249,7 +250,7 @@
|
|
|
|
|
@@ -249,20 +266,12 @@
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
- int i1 = quantityDropped(world.rand);
|
|
|
|
|
+ int i1 = quantityDropped(l,world.rand);
|
|
|
|
|
for(int j1 = 0; j1 < i1; j1++)
|
|
|
|
|
{
|
|
|
|
|
- for(int j1 = 0; j1 < i1; j1++)
|
|
|
|
|
- {
|
|
|
|
|
+ ArrayList<ItemStack> ar=getBlockDropped(world,i,j,k,l);
|
|
|
|
|
+ for(ItemStack ist : ar) {
|
|
|
|
|
if(world.rand.nextFloat() > f)
|
|
|
|
|
@@ -529,6 +530,86 @@
|
|
|
|
|
- {
|
|
|
|
|
continue;
|
|
|
|
|
- }
|
|
|
|
|
- int k1 = idDropped(l, world.rand);
|
|
|
|
|
- if(k1 > 0)
|
|
|
|
|
- {
|
|
|
|
|
- dropBlockAsItem_do(world, i, j, k, new ItemStack(k1, 1, damageDropped(l)));
|
|
|
|
|
- }
|
|
|
|
|
+ dropBlockAsItem_do(world, i, j, k, ist);
|
|
|
|
|
}
|
|
|
|
|
-
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void dropBlockAsItem_do(World world, int i, int j, int k, ItemStack itemstack)
|
|
|
|
|
@@ -529,6 +538,86 @@
|
|
|
|
|
return blockMaterial.getMaterialMobility();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -3389,6 +3683,44 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Bl
|
|
|
|
|
if(Block.blocksList[i1].canProvidePower())
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/BlockTallGrass.java ../src_work/minecraft_server/net/minecraft/src/BlockTallGrass.java
|
|
|
|
|
--- ../src_base/minecraft_server/net/minecraft/src/BlockTallGrass.java 2011-09-26 15:46:46.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/BlockTallGrass.java 2011-10-02 03:45:35.000000000 -0400
|
|
|
|
|
@@ -4,7 +4,10 @@
|
|
|
|
|
|
|
|
|
|
package net.minecraft.src;
|
|
|
|
|
|
|
|
|
|
+import net.minecraft.src.forge.ForgeHooks;
|
|
|
|
|
+
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
|
|
|
|
|
// Referenced classes of package net.minecraft.src:
|
|
|
|
|
// BlockFlower, Item, World, EntityPlayer,
|
|
|
|
|
@@ -41,13 +44,17 @@
|
|
|
|
|
|
|
|
|
|
public int idDropped(int i, Random random)
|
|
|
|
|
{
|
|
|
|
|
- if(random.nextInt(8) == 0)
|
|
|
|
|
- {
|
|
|
|
|
- return Item.seeds.shiftedIndex;
|
|
|
|
|
- } else
|
|
|
|
|
- {
|
|
|
|
|
return -1;
|
|
|
|
|
- }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public ArrayList<ItemStack> getBlockDropped(World world,
|
|
|
|
|
+ int i, int j, int k, int md) {
|
|
|
|
|
+ ArrayList<ItemStack> tr=new ArrayList<ItemStack>();
|
|
|
|
|
+ if(world.rand.nextInt(8)!=0)
|
|
|
|
|
+ return tr;
|
|
|
|
|
+ ItemStack ist=ForgeHooks.getGrassSeed(world);
|
|
|
|
|
+ if(ist!=null) tr.add(ist);
|
|
|
|
|
+ return tr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void harvestBlock(World world, EntityPlayer entityplayer, int i, int j, int k, int l)
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/BlockTorch.java ../src_work/minecraft_server/net/minecraft/src/BlockTorch.java
|
|
|
|
|
--- ../src_base/minecraft_server/net/minecraft/src/BlockTorch.java 2011-09-26 15:46:46.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/BlockTorch.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
@ -4045,8 +4377,16 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/It
|
|
|
|
|
return itemstack;
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/ItemDye.java ../src_work/minecraft_server/net/minecraft/src/ItemDye.java
|
|
|
|
|
--- ../src_base/minecraft_server/net/minecraft/src/ItemDye.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/ItemDye.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
|
@@ -29,7 +29,7 @@
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/ItemDye.java 2011-10-02 01:36:28.000000000 -0400
|
|
|
|
|
@@ -3,6 +3,7 @@
|
|
|
|
|
// Decompiler options: packimports(3) braces deadcode
|
|
|
|
|
|
|
|
|
|
package net.minecraft.src;
|
|
|
|
|
+import net.minecraft.src.forge.ForgeHooks;
|
|
|
|
|
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
|
|
|
|
|
@@ -29,13 +30,18 @@
|
|
|
|
|
|
|
|
|
|
public boolean onItemUse(ItemStack itemstack, EntityPlayer entityplayer, World world, int i, int j, int k, int l)
|
|
|
|
|
{
|
|
|
|
@ -4055,6 +4395,32 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/It
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if(itemstack.getItemDamage() == 15)
|
|
|
|
|
{
|
|
|
|
|
int i1 = world.getBlockId(i, j, k);
|
|
|
|
|
+ if(ForgeHooks.onUseBonemeal(world,i1,i,j,k)) {
|
|
|
|
|
+ if(!world.singleplayerWorld)
|
|
|
|
|
+ itemstack.stackSize--;
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
if(i1 == Block.sapling.blockID)
|
|
|
|
|
{
|
|
|
|
|
if(!world.singleplayerWorld)
|
|
|
|
|
@@ -102,13 +108,7 @@
|
|
|
|
|
world.setBlockAndMetadataWithNotify(k1, l1, i2, Block.tallGrass.blockID, 1);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
- if(itemRand.nextInt(3) != 0)
|
|
|
|
|
- {
|
|
|
|
|
- world.setBlockWithNotify(k1, l1, i2, Block.plantYellow.blockID);
|
|
|
|
|
- } else
|
|
|
|
|
- {
|
|
|
|
|
- world.setBlockWithNotify(k1, l1, i2, Block.plantRed.blockID);
|
|
|
|
|
- }
|
|
|
|
|
+ ForgeHooks.plantGrassPlant(world,k1,l1,i2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/ItemFlintAndSteel.java ../src_work/minecraft_server/net/minecraft/src/ItemFlintAndSteel.java
|
|
|
|
|
--- ../src_base/minecraft_server/net/minecraft/src/ItemFlintAndSteel.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/ItemFlintAndSteel.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
@ -4304,8 +4670,42 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Sl
|
|
|
|
|
ItemStack itemstack1 = craftMatrix.getStackInSlot(i);
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/TileEntityFurnace.java ../src_work/minecraft_server/net/minecraft/src/TileEntityFurnace.java
|
|
|
|
|
--- ../src_base/minecraft_server/net/minecraft/src/TileEntityFurnace.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/TileEntityFurnace.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
|
@@ -176,7 +176,7 @@
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/TileEntityFurnace.java 2011-10-02 04:22:11.000000000 -0400
|
|
|
|
|
@@ -4,6 +4,7 @@
|
|
|
|
|
|
|
|
|
|
package net.minecraft.src;
|
|
|
|
|
|
|
|
|
|
+import net.minecraft.src.forge.ISidedInventory;
|
|
|
|
|
|
|
|
|
|
// Referenced classes of package net.minecraft.src:
|
|
|
|
|
// TileEntity, IInventory, ItemStack, NBTTagCompound,
|
|
|
|
|
@@ -12,7 +13,7 @@
|
|
|
|
|
// EntityPlayer
|
|
|
|
|
|
|
|
|
|
public class TileEntityFurnace extends TileEntity
|
|
|
|
|
- implements IInventory
|
|
|
|
|
+ implements IInventory, ISidedInventory
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
public TileEntityFurnace()
|
|
|
|
|
@@ -28,6 +29,16 @@
|
|
|
|
|
return furnaceItemStacks.length;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public int getStartInventorySide(int side) {
|
|
|
|
|
+ if(side==0) return 1;
|
|
|
|
|
+ if(side==1) return 0;
|
|
|
|
|
+ return 2;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public int getSizeInventorySide(int side) {
|
|
|
|
|
+ return 1;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
public ItemStack getStackInSlot(int i)
|
|
|
|
|
{
|
|
|
|
|
return furnaceItemStacks[i];
|
|
|
|
|
@@ -176,7 +187,7 @@
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
@ -4314,7 +4714,24 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Ti
|
|
|
|
|
if(itemstack == null)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
@@ -204,12 +204,12 @@
|
|
|
|
|
@@ -189,13 +200,9 @@
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
- if(furnaceItemStacks[2].stackSize < getInventoryStackLimit() && furnaceItemStacks[2].stackSize < furnaceItemStacks[2].getMaxStackSize())
|
|
|
|
|
- {
|
|
|
|
|
- return true;
|
|
|
|
|
- } else
|
|
|
|
|
- {
|
|
|
|
|
- return furnaceItemStacks[2].stackSize < itemstack.getMaxStackSize();
|
|
|
|
|
- }
|
|
|
|
|
+ int st=furnaceItemStacks[2].stackSize+itemstack.stackSize;
|
|
|
|
|
+ return (st<=getInventoryStackLimit() &&
|
|
|
|
|
+ st<=itemstack.getMaxStackSize());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void smeltItem()
|
|
|
|
|
@@ -204,23 +211,29 @@
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -4326,9 +4743,29 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Ti
|
|
|
|
|
} else
|
|
|
|
|
- if(furnaceItemStacks[2].itemID == itemstack.itemID)
|
|
|
|
|
+ if(furnaceItemStacks[2].isItemEqual(itemstack))
|
|
|
|
|
+ {
|
|
|
|
|
+ furnaceItemStacks[2].stackSize+=itemstack.stackSize;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(furnaceItemStacks[0].getItem().hasContainerItem())
|
|
|
|
|
+ {
|
|
|
|
|
+ furnaceItemStacks[0] = new ItemStack(furnaceItemStacks[0].getItem().getContainerItem());
|
|
|
|
|
+ } else
|
|
|
|
|
{
|
|
|
|
|
furnaceItemStacks[2].stackSize++;
|
|
|
|
|
- furnaceItemStacks[2].stackSize++;
|
|
|
|
|
+ furnaceItemStacks[0].stackSize--;
|
|
|
|
|
}
|
|
|
|
|
- furnaceItemStacks[0].stackSize--;
|
|
|
|
|
if(furnaceItemStacks[0].stackSize <= 0)
|
|
|
|
|
{
|
|
|
|
|
furnaceItemStacks[0] = null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
- private int getItemBurnTime(ItemStack itemstack)
|
|
|
|
|
+ public static int getItemBurnTime(ItemStack itemstack)
|
|
|
|
|
{
|
|
|
|
|
if(itemstack == null)
|
|
|
|
|
{
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/TileEntity.java ../src_work/minecraft_server/net/minecraft/src/TileEntity.java
|
|
|
|
|
--- ../src_base/minecraft_server/net/minecraft/src/TileEntity.java 2011-09-26 15:46:46.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/TileEntity.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
@ -4348,7 +4785,7 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Ti
|
|
|
|
|
TileEntity tileentity = null;
|
|
|
|
|
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/World.java ../src_work/minecraft_server/net/minecraft/src/World.java
|
|
|
|
|
--- ../src_base/minecraft_server/net/minecraft/src/World.java 2011-09-26 15:46:45.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/World.java 2011-09-28 22:34:34.000000000 -0400
|
|
|
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/World.java 2011-10-01 20:06:23.000000000 -0400
|
|
|
|
|
@@ -183,7 +183,11 @@
|
|
|
|
|
|
|
|
|
|
public boolean isAirBlock(int i, int j, int k)
|
|
|
|
|