v5.2.3 Release
*Made machines store more energy. *Full-fledged BuildCraft power framework support. *Made electric items work with IC2. *Added silver ore processing. *Fixed redstone in machines. *Other various tweaks and enhancements.
This commit is contained in:
parent
27eff79971
commit
fb33db1ce2
25 changed files with 269 additions and 63 deletions
Binary file not shown.
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
|
@ -14,13 +14,14 @@ public final class Tier
|
|||
*/
|
||||
public static enum EnergyCubeTier
|
||||
{
|
||||
BASIC("Basic", 1000000, 10000),
|
||||
ADVANCED("Advanced", 2500000, 25000),
|
||||
ELITE("Elite", 5000000, 50000);
|
||||
BASIC("Basic", 1000000, 10000, 128),
|
||||
ADVANCED("Advanced", 2500000, 25000, 256),
|
||||
ELITE("Elite", 5000000, 50000, 512);
|
||||
|
||||
public double MAX_ELECTRICITY;
|
||||
public double VOLTAGE;
|
||||
public int DIVIDER;
|
||||
public int OUTPUT;
|
||||
public String name;
|
||||
|
||||
public static EnergyCubeTier getFromName(String tierName)
|
||||
|
@ -37,11 +38,12 @@ public final class Tier
|
|||
return BASIC;
|
||||
}
|
||||
|
||||
private EnergyCubeTier(String s, double maxEnergy, int divider)
|
||||
private EnergyCubeTier(String s, double maxEnergy, int divider, int out)
|
||||
{
|
||||
name = s;
|
||||
MAX_ELECTRICITY = maxEnergy;
|
||||
DIVIDER = divider;
|
||||
OUTPUT = out;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package mekanism.common;
|
||||
|
||||
import ic2.api.ICustomElectricItem;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import mekanism.api.IEnergyCube;
|
||||
|
@ -16,7 +18,7 @@ import universalelectricity.core.electricity.ElectricInfo;
|
|||
import universalelectricity.core.electricity.ElectricInfo.ElectricUnit;
|
||||
import universalelectricity.core.implement.IItemElectric;
|
||||
|
||||
public class ItemBlockEnergyCube extends ItemBlock implements IItemElectric, IEnergyCube
|
||||
public class ItemBlockEnergyCube extends ItemBlock implements IItemElectric, IEnergyCube, ICustomElectricItem
|
||||
{
|
||||
public Block metaBlock;
|
||||
|
||||
|
@ -164,6 +166,12 @@ public class ItemBlockEnergyCube extends ItemBlock implements IItemElectric, IEn
|
|||
TileEntityEnergyCube tileEntity = (TileEntityEnergyCube)world.getBlockTileEntity(x, y, z);
|
||||
tileEntity.tier = ((IEnergyCube)stack.getItem()).getTier(stack);
|
||||
tileEntity.electricityStored = getJoules(stack);
|
||||
tileEntity.output = tileEntity.tier.OUTPUT;
|
||||
|
||||
if(tileEntity.powerProvider != null)
|
||||
{
|
||||
tileEntity.powerProvider.configure(0, 0, 100, 0, (int)(tileEntity.tier.MAX_ELECTRICITY*Mekanism.TO_BC));
|
||||
}
|
||||
}
|
||||
|
||||
return place;
|
||||
|
@ -195,4 +203,79 @@ public class ItemBlockEnergyCube extends ItemBlock implements IItemElectric, IEn
|
|||
|
||||
itemstack.stackTagCompound.setString("tier", tier.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int charge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate)
|
||||
{
|
||||
double givenEnergy = amount*Mekanism.FROM_IC2;
|
||||
double energyNeeded = getTier(itemStack).MAX_ELECTRICITY-getJoules(itemStack);
|
||||
double energyToStore = Math.min(Math.min(amount, getTier(itemStack).MAX_ELECTRICITY*0.01), energyNeeded);
|
||||
|
||||
if(!simulate)
|
||||
{
|
||||
setJoules(getJoules(itemStack) + energyToStore, itemStack);
|
||||
}
|
||||
return (int)(energyToStore*Mekanism.TO_IC2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int discharge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate)
|
||||
{
|
||||
double energyWanted = amount*Mekanism.FROM_IC2;
|
||||
double energyToGive = Math.min(Math.min(energyWanted, getTier(itemStack).MAX_ELECTRICITY*0.01), getJoules(itemStack));
|
||||
|
||||
if(!simulate)
|
||||
{
|
||||
setJoules(getJoules(itemStack) - energyToGive, itemStack);
|
||||
}
|
||||
return (int)(energyToGive*Mekanism.TO_IC2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUse(ItemStack itemStack, int amount)
|
||||
{
|
||||
return getJoules(itemStack) >= amount*Mekanism.FROM_IC2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canShowChargeToolTip(ItemStack itemStack)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canProvideEnergy()
|
||||
{
|
||||
return canProduceElectricity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getChargedItemId()
|
||||
{
|
||||
return itemID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEmptyItemId()
|
||||
{
|
||||
return itemID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxCharge()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTier()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTransferLimit()
|
||||
{
|
||||
return (int)(getVoltage()*Mekanism.TO_IC2);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack;
|
|||
public class ItemClump extends ItemMekanism
|
||||
{
|
||||
public static String[] en_USNames = {"Iron", "Gold", "Platinum",
|
||||
"Copper", "Tin"};
|
||||
"Copper", "Tin", "Silver"};
|
||||
|
||||
public ItemClump(int id)
|
||||
{
|
||||
|
@ -27,6 +27,7 @@ public class ItemClump extends ItemMekanism
|
|||
case 2: return 210;
|
||||
case 3: return 211;
|
||||
case 4: return 212;
|
||||
case 5: return 214;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +35,7 @@ public class ItemClump extends ItemMekanism
|
|||
@Override
|
||||
public void getSubItems(int id, CreativeTabs tabs, List itemList)
|
||||
{
|
||||
for (int counter = 0; counter <= 4; ++counter)
|
||||
for (int counter = 0; counter <= 5; ++counter)
|
||||
{
|
||||
itemList.add(new ItemStack(this, 1, counter));
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack;
|
|||
public class ItemDirtyDust extends ItemMekanism
|
||||
{
|
||||
public static String[] en_USNames = {"Iron", "Gold", "Platinum",
|
||||
"Copper", "Tin"};
|
||||
"Copper", "Tin", "Silver"};
|
||||
|
||||
public ItemDirtyDust(int id)
|
||||
{
|
||||
|
@ -27,6 +27,7 @@ public class ItemDirtyDust extends ItemMekanism
|
|||
case 2: return 194;
|
||||
case 3: return 195;
|
||||
case 4: return 196;
|
||||
case 5: return 198;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +35,7 @@ public class ItemDirtyDust extends ItemMekanism
|
|||
@Override
|
||||
public void getSubItems(int id, CreativeTabs tabs, List itemList)
|
||||
{
|
||||
for (int counter = 0; counter <= 4; ++counter)
|
||||
for (int counter = 0; counter <= 5; ++counter)
|
||||
{
|
||||
itemList.add(new ItemStack(this, 1, counter));
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ public class ItemDust extends ItemMekanism
|
|||
{
|
||||
public static String[] en_USNames = {"Iron", "Gold", "Platinum",
|
||||
"Obsidian", "Diamond", "Steel",
|
||||
"Copper", "Tin"};
|
||||
"Copper", "Tin", "Silver"};
|
||||
|
||||
public ItemDust(int id)
|
||||
{
|
||||
|
@ -31,6 +31,7 @@ public class ItemDust extends ItemMekanism
|
|||
case 5: return 245;
|
||||
case 6: return 243;
|
||||
case 7: return 244;
|
||||
case 8: return 246;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +39,7 @@ public class ItemDust extends ItemMekanism
|
|||
@Override
|
||||
public void getSubItems(int id, CreativeTabs tabs, List itemList)
|
||||
{
|
||||
for (int counter = 0; counter <= 7; ++counter)
|
||||
for (int counter = 0; counter <= 8; ++counter)
|
||||
{
|
||||
itemList.add(new ItemStack(this, 1, counter));
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package mekanism.common;
|
||||
|
||||
import ic2.api.ICustomElectricItem;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
|
@ -13,7 +15,7 @@ import universalelectricity.core.electricity.ElectricInfo;
|
|||
import universalelectricity.core.electricity.ElectricInfo.ElectricUnit;
|
||||
import universalelectricity.core.implement.IItemElectric;
|
||||
|
||||
public class ItemEnergized extends ItemMekanism implements IItemElectric
|
||||
public class ItemEnergized extends ItemMekanism implements IItemElectric, ICustomElectricItem
|
||||
{
|
||||
/** The maximum amount of energy this item can hold. */
|
||||
public double MAX_ELECTRICITY;
|
||||
|
@ -162,4 +164,79 @@ public class ItemEnergized extends ItemMekanism implements IItemElectric
|
|||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int charge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate)
|
||||
{
|
||||
double givenEnergy = amount*Mekanism.FROM_IC2;
|
||||
double energyNeeded = MAX_ELECTRICITY-getJoules(itemStack);
|
||||
double energyToStore = Math.min(Math.min(amount, MAX_ELECTRICITY*0.01), energyNeeded);
|
||||
|
||||
if(!simulate)
|
||||
{
|
||||
setJoules(getJoules(itemStack) + energyToStore, itemStack);
|
||||
}
|
||||
return (int)(energyToStore*Mekanism.TO_IC2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int discharge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate)
|
||||
{
|
||||
double energyWanted = amount*Mekanism.FROM_IC2;
|
||||
double energyToGive = Math.min(Math.min(energyWanted, MAX_ELECTRICITY*0.01), getJoules(itemStack));
|
||||
|
||||
if(!simulate)
|
||||
{
|
||||
setJoules(getJoules(itemStack) - energyToGive, itemStack);
|
||||
}
|
||||
return (int)(energyToGive*Mekanism.TO_IC2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUse(ItemStack itemStack, int amount)
|
||||
{
|
||||
return getJoules(itemStack) >= amount*Mekanism.FROM_IC2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canShowChargeToolTip(ItemStack itemStack)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canProvideEnergy()
|
||||
{
|
||||
return canProduceElectricity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getChargedItemId()
|
||||
{
|
||||
return itemID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEmptyItemId()
|
||||
{
|
||||
return itemID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxCharge()
|
||||
{
|
||||
return (int)(MAX_ELECTRICITY*Mekanism.TO_IC2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTier()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTransferLimit()
|
||||
{
|
||||
return (int)(getVoltage()*Mekanism.TO_IC2);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ import cpw.mods.fml.server.FMLServerHandler;
|
|||
* @author AidanBrady
|
||||
*
|
||||
*/
|
||||
@Mod(modid = "Mekanism", name = "Mekanism", version = "5.2.2")
|
||||
@Mod(modid = "Mekanism", name = "Mekanism", version = "5.2.3")
|
||||
@NetworkMod(channels = {"Mekanism"}, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class)
|
||||
public class Mekanism
|
||||
{
|
||||
|
@ -71,7 +71,7 @@ public class Mekanism
|
|||
public static Configuration configuration;
|
||||
|
||||
/** Mekanism version number */
|
||||
public static Version versionNumber = new Version(5, 2, 2);
|
||||
public static Version versionNumber = new Version(5, 2, 3);
|
||||
|
||||
/** Map of Teleporter info. */
|
||||
public static Map<Teleporter.Code, ArrayList<Teleporter.Coords>> teleporters = new HashMap<Teleporter.Code, ArrayList<Teleporter.Coords>>();
|
||||
|
@ -423,6 +423,7 @@ public class Mekanism
|
|||
LanguageRegistry.instance().addStringLocalization("item.steelDust.name", "Steel Dust");
|
||||
LanguageRegistry.instance().addStringLocalization("item.copperDust.name", "Copper Dust");
|
||||
LanguageRegistry.instance().addStringLocalization("item.tinDust.name", "Tin Dust");
|
||||
LanguageRegistry.instance().addStringLocalization("item.silverDust.name", "Silver Dust");
|
||||
|
||||
//Localization for Clump
|
||||
LanguageRegistry.instance().addStringLocalization("item.ironClump.name", "Iron Clump");
|
||||
|
@ -430,6 +431,7 @@ public class Mekanism
|
|||
LanguageRegistry.instance().addStringLocalization("item.platinumClump.name", "Platinum Clump");
|
||||
LanguageRegistry.instance().addStringLocalization("item.copperClump.name", "Copper Clump");
|
||||
LanguageRegistry.instance().addStringLocalization("item.tinClump.name", "Tin Clump");
|
||||
LanguageRegistry.instance().addStringLocalization("item.silverClump.name", "Silver Clump");
|
||||
|
||||
//Localization for Dirty Dust
|
||||
LanguageRegistry.instance().addStringLocalization("item.dirtyIronDust.name", "Dirty Iron Dust");
|
||||
|
@ -437,6 +439,7 @@ public class Mekanism
|
|||
LanguageRegistry.instance().addStringLocalization("item.dirtyPlatinumDust.name", "Dirty Platinum Dust");
|
||||
LanguageRegistry.instance().addStringLocalization("item.dirtyCopperDust.name", "Dirty Copper Dust");
|
||||
LanguageRegistry.instance().addStringLocalization("item.dirtyTinDust.name", "Dirty Tin Dust");
|
||||
LanguageRegistry.instance().addStringLocalization("item.dirtySilverDust.name", "Dirty Silver Dust");
|
||||
|
||||
//Localization for Ingot
|
||||
LanguageRegistry.instance().addStringLocalization("item.obsidianIngot.name", "Obsidian Ingot");
|
||||
|
@ -550,6 +553,7 @@ public class Mekanism
|
|||
OreDictionary.registerOre("dustSteel", new ItemStack(Dust, 1, 5));
|
||||
OreDictionary.registerOre("dustCopper", new ItemStack(Dust, 1, 6));
|
||||
OreDictionary.registerOre("dustTin", new ItemStack(Dust, 1, 7));
|
||||
OreDictionary.registerOre("dustSilver", new ItemStack(Dust, 1, 8));
|
||||
|
||||
OreDictionary.registerOre("ingotRefinedObsidian", new ItemStack(Ingot, 1, 0));
|
||||
OreDictionary.registerOre("ingotPlatinum", new ItemStack(Ingot, 1, 1));
|
||||
|
@ -569,16 +573,19 @@ public class Mekanism
|
|||
OreDictionary.registerOre("dirtyDustPlatinum", new ItemStack(DirtyDust, 1, 2));
|
||||
OreDictionary.registerOre("dirtyDustCopper", new ItemStack(DirtyDust, 1, 3));
|
||||
OreDictionary.registerOre("dirtyDustTin", new ItemStack(DirtyDust, 1, 4));
|
||||
OreDictionary.registerOre("dirtyDustSilver", new ItemStack(DirtyDust, 1, 5));
|
||||
|
||||
OreDictionary.registerOre("clumpIron", new ItemStack(Clump, 1, 0));
|
||||
OreDictionary.registerOre("clumpGold", new ItemStack(Clump, 1, 1));
|
||||
OreDictionary.registerOre("clumpPlatinum", new ItemStack(Clump, 1, 2));
|
||||
OreDictionary.registerOre("clumpCopper", new ItemStack(Clump, 1, 3));
|
||||
OreDictionary.registerOre("clumpTin", new ItemStack(Clump, 1, 4));
|
||||
OreDictionary.registerOre("clumpSilver", new ItemStack(Clump, 1, 5));
|
||||
|
||||
OreDictionary.registerOre("orePlatinum", new ItemStack(OreBlock, 1, 0));
|
||||
|
||||
OreDictionary.registerOre("basicCircuit", new ItemStack(ControlCircuit));
|
||||
OreDictionary.registerOre("compressedCarbon", new ItemStack(CompressedCarbon));
|
||||
|
||||
if(hooks.IC2Loaded)
|
||||
{
|
||||
|
@ -615,6 +622,11 @@ public class Mekanism
|
|||
RecipeHandler.addCrusherRecipe(ore, new ItemStack(DirtyDust, 1, 4));
|
||||
}
|
||||
|
||||
for(ItemStack ore : OreDictionary.getOres("clumpSilver"))
|
||||
{
|
||||
RecipeHandler.addCrusherRecipe(ore, new ItemStack(DirtyDust, 1, 5));
|
||||
}
|
||||
|
||||
for(ItemStack ore : OreDictionary.getOres("dirtyDustIron"))
|
||||
{
|
||||
RecipeHandler.addEnrichmentChamberRecipe(ore, new ItemStack(Dust, 1, 0));
|
||||
|
@ -640,6 +652,11 @@ public class Mekanism
|
|||
RecipeHandler.addEnrichmentChamberRecipe(ore, new ItemStack(Dust, 1, 7));
|
||||
}
|
||||
|
||||
for(ItemStack ore : OreDictionary.getOres("dirtyDustSilver"))
|
||||
{
|
||||
RecipeHandler.addEnrichmentChamberRecipe(ore, new ItemStack(Dust, 1, 8));
|
||||
}
|
||||
|
||||
for(ItemStack ore : OreDictionary.getOres("oreCopper"))
|
||||
{
|
||||
RecipeHandler.addEnrichmentChamberRecipe(ore, new ItemStack(Dust, 2, 6));
|
||||
|
@ -673,12 +690,13 @@ public class Mekanism
|
|||
try {
|
||||
for(ItemStack ore : OreDictionary.getOres("oreSilver"))
|
||||
{
|
||||
RecipeHandler.addEnrichmentChamberRecipe(ore, MekanismUtils.getStackWithSize(OreDictionary.getOres("dustSilver").get(0), 2));
|
||||
RecipeHandler.addEnrichmentChamberRecipe(ore, new ItemStack(Dust, 2, 8));
|
||||
RecipeHandler.addPurificationChamberRecipe(ore, new ItemStack(Clump, 3, 5));
|
||||
}
|
||||
|
||||
for(ItemStack ore : OreDictionary.getOres("ingotSilver"))
|
||||
{
|
||||
RecipeHandler.addCrusherRecipe(ore, MekanismUtils.getStackWithSize(OreDictionary.getOres("dustSilver").get(0), 1));
|
||||
RecipeHandler.addCrusherRecipe(ore, new ItemStack(Dust, 1, 8));
|
||||
}
|
||||
} catch(Exception e) {}
|
||||
|
||||
|
|
|
@ -109,7 +109,7 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM
|
|||
}
|
||||
}
|
||||
}
|
||||
if(inventory[3].itemID == Item.redstone.itemID && electricityStored <= (MAX_ELECTRICITY-1000))
|
||||
if(inventory[3].itemID == Item.redstone.itemID && electricityStored+1000 <= currentMaxElectricity)
|
||||
{
|
||||
setJoules(electricityStored + 1000);
|
||||
--inventory[3].stackSize;
|
||||
|
|
|
@ -95,7 +95,7 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp
|
|||
|
||||
if(powerProvider != null)
|
||||
{
|
||||
int received = (int)(powerProvider.useEnergy(0, (float)((currentMaxElectricity-electricityStored)*Mekanism.TO_BC), true)*10);
|
||||
int received = (int)(powerProvider.useEnergy(0, (float)((currentMaxElectricity-electricityStored)*Mekanism.TO_BC), true)*Mekanism.FROM_BC);
|
||||
setJoules(electricityStored + received);
|
||||
}
|
||||
|
||||
|
@ -357,6 +357,12 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp
|
|||
@Override
|
||||
public void detach(IComputerAccess computer) {}
|
||||
|
||||
@Override
|
||||
public int powerRequest()
|
||||
{
|
||||
return (int)(currentMaxElectricity-electricityStored);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<SideData> getSideData()
|
||||
{
|
||||
|
|
|
@ -12,7 +12,7 @@ public class TileEntityCombiner extends TileEntityAdvancedElectricMachine
|
|||
{
|
||||
public TileEntityCombiner()
|
||||
{
|
||||
super("Combiner.ogg", "Combiner", "/resources/mekanism/gui/GuiCombiner.png", 16, 1, 200, 1000, 200);
|
||||
super("Combiner.ogg", "Combiner", "/resources/mekanism/gui/GuiCombiner.png", 16, 1, 200, 3200, 200);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -10,7 +10,7 @@ public class TileEntityCrusher extends TileEntityElectricMachine
|
|||
{
|
||||
public TileEntityCrusher()
|
||||
{
|
||||
super("Crusher.ogg", "Crusher", "/resources/mekanism/gui/GuiCrusher.png", 16, 200, 1000);
|
||||
super("Crusher.ogg", "Crusher", "/resources/mekanism/gui/GuiCrusher.png", 16, 200, 3200);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -30,7 +30,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
|
|||
* @param name - full name of this block
|
||||
* @param maxEnergy - how much energy this block can store
|
||||
*/
|
||||
public TileEntityElectricBlock(String name, int maxEnergy)
|
||||
public TileEntityElectricBlock(String name, double maxEnergy)
|
||||
{
|
||||
super(name);
|
||||
MAX_ELECTRICITY = maxEnergy;
|
||||
|
@ -38,7 +38,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
|
|||
if(PowerFramework.currentFramework != null)
|
||||
{
|
||||
powerProvider = PowerFramework.currentFramework.createPowerProvider();
|
||||
powerProvider.configure(5, 2, 10, 1, maxEnergy/10);
|
||||
powerProvider.configure(0, 0, 100, 0, (int)(maxEnergy*Mekanism.TO_BC));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -117,7 +117,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
|
|||
@Override
|
||||
public int powerRequest()
|
||||
{
|
||||
return getPowerProvider().getMaxEnergyReceived();
|
||||
return (int)(MAX_ELECTRICITY-electricityStored);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -85,7 +85,7 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine
|
|||
}
|
||||
}
|
||||
}
|
||||
if(inventory[1].itemID == Item.redstone.itemID && electricityStored <= (currentMaxElectricity-1000))
|
||||
if(inventory[1].itemID == Item.redstone.itemID && electricityStored+1000 <= currentMaxElectricity)
|
||||
{
|
||||
setJoules(electricityStored + 1000);
|
||||
--inventory[1].stackSize;
|
||||
|
|
|
@ -47,31 +47,17 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IEn
|
|||
/** Output per tick this machine can transfer. */
|
||||
public int output;
|
||||
|
||||
/**
|
||||
* A block used to store and transfer electricity.
|
||||
*/
|
||||
public TileEntityEnergyCube()
|
||||
{
|
||||
this("Energy Cube", 0, 256);
|
||||
}
|
||||
|
||||
/**
|
||||
* A block used to store and transfer electricity.
|
||||
* @param energy - maximum energy this block can hold.
|
||||
* @param i - output per tick this block can handle.
|
||||
*/
|
||||
public TileEntityEnergyCube(String name, int maxEnergy, int i)
|
||||
public TileEntityEnergyCube()
|
||||
{
|
||||
super(name, maxEnergy);
|
||||
|
||||
if(powerProvider != null)
|
||||
{
|
||||
powerProvider.configure(5, 2, 10, 1, maxEnergy/10);
|
||||
}
|
||||
super("Energy Cube", 0);
|
||||
|
||||
ElectricityConnections.registerConnector(this, EnumSet.allOf(ForgeDirection.class));
|
||||
inventory = new ItemStack[2];
|
||||
output = i;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -81,7 +67,7 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IEn
|
|||
|
||||
if(powerProvider != null)
|
||||
{
|
||||
int received = (int)(powerProvider.useEnergy(0, (float)((tier.MAX_ELECTRICITY-electricityStored)*Mekanism.TO_BC), true)*10);
|
||||
int received = (int)(powerProvider.useEnergy(0, (float)((tier.MAX_ELECTRICITY-electricityStored)*Mekanism.TO_BC), true)*Mekanism.FROM_BC);
|
||||
setJoules(electricityStored + received);
|
||||
}
|
||||
|
||||
|
@ -160,7 +146,7 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IEn
|
|||
setJoules(electricityStored + gain);
|
||||
}
|
||||
}
|
||||
else if(inventory[1].itemID == Item.redstone.itemID)
|
||||
else if(inventory[1].itemID == Item.redstone.itemID && electricityStored+1000 <= tier.MAX_ELECTRICITY)
|
||||
{
|
||||
setJoules(electricityStored + 1000);
|
||||
--inventory[1].stackSize;
|
||||
|
@ -191,10 +177,10 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IEn
|
|||
if(isPowerReceptor(tileEntity))
|
||||
{
|
||||
IPowerReceptor receptor = (IPowerReceptor)tileEntity;
|
||||
double electricityNeeded = Math.min(receptor.getPowerProvider().getMinEnergyReceived(), receptor.getPowerProvider().getMaxEnergyReceived())*Mekanism.FROM_BC;
|
||||
float transferEnergy = (float)Math.max(Math.min(Math.min(electricityNeeded, electricityStored), 80000), 0);
|
||||
receptor.getPowerProvider().receiveEnergy((float)(transferEnergy*Mekanism.FROM_BC), ForgeDirection.getOrientation(facing).getOpposite());
|
||||
setJoules(electricityStored - (int)transferEnergy);
|
||||
double electricityNeeded = Math.min(receptor.powerRequest(), receptor.getPowerProvider().getMaxEnergyStored() - receptor.getPowerProvider().getEnergyStored())*Mekanism.FROM_BC;
|
||||
float transferEnergy = (float)Math.min(electricityStored, Math.min(electricityNeeded, output));
|
||||
receptor.getPowerProvider().receiveEnergy((float)(transferEnergy*Mekanism.TO_BC), ForgeDirection.getOrientation(facing).getOpposite());
|
||||
setJoules(electricityStored - transferEnergy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -405,6 +391,7 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IEn
|
|||
super.readFromNBT(nbtTags);
|
||||
|
||||
tier = EnergyCubeTier.getFromName(nbtTags.getString("tier"));
|
||||
output = tier.OUTPUT;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -452,6 +439,12 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IEn
|
|||
return side.toForgeDirection() == ForgeDirection.getOrientation(facing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int powerRequest()
|
||||
{
|
||||
return (int)(tier.MAX_ELECTRICITY-electricityStored);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
|
||||
{
|
||||
|
|
|
@ -10,7 +10,7 @@ public class TileEntityEnrichmentChamber extends TileEntityElectricMachine
|
|||
{
|
||||
public TileEntityEnrichmentChamber()
|
||||
{
|
||||
super("Chamber.ogg", "Enrichment Chamber", "/resources/mekanism/gui/GuiChamber.png", 16, 200, 1000);
|
||||
super("Chamber.ogg", "Enrichment Chamber", "/resources/mekanism/gui/GuiChamber.png", 16, 200, 3200);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -86,7 +86,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
|||
|
||||
public TileEntityMetallurgicInfuser()
|
||||
{
|
||||
super("Metallurgic Infuser", 10000);
|
||||
super("Metallurgic Infuser", 3200);
|
||||
|
||||
sideOutputs.add(new SideData(EnumColor.GREY, 0, 0));
|
||||
sideOutputs.add(new SideData(EnumColor.ORANGE, 0, 1));
|
||||
|
@ -122,7 +122,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
|||
|
||||
if(powerProvider != null)
|
||||
{
|
||||
int received = (int)(powerProvider.useEnergy(0, (float)((currentMaxElectricity-electricityStored)*Mekanism.TO_BC), true)*10);
|
||||
int received = (int)(powerProvider.useEnergy(0, (float)((currentMaxElectricity-electricityStored)*Mekanism.TO_BC), true)*Mekanism.FROM_BC);
|
||||
setJoules(electricityStored + received);
|
||||
}
|
||||
|
||||
|
@ -187,7 +187,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
|||
}
|
||||
}
|
||||
}
|
||||
if(inventory[4].itemID == Item.redstone.itemID && electricityStored <= (currentMaxElectricity-1000))
|
||||
if(inventory[4].itemID == Item.redstone.itemID && electricityStored+1000 <= currentMaxElectricity)
|
||||
{
|
||||
setJoules(electricityStored + 1000);
|
||||
--inventory[4].stackSize;
|
||||
|
@ -644,6 +644,12 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
|||
return (int)(rejects*Mekanism.TO_IC2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int powerRequest()
|
||||
{
|
||||
return (int)(currentMaxElectricity-electricityStored);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<SideData> getSideData()
|
||||
{
|
||||
|
|
|
@ -11,7 +11,7 @@ public class TileEntityPlatinumCompressor extends TileEntityAdvancedElectricMach
|
|||
{
|
||||
public TileEntityPlatinumCompressor()
|
||||
{
|
||||
super("Compressor.ogg", "Platinum Compressor", "/resources/mekanism/gui/GuiCompressor.png", 16, 1, 200, 1000, 200);
|
||||
super("Compressor.ogg", "Platinum Compressor", "/resources/mekanism/gui/GuiCompressor.png", 16, 1, 200, 3200, 200);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -59,7 +59,7 @@ public class TileEntitySmeltingFactory extends TileEntityElectricBlock implement
|
|||
public int TICKS_REQUIRED = 200;
|
||||
|
||||
/** How much energy each operation consumes per tick. */
|
||||
public int ENERGY_PER_TICK = 20;
|
||||
public int ENERGY_PER_TICK = 16;
|
||||
|
||||
/** How many ticks it takes, currently, to run an operation. */
|
||||
public int currentTicksRequired;
|
||||
|
@ -88,7 +88,7 @@ public class TileEntitySmeltingFactory extends TileEntityElectricBlock implement
|
|||
|
||||
public TileEntitySmeltingFactory(SmeltingFactoryTier type)
|
||||
{
|
||||
super(type.name + " Smelting Factory", type.processes*1000);
|
||||
super(type.name + " Smelting Factory", type.processes*3200);
|
||||
ElectricityConnections.registerConnector(this, EnumSet.allOf(ForgeDirection.class));
|
||||
tier = type;
|
||||
currentTicksRequired = TICKS_REQUIRED;
|
||||
|
@ -115,7 +115,7 @@ public class TileEntitySmeltingFactory extends TileEntityElectricBlock implement
|
|||
|
||||
if(powerProvider != null)
|
||||
{
|
||||
int received = (int)(powerProvider.useEnergy(0, (float)((currentMaxElectricity-electricityStored)*Mekanism.TO_BC), true)*10);
|
||||
int received = (int)(powerProvider.useEnergy(0, (float)((currentMaxElectricity-electricityStored)*Mekanism.TO_BC), true)*Mekanism.FROM_BC);
|
||||
setJoules(electricityStored + received);
|
||||
}
|
||||
|
||||
|
@ -188,7 +188,7 @@ public class TileEntitySmeltingFactory extends TileEntityElectricBlock implement
|
|||
}
|
||||
}
|
||||
}
|
||||
if(inventory[1].itemID == Item.redstone.itemID && electricityStored <= (currentMaxElectricity-1000))
|
||||
if(inventory[1].itemID == Item.redstone.itemID && electricityStored+1000 <= currentMaxElectricity)
|
||||
{
|
||||
setJoules(electricityStored + 1000);
|
||||
--inventory[1].stackSize;
|
||||
|
@ -667,6 +667,12 @@ public class TileEntitySmeltingFactory extends TileEntityElectricBlock implement
|
|||
return (int)(rejects*Mekanism.TO_IC2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int powerRequest()
|
||||
{
|
||||
return (int)(currentMaxElectricity-electricityStored);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<SideData> getSideData()
|
||||
{
|
||||
|
|
|
@ -166,7 +166,7 @@ public class TileEntityTeleporter extends TileEntityElectricBlock implements IEn
|
|||
}
|
||||
}
|
||||
}
|
||||
if(inventory[0].itemID == Item.redstone.itemID && electricityStored <= (MAX_ELECTRICITY-1000))
|
||||
if(inventory[0].itemID == Item.redstone.itemID && electricityStored+1000 <= MAX_ELECTRICITY)
|
||||
{
|
||||
setJoules(electricityStored + 1000);
|
||||
--inventory[0].stackSize;
|
||||
|
|
|
@ -12,7 +12,7 @@ public class TileEntityTheoreticalElementizer extends TileEntityAdvancedElectric
|
|||
{
|
||||
public TileEntityTheoreticalElementizer()
|
||||
{
|
||||
super("Elementizer.ogg", "Theoretical Elementizer", "/resources/mekanism/gui/GuiElementizer.png", 25, 1, 1000, 10000, 1000);
|
||||
super("Elementizer.ogg", "Theoretical Elementizer", "/resources/mekanism/gui/GuiElementizer.png", 24, 1, 1000, 4800, 1000);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -19,7 +19,7 @@ import cpw.mods.fml.common.network.NetworkRegistry;
|
|||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||
|
||||
@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "5.2.2", dependencies = "required-after:Mekanism")
|
||||
@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "5.2.3", dependencies = "required-after:Mekanism")
|
||||
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
|
||||
public class MekanismGenerators
|
||||
{
|
||||
|
|
|
@ -80,7 +80,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
|
|||
|
||||
if(powerProvider != null)
|
||||
{
|
||||
int received = (int)(powerProvider.useEnergy(0, (float)((MAX_ELECTRICITY-electricityStored)*Mekanism.TO_BC), true)*10);
|
||||
int received = (int)(powerProvider.useEnergy(0, (float)((MAX_ELECTRICITY-electricityStored)*Mekanism.TO_BC), true)*Mekanism.FROM_BC);
|
||||
setJoules(electricityStored + received);
|
||||
}
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@ import universalelectricity.core.implement.IVoltage;
|
|||
import universalelectricity.core.vector.Vector3;
|
||||
import buildcraft.api.power.IPowerProvider;
|
||||
import buildcraft.api.power.IPowerReceptor;
|
||||
import buildcraft.api.power.PowerFramework;
|
||||
import buildcraft.api.power.PowerProvider;
|
||||
import dan200.computer.api.IComputerAccess;
|
||||
import dan200.computer.api.IPeripheral;
|
||||
|
@ -58,6 +59,11 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
|
|||
{
|
||||
super(name, maxEnergy);
|
||||
|
||||
if(powerProvider != null)
|
||||
{
|
||||
powerProvider.configure(0, 0, 0, 0, (int)(maxEnergy*Mekanism.TO_BC));
|
||||
}
|
||||
|
||||
output = out;
|
||||
isActive = false;
|
||||
}
|
||||
|
@ -107,10 +113,10 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
|
|||
if(isPowerReceptor(tileEntity))
|
||||
{
|
||||
IPowerReceptor receptor = (IPowerReceptor)tileEntity;
|
||||
double electricityNeeded = Math.min(receptor.getPowerProvider().getMinEnergyReceived(), receptor.getPowerProvider().getMaxEnergyReceived())*Mekanism.FROM_BC;
|
||||
float transferEnergy = (float)Math.max(Math.min(Math.min(electricityNeeded, electricityStored), 80000), 0);
|
||||
double electricityNeeded = Math.min(receptor.powerRequest(), receptor.getPowerProvider().getMaxEnergyStored() - receptor.getPowerProvider().getEnergyStored())*Mekanism.FROM_BC;
|
||||
float transferEnergy = (float)Math.min(electricityStored, Math.min(electricityNeeded, output));
|
||||
receptor.getPowerProvider().receiveEnergy((float)(transferEnergy*Mekanism.TO_BC), ForgeDirection.getOrientation(facing).getOpposite());
|
||||
setJoules(electricityStored - (int)transferEnergy);
|
||||
setJoules(electricityStored - transferEnergy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -353,4 +359,10 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
|
|||
|
||||
nbtTags.setBoolean("isActive", isActive);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int powerRequest()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ import cpw.mods.fml.common.network.NetworkMod;
|
|||
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||
import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||
|
||||
@Mod(modid = "MekanismTools", name = "MekanismTools", version = "5.2.2", dependencies = "required-after:Mekanism")
|
||||
@Mod(modid = "MekanismTools", name = "MekanismTools", version = "5.2.3", dependencies = "required-after:Mekanism")
|
||||
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
|
||||
public class MekanismTools
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue