fix off-by-one voiding patterns when removing expansion cards

This commit is contained in:
Salomão
2021-06-26 10:25:47 -03:00
parent 6de48f8541
commit 3582582e3f
@@ -608,14 +608,14 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn
List<ItemStack> dropList = new ArrayList<>(); List<ItemStack> dropList = new ArrayList<>();
for( int invSlot = 0; invSlot < patterns.getSlots(); invSlot++ ) for( int invSlot = 0; invSlot < patterns.getSlots(); invSlot++ )
{ {
if( invSlot >= 9 + ( this.getInstalledUpgrades( Upgrades.PATTERN_EXPANSION ) ) * 9 ) if( invSlot > 8 + this.getInstalledUpgrades( Upgrades.PATTERN_EXPANSION ) * 9 )
{ {
ItemStack is = patterns.getStackInSlot( invSlot ); ItemStack is = patterns.getStackInSlot( invSlot );
if( is.isEmpty() ) continue; if( is.isEmpty() ) continue;
dropList.add( patterns.extractItem( invSlot, Integer.MAX_VALUE, false ) ); dropList.add( patterns.extractItem( invSlot, Integer.MAX_VALUE, false ) );
} }
} }
if( dropList.size() > 1 ) if( dropList.size() > 0 )
{ {
World world = this.getLocation().getWorld(); World world = this.getLocation().getWorld();
BlockPos blockPos = this.getLocation().getPos(); BlockPos blockPos = this.getLocation().getPos();