Some more work related to the EnergyValueRegistry API, should definitely work now

This commit is contained in:
Pahimar 2014-07-14 12:04:20 -04:00
parent a659aabd8b
commit 71b9699497
14 changed files with 184 additions and 249 deletions

View file

@ -11,6 +11,7 @@ import com.pahimar.ee3.init.ModItems;
import com.pahimar.ee3.init.Recipes;
import com.pahimar.ee3.network.PacketHandler;
import com.pahimar.ee3.proxy.IProxy;
import com.pahimar.ee3.recipe.RecipeRegistry;
import com.pahimar.ee3.reference.Messages;
import com.pahimar.ee3.reference.Reference;
import com.pahimar.ee3.skill.SkillRegistry;
@ -97,7 +98,7 @@ public class EquivalentExchange3
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
RecipeRegistry.getInstance();
}
@EventHandler

View file

@ -98,7 +98,7 @@ public class BlockAlchemicalChest extends BlockEE implements ITileEntityProvider
{
super.onBlockEventReceived(world, x, y, z, eventId, eventData);
TileEntity tileentity = world.getTileEntity(x, y, z);
return tileentity != null ? tileentity.receiveClientEvent(eventId, eventData) : false;
return tileentity != null && tileentity.receiveClientEvent(eventId, eventData);
}
@Override

View file

@ -131,7 +131,7 @@ public class BlockAludel extends BlockEE implements ITileEntityProvider
{
super.onBlockEventReceived(world, x, y, z, eventId, eventData);
TileEntity tileentity = world.getTileEntity(x, y, z);
return tileentity != null ? tileentity.receiveClientEvent(eventId, eventData) : false;
return tileentity != null && tileentity.receiveClientEvent(eventId, eventData);
}
@Override

View file

@ -89,7 +89,7 @@ public class BlockCalcinator extends BlockEE implements ITileEntityProvider
{
super.onBlockEventReceived(world, x, y, z, eventId, eventData);
TileEntity tileentity = world.getTileEntity(x, y, z);
return tileentity != null ? tileentity.receiveClientEvent(eventId, eventData) : false;
return tileentity != null && tileentity.receiveClientEvent(eventId, eventData);
}
@Override

View file

@ -1,6 +1,5 @@
package com.pahimar.ee3.thread;
package com.pahimar.ee3.exchange;
import com.pahimar.ee3.exchange.EnergyValueRegistry;
import com.pahimar.ee3.util.LogHelper;
public class DynamicEnergyValueInitThread implements Runnable
@ -16,7 +15,7 @@ public class DynamicEnergyValueInitThread implements Runnable
public void run()
{
long startTime = System.currentTimeMillis();
EnergyValueRegistry.getInstance();
EnergyValueRegistry.getInstance().init();
long duration = System.currentTimeMillis() - startTime;
if (duration > 10)
{

View file

@ -1,5 +1,6 @@
package com.pahimar.ee3.exchange;
import com.google.common.collect.ImmutableSortedMap;
import com.pahimar.ee3.api.EnergyValue;
import com.pahimar.ee3.recipe.RecipeRegistry;
import com.pahimar.ee3.util.EnergyValueHelper;
@ -14,8 +15,8 @@ public class EnergyValueRegistry
private static EnergyValueRegistry energyValueRegistry = null;
private static Map<WrappedStack, EnergyValue> preAssignedMappings;
private static Map<WrappedStack, EnergyValue> postAssignedMappings;
private SortedMap<WrappedStack, EnergyValue> stackMappings;
private SortedMap<EnergyValue, List<WrappedStack>> valueMappings;
private ImmutableSortedMap<WrappedStack, EnergyValue> stackMappings;
private ImmutableSortedMap<EnergyValue, List<WrappedStack>> valueMappings;
private EnergyValueRegistry()
{
@ -26,7 +27,6 @@ public class EnergyValueRegistry
if (energyValueRegistry == null)
{
energyValueRegistry = new EnergyValueRegistry();
energyValueRegistry.init();
}
return energyValueRegistry;
@ -140,11 +140,14 @@ public class EnergyValueRegistry
}
else
{
for (ItemStack itemStack : OreDictionary.getOres(OreDictionary.getOreID(wrappedItemStack)))
for (int oreId : OreDictionary.getOreIDs(wrappedItemStack))
{
if (energyValueRegistry.stackMappings.containsKey(new WrappedStack(itemStack)))
for (ItemStack itemStack : OreDictionary.getOres(OreDictionary.getOreName(oreId)))
{
return true;
if (energyValueRegistry.stackMappings.containsKey(new WrappedStack(itemStack)))
{
return true;
}
}
}
}
@ -230,21 +233,24 @@ public class EnergyValueRegistry
}
else
{
for (ItemStack itemStack : OreDictionary.getOres(OreDictionary.getOreID(wrappedItemStack)))
for (int oreId : OreDictionary.getOreIDs(wrappedItemStack))
{
if (energyValueRegistry.stackMappings.containsKey(new WrappedStack(itemStack)))
for (ItemStack itemStack : OreDictionary.getOres(OreDictionary.getOreName(oreId)))
{
if (lowestValue == null)
if (energyValueRegistry.stackMappings.containsKey(new WrappedStack(itemStack)))
{
lowestValue = energyValueRegistry.stackMappings.get(new WrappedStack(itemStack));
}
else
{
EnergyValue itemValue = energyValueRegistry.stackMappings.get(new WrappedStack(itemStack));
if (itemValue.compareTo(lowestValue) < 0)
if (lowestValue == null)
{
lowestValue = itemValue;
lowestValue = energyValueRegistry.stackMappings.get(new WrappedStack(itemStack));
}
else
{
EnergyValue itemValue = energyValueRegistry.stackMappings.get(new WrappedStack(itemStack));
if (itemValue.compareTo(lowestValue) < 0)
{
lowestValue = itemValue;
}
}
}
}
@ -306,15 +312,22 @@ public class EnergyValueRegistry
return null;
}
private void init()
protected final void init()
{
stackMappings = new TreeMap<WrappedStack, EnergyValue>();
HashMap<WrappedStack, EnergyValue> stackValueMap = new HashMap<WrappedStack, EnergyValue>();
/*
* Pre-assigned values
*/
stackValueMap.putAll(preAssignedMappings);
/*
* Auto-assignment
*/
// Initialize the maps for the first pass to happen
stackMappings.putAll(preAssignedMappings);
ImmutableSortedMap.Builder<WrappedStack, EnergyValue> stackMappingsBuilder = ImmutableSortedMap.naturalOrder();
stackMappingsBuilder.putAll(stackValueMap);
stackMappings = stackMappingsBuilder.build();
Map<WrappedStack, EnergyValue> computedStackValues = computeStackMappings();
// Initialize the pass counter
@ -343,21 +356,23 @@ public class EnergyValueRegistry
if (factoredExchangeEnergyValue != null)
{
if (stackMappings.containsKey(factoredKeyStack))
if (stackValueMap.containsKey(factoredKeyStack))
{
if (factoredExchangeEnergyValue.compareTo(stackMappings.get(factoredKeyStack)) == -1)
if (factoredExchangeEnergyValue.compareTo(stackValueMap.get(factoredKeyStack)) == -1)
{
stackMappings.put(factoredKeyStack, factoredExchangeEnergyValue);
stackValueMap.put(factoredKeyStack, factoredExchangeEnergyValue);
}
}
else
{
stackMappings.put(factoredKeyStack, factoredExchangeEnergyValue);
stackValueMap.put(factoredKeyStack, factoredExchangeEnergyValue);
}
}
}
}
/*
* Post-assigned values
*/
@ -365,15 +380,22 @@ public class EnergyValueRegistry
{
for (WrappedStack wrappedStack : postAssignedMappings.keySet())
{
stackMappings.put(wrappedStack, postAssignedMappings.get(wrappedStack));
stackValueMap.put(wrappedStack, postAssignedMappings.get(wrappedStack));
}
}
/*
/**
* Finalize the stack to value map
*/
stackMappingsBuilder = ImmutableSortedMap.naturalOrder();
stackMappingsBuilder.putAll(stackValueMap);
stackMappings = stackMappingsBuilder.build();
/**
* Value map resolution
*/
valueMappings = new TreeMap<EnergyValue, List<WrappedStack>>();
SortedMap<EnergyValue, List<WrappedStack>> tempValueMappings = new TreeMap<EnergyValue, List<WrappedStack>>();
for (WrappedStack stack : stackMappings.keySet())
{
@ -383,20 +405,22 @@ public class EnergyValueRegistry
if (value != null)
{
if (valueMappings.containsKey(value))
if (tempValueMappings.containsKey(value))
{
if (!(valueMappings.get(value).contains(stack)))
if (!(tempValueMappings.get(value).contains(stack)))
{
valueMappings.get(value).add(stack);
tempValueMappings.get(value).add(stack);
}
}
else
{
valueMappings.put(value, new ArrayList<WrappedStack>(Arrays.asList(stack)));
tempValueMappings.put(value, new ArrayList<WrappedStack>(Arrays.asList(stack)));
}
}
}
}
valueMappings = ImmutableSortedMap.copyOf(tempValueMappings);
}
private Map<WrappedStack, EnergyValue> computeStackMappings()

View file

@ -1,14 +1,20 @@
package com.pahimar.ee3.handler;
import com.pahimar.ee3.thread.DynamicEnergyValueInitThread;
import com.pahimar.ee3.exchange.DynamicEnergyValueInitThread;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.event.world.WorldEvent;
public class WorldEventHandler
{
private static boolean hasInitilialized = false;
@SubscribeEvent
public void onWorldLoadEvent(WorldEvent.Load event)
{
DynamicEnergyValueInitThread.initEnergyValueRegistry();
if (!hasInitilialized)
{
DynamicEnergyValueInitThread.initEnergyValueRegistry();
hasInitilialized = true;
}
}
}

View file

@ -1,6 +1,6 @@
package com.pahimar.ee3.init;
import com.pahimar.ee3.exchange.EnergyValueRegistry;
import com.pahimar.ee3.api.EnergyValueRegistryProxy;
import com.pahimar.ee3.exchange.OreStack;
import com.pahimar.ee3.exchange.WrappedStack;
import net.minecraft.init.Blocks;
@ -14,75 +14,75 @@ public class EnergyValues
public static void init()
{
// OreDictionary assignment
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.cobblestone))), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.cobblestone))), 1);
for (int meta = 0; meta < 16; meta++)
{
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Items.dye, 1, meta))), 8);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Items.dye, 1, meta))), 8);
}
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.log))), 32);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.diamond_ore))), 8192);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.emerald_ore))), 8192);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.gold_ore))), 2048);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.iron_ore))), 256);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.lapis_ore))), 864);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.quartz_ore))), 256);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.redstone_ore))), 32);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.planks))), 8);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Items.record_11))), 2048);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.wooden_slab))), 4);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.oak_stairs))), 12);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Items.stick))), 4);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.stone))), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.leaves))), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.sapling))), 32);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.sandstone))), 4);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.log))), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.diamond_ore))), 8192);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.emerald_ore))), 8192);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.gold_ore))), 2048);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.iron_ore))), 256);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.lapis_ore))), 864);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.quartz_ore))), 256);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.redstone_ore))), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.planks))), 8);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Items.record_11))), 2048);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.wooden_slab))), 4);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.oak_stairs))), 12);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Items.stick))), 4);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.stone))), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.leaves))), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.sapling))), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new OreStack(new ItemStack(Blocks.sandstone))), 4);
// Fluids
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(FluidRegistry.WATER), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(FluidRegistry.LAVA), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(FluidRegistry.getFluid("milk")), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(FluidRegistry.WATER), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(FluidRegistry.LAVA), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(FluidRegistry.getFluid("milk")), 64);
/* Building Blocks */
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.stone), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.grass), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.dirt, 1, OreDictionary.WILDCARD_VALUE)), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.cobblestone), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.stone), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.grass), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.dirt, 1, OreDictionary.WILDCARD_VALUE)), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.cobblestone), 1);
// Bedrock
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.sand, 1, OreDictionary.WILDCARD_VALUE)), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.gravel), 4);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.coal_ore), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.sand, 1, OreDictionary.WILDCARD_VALUE)), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.gravel), 4);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.coal_ore), 32);
// Sponge
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.glass), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.sandstone), 4);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.mossy_cobblestone), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.obsidian), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.ice), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.pumpkin), 144);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.netherrack), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.soul_sand), 49);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.stonebrick, 1, 1)), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.stonebrick, 1, OreDictionary.WILDCARD_VALUE)), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.mycelium), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.end_stone), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.hardened_clay), 256);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.glass), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.sandstone), 4);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.mossy_cobblestone), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.obsidian), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.ice), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.pumpkin), 144);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.netherrack), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.soul_sand), 49);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.stonebrick, 1, 1)), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.stonebrick, 1, OreDictionary.WILDCARD_VALUE)), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.mycelium), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.end_stone), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.hardened_clay), 256);
/* Decoration Blocks */
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.web), 12);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.tallgrass, 1, OreDictionary.WILDCARD_VALUE)), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.deadbush), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.yellow_flower), 16);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.red_flower, 1, OreDictionary.WILDCARD_VALUE)), 16);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.brown_mushroom), 32);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.red_mushroom), 32);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.snow), 0.5f);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.cactus), 8);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.web), 12);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.tallgrass, 1, OreDictionary.WILDCARD_VALUE)), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.deadbush), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.yellow_flower), 16);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.red_flower, 1, OreDictionary.WILDCARD_VALUE)), 16);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.brown_mushroom), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.red_mushroom), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.snow), 0.5f);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.cactus), 8);
// Stone Monster Egg
// Cobblestone Monster Egg
// Stone Brick Monster Egg
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.vine), 8);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Blocks.waterlily), 16);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.vine), 8);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Blocks.waterlily), 16);
// End Portal
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.double_plant, 1, OreDictionary.WILDCARD_VALUE)), 16);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Blocks.double_plant, 1, OreDictionary.WILDCARD_VALUE)), 16);
// Skeleton Skull
// Wither Skeleton Skull
// Zombie Head
@ -90,37 +90,37 @@ public class EnergyValues
// Creeper Head
/* Redstone */
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.redstone), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.redstone), 32);
/* Transportation */
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.saddle), 192);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.saddle), 192);
/* Miscellaneous */
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.snowball), 0.25f);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.snowball), 0.25f);
// Milk
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.slime_ball), 24);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.bone), 24);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.ender_pearl), 1024);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.slime_ball), 24);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.bone), 24);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.ender_pearl), 1024);
// Bottle o'Enchanting
// Firework Star
/* Foodstuffs */
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.apple), 128);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.porkchop), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.cooked_porkchop), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Items.fish, 1, OreDictionary.WILDCARD_VALUE)), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Items.cooked_fished, 1, OreDictionary.WILDCARD_VALUE)), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.melon), 16);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.beef), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.cooked_beef), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.chicken), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.cooked_chicken), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.rotten_flesh), 24);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.spider_eye), 128);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.carrot), 24);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.potato), 24);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.baked_potato), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.poisonous_potato), 24);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.apple), 128);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.porkchop), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.cooked_porkchop), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Items.fish, 1, OreDictionary.WILDCARD_VALUE)), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Items.cooked_fished, 1, OreDictionary.WILDCARD_VALUE)), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.melon), 16);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.beef), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.cooked_beef), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.chicken), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.cooked_chicken), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.rotten_flesh), 24);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.spider_eye), 128);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.carrot), 24);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.potato), 24);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.baked_potato), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.poisonous_potato), 24);
/* Tools */
// Name Tag
@ -132,46 +132,46 @@ public class EnergyValues
// Chain Boots
/* Brewing */
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.ghast_tear), 4096);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.ghast_tear), 4096);
/* Materials */
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Items.coal, 1, 0)), 32);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Items.coal, 1, 1)), 32);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.diamond), 8192);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.iron_ingot), 256);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.gold_ingot), 2048);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.string), 12);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.feather), 48);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.gunpowder), 192);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.wheat_seeds), 16);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.wheat), 24);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.flint), 4);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.leather), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.brick), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.clay_ball), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.reeds), 32);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.egg), 32);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.glowstone_dust), 384);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Items.dye, 1, 4)), 864);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.blaze_rod), 1536);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.nether_wart), 24);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.emerald), 8192);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.nether_star), 24576);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.netherbrick), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(Items.quartz), 256);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Items.coal, 1, 0)), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Items.coal, 1, 1)), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.diamond), 8192);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.iron_ingot), 256);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.gold_ingot), 2048);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.string), 12);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.feather), 48);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.gunpowder), 192);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.wheat_seeds), 16);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.wheat), 24);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.flint), 4);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.leather), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.brick), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.clay_ball), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.reeds), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.egg), 32);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.glowstone_dust), 384);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(Items.dye, 1, 4)), 864);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.blaze_rod), 1536);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.nether_wart), 24);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.emerald), 8192);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.nether_star), 24576);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.netherbrick), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(Items.quartz), 256);
/* Equivalent Exchange 3 */
/**
* Alchemical Dusts
*/
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(ModItems.alchemicalDust, 1, 0)), 1);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(ModItems.alchemicalDust, 1, 1)), 64);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(ModItems.alchemicalDust, 1, 2)), 2048);
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(ModItems.alchemicalDust, 1, 3)), 8192);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(ModItems.alchemicalDust, 1, 0)), 1);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(ModItems.alchemicalDust, 1, 1)), 64);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(ModItems.alchemicalDust, 1, 2)), 2048);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(ModItems.alchemicalDust, 1, 3)), 8192);
/**
* Minium Shard
*/
EnergyValueRegistry.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(ModItems.shardMinium)), 8192);
EnergyValueRegistryProxy.addPreAssignedEnergyValue(new WrappedStack(new ItemStack(ModItems.shardMinium)), 8192);
}
}

