Rework canSilkHarvest hook to try and honor vanilla overrides, should close #391
This commit is contained in:
parent
fb87773c3a
commit
704f879320
1 changed files with 20 additions and 6 deletions
|
@ -141,7 +141,22 @@
|
||||||
{
|
{
|
||||||
ItemStack var8 = this.createStackedBlock(par6);
|
ItemStack var8 = this.createStackedBlock(par6);
|
||||||
|
|
||||||
@@ -1364,4 +1380,840 @@
|
@@ -1097,12 +1113,13 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ private int silk_check_meta = -1; //Dirty hack to stop us from needing to special case the silk check hook.
|
||||||
|
/**
|
||||||
|
* Return true if a player with Silk Touch can harvest this block directly, and not its normal drops.
|
||||||
|
*/
|
||||||
|
protected boolean canSilkHarvest()
|
||||||
|
{
|
||||||
|
- return this.renderAsNormalBlock() && !this.isBlockContainer;
|
||||||
|
+ return this.renderAsNormalBlock() && !this.hasTileEntity(silk_check_meta);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -1364,4 +1381,839 @@
|
||||||
canBlockGrass[0] = true;
|
canBlockGrass[0] = true;
|
||||||
StatList.initBreakableStats();
|
StatList.initBreakableStats();
|
||||||
}
|
}
|
||||||
|
@ -493,11 +508,10 @@
|
||||||
+ */
|
+ */
|
||||||
+ public boolean canSilkHarvest(World world, EntityPlayer player, int x, int y, int z, int metadata)
|
+ public boolean canSilkHarvest(World world, EntityPlayer player, int x, int y, int z, int metadata)
|
||||||
+ {
|
+ {
|
||||||
+ if (this instanceof BlockGlass || this instanceof BlockEnderChest)
|
+ silk_check_meta = metadata;
|
||||||
+ {
|
+ boolean ret = this.canSilkHarvest();
|
||||||
+ return true;
|
+ silk_check_meta = 0;
|
||||||
+ }
|
+ return ret;
|
||||||
+ return renderAsNormalBlock() && !hasTileEntity(metadata);
|
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ /**
|
+ /**
|
||||||
|
|
Loading…
Reference in a new issue