check if gregtech is loaded before checking for MetaTools
This commit is contained in:
@@ -267,7 +267,7 @@ public class PatternHelper implements ICraftingPatternDetails, Comparable<Patter
|
|||||||
this.testFrame.setInventorySlotContents( slotIndex, i );
|
this.testFrame.setInventorySlotContents( slotIndex, i );
|
||||||
|
|
||||||
// If we cannot substitute, the items must match exactly
|
// If we cannot substitute, the items must match exactly
|
||||||
if( ( !( i.getItem().isDamageable() || i.getItem() instanceof MetaTool ) && !canSubstitute ) && slotIndex < inputs.length )
|
if( ( !( i.getItem().isDamageable() || Platform.isModLoaded( "gregtech" ) && i.getItem() instanceof MetaTool ) && !canSubstitute ) && slotIndex < inputs.length )
|
||||||
{
|
{
|
||||||
if( !inputs[slotIndex].isSameType( i ) )
|
if( !inputs[slotIndex].isSameType( i ) )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -279,19 +279,21 @@ public final class AEItemStack extends AEStack<IAEItemStack> implements IAEItemS
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack getCachedItemStack( long stackSize ) {
|
public ItemStack getCachedItemStack( long stackSize )
|
||||||
if (this.cachedItemStack != null) {
|
{
|
||||||
ItemStack currentCached = this.cachedItemStack;
|
if( this.cachedItemStack != null )
|
||||||
this.cachedItemStack = null;
|
{
|
||||||
currentCached.setCount(Ints.saturatedCast(stackSize));
|
ItemStack currentCached = this.cachedItemStack;
|
||||||
return currentCached;
|
this.cachedItemStack = null;
|
||||||
}
|
currentCached.setCount( Ints.saturatedCast( stackSize ) );
|
||||||
|
return currentCached;
|
||||||
|
}
|
||||||
|
|
||||||
ItemStack itemStack = this.createItemStack();
|
ItemStack itemStack = this.createItemStack();
|
||||||
itemStack.setCount(Ints.saturatedCast(stackSize));
|
itemStack.setCount( Ints.saturatedCast( stackSize ) );
|
||||||
|
|
||||||
return itemStack;
|
return itemStack;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setCachedItemStack( ItemStack itemStack )
|
public void setCachedItemStack( ItemStack itemStack )
|
||||||
@@ -361,7 +363,7 @@ public final class AEItemStack extends AEStack<IAEItemStack> implements IAEItemS
|
|||||||
|
|
||||||
private boolean fuzzyItemStackComparison( ItemStack a, ItemStack b, FuzzyMode mode )
|
private boolean fuzzyItemStackComparison( ItemStack a, ItemStack b, FuzzyMode mode )
|
||||||
{
|
{
|
||||||
if( a.getItem() == b.getItem() && ( a.getItem().isDamageable() || a.getItem() instanceof MetaTool ) )
|
if( a.getItem() == b.getItem() && ( a.getItem().isDamageable() || Platform.isModLoaded( "gregtech" ) && a.getItem() instanceof MetaTool ) )
|
||||||
{
|
{
|
||||||
if( mode == FuzzyMode.IGNORE_ALL )
|
if( mode == FuzzyMode.IGNORE_ALL )
|
||||||
{
|
{
|
||||||
@@ -369,7 +371,7 @@ public final class AEItemStack extends AEStack<IAEItemStack> implements IAEItemS
|
|||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if( a.getItem() instanceof MetaTool )
|
else if( Platform.isModLoaded( "gregtech" ) && a.getItem() instanceof MetaTool )
|
||||||
{
|
{
|
||||||
return a.getItemDamage() == b.getItemDamage();
|
return a.getItemDamage() == b.getItemDamage();
|
||||||
}
|
}
|
||||||
@@ -380,7 +382,7 @@ public final class AEItemStack extends AEStack<IAEItemStack> implements IAEItemS
|
|||||||
{
|
{
|
||||||
return a.getItemDamage() > 1 == b.getItemDamage() > 1;
|
return a.getItemDamage() > 1 == b.getItemDamage() > 1;
|
||||||
}
|
}
|
||||||
else if( a.getItem() instanceof MetaTool )
|
else if( Platform.isModLoaded( "gregtech" ) && a.getItem() instanceof MetaTool )
|
||||||
{
|
{
|
||||||
return ( (MetaTool) a.getItem() ).getItemDamage( a ) == ( (MetaTool) b.getItem() ).getItemDamage( b );
|
return ( (MetaTool) a.getItem() ).getItemDamage( a ) == ( (MetaTool) b.getItem() ).getItemDamage( b );
|
||||||
}
|
}
|
||||||
@@ -394,7 +396,7 @@ public final class AEItemStack extends AEStack<IAEItemStack> implements IAEItemS
|
|||||||
percentDamageOfA = (float) a.getItemDamage() / a.getMaxDamage();
|
percentDamageOfA = (float) a.getItemDamage() / a.getMaxDamage();
|
||||||
percentDamageOfB = (float) b.getItemDamage() / b.getMaxDamage();
|
percentDamageOfB = (float) b.getItemDamage() / b.getMaxDamage();
|
||||||
}
|
}
|
||||||
else if( a.getItem() instanceof MetaTool )
|
else if( Platform.isModLoaded( "gregtech" ) && a.getItem() instanceof MetaTool )
|
||||||
{
|
{
|
||||||
percentDamageOfA = (float) ( (MetaTool) a.getItem() ).getItemDamage( a ) / ( (MetaTool) a.getItem() ).getMaxItemDamage( a );
|
percentDamageOfA = (float) ( (MetaTool) a.getItem() ).getItemDamage( a ) / ( (MetaTool) a.getItem() ).getMaxItemDamage( a );
|
||||||
percentDamageOfB = (float) ( (MetaTool) b.getItem() ).getItemDamage( b ) / ( (MetaTool) b.getItem() ).getMaxItemDamage( b );
|
percentDamageOfB = (float) ( (MetaTool) b.getItem() ).getItemDamage( b ) / ( (MetaTool) b.getItem() ).getMaxItemDamage( b );
|
||||||
|
|||||||
@@ -25,9 +25,7 @@ import java.util.Map;
|
|||||||
import appeng.util.Platform;
|
import appeng.util.Platform;
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
|
||||||
import gregtech.api.items.toolitem.ToolMetaItem;
|
|
||||||
import gregtech.common.items.MetaTool;
|
import gregtech.common.items.MetaTool;
|
||||||
import it.unimi.dsi.fastutil.objects.ObjectCollection;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import it.unimi.dsi.fastutil.objects.Object2ObjectAVLTreeMap;
|
import it.unimi.dsi.fastutil.objects.Object2ObjectAVLTreeMap;
|
||||||
@@ -167,22 +165,23 @@ class FuzzyItemVariantList extends ItemVariantList
|
|||||||
*/
|
*/
|
||||||
static ItemDamageBound makeLowerBound( final ItemStack stack, final FuzzyMode fuzzy )
|
static ItemDamageBound makeLowerBound( final ItemStack stack, final FuzzyMode fuzzy )
|
||||||
{
|
{
|
||||||
Preconditions.checkState( stack.getItem().isDamageable() || stack.getItem() instanceof MetaTool, "Item#isDamageable() has to be true" );
|
Preconditions.checkState( stack.getItem().isDamageable() || ( Platform.isModLoaded( "gregtech" ) && stack.getItem() instanceof MetaTool ), "Item#isDamageable() has to be true" );
|
||||||
|
|
||||||
int damage;
|
int damage;
|
||||||
|
int maxDamage;
|
||||||
|
if( Platform.isModLoaded( "gregtech" ) && stack.getItem() instanceof MetaTool )
|
||||||
|
{
|
||||||
|
maxDamage = ( (MetaTool) stack.getItem() ).getMaxItemDamage( stack );
|
||||||
|
damage = ( (MetaTool) stack.getItem() ).getItemDamage( stack );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
maxDamage = stack.getMaxDamage();
|
||||||
|
damage = stack.getItemDamage();
|
||||||
|
}
|
||||||
|
|
||||||
if( fuzzy == FuzzyMode.IGNORE_ALL )
|
if( fuzzy == FuzzyMode.IGNORE_ALL )
|
||||||
{
|
{
|
||||||
int maxDamage;
|
|
||||||
if( stack.getItem() instanceof MetaTool )
|
|
||||||
{
|
|
||||||
maxDamage = ( (MetaTool) stack.getItem() ).getMaxItemDamage( stack );
|
|
||||||
damage = ( (MetaTool) stack.getItem() ).getItemDamage( stack );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
maxDamage = stack.getMaxDamage();
|
|
||||||
damage = stack.getItemDamage();
|
|
||||||
}
|
|
||||||
if( maxDamage != 0 )
|
if( maxDamage != 0 )
|
||||||
{
|
{
|
||||||
damage = maxDamage;
|
damage = maxDamage;
|
||||||
@@ -190,8 +189,8 @@ class FuzzyItemVariantList extends ItemVariantList
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
final int breakpoint = fuzzy.calculateBreakPoint( stack.getItem().isDamageable() ? stack.getMaxDamage() : ( (MetaTool) stack.getItem() ).getMaxItemDamage( stack ) );
|
final int breakpoint = fuzzy.calculateBreakPoint( maxDamage );
|
||||||
damage = stack.getItem().isDamageable() ? stack.getItemDamage() : ( (MetaTool) stack.getItem() ).getItemDamage( stack ) <= breakpoint ? breakpoint : stack.getItem().isDamageable() ? stack.getMaxDamage() : ( (MetaTool) stack.getItem() ).getMaxItemDamage( stack );
|
damage = damage <= breakpoint ? breakpoint : maxDamage;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ItemDamageBound( damage );
|
return new ItemDamageBound( damage );
|
||||||
@@ -203,7 +202,7 @@ class FuzzyItemVariantList extends ItemVariantList
|
|||||||
*/
|
*/
|
||||||
static ItemDamageBound makeUpperBound( final ItemStack stack, final FuzzyMode fuzzy )
|
static ItemDamageBound makeUpperBound( final ItemStack stack, final FuzzyMode fuzzy )
|
||||||
{
|
{
|
||||||
Preconditions.checkState( stack.getItem().isDamageable() || stack.getItem() instanceof MetaTool, "Item#isDamageable() has to be true" );
|
Preconditions.checkState( stack.getItem().isDamageable() || ( Platform.isModLoaded( "gregtech" ) && stack.getItem() instanceof MetaTool ), "Item#isDamageable() has to be true" );
|
||||||
|
|
||||||
int damage;
|
int damage;
|
||||||
if( fuzzy == FuzzyMode.IGNORE_ALL )
|
if( fuzzy == FuzzyMode.IGNORE_ALL )
|
||||||
@@ -212,8 +211,20 @@ class FuzzyItemVariantList extends ItemVariantList
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
final int breakpoint = fuzzy.calculateBreakPoint( stack.getItem().isDamageable() ? stack.getMaxDamage() : ( (MetaTool) stack.getItem() ).getMaxItemDamage( stack ) );
|
int maxDamage;
|
||||||
damage = stack.getItem().isDamageable() ? stack.getItemDamage() : ( (MetaTool) stack.getItem() ).getItemDamage( stack ) <= breakpoint ? MIN_DAMAGE_VALUE : breakpoint;
|
if( Platform.isModLoaded( "gregtech" ) && stack.getItem() instanceof MetaTool )
|
||||||
|
{
|
||||||
|
maxDamage = ( (MetaTool) stack.getItem() ).getMaxItemDamage( stack );
|
||||||
|
damage = ( (MetaTool) stack.getItem() ).getItemDamage( stack );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
maxDamage = stack.getMaxDamage();
|
||||||
|
damage = stack.getItemDamage();
|
||||||
|
}
|
||||||
|
|
||||||
|
final int breakpoint = fuzzy.calculateBreakPoint( maxDamage );
|
||||||
|
damage = damage <= breakpoint ? MIN_DAMAGE_VALUE : breakpoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ItemDamageBound( damage );
|
return new ItemDamageBound( damage );
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ public final class ItemList implements IItemList<IAEItemStack>
|
|||||||
|
|
||||||
private ItemVariantList makeRecordMap( Item item )
|
private ItemVariantList makeRecordMap( Item item )
|
||||||
{
|
{
|
||||||
if( item.isDamageable() || item instanceof MetaTool )
|
if( item.isDamageable() || ( Platform.isModLoaded( "gregtech" ) && item instanceof MetaTool ) )
|
||||||
{
|
{
|
||||||
return new FuzzyItemVariantList();
|
return new FuzzyItemVariantList();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user