Fixed Bug: #0603 - Anvil Repair of Quartz Tools
This commit is contained in:
parent
c0c28e6681
commit
3ec4d8495e
7 changed files with 76 additions and 13 deletions
|
@ -3,14 +3,17 @@ package appeng.items.tools.quartz;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import net.minecraft.item.ItemAxe;
|
import net.minecraft.item.ItemAxe;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import appeng.core.features.AEFeature;
|
import appeng.core.features.AEFeature;
|
||||||
import appeng.core.features.AEFeatureHandler;
|
import appeng.core.features.AEFeatureHandler;
|
||||||
import appeng.core.features.IAEFeature;
|
import appeng.core.features.IAEFeature;
|
||||||
|
import appeng.util.Platform;
|
||||||
|
|
||||||
public class ToolQuartzAxe extends ItemAxe implements IAEFeature
|
public class ToolQuartzAxe extends ItemAxe implements IAEFeature
|
||||||
{
|
{
|
||||||
|
|
||||||
AEFeatureHandler feature;
|
final AEFeature type;
|
||||||
|
final AEFeatureHandler feature;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AEFeatureHandler feature()
|
public AEFeatureHandler feature()
|
||||||
|
@ -18,9 +21,14 @@ public class ToolQuartzAxe extends ItemAxe implements IAEFeature
|
||||||
return feature;
|
return feature;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getIsRepairable(ItemStack a, ItemStack b)
|
||||||
|
{
|
||||||
|
return Platform.canRepair( type, a, b );
|
||||||
|
}
|
||||||
|
|
||||||
public ToolQuartzAxe(AEFeature Type) {
|
public ToolQuartzAxe(AEFeature Type) {
|
||||||
super( ToolMaterial.IRON );
|
super( ToolMaterial.IRON );
|
||||||
feature = new AEFeatureHandler( EnumSet.of( Type, AEFeature.QuartzAxe ), this, Type.name() );
|
feature = new AEFeatureHandler( EnumSet.of( type = Type, AEFeature.QuartzAxe ), this, Type.name() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -17,13 +17,20 @@ import appeng.util.Platform;
|
||||||
public class ToolQuartzCuttingKnife extends AEBaseItem implements IGuiItem
|
public class ToolQuartzCuttingKnife extends AEBaseItem implements IGuiItem
|
||||||
{
|
{
|
||||||
|
|
||||||
public ToolQuartzCuttingKnife(AEFeature type) {
|
final AEFeature type;
|
||||||
super( ToolQuartzCuttingKnife.class, type.name() );
|
|
||||||
setfeature( EnumSet.of( type, AEFeature.QuartzKnife ) );
|
public ToolQuartzCuttingKnife(AEFeature Type) {
|
||||||
|
super( ToolQuartzCuttingKnife.class, Type.name() );
|
||||||
|
setfeature( EnumSet.of( type = Type, AEFeature.QuartzKnife ) );
|
||||||
setMaxDamage( 50 );
|
setMaxDamage( 50 );
|
||||||
setMaxStackSize( 1 );
|
setMaxStackSize( 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getIsRepairable(ItemStack a, ItemStack b)
|
||||||
|
{
|
||||||
|
return Platform.canRepair( type, a, b );
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isRepairable()
|
public boolean isRepairable()
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,14 +3,17 @@ package appeng.items.tools.quartz;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import net.minecraft.item.ItemHoe;
|
import net.minecraft.item.ItemHoe;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import appeng.core.features.AEFeature;
|
import appeng.core.features.AEFeature;
|
||||||
import appeng.core.features.AEFeatureHandler;
|
import appeng.core.features.AEFeatureHandler;
|
||||||
import appeng.core.features.IAEFeature;
|
import appeng.core.features.IAEFeature;
|
||||||
|
import appeng.util.Platform;
|
||||||
|
|
||||||
public class ToolQuartzHoe extends ItemHoe implements IAEFeature
|
public class ToolQuartzHoe extends ItemHoe implements IAEFeature
|
||||||
{
|
{
|
||||||
|
|
||||||
AEFeatureHandler feature;
|
final AEFeature type;
|
||||||
|
final AEFeatureHandler feature;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AEFeatureHandler feature()
|
public AEFeatureHandler feature()
|
||||||
|
@ -18,9 +21,14 @@ public class ToolQuartzHoe extends ItemHoe implements IAEFeature
|
||||||
return feature;
|
return feature;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getIsRepairable(ItemStack a, ItemStack b)
|
||||||
|
{
|
||||||
|
return Platform.canRepair( type, a, b );
|
||||||
|
}
|
||||||
|
|
||||||
public ToolQuartzHoe(AEFeature Type) {
|
public ToolQuartzHoe(AEFeature Type) {
|
||||||
super( ToolMaterial.IRON );
|
super( ToolMaterial.IRON );
|
||||||
feature = new AEFeatureHandler( EnumSet.of( Type, AEFeature.QuartzHoe ), this, Type.name() );
|
feature = new AEFeatureHandler( EnumSet.of( type = Type, AEFeature.QuartzHoe ), this, Type.name() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -3,14 +3,17 @@ package appeng.items.tools.quartz;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import net.minecraft.item.ItemPickaxe;
|
import net.minecraft.item.ItemPickaxe;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import appeng.core.features.AEFeature;
|
import appeng.core.features.AEFeature;
|
||||||
import appeng.core.features.AEFeatureHandler;
|
import appeng.core.features.AEFeatureHandler;
|
||||||
import appeng.core.features.IAEFeature;
|
import appeng.core.features.IAEFeature;
|
||||||
|
import appeng.util.Platform;
|
||||||
|
|
||||||
public class ToolQuartzPickaxe extends ItemPickaxe implements IAEFeature
|
public class ToolQuartzPickaxe extends ItemPickaxe implements IAEFeature
|
||||||
{
|
{
|
||||||
|
|
||||||
AEFeatureHandler feature;
|
final AEFeature type;
|
||||||
|
final AEFeatureHandler feature;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AEFeatureHandler feature()
|
public AEFeatureHandler feature()
|
||||||
|
@ -18,9 +21,14 @@ public class ToolQuartzPickaxe extends ItemPickaxe implements IAEFeature
|
||||||
return feature;
|
return feature;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getIsRepairable(ItemStack a, ItemStack b)
|
||||||
|
{
|
||||||
|
return Platform.canRepair( type, a, b );
|
||||||
|
}
|
||||||
|
|
||||||
public ToolQuartzPickaxe(AEFeature Type) {
|
public ToolQuartzPickaxe(AEFeature Type) {
|
||||||
super( ToolMaterial.IRON );
|
super( ToolMaterial.IRON );
|
||||||
feature = new AEFeatureHandler( EnumSet.of( Type, AEFeature.QuartzPickaxe ), this, Type.name() );
|
feature = new AEFeatureHandler( EnumSet.of( type = Type, AEFeature.QuartzPickaxe ), this, Type.name() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -3,14 +3,17 @@ package appeng.items.tools.quartz;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import net.minecraft.item.ItemSpade;
|
import net.minecraft.item.ItemSpade;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import appeng.core.features.AEFeature;
|
import appeng.core.features.AEFeature;
|
||||||
import appeng.core.features.AEFeatureHandler;
|
import appeng.core.features.AEFeatureHandler;
|
||||||
import appeng.core.features.IAEFeature;
|
import appeng.core.features.IAEFeature;
|
||||||
|
import appeng.util.Platform;
|
||||||
|
|
||||||
public class ToolQuartzSpade extends ItemSpade implements IAEFeature
|
public class ToolQuartzSpade extends ItemSpade implements IAEFeature
|
||||||
{
|
{
|
||||||
|
|
||||||
AEFeatureHandler feature;
|
final AEFeature type;
|
||||||
|
final AEFeatureHandler feature;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AEFeatureHandler feature()
|
public AEFeatureHandler feature()
|
||||||
|
@ -18,9 +21,14 @@ public class ToolQuartzSpade extends ItemSpade implements IAEFeature
|
||||||
return feature;
|
return feature;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getIsRepairable(ItemStack a, ItemStack b)
|
||||||
|
{
|
||||||
|
return Platform.canRepair( type, a, b );
|
||||||
|
}
|
||||||
|
|
||||||
public ToolQuartzSpade(AEFeature Type) {
|
public ToolQuartzSpade(AEFeature Type) {
|
||||||
super( ToolMaterial.IRON );
|
super( ToolMaterial.IRON );
|
||||||
feature = new AEFeatureHandler( EnumSet.of( Type, AEFeature.QuartzSpade ), this, Type.name() );
|
feature = new AEFeatureHandler( EnumSet.of( type = Type, AEFeature.QuartzSpade ), this, Type.name() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -2,15 +2,18 @@ package appeng.items.tools.quartz;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.ItemSword;
|
import net.minecraft.item.ItemSword;
|
||||||
import appeng.core.features.AEFeature;
|
import appeng.core.features.AEFeature;
|
||||||
import appeng.core.features.AEFeatureHandler;
|
import appeng.core.features.AEFeatureHandler;
|
||||||
import appeng.core.features.IAEFeature;
|
import appeng.core.features.IAEFeature;
|
||||||
|
import appeng.util.Platform;
|
||||||
|
|
||||||
public class ToolQuartzSword extends ItemSword implements IAEFeature
|
public class ToolQuartzSword extends ItemSword implements IAEFeature
|
||||||
{
|
{
|
||||||
|
|
||||||
AEFeatureHandler feature;
|
final AEFeature type;
|
||||||
|
final AEFeatureHandler feature;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AEFeatureHandler feature()
|
public AEFeatureHandler feature()
|
||||||
|
@ -18,9 +21,14 @@ public class ToolQuartzSword extends ItemSword implements IAEFeature
|
||||||
return feature;
|
return feature;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getIsRepairable(ItemStack a, ItemStack b)
|
||||||
|
{
|
||||||
|
return Platform.canRepair( type, a, b );
|
||||||
|
}
|
||||||
|
|
||||||
public ToolQuartzSword(AEFeature Type) {
|
public ToolQuartzSword(AEFeature Type) {
|
||||||
super( ToolMaterial.IRON );
|
super( ToolMaterial.IRON );
|
||||||
feature = new AEFeatureHandler( EnumSet.of( Type, AEFeature.QuartzSword ), this, Type.name() );
|
feature = new AEFeatureHandler( EnumSet.of( type = Type, AEFeature.QuartzSword ), this, Type.name() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -19,6 +19,7 @@ import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.inventory.ISidedInventory;
|
import net.minecraft.inventory.ISidedInventory;
|
||||||
import net.minecraft.inventory.InventoryCrafting;
|
import net.minecraft.inventory.InventoryCrafting;
|
||||||
|
@ -83,6 +84,7 @@ import appeng.api.util.AEItemDefinition;
|
||||||
import appeng.core.AEConfig;
|
import appeng.core.AEConfig;
|
||||||
import appeng.core.AELog;
|
import appeng.core.AELog;
|
||||||
import appeng.core.AppEng;
|
import appeng.core.AppEng;
|
||||||
|
import appeng.core.features.AEFeature;
|
||||||
import appeng.core.sync.GuiBridge;
|
import appeng.core.sync.GuiBridge;
|
||||||
import appeng.hooks.TickHandler;
|
import appeng.hooks.TickHandler;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
|
@ -1680,4 +1682,18 @@ public class Platform
|
||||||
TickHandler.instance.addCallable( worldObj, new BlockUpdate( worldObj, xCoord, yCoord, zCoord ) );
|
TickHandler.instance.addCallable( worldObj, new BlockUpdate( worldObj, xCoord, yCoord, zCoord ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean canRepair(AEFeature type, ItemStack a, ItemStack b)
|
||||||
|
{
|
||||||
|
if ( b == null || a == null )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if ( type == AEFeature.CertusQuartzTools )
|
||||||
|
return AEApi.instance().materials().materialCertusQuartzCrystal.sameAsStack( b );
|
||||||
|
|
||||||
|
if ( type == AEFeature.NetherQuartzTools )
|
||||||
|
return Items.quartz == b.getItem();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue