Initialize the Blacklist Registry in Init
Rename ItemHelper to ItemStackUtils Change the way OreStack identifies an OreStack from a list of itemstacks. Resolves #923 Added some more test cases to VanillaTestSuite
This commit is contained in:
parent
6d2e1337b1
commit
437470f9e7
|
@ -88,6 +88,9 @@ public class EquivalentExchange3
|
||||||
// Register the GUI Handler
|
// Register the GUI Handler
|
||||||
NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
|
NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
|
||||||
|
|
||||||
|
// Initialize the blacklist registry
|
||||||
|
BlacklistRegistry.INSTANCE.load();
|
||||||
|
|
||||||
// Initialize mod tile entities
|
// Initialize mod tile entities
|
||||||
TileEntities.init();
|
TileEntities.init();
|
||||||
|
|
||||||
|
@ -110,8 +113,6 @@ public class EquivalentExchange3
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void postInit(FMLPostInitializationEvent event) {
|
public void postInit(FMLPostInitializationEvent event) {
|
||||||
|
|
||||||
// Initialize the blacklist registry
|
|
||||||
BlacklistRegistry.INSTANCE.load();
|
|
||||||
Abilities.init();
|
Abilities.init();
|
||||||
|
|
||||||
// Initialize our test files
|
// Initialize our test files
|
||||||
|
|
|
@ -3,16 +3,16 @@ package com.pahimar.ee3.api.recipe;
|
||||||
import com.pahimar.ee3.EquivalentExchange3;
|
import com.pahimar.ee3.EquivalentExchange3;
|
||||||
import cpw.mods.fml.common.Mod;
|
import cpw.mods.fml.common.Mod;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public final class RecipeRegistryProxy {
|
public final class RecipeRegistryProxy {
|
||||||
|
|
||||||
/**
|
public static void addRecipe(Object recipeOutput, Object ... recipeInputs) { // TODO 1.9, List -> Collection
|
||||||
*
|
addRecipe(recipeOutput, Arrays.asList(recipeInputs));
|
||||||
* @param recipeOutput
|
}
|
||||||
* @param recipeInputList
|
|
||||||
*/
|
public static void addRecipe(Object recipeOutput, List<?> recipeInputList) { // TODO 1.9, List -> Collection
|
||||||
public static void addRecipe(Object recipeOutput, List<?> recipeInputList) {
|
|
||||||
|
|
||||||
init();
|
init();
|
||||||
|
|
||||||
|
|
|
@ -226,11 +226,9 @@ public class BlacklistRegistry {
|
||||||
|
|
||||||
if (shouldSave) {
|
if (shouldSave) {
|
||||||
if (blacklist == Blacklist.KNOWLEDGE) {
|
if (blacklist == Blacklist.KNOWLEDGE) {
|
||||||
LogHelper.trace(BLACKLIST_MARKER, "Saving player knowledge blacklist to {}", knowledgeBlacklistFile.getAbsolutePath());
|
|
||||||
SerializationHelper.writeJsonFile(knowledgeBlacklistFile, SerializationHelper.GSON.toJson(knowledgeBlacklist));
|
SerializationHelper.writeJsonFile(knowledgeBlacklistFile, SerializationHelper.GSON.toJson(knowledgeBlacklist));
|
||||||
}
|
}
|
||||||
else if (blacklist == Blacklist.EXCHANGE) {
|
else if (blacklist == Blacklist.EXCHANGE) {
|
||||||
LogHelper.trace(BLACKLIST_MARKER, "Saving exchange blacklist to {}", exchangeBlacklistFile.getAbsolutePath());
|
|
||||||
SerializationHelper.writeJsonFile(exchangeBlacklistFile, SerializationHelper.GSON.toJson(exchangeBlacklist));
|
SerializationHelper.writeJsonFile(exchangeBlacklistFile, SerializationHelper.GSON.toJson(exchangeBlacklist));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ import com.pahimar.ee3.inventory.ContainerResearchStation;
|
||||||
import com.pahimar.ee3.inventory.ContainerTransmutationTablet;
|
import com.pahimar.ee3.inventory.ContainerTransmutationTablet;
|
||||||
import com.pahimar.ee3.reference.Messages;
|
import com.pahimar.ee3.reference.Messages;
|
||||||
import com.pahimar.ee3.util.IOwnable;
|
import com.pahimar.ee3.util.IOwnable;
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemStackUtils;
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
@ -74,13 +74,13 @@ public class ItemTooltipEventHandler {
|
||||||
|
|
||||||
if (event.itemStack.getItem() instanceof IOwnable) {
|
if (event.itemStack.getItem() instanceof IOwnable) {
|
||||||
|
|
||||||
UUID playerUUID = ItemHelper.getOwnerUUID(event.itemStack);
|
UUID playerUUID = ItemStackUtils.getOwnerUUID(event.itemStack);
|
||||||
|
|
||||||
if (playerUUID != null && UsernameCache.containsUUID(playerUUID)) {
|
if (playerUUID != null && UsernameCache.containsUUID(playerUUID)) {
|
||||||
event.toolTip.add(StatCollector.translateToLocalFormatted(Messages.Tooltips.ITEM_BELONGS_TO, UsernameCache.getLastKnownUsername(playerUUID)));
|
event.toolTip.add(StatCollector.translateToLocalFormatted(Messages.Tooltips.ITEM_BELONGS_TO, UsernameCache.getLastKnownUsername(playerUUID)));
|
||||||
}
|
}
|
||||||
else if (ItemHelper.hasOwnerName(event.itemStack)) {
|
else if (ItemStackUtils.getOwnerName(event.itemStack) != null) {
|
||||||
event.toolTip.add(StatCollector.translateToLocalFormatted(Messages.Tooltips.ITEM_BELONGS_TO, ItemHelper.getOwnerName(event.itemStack)));
|
event.toolTip.add(StatCollector.translateToLocalFormatted(Messages.Tooltips.ITEM_BELONGS_TO, ItemStackUtils.getOwnerName(event.itemStack)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,6 +115,10 @@ public class EnergyValueRegistry {
|
||||||
if (valueMap != null && !valueMap.isEmpty()) {
|
if (valueMap != null && !valueMap.isEmpty()) {
|
||||||
|
|
||||||
// First check for a direct energy value mapping to the wrapped object
|
// First check for a direct energy value mapping to the wrapped object
|
||||||
|
/**
|
||||||
|
* FIXME If the object being checked has a WILD_CARD meta value, then it will match any similar object.
|
||||||
|
* We must ensure that it returns the LOWEST possible value from the map
|
||||||
|
*/
|
||||||
if (valueMap.containsKey(wrappedStack)) {
|
if (valueMap.containsKey(wrappedStack)) {
|
||||||
return valueMap.get(wrappedStack);
|
return valueMap.get(wrappedStack);
|
||||||
}
|
}
|
||||||
|
@ -449,7 +453,7 @@ public class EnergyValueRegistry {
|
||||||
*/
|
*/
|
||||||
private static Set<ItemStack> getStacksInRange(Map<WrappedStack, EnergyValue> valueMap, EnergyValue energyValueBound, boolean isUpperBound) {
|
private static Set<ItemStack> getStacksInRange(Map<WrappedStack, EnergyValue> valueMap, EnergyValue energyValueBound, boolean isUpperBound) {
|
||||||
|
|
||||||
Set itemStacks = FilterUtils.filterForItemStacks(valueMap.keySet());
|
Set itemStacks = filterForItemStacks(valueMap.keySet());
|
||||||
|
|
||||||
if (valueMap != null) {
|
if (valueMap != null) {
|
||||||
if (energyValueBound != null) {
|
if (energyValueBound != null) {
|
||||||
|
@ -570,7 +574,11 @@ public class EnergyValueRegistry {
|
||||||
.forEach(wrappedStack -> stackValueMap.put(wrappedStack, preCalculationStackValueMap.get(wrappedStack)));
|
.forEach(wrappedStack -> stackValueMap.put(wrappedStack, preCalculationStackValueMap.get(wrappedStack)));
|
||||||
|
|
||||||
// Calculate values from the known methods to create items, and the pre-calculation value mappings
|
// Calculate values from the known methods to create items, and the pre-calculation value mappings
|
||||||
stackValueMap.putAll(calculateStackValueMap(stackValueMap));
|
Map<WrappedStack, EnergyValue> computedStackValueMap = calculateStackValueMap(stackValueMap);
|
||||||
|
for (WrappedStack wrappedStack : computedStackValueMap.keySet()) {
|
||||||
|
stackValueMap.put(wrappedStack, computedStackValueMap.get(wrappedStack));
|
||||||
|
}
|
||||||
|
// stackValueMap.putAll(calculateStackValueMap(stackValueMap));
|
||||||
|
|
||||||
// Load in post calculation value assignments from file
|
// Load in post calculation value assignments from file
|
||||||
fileValueMap = null;
|
fileValueMap = null;
|
||||||
|
@ -633,25 +641,26 @@ public class EnergyValueRegistry {
|
||||||
tempComputedMap = new TreeMap<>(computedMap);
|
tempComputedMap = new TreeMap<>(computedMap);
|
||||||
for (WrappedStack recipeOutput : RecipeRegistry.INSTANCE.getRecipeMappings().keySet()) {
|
for (WrappedStack recipeOutput : RecipeRegistry.INSTANCE.getRecipeMappings().keySet()) {
|
||||||
|
|
||||||
|
WrappedStack unitWrappedStack = WrappedStack.wrap(recipeOutput, 1);
|
||||||
// We won't attempt to recalculate values that already have a pre-calculation value assignment
|
// We won't attempt to recalculate values that already have a pre-calculation value assignment
|
||||||
if (!stackValueMap.containsKey(WrappedStack.wrap(recipeOutput, 1))) {
|
if (!stackValueMap.containsKey(unitWrappedStack)) {
|
||||||
for (Set<WrappedStack> recipeInputs : RecipeRegistry.INSTANCE.getRecipeMappings().get(recipeOutput)) {
|
for (Set<WrappedStack> recipeInputs : RecipeRegistry.INSTANCE.getRecipeMappings().get(recipeOutput)) {
|
||||||
|
|
||||||
EnergyValue currentOutputValue = getEnergyValue(tempComputedMap, WrappedStack.wrap(recipeOutput, 1), false);
|
EnergyValue currentOutputValue = getEnergyValue(tempComputedMap, unitWrappedStack, false);
|
||||||
EnergyValue computedOutputValue = computeFromInputs(tempComputedMap, recipeOutput, recipeInputs);
|
EnergyValue computedOutputValue = computeFromInputs(tempComputedMap, recipeOutput, recipeInputs);
|
||||||
|
|
||||||
if (computedOutputValue != null && computedOutputValue.compareTo(currentOutputValue) < 0) {
|
if (computedOutputValue != null && computedOutputValue.compareTo(currentOutputValue) < 0) {
|
||||||
|
|
||||||
uncomputedStacks.remove(WrappedStack.wrap(recipeOutput, 1));
|
uncomputedStacks.remove(unitWrappedStack);
|
||||||
|
|
||||||
if (ConfigurationHandler.Settings.energyValueDebugLoggingEnabled) {
|
if (ConfigurationHandler.Settings.energyValueDebugLoggingEnabled) {
|
||||||
LogHelper.info(ENERGY_VALUE_MARKER, "Pass {}: Calculated value {} for object {} with recipe inputs {} and output {}", passNumber, computedOutputValue, WrappedStack.wrap(recipeOutput, 1), recipeInputs, recipeOutput);
|
LogHelper.info(ENERGY_VALUE_MARKER, "Pass {}: Calculated value {} for object {} with recipe inputs {} and output {}", passNumber, computedOutputValue, unitWrappedStack, recipeInputs, recipeOutput);
|
||||||
}
|
}
|
||||||
|
|
||||||
tempComputedMap.put(WrappedStack.wrap(recipeOutput), computedOutputValue);
|
tempComputedMap.put(unitWrappedStack, computedOutputValue);
|
||||||
}
|
}
|
||||||
else if (computedOutputValue != null) {
|
else if (computedOutputValue != null) {
|
||||||
uncomputedStacks.add(WrappedStack.wrap(recipeOutput, 1));
|
uncomputedStacks.add(unitWrappedStack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -693,6 +702,22 @@ public class EnergyValueRegistry {
|
||||||
valueStackMap = ImmutableSortedMap.copyOf(tempValueMap);
|
valueStackMap = ImmutableSortedMap.copyOf(tempValueMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Set<ItemStack> filterForItemStacks(Set<WrappedStack> wrappedStacks) {
|
||||||
|
|
||||||
|
Set<ItemStack> itemStacks = new TreeSet<>(Comparators.ID_COMPARATOR);
|
||||||
|
|
||||||
|
for (WrappedStack wrappedStack : wrappedStacks) {
|
||||||
|
if (wrappedStack.getWrappedObject() instanceof ItemStack) {
|
||||||
|
itemStacks.add((ItemStack) wrappedStack.getWrappedObject());
|
||||||
|
}
|
||||||
|
else if (wrappedStack.getWrappedObject() instanceof OreStack) {
|
||||||
|
itemStacks.addAll(OreDictionary.getOres(((OreStack) wrappedStack.getWrappedObject()).oreName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return itemStacks;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Saves the pre-calculation, post-calculation, and calculated energy value maps to disk
|
* Saves the pre-calculation, post-calculation, and calculated energy value maps to disk
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package com.pahimar.ee3.exchange;
|
package com.pahimar.ee3.exchange;
|
||||||
|
|
||||||
import com.pahimar.ee3.reference.Comparators;
|
import com.pahimar.ee3.reference.Comparators;
|
||||||
import com.pahimar.ee3.util.OreDictionaryHelper;
|
import com.pahimar.ee3.util.FilterUtils;
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraftforge.oredict.OreDictionary;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.Arrays;
|
||||||
import java.util.stream.Collectors;
|
import java.util.Collection;
|
||||||
|
import java.util.Comparator;
|
||||||
|
|
||||||
public final class OreStack implements Comparable<OreStack> {
|
public final class OreStack implements Comparable<OreStack> {
|
||||||
|
|
||||||
|
@ -60,39 +61,16 @@ public final class OreStack implements Comparable<OreStack> {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static OreStack getOreStackFromList(Object... objects) {
|
public static OreStack getOreStackFrom(Object... objects) {
|
||||||
return getOreStackFromList(Arrays.asList(objects));
|
return getOreStackFrom(Arrays.asList(objects));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static OreStack getOreStackFromList(List<?> objectList) {
|
public static OreStack getOreStackFrom(Collection<?> objects) {
|
||||||
|
|
||||||
if (objectList.size() > 0) {
|
for (String oreName : OreDictionary.getOreNames()) {
|
||||||
Map<String, Integer> oreNameCountMap = new TreeMap<>(Comparators.STRING_COMPARATOR);
|
if (Comparators.ITEM_STACK_COLLECTION_COMPARATOR.compare(FilterUtils.filterForItemStacks(objects), OreDictionary.getOres(oreName)) == 0) {
|
||||||
for (Object listElement : objectList) {
|
return new OreStack(oreName, 1);
|
||||||
if (listElement instanceof ItemStack) {
|
|
||||||
ItemStack itemStack = (ItemStack) listElement;
|
|
||||||
|
|
||||||
for (String oreName : OreDictionaryHelper.getOreNames(itemStack)) {
|
|
||||||
if (oreNameCountMap.containsKey(oreName)) {
|
|
||||||
oreNameCountMap.put(oreName, oreNameCountMap.get(oreName) + 1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
oreNameCountMap.put(oreName, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<OreStack> candidateOreStacks = oreNameCountMap.keySet().stream()
|
|
||||||
.filter(oreName -> oreNameCountMap.get(oreName) == objectList.size())
|
|
||||||
.map(OreStack::new)
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
if (candidateOreStacks.size() == 1) {
|
|
||||||
return candidateOreStacks.get(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.pahimar.ee3.exchange;
|
package com.pahimar.ee3.exchange;
|
||||||
|
|
||||||
import com.pahimar.ee3.util.FluidHelper;
|
import com.pahimar.ee3.util.FluidHelper;
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemStackUtils;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -40,7 +40,7 @@ public final class WrappedStack implements Comparable<WrappedStack> {
|
||||||
if (((ItemStack) object).getItem() != null) {
|
if (((ItemStack) object).getItem() != null) {
|
||||||
|
|
||||||
stackSize = ((ItemStack) object).stackSize;
|
stackSize = ((ItemStack) object).stackSize;
|
||||||
wrappedStack = ItemHelper.clone((ItemStack) object, 1);
|
wrappedStack = ItemStackUtils.clone((ItemStack) object, 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ public final class WrappedStack implements Comparable<WrappedStack> {
|
||||||
|
|
||||||
ArrayList<?> objectList = (ArrayList<?>) object;
|
ArrayList<?> objectList = (ArrayList<?>) object;
|
||||||
|
|
||||||
OreStack possibleOreStack = OreStack.getOreStackFromList(objectList);
|
OreStack possibleOreStack = OreStack.getOreStackFrom(objectList);
|
||||||
|
|
||||||
if (possibleOreStack != null) {
|
if (possibleOreStack != null) {
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ public final class WrappedStack implements Comparable<WrappedStack> {
|
||||||
if (object instanceof ItemStack) {
|
if (object instanceof ItemStack) {
|
||||||
|
|
||||||
this.stackSize = stackSize;
|
this.stackSize = stackSize;
|
||||||
wrappedStack = ItemHelper.clone((ItemStack) object, 1);
|
wrappedStack = ItemStackUtils.clone((ItemStack) object, 1);
|
||||||
}
|
}
|
||||||
else if (object instanceof OreStack) {
|
else if (object instanceof OreStack) {
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ public final class WrappedStack implements Comparable<WrappedStack> {
|
||||||
|
|
||||||
ArrayList<?> objectList = (ArrayList<?>) object;
|
ArrayList<?> objectList = (ArrayList<?>) object;
|
||||||
|
|
||||||
OreStack possibleOreStack = OreStack.getOreStackFromList(objectList);
|
OreStack possibleOreStack = OreStack.getOreStackFrom(objectList);
|
||||||
|
|
||||||
if (possibleOreStack != null) {
|
if (possibleOreStack != null) {
|
||||||
|
|
||||||
|
@ -199,7 +199,7 @@ public final class WrappedStack implements Comparable<WrappedStack> {
|
||||||
}
|
}
|
||||||
else if (object instanceof List) {
|
else if (object instanceof List) {
|
||||||
|
|
||||||
if (OreStack.getOreStackFromList((List<?>) object) != null) {
|
if (OreStack.getOreStackFrom((List<?>) object) != null) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -302,7 +302,7 @@ public final class WrappedStack implements Comparable<WrappedStack> {
|
||||||
|
|
||||||
if (wrappedStack2.wrappedStack instanceof ItemStack) {
|
if (wrappedStack2.wrappedStack instanceof ItemStack) {
|
||||||
|
|
||||||
int compareResult = ItemHelper.compare((ItemStack) wrappedStack1.wrappedStack, (ItemStack) wrappedStack2.wrappedStack);
|
int compareResult = ItemStackUtils.compare((ItemStack) wrappedStack1.wrappedStack, (ItemStack) wrappedStack2.wrappedStack);
|
||||||
|
|
||||||
if (compareResult == 0) {
|
if (compareResult == 0) {
|
||||||
return wrappedStack1.stackSize - wrappedStack2.stackSize;
|
return wrappedStack1.stackSize - wrappedStack2.stackSize;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.pahimar.ee3.handler;
|
||||||
|
|
||||||
import com.pahimar.ee3.item.crafting.RecipesAlchemicalBagDyes;
|
import com.pahimar.ee3.item.crafting.RecipesAlchemicalBagDyes;
|
||||||
import com.pahimar.ee3.util.IOwnable;
|
import com.pahimar.ee3.util.IOwnable;
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemStackUtils;
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||||
import net.minecraft.item.crafting.CraftingManager;
|
import net.minecraft.item.crafting.CraftingManager;
|
||||||
|
@ -17,7 +17,7 @@ public class CraftingHandler
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onItemCraftedEvent(PlayerEvent.ItemCraftedEvent event) {
|
public void onItemCraftedEvent(PlayerEvent.ItemCraftedEvent event) {
|
||||||
if (event.crafting.getItem() instanceof IOwnable) {
|
if (event.crafting.getItem() instanceof IOwnable) {
|
||||||
ItemHelper.setOwner(event.crafting, event.player);
|
ItemStackUtils.setOwner(event.crafting, event.player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,15 +12,15 @@ import static com.pahimar.ee3.api.exchange.EnergyValueRegistryProxy.Phase;
|
||||||
|
|
||||||
public class EnergyValues {
|
public class EnergyValues {
|
||||||
|
|
||||||
|
private static final String[] DYES = {"Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White"};
|
||||||
|
|
||||||
public static void init() {
|
public static void init() {
|
||||||
|
|
||||||
// OreDictionary assignment
|
// OreDictionary assignment
|
||||||
EnergyValueRegistryProxy.setEnergyValue(new OreStack("cobblestone"), 1, Phase.PRE_CALCULATION);
|
EnergyValueRegistryProxy.setEnergyValue(new OreStack("cobblestone"), 1, Phase.PRE_CALCULATION);
|
||||||
EnergyValueRegistryProxy.setEnergyValue(new OreStack("dustRedstone"), 32, Phase.PRE_CALCULATION);
|
EnergyValueRegistryProxy.setEnergyValue(new OreStack("dustRedstone"), 32, Phase.PRE_CALCULATION);
|
||||||
String[] dyes = {"Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White"};
|
for (int i = 0; i < DYES.length; i++) {
|
||||||
for (int i = 0; i < dyes.length; i++)
|
EnergyValueRegistryProxy.setEnergyValue(new OreStack("dye" + DYES[i]), 16, Phase.PRE_CALCULATION);
|
||||||
{
|
|
||||||
EnergyValueRegistryProxy.setEnergyValue(new OreStack("dye" + dyes[i]), 16, Phase.PRE_CALCULATION);
|
|
||||||
}
|
}
|
||||||
EnergyValueRegistryProxy.setEnergyValue(new OreStack("gemDiamond"), 8192, Phase.PRE_CALCULATION);
|
EnergyValueRegistryProxy.setEnergyValue(new OreStack("gemDiamond"), 8192, Phase.PRE_CALCULATION);
|
||||||
EnergyValueRegistryProxy.setEnergyValue(new OreStack("gemEmerald"), 8192, Phase.PRE_CALCULATION);
|
EnergyValueRegistryProxy.setEnergyValue(new OreStack("gemEmerald"), 8192, Phase.PRE_CALCULATION);
|
||||||
|
|
|
@ -6,7 +6,7 @@ import com.pahimar.ee3.inventory.element.IElementTextFieldHandler;
|
||||||
import com.pahimar.ee3.item.ItemAlchenomicon;
|
import com.pahimar.ee3.item.ItemAlchenomicon;
|
||||||
import com.pahimar.ee3.reference.Comparators;
|
import com.pahimar.ee3.reference.Comparators;
|
||||||
import com.pahimar.ee3.util.FilterUtils;
|
import com.pahimar.ee3.util.FilterUtils;
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemStackUtils;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
@ -32,9 +32,8 @@ public class ContainerAlchenomicon extends ContainerEE implements IElementButton
|
||||||
{
|
{
|
||||||
TreeSet<ItemStack> knownTransmutations = new TreeSet<>(Comparators.DISPLAY_NAME_COMPARATOR);
|
TreeSet<ItemStack> knownTransmutations = new TreeSet<>(Comparators.DISPLAY_NAME_COMPARATOR);
|
||||||
|
|
||||||
if (itemStack.getItem() instanceof ItemAlchenomicon && ItemHelper.hasOwnerName(itemStack))
|
if (itemStack.getItem() instanceof ItemAlchenomicon && ItemStackUtils.getOwnerName(itemStack) != null) {
|
||||||
{
|
String playerName = ItemStackUtils.getOwnerName(itemStack);
|
||||||
String playerName = ItemHelper.getOwnerName(itemStack);
|
|
||||||
knownTransmutations.addAll(PlayerKnowledgeRegistryProxy.getKnownItemStacks(playerName));
|
knownTransmutations.addAll(PlayerKnowledgeRegistryProxy.getKnownItemStacks(playerName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.pahimar.ee3.inventory;
|
package com.pahimar.ee3.inventory;
|
||||||
|
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemStackUtils;
|
||||||
import net.minecraft.inventory.Container;
|
import net.minecraft.inventory.Container;
|
||||||
import net.minecraft.inventory.Slot;
|
import net.minecraft.inventory.Slot;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -26,7 +26,7 @@ public abstract class ContainerEE extends Container
|
||||||
slot = (Slot) this.inventorySlots.get(currentSlotIndex);
|
slot = (Slot) this.inventorySlots.get(currentSlotIndex);
|
||||||
stackInSlot = slot.getStack();
|
stackInSlot = slot.getStack();
|
||||||
|
|
||||||
if (slot.isItemValid(itemStack) && ItemHelper.equalsIgnoreStackSize(itemStack, stackInSlot))
|
if (slot.isItemValid(itemStack) && ItemStackUtils.equalsIgnoreStackSize(itemStack, stackInSlot))
|
||||||
{
|
{
|
||||||
int combinedStackSize = stackInSlot.stackSize + itemStack.stackSize;
|
int combinedStackSize = stackInSlot.stackSize + itemStack.stackSize;
|
||||||
int slotStackSizeLimit = Math.min(stackInSlot.getMaxStackSize(), slot.getSlotStackLimit());
|
int slotStackSizeLimit = Math.min(stackInSlot.getMaxStackSize(), slot.getSlotStackLimit());
|
||||||
|
@ -62,7 +62,7 @@ public abstract class ContainerEE extends Container
|
||||||
|
|
||||||
if (slot.isItemValid(itemStack) && stackInSlot == null)
|
if (slot.isItemValid(itemStack) && stackInSlot == null)
|
||||||
{
|
{
|
||||||
slot.putStack(ItemHelper.clone(itemStack, Math.min(itemStack.stackSize, slot.getSlotStackLimit())));
|
slot.putStack(ItemStackUtils.clone(itemStack, Math.min(itemStack.stackSize, slot.getSlotStackLimit())));
|
||||||
slot.onSlotChanged();
|
slot.onSlotChanged();
|
||||||
|
|
||||||
if (slot.getStack() != null)
|
if (slot.getStack() != null)
|
||||||
|
|
|
@ -15,7 +15,7 @@ import com.pahimar.ee3.network.message.MessagePlayerKnowledge;
|
||||||
import com.pahimar.ee3.reference.Comparators;
|
import com.pahimar.ee3.reference.Comparators;
|
||||||
import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet;
|
import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet;
|
||||||
import com.pahimar.ee3.util.FilterUtils;
|
import com.pahimar.ee3.util.FilterUtils;
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemStackUtils;
|
||||||
import com.pahimar.repackage.cofh.lib.util.helpers.MathHelper;
|
import com.pahimar.repackage.cofh.lib.util.helpers.MathHelper;
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||||
|
@ -48,9 +48,8 @@ public class ContainerTransmutationTablet extends ContainerEE implements IElemen
|
||||||
if (tileEntityTransmutationTablet.getStackInSlot(TileEntityTransmutationTablet.ALCHENOMICON_INDEX) != null)
|
if (tileEntityTransmutationTablet.getStackInSlot(TileEntityTransmutationTablet.ALCHENOMICON_INDEX) != null)
|
||||||
{
|
{
|
||||||
ItemStack itemStack = tileEntityTransmutationTablet.getStackInSlot(TileEntityTransmutationTablet.ALCHENOMICON_INDEX);
|
ItemStack itemStack = tileEntityTransmutationTablet.getStackInSlot(TileEntityTransmutationTablet.ALCHENOMICON_INDEX);
|
||||||
if (itemStack.getItem() instanceof ItemAlchenomicon && ItemHelper.hasOwnerName(itemStack))
|
if (itemStack.getItem() instanceof ItemAlchenomicon && ItemStackUtils.getOwnerName(itemStack) != null) {
|
||||||
{
|
knownTransmutations.addAll(PlayerKnowledgeRegistryProxy.getKnownItemStacks(ItemStackUtils.getOwnerName(itemStack)));
|
||||||
knownTransmutations.addAll(PlayerKnowledgeRegistryProxy.getKnownItemStacks(ItemHelper.getOwnerName(itemStack)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
inventoryTransmutationTablet = new InventoryTransmutationTablet(knownTransmutations);
|
inventoryTransmutationTablet = new InventoryTransmutationTablet(knownTransmutations);
|
||||||
|
@ -348,7 +347,7 @@ public class ContainerTransmutationTablet extends ContainerEE implements IElemen
|
||||||
itemStack1.stackSize = 0;
|
itemStack1.stackSize = 0;
|
||||||
slot.onSlotChanged();
|
slot.onSlotChanged();
|
||||||
}
|
}
|
||||||
else if (slot.isItemValid(itemStack1) && ItemHelper.equalsIgnoreStackSize(itemStack1, stackInSlot)) {
|
else if (slot.isItemValid(itemStack1) && ItemStackUtils.equalsIgnoreStackSize(itemStack1, stackInSlot)) {
|
||||||
|
|
||||||
int slotStackSizeLimit = Math.min(stackInSlot.getMaxStackSize(), slot.getSlotStackLimit());
|
int slotStackSizeLimit = Math.min(stackInSlot.getMaxStackSize(), slot.getSlotStackLimit());
|
||||||
int combinedStackSize = stackInSlot.stackSize + itemStack1.stackSize;
|
int combinedStackSize = stackInSlot.stackSize + itemStack1.stackSize;
|
||||||
|
@ -373,7 +372,7 @@ public class ContainerTransmutationTablet extends ContainerEE implements IElemen
|
||||||
}
|
}
|
||||||
|
|
||||||
// transmutationOutputSlot.onPickupFromSlot(entityPlayer, new ItemStack(itemStack.getItem(), numTransmuted));
|
// transmutationOutputSlot.onPickupFromSlot(entityPlayer, new ItemStack(itemStack.getItem(), numTransmuted));
|
||||||
transmutationOutputSlot.onPickupFromSlot(entityPlayer, ItemHelper.clone(itemStack, numTransmuted));
|
transmutationOutputSlot.onPickupFromSlot(entityPlayer, ItemStackUtils.clone(itemStack, numTransmuted));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -476,7 +475,7 @@ public class ContainerTransmutationTablet extends ContainerEE implements IElemen
|
||||||
this.containerTransmutationTablet.inventoryTransmutationTablet = new InventoryTransmutationTablet();
|
this.containerTransmutationTablet.inventoryTransmutationTablet = new InventoryTransmutationTablet();
|
||||||
this.containerTransmutationTablet.updateInventory();
|
this.containerTransmutationTablet.updateInventory();
|
||||||
|
|
||||||
if (!this.tileEntityTransmutationTablet.getWorldObj().isRemote && itemStack != null && itemStack.getItem() instanceof ItemAlchenomicon && ItemHelper.hasOwnerUUID(itemStack))
|
if (!this.tileEntityTransmutationTablet.getWorldObj().isRemote && itemStack != null && itemStack.getItem() instanceof ItemAlchenomicon && ItemStackUtils.getOwnerUUID(itemStack) != null)
|
||||||
{
|
{
|
||||||
PacketHandler.INSTANCE.sendToAllAround(new MessagePlayerKnowledge(this.containerTransmutationTablet.tileEntityTransmutationTablet, null), new NetworkRegistry.TargetPoint(this.tileEntityTransmutationTablet.getWorldObj().provider.dimensionId, (double) this.tileEntityTransmutationTablet.xCoord, (double) this.tileEntityTransmutationTablet.yCoord, (double) this.tileEntityTransmutationTablet.zCoord, 5d));
|
PacketHandler.INSTANCE.sendToAllAround(new MessagePlayerKnowledge(this.containerTransmutationTablet.tileEntityTransmutationTablet, null), new NetworkRegistry.TargetPoint(this.tileEntityTransmutationTablet.getWorldObj().provider.dimensionId, (double) this.tileEntityTransmutationTablet.xCoord, (double) this.tileEntityTransmutationTablet.yCoord, (double) this.tileEntityTransmutationTablet.zCoord, 5d));
|
||||||
}
|
}
|
||||||
|
@ -487,9 +486,9 @@ public class ContainerTransmutationTablet extends ContainerEE implements IElemen
|
||||||
{
|
{
|
||||||
super.putStack(itemStack);
|
super.putStack(itemStack);
|
||||||
|
|
||||||
if (!this.tileEntityTransmutationTablet.getWorldObj().isRemote && itemStack != null && itemStack.getItem() instanceof ItemAlchenomicon && ItemHelper.hasOwnerName(itemStack))
|
if (!this.tileEntityTransmutationTablet.getWorldObj().isRemote && itemStack != null && itemStack.getItem() instanceof ItemAlchenomicon && ItemStackUtils.getOwnerName(itemStack) != null)
|
||||||
{
|
{
|
||||||
Set<ItemStack> knownTransmutations = PlayerKnowledgeRegistryProxy.getKnownItemStacks(ItemHelper.getOwnerName(itemStack));
|
Set<ItemStack> knownTransmutations = PlayerKnowledgeRegistryProxy.getKnownItemStacks(ItemStackUtils.getOwnerName(itemStack));
|
||||||
this.containerTransmutationTablet.inventoryTransmutationTablet = new InventoryTransmutationTablet(knownTransmutations);
|
this.containerTransmutationTablet.inventoryTransmutationTablet = new InventoryTransmutationTablet(knownTransmutations);
|
||||||
this.containerTransmutationTablet.updateInventory();
|
this.containerTransmutationTablet.updateInventory();
|
||||||
PacketHandler.INSTANCE.sendToAllAround(new MessagePlayerKnowledge(this.containerTransmutationTablet.tileEntityTransmutationTablet, knownTransmutations), new NetworkRegistry.TargetPoint(this.tileEntityTransmutationTablet.getWorldObj().provider.dimensionId, (double) this.tileEntityTransmutationTablet.xCoord, (double) this.tileEntityTransmutationTablet.yCoord, (double) this.tileEntityTransmutationTablet.zCoord, 5d));
|
PacketHandler.INSTANCE.sendToAllAround(new MessagePlayerKnowledge(this.containerTransmutationTablet.tileEntityTransmutationTablet, knownTransmutations), new NetworkRegistry.TargetPoint(this.tileEntityTransmutationTablet.getWorldObj().provider.dimensionId, (double) this.tileEntityTransmutationTablet.xCoord, (double) this.tileEntityTransmutationTablet.yCoord, (double) this.tileEntityTransmutationTablet.zCoord, 5d));
|
||||||
|
|
|
@ -7,7 +7,7 @@ import com.pahimar.ee3.reference.Names;
|
||||||
import com.pahimar.ee3.reference.Textures;
|
import com.pahimar.ee3.reference.Textures;
|
||||||
import com.pahimar.ee3.util.ColorHelper;
|
import com.pahimar.ee3.util.ColorHelper;
|
||||||
import com.pahimar.ee3.util.IOwnable;
|
import com.pahimar.ee3.util.IOwnable;
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemStackUtils;
|
||||||
import com.pahimar.ee3.util.NBTHelper;
|
import com.pahimar.ee3.util.NBTHelper;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
@ -99,12 +99,12 @@ public class ItemAlchemicalBag extends ItemEE implements IOwnable
|
||||||
if (!world.isRemote) {
|
if (!world.isRemote) {
|
||||||
|
|
||||||
// Set the owner of the bag if one doesn't exist already
|
// Set the owner of the bag if one doesn't exist already
|
||||||
if (!ItemHelper.hasOwnerUUID(itemStack)) {
|
if (ItemStackUtils.getOwnerUUID(itemStack) == null) {
|
||||||
ItemHelper.setOwner(itemStack, entityPlayer);
|
ItemStackUtils.setOwner(itemStack, entityPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set an UUID on the bag if one doesn't exist already
|
// Set an UUID on the bag if one doesn't exist already
|
||||||
if (!NBTHelper.hasUUID(itemStack)) {
|
if (NBTHelper.getUUID(itemStack) == null) {
|
||||||
NBTHelper.setUUID(itemStack, UUID.randomUUID());
|
NBTHelper.setUUID(itemStack, UUID.randomUUID());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import com.pahimar.ee3.reference.GUIs;
|
||||||
import com.pahimar.ee3.reference.Messages;
|
import com.pahimar.ee3.reference.Messages;
|
||||||
import com.pahimar.ee3.reference.Names;
|
import com.pahimar.ee3.reference.Names;
|
||||||
import com.pahimar.ee3.util.IOwnable;
|
import com.pahimar.ee3.util.IOwnable;
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemStackUtils;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.ChatComponentTranslation;
|
import net.minecraft.util.ChatComponentTranslation;
|
||||||
|
@ -34,9 +34,9 @@ public class ItemAlchenomicon extends ItemEE implements IOwnable, IEnergyValuePr
|
||||||
{
|
{
|
||||||
if (!world.isRemote)
|
if (!world.isRemote)
|
||||||
{
|
{
|
||||||
if (!ItemHelper.hasOwnerUUID(itemStack))
|
if (ItemStackUtils.getOwnerUUID(itemStack) == null)
|
||||||
{
|
{
|
||||||
ItemHelper.setOwner(itemStack, entityPlayer);
|
ItemStackUtils.setOwner(itemStack, entityPlayer);
|
||||||
entityPlayer.addChatComponentMessage(new ChatComponentTranslation(Messages.OWNER_SET_TO_SELF, new Object[]{itemStack.func_151000_E()}));
|
entityPlayer.addChatComponentMessage(new ChatComponentTranslation(Messages.OWNER_SET_TO_SELF, new Object[]{itemStack.func_151000_E()}));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.pahimar.ee3.knowledge;
|
package com.pahimar.ee3.knowledge;
|
||||||
|
|
||||||
import com.pahimar.ee3.reference.Comparators;
|
import com.pahimar.ee3.reference.Comparators;
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemStackUtils;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
@ -35,7 +35,7 @@ public class PlayerKnowledge {
|
||||||
public boolean isKnown(Object object) {
|
public boolean isKnown(Object object) {
|
||||||
|
|
||||||
if (object instanceof ItemStack) {
|
if (object instanceof ItemStack) {
|
||||||
return knownItemStacks.contains(ItemHelper.clone((ItemStack) object, 1));
|
return knownItemStacks.contains(ItemStackUtils.clone((ItemStack) object, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -48,7 +48,7 @@ public class PlayerKnowledge {
|
||||||
public void learn(Object object) {
|
public void learn(Object object) {
|
||||||
|
|
||||||
if (object instanceof ItemStack) {
|
if (object instanceof ItemStack) {
|
||||||
ItemStack unitItemStack = ItemHelper.clone((ItemStack) object, 1);
|
ItemStack unitItemStack = ItemStackUtils.clone((ItemStack) object, 1);
|
||||||
knownItemStacks.add(unitItemStack);
|
knownItemStacks.add(unitItemStack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,7 @@ public class PlayerKnowledge {
|
||||||
public void forget(Object object) {
|
public void forget(Object object) {
|
||||||
|
|
||||||
if (object instanceof ItemStack) {
|
if (object instanceof ItemStack) {
|
||||||
ItemStack unitItemStack = ItemHelper.clone((ItemStack) object, 1);
|
ItemStack unitItemStack = ItemStackUtils.clone((ItemStack) object, 1);
|
||||||
knownItemStacks.remove(unitItemStack);
|
knownItemStacks.remove(unitItemStack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,7 @@ public class PlayerKnowledge {
|
||||||
|
|
||||||
stringBuilder.append("[");
|
stringBuilder.append("[");
|
||||||
for (ItemStack itemStack : knownItemStacks) {
|
for (ItemStack itemStack : knownItemStacks) {
|
||||||
stringBuilder.append(String.format("%s, ", ItemHelper.toString(itemStack)));
|
stringBuilder.append(String.format("%s, ", ItemStackUtils.toString(itemStack)));
|
||||||
}
|
}
|
||||||
stringBuilder.append("]");
|
stringBuilder.append("]");
|
||||||
|
|
||||||
|
|
|
@ -69,9 +69,9 @@ public class RecipeRegistry {
|
||||||
|
|
||||||
public void registerVanillaRecipes() {
|
public void registerVanillaRecipes() {
|
||||||
|
|
||||||
RecipesVanilla.registerRecipes();
|
new RecipesVanilla().registerRecipes();
|
||||||
RecipesFluidContainers.registerRecipes();
|
new RecipesFluidContainers().registerRecipes();
|
||||||
RecipesPotions.registerRecipes();
|
new RecipesPotions().registerRecipes();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Multimap<WrappedStack, Set<WrappedStack>> getRecipeMappings() {
|
public Multimap<WrappedStack, Set<WrappedStack>> getRecipeMappings() {
|
||||||
|
|
|
@ -4,20 +4,13 @@ import com.pahimar.ee3.api.recipe.RecipeRegistryProxy;
|
||||||
import net.minecraftforge.fluids.FluidContainerRegistry;
|
import net.minecraftforge.fluids.FluidContainerRegistry;
|
||||||
import net.minecraftforge.fluids.FluidContainerRegistry.FluidContainerData;
|
import net.minecraftforge.fluids.FluidContainerRegistry.FluidContainerData;
|
||||||
|
|
||||||
import java.util.Arrays;
|
public class RecipesFluidContainers {
|
||||||
|
|
||||||
public class RecipesFluidContainers
|
public void registerRecipes() {
|
||||||
{
|
|
||||||
public static void registerRecipes()
|
for (FluidContainerData fluidContainerData : FluidContainerRegistry.getRegisteredFluidContainerData()) {
|
||||||
{
|
if (fluidContainerData.fluid != null && fluidContainerData.filledContainer != null && fluidContainerData.emptyContainer != null) {
|
||||||
for (FluidContainerData fluidContainerData : FluidContainerRegistry.getRegisteredFluidContainerData())
|
RecipeRegistryProxy.addRecipe(fluidContainerData.filledContainer.copy(), fluidContainerData.fluid.copy(), fluidContainerData.emptyContainer.copy());
|
||||||
{
|
|
||||||
if (fluidContainerData.fluid != null)
|
|
||||||
{
|
|
||||||
if (fluidContainerData.filledContainer != null && fluidContainerData.emptyContainer != null)
|
|
||||||
{
|
|
||||||
RecipeRegistryProxy.addRecipe(fluidContainerData.filledContainer.copy(), Arrays.asList(fluidContainerData.fluid.copy(), fluidContainerData.emptyContainer.copy()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,6 @@ import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
public class RecipesPotions
|
public class RecipesPotions
|
||||||
{
|
{
|
||||||
private static WrappedStack reagentWater = WrappedStack.wrap(new ItemStack(Blocks.water));
|
private static WrappedStack reagentWater = WrappedStack.wrap(new ItemStack(Blocks.water));
|
||||||
|
@ -154,181 +152,181 @@ public class RecipesPotions
|
||||||
private static WrappedStack potionInvisibilitySplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16462));
|
private static WrappedStack potionInvisibilitySplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16462));
|
||||||
private static WrappedStack potionInvisibilitySplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16462));
|
private static WrappedStack potionInvisibilitySplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16462));
|
||||||
|
|
||||||
public static void registerRecipes()
|
public void registerRecipes() {
|
||||||
{
|
|
||||||
RecipeRegistryProxy.addRecipe(bottleWater, Arrays.asList(bottleEmpty, reagentWater));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionAwkwardOutput, Arrays.asList(bottleWater, reagentNetherWart));
|
RecipeRegistryProxy.addRecipe(bottleWater, bottleEmpty, reagentWater);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionNightVisionOutput, Arrays.asList(potionAwkward, reagentGoldenCarrot));
|
RecipeRegistryProxy.addRecipe(potionAwkwardOutput, bottleWater, reagentNetherWart);
|
||||||
RecipeRegistryProxy.addRecipe(potionNightVisionOutput, Arrays.asList(potionNightVisionExtended, reagentGlowstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionNightVisionSplashOutput, Arrays.asList(potionNightVisionSplashExtended, reagentGlowstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionNightVisionSplashOutput, Arrays.asList(potionNightVision, reagentGunpowder));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionNightVisionExtendedOutput, Arrays.asList(potionNightVision, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionNightVisionOutput, potionAwkward, reagentGoldenCarrot);
|
||||||
RecipeRegistryProxy.addRecipe(potionNightVisionSplashExtendedOutput, Arrays.asList(potionNightVisionSplash, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionNightVisionOutput, potionNightVisionExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionNightVisionSplashExtendedOutput, Arrays.asList(potionNightVisionExtended, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionNightVisionSplashOutput, potionNightVisionSplashExtended, reagentGlowstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionNightVisionSplashOutput, potionNightVision, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionInvisibilityOutput, Arrays.asList(potionNightVision, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionNightVisionExtendedOutput, potionNightVision, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionInvisibilityOutput, Arrays.asList(potionInvisibilityExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionNightVisionSplashExtendedOutput, potionNightVisionSplash, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashOutput, Arrays.asList(potionNightVisionSplash, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionNightVisionSplashExtendedOutput, potionNightVisionExtended, reagentGunpowder);
|
||||||
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashOutput, Arrays.asList(potionInvisibilitySplashExtended, reagentGlowstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashOutput, Arrays.asList(potionInvisibility, reagentGunpowder));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionInvisibilityExtendedOutput, Arrays.asList(potionInvisibility, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionInvisibilityOutput, potionNightVision, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionInvisibilityExtendedOutput, Arrays.asList(potionNightVisionExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionInvisibilityOutput, potionInvisibilityExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtendedOutput, Arrays.asList(potionInvisibilitySplash, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashOutput, potionNightVisionSplash, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtendedOutput, Arrays.asList(potionNightVisionSplashExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashOutput, potionInvisibilitySplashExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtendedOutput, Arrays.asList(potionInvisibilityExtended, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashOutput, potionInvisibility, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionFireResistOutput, Arrays.asList(potionAwkward, reagentMagmaCream));
|
RecipeRegistryProxy.addRecipe(potionInvisibilityExtendedOutput, potionInvisibility, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionFireResistOutput, Arrays.asList(potionFireResistExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionInvisibilityExtendedOutput, potionNightVisionExtended, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionFireResistSplashOutput, Arrays.asList(potionFireResistSplashExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtendedOutput, potionInvisibilitySplash, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionFireResistSplashOutput, Arrays.asList(potionFireResist, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtendedOutput, potionNightVisionSplashExtended, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtendedOutput, potionInvisibilityExtended, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionFireResistExtendedOutput, Arrays.asList(potionFireResist, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionFireResistOutput, potionAwkward, reagentMagmaCream);
|
||||||
RecipeRegistryProxy.addRecipe(potionFireResistSplashExtendedOutput, Arrays.asList(potionFireResistSplash, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionFireResistOutput, potionFireResistExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionFireResistSplashExtendedOutput, Arrays.asList(potionFireResistExtended, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionFireResistSplashOutput, potionFireResistSplashExtended, reagentGlowstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionFireResistSplashOutput, potionFireResist, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessOutput, Arrays.asList(potionFireResist, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionFireResistExtendedOutput, potionFireResist, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessOutput, Arrays.asList(potionSlownessExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionFireResistSplashExtendedOutput, potionFireResistSplash, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessOutput, Arrays.asList(potionSwiftness, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionFireResistSplashExtendedOutput, potionFireResistExtended, reagentGunpowder);
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessOutput, Arrays.asList(potionSwiftnessExtended, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, Arrays.asList(potionFireResistSplash, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, Arrays.asList(potionSlownessSplashExtended, reagentGlowstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, Arrays.asList(potionSwiftnessSplash, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, Arrays.asList(potionSwiftnessSplashExtended, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, Arrays.asList(potionSlowness, reagentGunpowder));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessExtendedOutput, Arrays.asList(potionFireResistExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionSlownessOutput, potionFireResist, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessExtendedOutput, Arrays.asList(potionSwiftnessEnhanced, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionSlownessOutput, potionSlownessExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessSplashExtendedOutput, Arrays.asList(potionFireResistSplashExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionSlownessOutput, potionSwiftness, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessSplashExtendedOutput, Arrays.asList(potionSwiftnessSplashEnhanced, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionSlownessOutput, potionSwiftnessExtended, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionSlownessSplashExtendedOutput, Arrays.asList(potionSlownessExtended, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, potionFireResistSplash, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, potionSlownessSplashExtended, reagentGlowstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, potionSwiftnessSplash, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, potionSwiftnessSplashExtended, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, potionSlowness, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessOutput, Arrays.asList(potionAwkward, reagentSugar));
|
RecipeRegistryProxy.addRecipe(potionSlownessExtendedOutput, potionFireResistExtended, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashOutput, Arrays.asList(potionSwiftness, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionSlownessExtendedOutput, potionSwiftnessEnhanced, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionSlownessSplashExtendedOutput, potionFireResistSplashExtended, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionSlownessSplashExtendedOutput, potionSwiftnessSplashEnhanced, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionSlownessSplashExtendedOutput, potionSlownessExtended, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessExtendedOutput, Arrays.asList(potionSwiftness, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessOutput, potionAwkward, reagentSugar);
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessExtendedOutput, Arrays.asList(potionSwiftnessEnhanced, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashOutput, potionSwiftness, reagentGunpowder);
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtendedOutput, Arrays.asList(potionSwiftnessSplash, reagentRedstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtendedOutput, Arrays.asList(potionSwiftnessSplashEnhanced, reagentRedstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtendedOutput, Arrays.asList(potionSwiftnessExtended, reagentGunpowder));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessEnhancedOutput, Arrays.asList(potionSwiftness, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessExtendedOutput, potionSwiftness, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessEnhancedOutput, Arrays.asList(potionSwiftnessExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessExtendedOutput, potionSwiftnessEnhanced, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhancedOutput, Arrays.asList(potionSwiftnessSplash, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtendedOutput, potionSwiftnessSplash, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhancedOutput, Arrays.asList(potionSwiftnessSplashExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtendedOutput, potionSwiftnessSplashEnhanced, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhancedOutput, Arrays.asList(potionSwiftnessEnhanced, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtendedOutput, potionSwiftnessExtended, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionHealingOutput, Arrays.asList(potionAwkward, reagentGlisteringMelon));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessEnhancedOutput, potionSwiftness, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionHealingOutput, Arrays.asList(potionHealingEnhanced, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessEnhancedOutput, potionSwiftnessExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionHealingSplashOutput, Arrays.asList(potionHealingSplashEnhanced, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhancedOutput, potionSwiftnessSplash, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionHealingSplashOutput, Arrays.asList(potionHealing, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhancedOutput, potionSwiftnessSplashExtended, reagentGlowstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhancedOutput, potionSwiftnessEnhanced, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionHealingEnhancedOutput, Arrays.asList(potionHealing, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionHealingOutput, potionAwkward, reagentGlisteringMelon);
|
||||||
RecipeRegistryProxy.addRecipe(potionHealingSplashEnhancedOutput, Arrays.asList(potionHealingSplash, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionHealingOutput, potionHealingEnhanced, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionHealingSplashEnhancedOutput, Arrays.asList(potionHealingEnhanced, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionHealingSplashOutput, potionHealingSplashEnhanced, reagentRedstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionHealingSplashOutput, potionHealing, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingOutput, Arrays.asList(potionHealing, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionHealingEnhancedOutput, potionHealing, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingOutput, Arrays.asList(potionPoison, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionHealingSplashEnhancedOutput, potionHealingSplash, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingOutput, Arrays.asList(potionPoisonExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionHealingSplashEnhancedOutput, potionHealingEnhanced, reagentGunpowder);
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingOutput, Arrays.asList(potionHarmingEnhanced, reagentRedstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, Arrays.asList(potionHealingSplash, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, Arrays.asList(potionPoisonSplash, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, Arrays.asList(potionPoisonSplashExtended, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, Arrays.asList(potionHarmingSplashEnhanced, reagentRedstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, Arrays.asList(potionHarming, reagentGunpowder));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingEnhancedOutput, Arrays.asList(potionHealingEnhanced, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionHarmingOutput, potionHealing, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingEnhancedOutput, Arrays.asList(potionHarming, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionHarmingOutput, potionPoison, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingEnhancedOutput, Arrays.asList(potionPoisonEnhanced, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionHarmingOutput, potionPoisonExtended, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, Arrays.asList(potionHealingSplashEnhanced, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionHarmingOutput, potionHarmingEnhanced, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, Arrays.asList(potionHarmingSplash, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, potionHealingSplash, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, Arrays.asList(potionPoisonSplashEnhanced, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, potionPoisonSplash, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, Arrays.asList(potionHarmingEnhanced, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, potionPoisonSplashExtended, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, potionHarmingSplashEnhanced, reagentRedstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, potionHarming, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonOutput, Arrays.asList(potionAwkward, reagentSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionHarmingEnhancedOutput, potionHealingEnhanced, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonSplashOutput, Arrays.asList(potionPoison, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionHarmingEnhancedOutput, potionHarming, reagentGlowstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionHarmingEnhancedOutput, potionPoisonEnhanced, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, potionHealingSplashEnhanced, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, potionHarmingSplash, reagentGlowstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, potionPoisonSplashEnhanced, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, potionHarmingEnhanced, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonExtendedOutput, Arrays.asList(potionPoisonExtended, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionPoisonOutput, potionAwkward, reagentSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonExtendedOutput, Arrays.asList(potionPoisonEnhanced, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionPoisonSplashOutput, potionPoison, reagentGunpowder);
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonSplashExtendedOutput, Arrays.asList(potionPoisonSplashExtended, reagentRedstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonSplashExtendedOutput, Arrays.asList(potionPoisonSplashEnhanced, reagentRedstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonSplashExtendedOutput, Arrays.asList(potionPoisonExtended, reagentGunpowder));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonEnhancedOutput, Arrays.asList(potionPoison, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionPoisonExtendedOutput, potionPoisonExtended, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonEnhancedOutput, Arrays.asList(potionPoisonExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionPoisonExtendedOutput, potionPoisonEnhanced, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhancedOutput, Arrays.asList(potionPoisonSplash, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionPoisonSplashExtendedOutput, potionPoisonSplashExtended, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhancedOutput, Arrays.asList(potionPoisonSplashExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionPoisonSplashExtendedOutput, potionPoisonSplashEnhanced, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhancedOutput, Arrays.asList(potionPoisonEnhanced, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionPoisonSplashExtendedOutput, potionPoisonExtended, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationOutput, Arrays.asList(potionAwkward, reagentGhastTear));
|
RecipeRegistryProxy.addRecipe(potionPoisonEnhancedOutput, potionPoison, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationSplashOutput, Arrays.asList(potionRegeneration, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionPoisonEnhancedOutput, potionPoisonExtended, reagentGlowstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhancedOutput, potionPoisonSplash, reagentGlowstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhancedOutput, potionPoisonSplashExtended, reagentGlowstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhancedOutput, potionPoisonEnhanced, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationExtendedOutput, Arrays.asList(potionRegeneration, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionRegenerationOutput, potionAwkward, reagentGhastTear);
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationExtendedOutput, Arrays.asList(potionRegenerationEnhanced, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionRegenerationSplashOutput, potionRegeneration, reagentGunpowder);
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtendedOutput, Arrays.asList(potionRegenerationSplash, reagentRedstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtendedOutput, Arrays.asList(potionRegenerationSplashEnhanced, reagentRedstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtendedOutput, Arrays.asList(potionRegenerationExtended, reagentGunpowder));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationEnhancedOutput, Arrays.asList(potionRegeneration, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionRegenerationExtendedOutput, potionRegeneration, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationEnhancedOutput, Arrays.asList(potionRegenerationExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionRegenerationExtendedOutput, potionRegenerationEnhanced, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhancedOutput, Arrays.asList(potionRegenerationSplash, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtendedOutput, potionRegenerationSplash, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhancedOutput, Arrays.asList(potionRegenerationSplashExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtendedOutput, potionRegenerationSplashEnhanced, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhancedOutput, Arrays.asList(potionRegenerationEnhanced, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtendedOutput, potionRegenerationExtended, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionAwkward, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionRegenerationEnhancedOutput, potionRegeneration, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionRegeneration, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionRegenerationEnhancedOutput, potionRegenerationExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionRegenerationEnhanced, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhancedOutput, potionRegenerationSplash, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionStrength, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhancedOutput, potionRegenerationSplashExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionStrengthEnhanced, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhancedOutput, potionRegenerationEnhanced, reagentGunpowder);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionMundane, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionWeaknessExtended, reagentGlowstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionRegenerationSplash, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionRegenerationSplashEnhanced, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionStrengthSplash, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionStrengthSplashEnhanced, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionMundaneSplash, reagentFermentedSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionWeaknessSplashExtended, reagentGlowstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionWeakness, reagentGunpowder));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, Arrays.asList(potionWeakness, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, potionAwkward, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, Arrays.asList(potionRegenerationExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, potionRegeneration, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, Arrays.asList(potionStrengthExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, potionRegenerationEnhanced, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, Arrays.asList(potionMundaneExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, potionStrength, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, Arrays.asList(potionWeaknessSplash, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, potionStrengthEnhanced, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, Arrays.asList(potionRegenerationSplashExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, potionMundane, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, Arrays.asList(potionStrengthSplashExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionWeaknessOutput, potionWeaknessExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, Arrays.asList(potionMundaneSplashExtended, reagentFermentedSpiderEye));
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, potionRegenerationSplash, reagentFermentedSpiderEye);
|
||||||
RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, Arrays.asList(potionWeaknessExtended, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, potionRegenerationSplashEnhanced, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, potionStrengthSplash, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, potionStrengthSplashEnhanced, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, potionMundaneSplash, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, potionWeaknessSplashExtended, reagentGlowstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, potionWeakness, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthOutput, Arrays.asList(potionAwkward, reagentBlazePowder));
|
RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, potionWeakness, reagentRedstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthSplashOutput, Arrays.asList(potionStrength, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, potionRegenerationExtended, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, potionStrengthExtended, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, potionMundaneExtended, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, potionWeaknessSplash, reagentRedstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, potionRegenerationSplashExtended, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, potionStrengthSplashExtended, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, potionMundaneSplashExtended, reagentFermentedSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, potionWeaknessExtended, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthEnhancedOutput, Arrays.asList(potionStrength, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionStrengthOutput, potionAwkward, reagentBlazePowder);
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthEnhancedOutput, Arrays.asList(potionStrengthExtended, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionStrengthSplashOutput, potionStrength, reagentGunpowder);
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhancedOutput, Arrays.asList(potionStrengthSplash, reagentGlowstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhancedOutput, Arrays.asList(potionStrengthSplashExtended, reagentGlowstoneDust));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhancedOutput, Arrays.asList(potionStrengthEnhanced, reagentGunpowder));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthExtendedOutput, Arrays.asList(potionStrength, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionStrengthEnhancedOutput, potionStrength, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthExtendedOutput, Arrays.asList(potionStrengthEnhanced, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionStrengthEnhancedOutput, potionStrengthExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthSplashExtendedOutput, Arrays.asList(potionStrengthSplash, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhancedOutput, potionStrengthSplash, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthSplashExtendedOutput, Arrays.asList(potionStrengthSplashEnhanced, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhancedOutput, potionStrengthSplashExtended, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionStrengthSplashExtendedOutput, Arrays.asList(potionStrengthExtended, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhancedOutput, potionStrengthEnhanced, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionThickOutput, Arrays.asList(bottleWater, reagentGlowstoneDust));
|
RecipeRegistryProxy.addRecipe(potionStrengthExtendedOutput, potionStrength, reagentRedstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionStrengthExtendedOutput, potionStrengthEnhanced, reagentRedstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionStrengthSplashExtendedOutput, potionStrengthSplash, reagentRedstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionStrengthSplashExtendedOutput, potionStrengthSplashEnhanced, reagentRedstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionStrengthSplashExtendedOutput, potionStrengthExtended, reagentGunpowder);
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentSugar));
|
RecipeRegistryProxy.addRecipe(potionThickOutput, bottleWater, reagentGlowstoneDust);
|
||||||
RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentGlisteringMelon));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentSpiderEye));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentBlazePowder));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentMagmaCream));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentGhastTear));
|
|
||||||
RecipeRegistryProxy.addRecipe(potionMundaneSplashOutput, Arrays.asList(potionMundane, reagentGunpowder));
|
|
||||||
|
|
||||||
RecipeRegistryProxy.addRecipe(potionMundaneExtendedOutput, Arrays.asList(bottleWater, reagentRedstoneDust));
|
RecipeRegistryProxy.addRecipe(potionMundaneOutput, bottleWater, reagentSugar);
|
||||||
RecipeRegistryProxy.addRecipe(potionMundaneSplashExtendedOutput, Arrays.asList(potionMundaneExtended, reagentGunpowder));
|
RecipeRegistryProxy.addRecipe(potionMundaneOutput, bottleWater, reagentGlisteringMelon);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionMundaneOutput, bottleWater, reagentSpiderEye);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionMundaneOutput, bottleWater, reagentBlazePowder);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionMundaneOutput, bottleWater, reagentMagmaCream);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionMundaneOutput, bottleWater, reagentGhastTear);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionMundaneSplashOutput, potionMundane, reagentGunpowder);
|
||||||
|
|
||||||
|
RecipeRegistryProxy.addRecipe(potionMundaneExtendedOutput, bottleWater, reagentRedstoneDust);
|
||||||
|
RecipeRegistryProxy.addRecipe(potionMundaneSplashExtendedOutput, potionMundaneExtended, reagentGunpowder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,26 +17,22 @@ import net.minecraftforge.oredict.ShapelessOreRecipe;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class RecipesVanilla
|
public class RecipesVanilla {
|
||||||
{
|
|
||||||
public static void registerRecipes()
|
public void registerRecipes() {
|
||||||
{
|
|
||||||
for (Object recipeObject : CraftingManager.getInstance().getRecipeList())
|
for (Object recipeObject : CraftingManager.getInstance().getRecipeList()) {
|
||||||
{
|
|
||||||
/**
|
// Vanilla
|
||||||
* Vanilla
|
if (recipeObject instanceof ShapedRecipes || recipeObject instanceof ShapelessRecipes || recipeObject instanceof ShapedOreRecipe || recipeObject instanceof ShapelessOreRecipe) {
|
||||||
*/
|
|
||||||
if (recipeObject instanceof ShapedRecipes || recipeObject instanceof ShapelessRecipes || recipeObject instanceof ShapedOreRecipe || recipeObject instanceof ShapelessOreRecipe)
|
|
||||||
{
|
|
||||||
IRecipe recipe = (IRecipe) recipeObject;
|
IRecipe recipe = (IRecipe) recipeObject;
|
||||||
ItemStack recipeOutput = recipe.getRecipeOutput();
|
ItemStack recipeOutput = recipe.getRecipeOutput();
|
||||||
|
|
||||||
if (recipeOutput != null)
|
if (recipeOutput != null) {
|
||||||
{
|
|
||||||
List<WrappedStack> recipeInputs = RecipeHelper.getRecipeInputs(recipe);
|
List<WrappedStack> recipeInputs = RecipeHelper.getRecipeInputs(recipe);
|
||||||
|
|
||||||
if (!recipeInputs.isEmpty())
|
if (!recipeInputs.isEmpty()) {
|
||||||
{
|
|
||||||
RecipeRegistryProxy.addRecipe(recipeOutput, recipeInputs);
|
RecipeRegistryProxy.addRecipe(recipeOutput, recipeInputs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,10 +40,6 @@ public class RecipesVanilla
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fixes for OreDictionary entries that may not exist (because the OreDictionary entry has nothing in it)
|
// Fixes for OreDictionary entries that may not exist (because the OreDictionary entry has nothing in it)
|
||||||
RecipeRegistryProxy.addRecipe(new ItemStack(Blocks.wool, 1, 11), Arrays.asList(new OreStack("dyeBlue"), Blocks.wool));
|
|
||||||
RecipeRegistryProxy.addRecipe(new ItemStack(Blocks.stained_hardened_clay, 8, 11), Arrays.asList(new OreStack("dyeBlue"), new ItemStack(Blocks.hardened_clay, 8)));
|
|
||||||
RecipeRegistryProxy.addRecipe(new ItemStack(Blocks.stained_glass, 8, OreDictionary.WILDCARD_VALUE), Arrays.asList(new OreStack("dye"), new ItemStack(Blocks.glass, 8, OreDictionary.WILDCARD_VALUE)));
|
|
||||||
RecipeRegistryProxy.addRecipe(new ItemStack(Blocks.stained_glass_pane, 16, OreDictionary.WILDCARD_VALUE), Arrays.asList(new ItemStack(Blocks.stained_glass, 6, OreDictionary.WILDCARD_VALUE)));
|
|
||||||
RecipeRegistryProxy.addRecipe(new ItemStack(Blocks.daylight_detector), Arrays.asList(new ItemStack(Blocks.glass, 3, OreDictionary.WILDCARD_VALUE), new OreStack("slabWood", 3), new OreStack("gemQuartz", 3)));
|
RecipeRegistryProxy.addRecipe(new ItemStack(Blocks.daylight_detector), Arrays.asList(new ItemStack(Blocks.glass, 3, OreDictionary.WILDCARD_VALUE), new OreStack("slabWood", 3), new OreStack("gemQuartz", 3)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,11 +6,46 @@ import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.oredict.OreDictionary;
|
import net.minecraftforge.oredict.OreDictionary;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class Comparators {
|
public class Comparators {
|
||||||
|
|
||||||
|
public static final Comparator<Collection<ItemStack>> ITEM_STACK_COLLECTION_COMPARATOR = new Comparator<Collection<ItemStack>>() {
|
||||||
|
@Override
|
||||||
|
public int compare(Collection<ItemStack> o1, Collection<ItemStack> o2) {
|
||||||
|
|
||||||
|
if (o1 != null && o2 != null) {
|
||||||
|
if (o1.size() == o2.size()) {
|
||||||
|
if (o1.containsAll(o2)) {
|
||||||
|
if (o2.containsAll(o1)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return o1.size() - o2.size();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (o1 != null) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
else if (o2 != null) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final Comparator<Set<WrappedStack>> WRAPPED_STACK_SET_COMPARATOR = new Comparator<Set<WrappedStack>>() {
|
public static final Comparator<Set<WrappedStack>> WRAPPED_STACK_SET_COMPARATOR = new Comparator<Set<WrappedStack>>() {
|
||||||
@Override
|
@Override
|
||||||
public int compare(Set<WrappedStack> collection1, Set<WrappedStack> collection2) {
|
public int compare(Set<WrappedStack> collection1, Set<WrappedStack> collection2) {
|
||||||
|
|
|
@ -272,6 +272,8 @@ public class VanillaTestSuite extends EnergyValueTestSuite {
|
||||||
add(new ItemStack(Blocks.double_plant, 1, 5), 32);
|
add(new ItemStack(Blocks.double_plant, 1, 5), 32);
|
||||||
add(Items.painting, 80);
|
add(Items.painting, 80);
|
||||||
add(Items.sign, 17.333);
|
add(Items.sign, 17.333);
|
||||||
|
add(Items.bed, 168);
|
||||||
|
add(Items.item_frame, 96);
|
||||||
add(Items.flower_pot, 192);
|
add(Items.flower_pot, 192);
|
||||||
add(new ItemStack(Blocks.skull, 1, 0), null);
|
add(new ItemStack(Blocks.skull, 1, 0), null);
|
||||||
add(new ItemStack(Blocks.skull, 1, 1), null);
|
add(new ItemStack(Blocks.skull, 1, 1), null);
|
||||||
|
|
|
@ -5,7 +5,7 @@ import com.pahimar.ee3.api.knowledge.PlayerKnowledgeRegistryProxy;
|
||||||
import com.pahimar.ee3.network.PacketHandler;
|
import com.pahimar.ee3.network.PacketHandler;
|
||||||
import com.pahimar.ee3.network.message.MessageTileEntityResearchStation;
|
import com.pahimar.ee3.network.message.MessageTileEntityResearchStation;
|
||||||
import com.pahimar.ee3.reference.Names;
|
import com.pahimar.ee3.reference.Names;
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemStackUtils;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
@ -209,7 +209,7 @@ public class TileEntityResearchStation extends TileEntityEE implements IInventor
|
||||||
private boolean canLearnItemStack()
|
private boolean canLearnItemStack()
|
||||||
{
|
{
|
||||||
ItemStack alchenomicon = inventory[ALCHENOMICON_SLOT_INVENTORY_INDEX];
|
ItemStack alchenomicon = inventory[ALCHENOMICON_SLOT_INVENTORY_INDEX];
|
||||||
String playerName = ItemHelper.getOwnerName(alchenomicon);
|
String playerName = ItemStackUtils.getOwnerName(alchenomicon);
|
||||||
|
|
||||||
if (alchenomicon != null && playerName != null)
|
if (alchenomicon != null && playerName != null)
|
||||||
{
|
{
|
||||||
|
@ -222,7 +222,7 @@ public class TileEntityResearchStation extends TileEntityEE implements IInventor
|
||||||
private boolean isItemStackKnown()
|
private boolean isItemStackKnown()
|
||||||
{
|
{
|
||||||
ItemStack alchenomicon = inventory[ALCHENOMICON_SLOT_INVENTORY_INDEX];
|
ItemStack alchenomicon = inventory[ALCHENOMICON_SLOT_INVENTORY_INDEX];
|
||||||
String playerName = ItemHelper.getOwnerName(alchenomicon);
|
String playerName = ItemStackUtils.getOwnerName(alchenomicon);
|
||||||
|
|
||||||
if (alchenomicon != null && playerName != null)
|
if (alchenomicon != null && playerName != null)
|
||||||
{
|
{
|
||||||
|
@ -236,7 +236,7 @@ public class TileEntityResearchStation extends TileEntityEE implements IInventor
|
||||||
{
|
{
|
||||||
if (this.canLearnItemStack())
|
if (this.canLearnItemStack())
|
||||||
{
|
{
|
||||||
PlayerKnowledgeRegistryProxy.teachPlayer(ItemHelper.getOwnerName(inventory[ALCHENOMICON_SLOT_INVENTORY_INDEX]), inventory[ITEM_SLOT_INVENTORY_INDEX]);
|
PlayerKnowledgeRegistryProxy.teachPlayer(ItemStackUtils.getOwnerName(inventory[ALCHENOMICON_SLOT_INVENTORY_INDEX]), inventory[ITEM_SLOT_INVENTORY_INDEX]);
|
||||||
|
|
||||||
this.inventory[ITEM_SLOT_INVENTORY_INDEX].stackSize--;
|
this.inventory[ITEM_SLOT_INVENTORY_INDEX].stackSize--;
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ public class DebugUtils
|
||||||
stringBuilder.append(String.format("Ore: %s, ItemStacks: ", oreName));
|
stringBuilder.append(String.format("Ore: %s, ItemStacks: ", oreName));
|
||||||
for (ItemStack itemStack : OreDictionary.getOres(oreName))
|
for (ItemStack itemStack : OreDictionary.getOres(oreName))
|
||||||
{
|
{
|
||||||
stringBuilder.append(String.format("%s ", ItemHelper.toString(itemStack)));
|
stringBuilder.append(String.format("%s ", ItemStackUtils.toString(itemStack)));
|
||||||
}
|
}
|
||||||
LogHelper.info(stringBuilder.toString());
|
LogHelper.info(stringBuilder.toString());
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,31 +2,15 @@ package com.pahimar.ee3.util;
|
||||||
|
|
||||||
import com.pahimar.ee3.api.exchange.EnergyValue;
|
import com.pahimar.ee3.api.exchange.EnergyValue;
|
||||||
import com.pahimar.ee3.exchange.EnergyValueRegistry;
|
import com.pahimar.ee3.exchange.EnergyValueRegistry;
|
||||||
import com.pahimar.ee3.exchange.OreStack;
|
|
||||||
import com.pahimar.ee3.exchange.WrappedStack;
|
import com.pahimar.ee3.exchange.WrappedStack;
|
||||||
import com.pahimar.ee3.reference.Comparators;
|
import com.pahimar.ee3.reference.Comparators;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.oredict.OreDictionary;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class FilterUtils {
|
public class FilterUtils {
|
||||||
|
|
||||||
public static Set<ItemStack> filterForItemStacks(Set<WrappedStack> wrappedStacks) {
|
|
||||||
|
|
||||||
Set<ItemStack> itemStacks = new TreeSet<>(Comparators.ID_COMPARATOR);
|
|
||||||
|
|
||||||
for (WrappedStack wrappedStack : wrappedStacks) {
|
|
||||||
if (wrappedStack.getWrappedObject() instanceof ItemStack) {
|
|
||||||
itemStacks.add((ItemStack) wrappedStack.getWrappedObject());
|
|
||||||
}
|
|
||||||
else if (wrappedStack.getWrappedObject() instanceof OreStack) {
|
|
||||||
itemStacks.addAll(OreDictionary.getOres(((OreStack) wrappedStack.getWrappedObject()).oreName));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return itemStacks;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Set<ItemStack> filterByDisplayName(Set<ItemStack> itemStacks, String filterString) {
|
public static Set<ItemStack> filterByDisplayName(Set<ItemStack> itemStacks, String filterString) {
|
||||||
return filterByDisplayName(itemStacks, filterString, NameFilterType.STARTS_WITH, null);
|
return filterByDisplayName(itemStacks, filterString, NameFilterType.STARTS_WITH, null);
|
||||||
|
@ -114,6 +98,19 @@ public class FilterUtils {
|
||||||
return filteredSet;
|
return filteredSet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Collection<ItemStack> filterForItemStacks(Collection<?> objects) {
|
||||||
|
|
||||||
|
Set<ItemStack> itemStacks = new TreeSet<>(Comparators.ID_COMPARATOR);
|
||||||
|
|
||||||
|
for (Object object : objects) {
|
||||||
|
if (object instanceof ItemStack) {
|
||||||
|
itemStacks.add((ItemStack) object);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return itemStacks;
|
||||||
|
}
|
||||||
|
|
||||||
public enum NameFilterType {
|
public enum NameFilterType {
|
||||||
STARTS_WITH,
|
STARTS_WITH,
|
||||||
CONTAINS
|
CONTAINS
|
||||||
|
|
|
@ -7,7 +7,7 @@ import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class ItemHelper {
|
public class ItemStackUtils {
|
||||||
|
|
||||||
public static ItemStack clone(ItemStack itemStack, int stackSize) {
|
public static ItemStack clone(ItemStack itemStack, int stackSize) {
|
||||||
|
|
||||||
|
@ -55,54 +55,35 @@ public class ItemHelper {
|
||||||
return "null";
|
return "null";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean hasOwner(ItemStack itemStack) {
|
public static void setOwner(ItemStack itemStack, EntityPlayer entityPlayer) {
|
||||||
return (NBTHelper.hasKey(itemStack, Names.NBT.OWNER_UUID_MOST_SIG) && NBTHelper.hasKey(itemStack, Names.NBT.OWNER_UUID_LEAST_SIG)) || NBTHelper.hasKey(itemStack, Names.NBT.OWNER);
|
setOwnerName(itemStack, entityPlayer);
|
||||||
|
setOwnerUUID(itemStack, entityPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean hasOwnerUUID(ItemStack itemStack) {
|
public static String getOwnerName(ItemStack itemStack) {
|
||||||
return NBTHelper.hasKey(itemStack, Names.NBT.OWNER_UUID_MOST_SIG) && NBTHelper.hasKey(itemStack, Names.NBT.OWNER_UUID_LEAST_SIG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hasOwnerName(ItemStack itemStack)
|
if (NBTHelper.hasKey(itemStack, Names.NBT.OWNER)) {
|
||||||
{
|
|
||||||
return NBTHelper.hasKey(itemStack, Names.NBT.OWNER);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getOwnerName(ItemStack itemStack)
|
|
||||||
{
|
|
||||||
if (NBTHelper.hasKey(itemStack, Names.NBT.OWNER))
|
|
||||||
{
|
|
||||||
return NBTHelper.getString(itemStack, Names.NBT.OWNER);
|
return NBTHelper.getString(itemStack, Names.NBT.OWNER);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UUID getOwnerUUID(ItemStack itemStack)
|
public static UUID getOwnerUUID(ItemStack itemStack) {
|
||||||
{
|
if (NBTHelper.getLong(itemStack, Names.NBT.OWNER_UUID_MOST_SIG) != null && NBTHelper.getLong(itemStack, Names.NBT.OWNER_UUID_LEAST_SIG) != null) {
|
||||||
if (NBTHelper.hasKey(itemStack, Names.NBT.OWNER_UUID_MOST_SIG) && NBTHelper.hasKey(itemStack, Names.NBT.OWNER_UUID_LEAST_SIG))
|
|
||||||
{
|
|
||||||
return new UUID(NBTHelper.getLong(itemStack, Names.NBT.OWNER_UUID_MOST_SIG), NBTHelper.getLong(itemStack, Names.NBT.OWNER_UUID_LEAST_SIG));
|
return new UUID(NBTHelper.getLong(itemStack, Names.NBT.OWNER_UUID_MOST_SIG), NBTHelper.getLong(itemStack, Names.NBT.OWNER_UUID_LEAST_SIG));
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setOwner(ItemStack itemStack, EntityPlayer entityPlayer)
|
public static void setOwnerUUID(ItemStack itemStack, EntityPlayer entityPlayer) {
|
||||||
{
|
|
||||||
setOwnerName(itemStack, entityPlayer);
|
|
||||||
setOwnerUUID(itemStack, entityPlayer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setOwnerUUID(ItemStack itemStack, EntityPlayer entityPlayer)
|
|
||||||
{
|
|
||||||
NBTHelper.setLong(itemStack, Names.NBT.OWNER_UUID_MOST_SIG, entityPlayer.getUniqueID().getMostSignificantBits());
|
NBTHelper.setLong(itemStack, Names.NBT.OWNER_UUID_MOST_SIG, entityPlayer.getUniqueID().getMostSignificantBits());
|
||||||
NBTHelper.setLong(itemStack, Names.NBT.OWNER_UUID_LEAST_SIG, entityPlayer.getUniqueID().getLeastSignificantBits());
|
NBTHelper.setLong(itemStack, Names.NBT.OWNER_UUID_LEAST_SIG, entityPlayer.getUniqueID().getLeastSignificantBits());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setOwnerName(ItemStack itemStack, EntityPlayer entityPlayer)
|
public static void setOwnerName(ItemStack itemStack, EntityPlayer entityPlayer) {
|
||||||
{
|
|
||||||
NBTHelper.setString(itemStack, Names.NBT.OWNER, entityPlayer.getDisplayName());
|
NBTHelper.setString(itemStack, Names.NBT.OWNER, entityPlayer.getDisplayName());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -172,7 +172,7 @@ public class RecipeHelper
|
||||||
{
|
{
|
||||||
if (stack.getWrappedObject() instanceof ItemStack && collatedStack.getWrappedObject() instanceof ItemStack)
|
if (stack.getWrappedObject() instanceof ItemStack && collatedStack.getWrappedObject() instanceof ItemStack)
|
||||||
{
|
{
|
||||||
if (ItemHelper.equals((ItemStack) stack.getWrappedObject(), (ItemStack) collatedStack.getWrappedObject()))
|
if (ItemStackUtils.equals((ItemStack) stack.getWrappedObject(), (ItemStack) collatedStack.getWrappedObject()))
|
||||||
{
|
{
|
||||||
collatedStack.setStackSize(collatedStack.getStackSize() + stack.getStackSize());
|
collatedStack.setStackSize(collatedStack.getStackSize() + stack.getStackSize());
|
||||||
found = true;
|
found = true;
|
||||||
|
@ -208,6 +208,7 @@ public class RecipeHelper
|
||||||
* @param objects a list of recipe inputs for an OreDictionary recipe
|
* @param objects a list of recipe inputs for an OreDictionary recipe
|
||||||
* @return true if there exists no "invalid" (empty) OreDictionary entries in the provided list of recipe inputs
|
* @return true if there exists no "invalid" (empty) OreDictionary entries in the provided list of recipe inputs
|
||||||
*/
|
*/
|
||||||
|
// FIXME This is not working as intended
|
||||||
private static boolean validateOreDictionaryRecipe(List objects)
|
private static boolean validateOreDictionaryRecipe(List objects)
|
||||||
{
|
{
|
||||||
for (Object object : objects)
|
for (Object object : objects)
|
||||||
|
|
Loading…
Reference in New Issue