Swapped from Set to List to prevent Set from removing "duplicate" patterns.
This commit is contained in:
Vendored
+8
-7
@@ -62,7 +62,6 @@ import com.google.common.collect.HashMultimap;
|
|||||||
import com.google.common.collect.ImmutableCollection;
|
import com.google.common.collect.ImmutableCollection;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.ImmutableSortedSet;
|
|
||||||
import com.google.common.collect.SetMultimap;
|
import com.google.common.collect.SetMultimap;
|
||||||
|
|
||||||
public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper, ICellProvider, IMEInventoryHandler
|
public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper, ICellProvider, IMEInventoryHandler
|
||||||
@@ -78,7 +77,7 @@ public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper
|
|||||||
IEnergyGrid eg;
|
IEnergyGrid eg;
|
||||||
|
|
||||||
HashMap<ICraftingPatternDetails, List<ICraftingMedium>> craftingMethods = new HashMap();
|
HashMap<ICraftingPatternDetails, List<ICraftingMedium>> craftingMethods = new HashMap();
|
||||||
HashMap<IAEItemStack, ImmutableSet<ICraftingPatternDetails>> craftableItems = new HashMap();
|
HashMap<IAEItemStack, ImmutableList<ICraftingPatternDetails>> craftableItems = new HashMap();
|
||||||
HashSet<IAEItemStack> emitableItems = new HashSet();
|
HashSet<IAEItemStack> emitableItems = new HashSet();
|
||||||
HashMap<String, CraftingLinkNexus> links = new HashMap();
|
HashMap<String, CraftingLinkNexus> links = new HashMap();
|
||||||
|
|
||||||
@@ -92,7 +91,8 @@ public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper
|
|||||||
final Iterator<CraftingCPUCluster> i;
|
final Iterator<CraftingCPUCluster> i;
|
||||||
CraftingCPUCluster c = null;
|
CraftingCPUCluster c = null;
|
||||||
|
|
||||||
public ActiveCpuIterator(Collection<CraftingCPUCluster> o) {
|
public ActiveCpuIterator(Collection<CraftingCPUCluster> o)
|
||||||
|
{
|
||||||
i = o.iterator();
|
i = o.iterator();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +135,8 @@ public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper
|
|||||||
return ImmutableSet.copyOf( new ActiveCpuIterator( cpuClusters ) );
|
return ImmutableSet.copyOf( new ActiveCpuIterator( cpuClusters ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
public CraftingGridCache(IGrid g) {
|
public CraftingGridCache(IGrid g)
|
||||||
|
{
|
||||||
grid = g;
|
grid = g;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -287,7 +288,7 @@ public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper
|
|||||||
|
|
||||||
private void updatePatterns()
|
private void updatePatterns()
|
||||||
{
|
{
|
||||||
HashMap<IAEItemStack, ImmutableSet<ICraftingPatternDetails>> oldItems = craftableItems;
|
HashMap<IAEItemStack, ImmutableList<ICraftingPatternDetails>> oldItems = craftableItems;
|
||||||
|
|
||||||
// erase list.
|
// erase list.
|
||||||
craftingMethods.clear();
|
craftingMethods.clear();
|
||||||
@@ -323,7 +324,7 @@ public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper
|
|||||||
|
|
||||||
// make them immutable
|
// make them immutable
|
||||||
for (Entry<IAEItemStack, Set<ICraftingPatternDetails>> e : tmpCraft.entrySet())
|
for (Entry<IAEItemStack, Set<ICraftingPatternDetails>> e : tmpCraft.entrySet())
|
||||||
craftableItems.put( e.getKey(), ImmutableSortedSet.copyOf( e.getValue() ) );
|
craftableItems.put( e.getKey(), ImmutableList.copyOf( e.getValue() ) );
|
||||||
|
|
||||||
sg.postAlterationOfStoredItems( StorageChannel.ITEMS, craftableItems.keySet(), new BaseActionSource() );
|
sg.postAlterationOfStoredItems( StorageChannel.ITEMS, craftableItems.keySet(), new BaseActionSource() );
|
||||||
}
|
}
|
||||||
@@ -481,7 +482,7 @@ public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper
|
|||||||
@Override
|
@Override
|
||||||
public ImmutableCollection<ICraftingPatternDetails> getCraftingFor(IAEItemStack whatToCraft, ICraftingPatternDetails details, int slotIndex, World world)
|
public ImmutableCollection<ICraftingPatternDetails> getCraftingFor(IAEItemStack whatToCraft, ICraftingPatternDetails details, int slotIndex, World world)
|
||||||
{
|
{
|
||||||
ImmutableSet<ICraftingPatternDetails> res = craftableItems.get( whatToCraft );
|
ImmutableList<ICraftingPatternDetails> res = craftableItems.get( whatToCraft );
|
||||||
|
|
||||||
if ( res == null )
|
if ( res == null )
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user