Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
9e82adc423
|
@ -51,8 +51,8 @@ minecraft {
|
|||
|
||||
replaceIn "reference/Reference.java"
|
||||
replace "@VERSION@", "${config.mod_version}.${System.getenv("BUILD_NUMBER") ?: 0}"
|
||||
if (project.hasProperty("ee3_signature")) {
|
||||
replace "@FINGERPRINT@", project.ee3_signature
|
||||
if (project.hasProperty("ee3_sha1_signature")) {
|
||||
replace "@FINGERPRINT@", project.ee3_sha1_signature
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
|
|||
|
||||
import java.io.File;
|
||||
|
||||
@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, certificateFingerprint = Reference.FINGERPRINT, version = Reference.VERSION, guiFactory = Reference.GUI_FACTORY_CLASS)
|
||||
@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, certificateFingerprint = Reference.FINGERPRINT, version = Reference.VERSION, dependencies = Reference.DEPENDENCIES, guiFactory = Reference.GUI_FACTORY_CLASS)
|
||||
public class EquivalentExchange3
|
||||
{
|
||||
@Instance(Reference.MOD_ID)
|
||||
|
|
|
@ -88,6 +88,7 @@ public class GuiTransmutationTablet extends GuiBase
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
sortOrderButton = new ElementStatefulButton(this, 151, 58, "sortOrder", 0, 0, 0, 0, 18, 0, 18, 18, 36, 18, Textures.Gui.Elements.BUTTON_SORT_ORDER)
|
||||
{
|
||||
@Override
|
||||
|
@ -98,11 +99,11 @@ public class GuiTransmutationTablet extends GuiBase
|
|||
{
|
||||
if (getState() == SORT_ASCENDING)
|
||||
{
|
||||
drawTexturedModalRect(posX, posY, 36, 0, sizeX, sizeY);
|
||||
drawTexturedModalRect(posX, posY, 0, 0, sizeX, sizeY);
|
||||
}
|
||||
else if (getState() == SORT_DESCENDING)
|
||||
{
|
||||
drawTexturedModalRect(posX, posY, 0, 0, sizeX, sizeY);
|
||||
drawTexturedModalRect(posX, posY, 18, 0, sizeX, sizeY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.pahimar.ee3.inventory.element.IElementButtonHandler;
|
|||
import com.pahimar.ee3.inventory.element.IElementTextFieldHandler;
|
||||
import com.pahimar.ee3.item.ItemAlchemicalTome;
|
||||
import com.pahimar.ee3.knowledge.TransmutationKnowledgeRegistry;
|
||||
import com.pahimar.ee3.reference.Comparators;
|
||||
import com.pahimar.ee3.util.FilterUtils;
|
||||
import com.pahimar.ee3.util.ItemHelper;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
|
@ -30,7 +31,7 @@ public class ContainerAlchemicalTome extends ContainerEE implements IElementButt
|
|||
|
||||
public ContainerAlchemicalTome(EntityPlayer entityPlayer, ItemStack itemStack)
|
||||
{
|
||||
TreeSet<ItemStack> knownTransmutations = new TreeSet<ItemStack>(ItemHelper.displayNameComparator);
|
||||
TreeSet<ItemStack> knownTransmutations = new TreeSet<ItemStack>(Comparators.displayNameComparator);
|
||||
|
||||
if (itemStack.getItem() instanceof ItemAlchemicalTome && ItemHelper.hasOwnerUUID(itemStack))
|
||||
{
|
||||
|
@ -181,7 +182,7 @@ public class ContainerAlchemicalTome extends ContainerEE implements IElementButt
|
|||
this.requiresUpdate = true;
|
||||
boolean shouldUpdateInventory = false;
|
||||
ItemStack[] newInventory = new ItemStack[80];
|
||||
List<ItemStack> filteredList = new ArrayList(FilterUtils.filterByNameContains(inventoryAlchemicalTome.getKnownTransmutations(), searchTerm, ItemHelper.displayNameComparator));
|
||||
List<ItemStack> filteredList = new ArrayList(FilterUtils.filterByNameContains(inventoryAlchemicalTome.getKnownTransmutations(), searchTerm, Comparators.displayNameComparator));
|
||||
|
||||
maxPageOffset = filteredList.size() / 80;
|
||||
if (pageOffset > maxPageOffset)
|
||||
|
|
|
@ -44,7 +44,7 @@ public class ContainerTransmutationTablet extends ContainerEE implements IElemen
|
|||
{
|
||||
this.tileEntityTransmutationTablet = tileEntityTransmutationTablet;
|
||||
|
||||
TreeSet<ItemStack> knownTransmutations = new TreeSet<ItemStack>(ItemHelper.displayNameComparator);
|
||||
TreeSet<ItemStack> knownTransmutations = new TreeSet<ItemStack>(Comparators.displayNameComparator);
|
||||
if (tileEntityTransmutationTablet.getStackInSlot(TileEntityTransmutationTablet.ALCHEMICAL_TOME_INDEX) != null)
|
||||
{
|
||||
ItemStack itemStack = tileEntityTransmutationTablet.getStackInSlot(TileEntityTransmutationTablet.ALCHEMICAL_TOME_INDEX);
|
||||
|
@ -158,8 +158,12 @@ public class ContainerTransmutationTablet extends ContainerEE implements IElemen
|
|||
{
|
||||
scrollBarPosition = updatedValue;
|
||||
}
|
||||
else if (valueType == 4)
|
||||
{
|
||||
sortOrder = updatedValue;
|
||||
}
|
||||
|
||||
if (valueType >= 0 && valueType <= 3)
|
||||
if (valueType >= 0 && valueType <= 4)
|
||||
{
|
||||
updateInventory();
|
||||
}
|
||||
|
@ -203,9 +207,38 @@ public class ContainerTransmutationTablet extends ContainerEE implements IElemen
|
|||
|
||||
int adjustedStartIndex = (int) ((scrollBarPosition / 187f) * filteredList.size());
|
||||
|
||||
if (sortOption >= 0 && sortOption < Comparators.itemComparators.length)
|
||||
if (sortOption == 0)
|
||||
{
|
||||
Collections.sort(filteredList, Comparators.itemComparators[sortOption]);
|
||||
if (sortOrder == 0)
|
||||
{
|
||||
Collections.sort(filteredList, Comparators.displayNameComparator);
|
||||
}
|
||||
else
|
||||
{
|
||||
Collections.sort(filteredList, Comparators.reverseDisplayNameComparator);
|
||||
}
|
||||
}
|
||||
else if (sortOption == 1)
|
||||
{
|
||||
if (sortOrder == 0)
|
||||
{
|
||||
Collections.sort(filteredList, Comparators.energyValueItemStackComparator);
|
||||
}
|
||||
else
|
||||
{
|
||||
Collections.sort(filteredList, Comparators.reverseEnergyValueComparator);
|
||||
}
|
||||
}
|
||||
else if (sortOption == 2)
|
||||
{
|
||||
if (sortOrder == 0)
|
||||
{
|
||||
Collections.sort(filteredList, Comparators.idComparator);
|
||||
}
|
||||
else
|
||||
{
|
||||
Collections.sort(filteredList, Comparators.reverseIdComparator);
|
||||
}
|
||||
}
|
||||
|
||||
if (filteredList.size() <= 30)
|
||||
|
@ -408,16 +441,23 @@ public class ContainerTransmutationTablet extends ContainerEE implements IElemen
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (elementName.equals("sortOption"))
|
||||
else if (elementName.equals("sortOrder"))
|
||||
{
|
||||
|
||||
if (sortOrder == 0)
|
||||
{
|
||||
sortOrder = 1;
|
||||
}
|
||||
else if (sortOrder == 1)
|
||||
{
|
||||
sortOrder = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for (Object crafter : this.crafters)
|
||||
{
|
||||
ICrafting iCrafting = (ICrafting) crafter;
|
||||
iCrafting.sendProgressBarUpdate(this, 2, sortOption);
|
||||
iCrafting.sendProgressBarUpdate(this, 3, sortOrder);
|
||||
iCrafting.sendProgressBarUpdate(this, 4, sortOrder);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package com.pahimar.ee3.inventory;
|
||||
|
||||
import com.pahimar.ee3.reference.Comparators;
|
||||
import com.pahimar.ee3.reference.Names;
|
||||
import com.pahimar.ee3.util.ItemHelper;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -23,7 +23,7 @@ public class InventoryAlchemicalTome implements IInventory
|
|||
}
|
||||
else
|
||||
{
|
||||
this.knownTransmutations = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
||||
this.knownTransmutations = new TreeSet<ItemStack>(Comparators.idComparator);
|
||||
}
|
||||
inventory = knownTransmutations.toArray(inventory);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package com.pahimar.ee3.inventory;
|
||||
|
||||
import com.pahimar.ee3.reference.Comparators;
|
||||
import com.pahimar.ee3.reference.Names;
|
||||
import com.pahimar.ee3.util.ItemHelper;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -22,7 +22,7 @@ public class InventoryTransmutationTablet implements IInventory
|
|||
{
|
||||
inventory = new ItemStack[30];
|
||||
|
||||
this.knownTransmutations = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
||||
this.knownTransmutations = new TreeSet<ItemStack>(Comparators.idComparator);
|
||||
if (knownTransmutations != null)
|
||||
{
|
||||
this.knownTransmutations.addAll(knownTransmutations);
|
||||
|
|
|
@ -7,8 +7,8 @@ import com.pahimar.ee3.api.AbilityRegistryProxy;
|
|||
import com.pahimar.ee3.exchange.EnergyValueRegistry;
|
||||
import com.pahimar.ee3.exchange.OreStack;
|
||||
import com.pahimar.ee3.exchange.WrappedStack;
|
||||
import com.pahimar.ee3.reference.Comparators;
|
||||
import com.pahimar.ee3.reference.Files;
|
||||
import com.pahimar.ee3.util.ItemHelper;
|
||||
import com.pahimar.ee3.util.LogHelper;
|
||||
import com.pahimar.ee3.util.SerializationHelper;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -30,7 +30,7 @@ public class AbilityRegistry implements JsonSerializer<AbilityRegistry>, JsonDes
|
|||
private boolean hasBeenModified;
|
||||
private Set<WrappedStack> notLearnableSet;
|
||||
private Set<WrappedStack> notRecoverableSet;
|
||||
private SortedSet<ItemStack> allLearnableItemStacks = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
||||
private SortedSet<ItemStack> allLearnableItemStacks = new TreeSet<ItemStack>(Comparators.idComparator);
|
||||
|
||||
private AbilityRegistry()
|
||||
{
|
||||
|
@ -58,7 +58,7 @@ public class AbilityRegistry implements JsonSerializer<AbilityRegistry>, JsonDes
|
|||
|
||||
public void discoverAllLearnableItemStacks()
|
||||
{
|
||||
this.allLearnableItemStacks = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
||||
this.allLearnableItemStacks = new TreeSet<ItemStack>(Comparators.idComparator);
|
||||
for (WrappedStack wrappedStack : EnergyValueRegistry.getInstance().getStackValueMap().keySet())
|
||||
{
|
||||
if (isLearnable(wrappedStack) && EnergyValueRegistry.getInstance().getEnergyValue(wrappedStack) != null)
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.google.gson.*;
|
|||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import com.pahimar.ee3.exchange.JsonItemStack;
|
||||
import com.pahimar.ee3.reference.Comparators;
|
||||
import com.pahimar.ee3.reference.Names;
|
||||
import com.pahimar.ee3.util.FilterUtils;
|
||||
import com.pahimar.ee3.util.INBTTaggable;
|
||||
|
@ -26,7 +27,7 @@ public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<Tran
|
|||
|
||||
public TransmutationKnowledge()
|
||||
{
|
||||
this(new TreeSet<ItemStack>(ItemHelper.idComparator));
|
||||
this(new TreeSet<ItemStack>(Comparators.idComparator));
|
||||
}
|
||||
|
||||
public TransmutationKnowledge(Collection<ItemStack> knownTransmutations)
|
||||
|
@ -37,7 +38,7 @@ public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<Tran
|
|||
public TransmutationKnowledge(Collection<ItemStack> knownTransmutations, boolean canTransmuteEverything)
|
||||
{
|
||||
this.canTransmuteEverything = canTransmuteEverything;
|
||||
this.knownTransmutations = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
||||
this.knownTransmutations = new TreeSet<ItemStack>(Comparators.idComparator);
|
||||
this.knownTransmutations.addAll(knownTransmutations);
|
||||
hasBeenModified = false;
|
||||
}
|
||||
|
@ -50,7 +51,7 @@ public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<Tran
|
|||
public TransmutationKnowledge(NBTTagCompound nbtTagCompound)
|
||||
{
|
||||
canTransmuteEverything = false;
|
||||
this.knownTransmutations = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
||||
this.knownTransmutations = new TreeSet<ItemStack>(Comparators.idComparator);
|
||||
this.readFromNBT(nbtTagCompound);
|
||||
hasBeenModified = false;
|
||||
}
|
||||
|
@ -150,7 +151,7 @@ public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<Tran
|
|||
if (nbtTagCompound.hasKey(Names.NBT.ITEM_TRANSMUTATION_KNOWLEDGE))
|
||||
{
|
||||
NBTTagList tagList = nbtTagCompound.getTagList(Names.NBT.ITEM_TRANSMUTATION_KNOWLEDGE, 10);
|
||||
knownTransmutations = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
||||
knownTransmutations = new TreeSet<ItemStack>(Comparators.idComparator);
|
||||
for (int i = 0; i < tagList.tagCount(); ++i)
|
||||
{
|
||||
NBTTagCompound tagCompound = tagList.getCompoundTagAt(i);
|
||||
|
@ -160,7 +161,7 @@ public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<Tran
|
|||
}
|
||||
else
|
||||
{
|
||||
knownTransmutations = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
||||
knownTransmutations = new TreeSet<ItemStack>(Comparators.idComparator);
|
||||
}
|
||||
|
||||
if (nbtTagCompound.hasKey(Names.NBT.CAN_TRANSMUTE_ANYTHING))
|
||||
|
@ -174,7 +175,7 @@ public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<Tran
|
|||
}
|
||||
else
|
||||
{
|
||||
knownTransmutations = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
||||
knownTransmutations = new TreeSet<ItemStack>(Comparators.idComparator);
|
||||
canTransmuteEverything = false;
|
||||
}
|
||||
}
|
||||
|
@ -245,7 +246,7 @@ public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<Tran
|
|||
JsonObject jsonObject = (JsonObject) json;
|
||||
|
||||
boolean canTransmuteEverything;
|
||||
Set<ItemStack> itemStacks = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
||||
Set<ItemStack> itemStacks = new TreeSet<ItemStack>(Comparators.idComparator);
|
||||
|
||||
if (jsonObject.has("canTransmuteEverything") && jsonObject.get("canTransmuteEverything").isJsonPrimitive())
|
||||
{
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
package com.pahimar.ee3.reference;
|
||||
|
||||
import com.pahimar.ee3.util.ItemHelper;
|
||||
import com.pahimar.ee3.exchange.EnergyValueRegistry;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
public class Comparators
|
||||
{
|
||||
public static final Comparator[] itemComparators = {ItemHelper.displayNameComparator, ItemHelper.energyValueItemStackComparator, ItemHelper.idComparator};
|
||||
|
||||
public static Comparator<String> stringComparator = new Comparator<String>()
|
||||
{
|
||||
@Override
|
||||
|
@ -16,4 +17,163 @@ public class Comparators
|
|||
return string1.compareToIgnoreCase(string2);
|
||||
}
|
||||
};
|
||||
|
||||
public static Comparator<ItemStack> idComparator = new Comparator<ItemStack>()
|
||||
{
|
||||
public int compare(ItemStack itemStack1, ItemStack itemStack2)
|
||||
{
|
||||
if (itemStack1 != null && itemStack2 != null)
|
||||
{
|
||||
// Sort on itemID
|
||||
if (Item.getIdFromItem(itemStack1.getItem()) - Item.getIdFromItem(itemStack2.getItem()) == 0)
|
||||
{
|
||||
// Sort on item
|
||||
if (itemStack1.getItem() == itemStack2.getItem())
|
||||
{
|
||||
// Then sort on meta
|
||||
if ((itemStack1.getItemDamage() == itemStack2.getItemDamage()) || itemStack1.getItemDamage() == OreDictionary.WILDCARD_VALUE || itemStack2.getItemDamage() == OreDictionary.WILDCARD_VALUE)
|
||||
{
|
||||
// Then sort on NBT
|
||||
if (itemStack1.hasTagCompound() && itemStack2.hasTagCompound())
|
||||
{
|
||||
// Then sort on stack size
|
||||
if (ItemStack.areItemStackTagsEqual(itemStack1, itemStack2))
|
||||
{
|
||||
return (itemStack1.stackSize - itemStack2.stackSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
return (itemStack1.getTagCompound().hashCode() - itemStack2.getTagCompound().hashCode());
|
||||
}
|
||||
}
|
||||
else if (!(itemStack1.hasTagCompound()) && itemStack2.hasTagCompound())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else if (itemStack1.hasTagCompound() && !(itemStack2.hasTagCompound()))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (itemStack1.stackSize - itemStack2.stackSize);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return (itemStack1.getItemDamage() - itemStack2.getItemDamage());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return itemStack1.getItem().getUnlocalizedName(itemStack1).compareToIgnoreCase(itemStack2.getItem().getUnlocalizedName(itemStack2));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return Item.getIdFromItem(itemStack1.getItem()) - Item.getIdFromItem(itemStack2.getItem());
|
||||
}
|
||||
}
|
||||
else if (itemStack1 != null)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else if (itemStack2 != null)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static Comparator<ItemStack> reverseIdComparator = new Comparator<ItemStack>()
|
||||
{
|
||||
@Override
|
||||
public int compare(ItemStack itemStack1, ItemStack itemStack2)
|
||||
{
|
||||
return idComparator.compare(itemStack1, itemStack2) * -1;
|
||||
}
|
||||
};
|
||||
|
||||
public static Comparator<ItemStack> displayNameComparator = new Comparator<ItemStack>()
|
||||
{
|
||||
public int compare(ItemStack itemStack1, ItemStack itemStack2)
|
||||
{
|
||||
if (itemStack1 != null && itemStack2 != null)
|
||||
{
|
||||
if (itemStack1.getDisplayName().equalsIgnoreCase(itemStack2.getDisplayName()))
|
||||
{
|
||||
return idComparator.compare(itemStack1, itemStack2);
|
||||
}
|
||||
else
|
||||
{
|
||||
return itemStack1.getDisplayName().compareToIgnoreCase(itemStack2.getDisplayName());
|
||||
}
|
||||
}
|
||||
else if (itemStack1 != null)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else if (itemStack2 != null)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static Comparator<ItemStack> reverseDisplayNameComparator = new Comparator<ItemStack>()
|
||||
{
|
||||
@Override
|
||||
public int compare(ItemStack itemStack1, ItemStack itemStack2)
|
||||
{
|
||||
return displayNameComparator.compare(itemStack1, itemStack2) * -1;
|
||||
}
|
||||
};
|
||||
|
||||
public static Comparator<ItemStack> energyValueItemStackComparator = new Comparator<ItemStack>()
|
||||
{
|
||||
@Override
|
||||
public int compare(ItemStack itemStack1, ItemStack itemStack2)
|
||||
{
|
||||
if (itemStack1 != null && itemStack2 != null)
|
||||
{
|
||||
if (EnergyValueRegistry.getInstance().hasEnergyValue(itemStack1) && EnergyValueRegistry.getInstance().hasEnergyValue(itemStack2))
|
||||
{
|
||||
return Float.compare(EnergyValueRegistry.getInstance().getEnergyValue(itemStack1).getValue(), EnergyValueRegistry.getInstance().getEnergyValue(itemStack2).getValue());
|
||||
}
|
||||
else
|
||||
{
|
||||
return idComparator.compare(itemStack1, itemStack2);
|
||||
}
|
||||
}
|
||||
else if (itemStack1 != null)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else if (itemStack2 != null)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static Comparator<ItemStack> reverseEnergyValueComparator = new Comparator<ItemStack>()
|
||||
{
|
||||
@Override
|
||||
public int compare(ItemStack itemStack1, ItemStack itemStack2)
|
||||
{
|
||||
return energyValueItemStackComparator.compare(itemStack1, itemStack2) * -1;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ public class Reference
|
|||
public static final String MOD_NAME = "Equivalent Exchange 3";
|
||||
public static final String FINGERPRINT = "@FINGERPRINT@";
|
||||
public static final String VERSION = "@VERSION@";
|
||||
public static final String DEPENDENCIES = "required-after:Forge@[10.13.3,)";
|
||||
public static final String SERVER_PROXY_CLASS = "com.pahimar.ee3.proxy.ServerProxy";
|
||||
public static final String CLIENT_PROXY_CLASS = "com.pahimar.ee3.proxy.ClientProxy";
|
||||
public static final String GUI_FACTORY_CLASS = "com.pahimar.ee3.client.gui.GuiFactory";
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.pahimar.ee3.util;
|
|||
|
||||
import com.pahimar.ee3.api.EnergyValue;
|
||||
import com.pahimar.ee3.api.EnergyValueRegistryProxy;
|
||||
import com.pahimar.ee3.reference.Comparators;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
|
@ -11,7 +12,7 @@ public class FilterUtils
|
|||
{
|
||||
public static Set<ItemStack> filterForItemBlock(Set<ItemStack> unfilteredItemStackSet)
|
||||
{
|
||||
return filterForItemBlock(unfilteredItemStackSet, ItemHelper.idComparator);
|
||||
return filterForItemBlock(unfilteredItemStackSet, Comparators.idComparator);
|
||||
}
|
||||
|
||||
public static Set<ItemStack> filterForItemBlock(Set<ItemStack> unfilteredItemStackSet, Comparator comparator)
|
||||
|
@ -31,7 +32,7 @@ public class FilterUtils
|
|||
|
||||
public static Set<ItemStack> filterByNameStartsWith(Set<ItemStack> unfilteredItemStackSet, String filterString)
|
||||
{
|
||||
return filterByNameStartsWith(unfilteredItemStackSet, filterString, ItemHelper.idComparator);
|
||||
return filterByNameStartsWith(unfilteredItemStackSet, filterString, Comparators.idComparator);
|
||||
}
|
||||
|
||||
public static Set<ItemStack> filterByNameStartsWith(Set<ItemStack> unfilteredItemStackSet, String filterString, Comparator comparator)
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
package com.pahimar.ee3.util;
|
||||
|
||||
import com.pahimar.ee3.exchange.EnergyValueRegistry;
|
||||
import com.pahimar.ee3.reference.Comparators;
|
||||
import com.pahimar.ee3.reference.Names;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.UUID;
|
||||
|
||||
public class ItemHelper
|
||||
|
@ -19,138 +17,6 @@ public class ItemHelper
|
|||
return clonedItemStack;
|
||||
}
|
||||
|
||||
public static Comparator<ItemStack> idComparator = new Comparator<ItemStack>()
|
||||
{
|
||||
public int compare(ItemStack itemStack1, ItemStack itemStack2)
|
||||
{
|
||||
if (itemStack1 != null && itemStack2 != null)
|
||||
{
|
||||
// Sort on itemID
|
||||
if (Item.getIdFromItem(itemStack1.getItem()) - Item.getIdFromItem(itemStack2.getItem()) == 0)
|
||||
{
|
||||
// Sort on item
|
||||
if (itemStack1.getItem() == itemStack2.getItem())
|
||||
{
|
||||
// Then sort on meta
|
||||
if ((itemStack1.getItemDamage() == itemStack2.getItemDamage()) || itemStack1.getItemDamage() == OreDictionary.WILDCARD_VALUE || itemStack2.getItemDamage() == OreDictionary.WILDCARD_VALUE)
|
||||
{
|
||||
// Then sort on NBT
|
||||
if (itemStack1.hasTagCompound() && itemStack2.hasTagCompound())
|
||||
{
|
||||
// Then sort on stack size
|
||||
if (ItemStack.areItemStackTagsEqual(itemStack1, itemStack2))
|
||||
{
|
||||
return (itemStack1.stackSize - itemStack2.stackSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
return (itemStack1.getTagCompound().hashCode() - itemStack2.getTagCompound().hashCode());
|
||||
}
|
||||
}
|
||||
else if (!(itemStack1.hasTagCompound()) && itemStack2.hasTagCompound())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else if (itemStack1.hasTagCompound() && !(itemStack2.hasTagCompound()))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (itemStack1.stackSize - itemStack2.stackSize);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return (itemStack1.getItemDamage() - itemStack2.getItemDamage());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return itemStack1.getItem().getUnlocalizedName(itemStack1).compareToIgnoreCase(itemStack2.getItem().getUnlocalizedName(itemStack2));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return Item.getIdFromItem(itemStack1.getItem()) - Item.getIdFromItem(itemStack2.getItem());
|
||||
}
|
||||
}
|
||||
else if (itemStack1 != null)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else if (itemStack2 != null)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static Comparator<ItemStack> displayNameComparator = new Comparator<ItemStack>()
|
||||
{
|
||||
public int compare(ItemStack itemStack1, ItemStack itemStack2)
|
||||
{
|
||||
if (itemStack1 != null && itemStack2 != null)
|
||||
{
|
||||
if (itemStack1.getDisplayName().equalsIgnoreCase(itemStack2.getDisplayName()))
|
||||
{
|
||||
return idComparator.compare(itemStack1, itemStack2);
|
||||
}
|
||||
else
|
||||
{
|
||||
return itemStack1.getDisplayName().compareToIgnoreCase(itemStack2.getDisplayName());
|
||||
}
|
||||
}
|
||||
else if (itemStack1 != null)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else if (itemStack2 != null)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static Comparator<ItemStack> energyValueItemStackComparator = new Comparator<ItemStack>()
|
||||
{
|
||||
@Override
|
||||
public int compare(ItemStack itemStack1, ItemStack itemStack2)
|
||||
{
|
||||
if (itemStack1 != null && itemStack2 != null)
|
||||
{
|
||||
if (EnergyValueRegistry.getInstance().hasEnergyValue(itemStack1) && EnergyValueRegistry.getInstance().hasEnergyValue(itemStack2))
|
||||
{
|
||||
return Float.compare(EnergyValueRegistry.getInstance().getEnergyValue(itemStack1).getValue(), EnergyValueRegistry.getInstance().getEnergyValue(itemStack2).getValue());
|
||||
}
|
||||
else
|
||||
{
|
||||
return idComparator.compare(itemStack1, itemStack2);
|
||||
}
|
||||
}
|
||||
else if (itemStack1 != null)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else if (itemStack2 != null)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Compares two ItemStacks for equality, testing itemID, metaData, stackSize, and their NBTTagCompounds (if they are
|
||||
* present)
|
||||
|
@ -161,7 +27,7 @@ public class ItemHelper
|
|||
*/
|
||||
public static boolean equals(ItemStack first, ItemStack second)
|
||||
{
|
||||
return (idComparator.compare(first, second) == 0);
|
||||
return (Comparators.idComparator.compare(first, second) == 0);
|
||||
}
|
||||
|
||||
public static boolean equalsIgnoreStackSize(ItemStack itemStack1, ItemStack itemStack2)
|
||||
|
@ -200,7 +66,7 @@ public class ItemHelper
|
|||
|
||||
public static int compare(ItemStack itemStack1, ItemStack itemStack2)
|
||||
{
|
||||
return idComparator.compare(itemStack1, itemStack2);
|
||||
return Comparators.idComparator.compare(itemStack1, itemStack2);
|
||||
}
|
||||
|
||||
public static String toString(ItemStack itemStack)
|
||||
|
|
Loading…
Reference in a new issue