View file

@ -31,6 +31,6 @@ public class SlotAlchemicalBag extends Slot
@Override
public boolean isItemValid(ItemStack itemStack)
{
return itemStack.getItem() instanceof ItemAlchemicalBag ? false : true;
return !(itemStack.getItem() instanceof ItemAlchemicalBag);
}
}

View file

@ -1,87 +0,0 @@
package com.pahimar.ee3.item;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
import java.util.ArrayList;
import java.util.List;
public class EquivalencyStack
{
private final List<Object> equivalentStacks;
private int stackSize;
public EquivalencyStack()
{
stackSize = -1;
equivalentStacks = new ArrayList<Object>();
}
public EquivalencyStack(Object object)
{
if (object instanceof Item)
{
object = new ItemStack((Item) object);
}
else if (object instanceof Block)
{
object = new ItemStack((Block) object);
}
else if (object instanceof Fluid)
{
object = new FluidStack((Fluid) object, 1000);
}
if (object instanceof ItemStack)
{
ItemStack copiedItemStack = ((ItemStack) object).copy();
this.stackSize = copiedItemStack.stackSize;
copiedItemStack.stackSize = 1;
equivalentStacks = new ArrayList<Object>();
equivalentStacks.add(copiedItemStack);
}
else if (object instanceof ArrayList)
{
equivalentStacks = new ArrayList<Object>();
}
else
{
stackSize = -1;
equivalentStacks = new ArrayList<Object>();
}
}
public int getStackSize()
{
return this.stackSize;
}
public void setStackSize(int stackSize)
{
this.stackSize = stackSize;
}
public List<Object> getEquivalentStacks()
{
return this.equivalentStacks;
}
@Override
public String toString()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("[");
for (Object object : equivalentStacks)
{
stringBuilder.append(object.toString() + " ");
}
stringBuilder.append("]");
return stringBuilder.toString();
}
}

View file

@ -2,5 +2,5 @@ package com.pahimar.ee3.reference;
public enum Key
{
UNKNOWN, CHARGE, EXTRA, RELEASE, TOGGLE;
UNKNOWN, CHARGE, EXTRA, RELEASE, TOGGLE
}

View file

@ -490,7 +490,7 @@ public class TileEntityCalcinator extends TileEntityEE implements ISidedInventor
int addedSize = Math.min(alchemicalDustStack.stackSize, maxStackSize - this.inventory[OUTPUT_LEFT_INVENTORY_INDEX].stackSize);
alchemicalDustStack.stackSize -= addedSize;
this.inventory[OUTPUT_LEFT_INVENTORY_INDEX].stackSize += addedSize;
if (alchemicalDustStack == null || alchemicalDustStack.stackSize == 0)
if (alchemicalDustStack.stackSize == 0)
{
return;
}

View file

@ -2,7 +2,6 @@ package com.pahimar.ee3.util;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
@ -84,14 +83,7 @@ public class FluidHelper
// Register Milk in the FluidRegistry if it hasn't already been done
if (!FluidRegistry.isFluidRegistered("milk"))
{
Fluid milk = new Fluid("milk")
{
@Override
public String getLocalizedName()
{
return StatCollector.translateToLocal("item.milk.name");
}
}.setUnlocalizedName(Items.milk_bucket.getUnlocalizedName());
Fluid milk = new Fluid("milk").setUnlocalizedName(Items.milk_bucket.getUnlocalizedName());
FluidRegistry.registerFluid(milk);
FluidContainerRegistry.registerFluidContainer(new FluidStack(milk, 1000), new ItemStack(Items.milk_bucket), new ItemStack(Items.bucket));
}

View file

@ -55,11 +55,11 @@ public class ItemHelper
return Item.getIdFromItem(itemStack1.getItem()) - Item.getIdFromItem(itemStack2.getItem());
}
}
else if (itemStack1 != null && itemStack2 == null)
else if (itemStack1 != null)
{
return -1;
}
else if (itemStack1 == null && itemStack2 != null)
else if (itemStack2 != null)
{
return 1;
}