parent
d9d0340a65
commit
cb9a983efa
39 changed files with 284 additions and 709 deletions
|
@ -486,14 +486,15 @@ public class GT_Mod implements IGT_Mod {
|
||||||
GT_Log.log.error("GT_Mod: Fatal Error ocurred while initializing TileEntities, crashing Minecraft.");
|
GT_Log.log.error("GT_Mod: Fatal Error ocurred while initializing TileEntities, crashing Minecraft.");
|
||||||
throw new RuntimeException("");
|
throw new RuntimeException("");
|
||||||
} else {
|
} else {
|
||||||
new GT_OreProcessingLoader().run();
|
|
||||||
new GT_MetaTileEntityLoader().run();
|
new GT_MetaTileEntityLoader().run();
|
||||||
new GT_ItemLoader().run();
|
new GT_ItemLoader().run();
|
||||||
|
new GT_OreProcessingLoader().run();
|
||||||
new GT_DictRegistratorPreItem().run();
|
new GT_DictRegistratorPreItem().run();
|
||||||
new GT_DictRegistratorPostItem().run();
|
new GT_DictRegistratorPostItem().run();
|
||||||
new GT_CircuitBehaviorLoader().run();
|
new GT_CircuitBehaviorLoader().run();
|
||||||
new GT_CoverBehaviorLoader().run();
|
new GT_CoverBehaviorLoader().run();
|
||||||
new GT_SonictronLoader().run();
|
new GT_SonictronLoader().run();
|
||||||
|
GT_OreDictUnificator.activateUnificator();
|
||||||
|
|
||||||
gregtechproxy.registerRenderers();
|
gregtechproxy.registerRenderers();
|
||||||
for (FluidContainerData tGregTech : FluidContainerRegistry.getRegisteredFluidContainerData()) {
|
for (FluidContainerData tGregTech : FluidContainerRegistry.getRegisteredFluidContainerData()) {
|
||||||
|
@ -562,6 +563,12 @@ public class GT_Mod implements IGT_Mod {
|
||||||
GT_Log.log.info("GT_Mod: Beginning Load-Phase.");
|
GT_Log.log.info("GT_Mod: Beginning Load-Phase.");
|
||||||
GregTech_API.sLoadStarted = true;
|
GregTech_API.sLoadStarted = true;
|
||||||
|
|
||||||
|
if (sSortToTheEnd) {
|
||||||
|
new GT_ItemIterator().run();
|
||||||
|
GT_OreDictHandler.instance.registerUnificationEntries();
|
||||||
|
new GT_LiquidAndFuelLoader().run();
|
||||||
|
}
|
||||||
|
|
||||||
for (FluidContainerData tGregTech : FluidContainerRegistry.getRegisteredFluidContainerData()) {
|
for (FluidContainerData tGregTech : FluidContainerRegistry.getRegisteredFluidContainerData()) {
|
||||||
if (tGregTech.filledContainer.getItem() == Items.potionitem) {
|
if (tGregTech.filledContainer.getItem() == Items.potionitem) {
|
||||||
tGregTech.fluid.amount = 0;
|
tGregTech.fluid.amount = 0;
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
package gregtechmod.api.enums;
|
package gregtechmod.api.enums;
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import gregtechmod.api.GregTech_API;
|
import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.interfaces.IItemContainer;
|
import gregtechmod.api.interfaces.IItemContainer;
|
||||||
import gregtechmod.api.util.GT_Log;
|
|
||||||
import gregtechmod.api.util.GT_ModHandler;
|
import gregtechmod.api.util.GT_ModHandler;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
import gregtechmod.api.util.GT_OreDictUnificator;
|
||||||
import gregtechmod.api.util.GT_Utility;
|
import gregtechmod.api.util.GT_Utility;
|
||||||
|
@ -330,28 +327,28 @@ public enum GT_Items implements IItemContainer {
|
||||||
@Override
|
@Override
|
||||||
public ItemStack get(long aAmount, Object... aReplacements) {
|
public ItemStack get(long aAmount, Object... aReplacements) {
|
||||||
if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + toString() + "' has not been set to an Item at this time!");
|
if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + toString() + "' has not been set to an Item at this time!");
|
||||||
if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, this.cast(aReplacements));
|
if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, GT_Utility.cast(aReplacements));
|
||||||
return GT_Utility.copyAmount(aAmount, GT_OreDictUnificator.get(mStack));
|
return GT_Utility.copyAmount(aAmount, GT_OreDictUnificator.get(mStack));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack getWildcard(long aAmount, Object... aReplacements) {
|
public ItemStack getWildcard(long aAmount, Object... aReplacements) {
|
||||||
if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + toString() + "' has not been set to an Item at this time!");
|
if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + toString() + "' has not been set to an Item at this time!");
|
||||||
if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, this.cast(aReplacements));
|
if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, GT_Utility.cast(aReplacements));
|
||||||
return GT_Utility.copyAmountAndMetaData(aAmount, GregTech_API.ITEM_WILDCARD_DAMAGE, GT_OreDictUnificator.get(mStack));
|
return GT_Utility.copyAmountAndMetaData(aAmount, GregTech_API.ITEM_WILDCARD_DAMAGE, GT_OreDictUnificator.get(mStack));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack getUndamaged(long aAmount, Object... aReplacements) {
|
public ItemStack getUndamaged(long aAmount, Object... aReplacements) {
|
||||||
if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + toString() + "' has not been set to an Item at this time!");
|
if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + toString() + "' has not been set to an Item at this time!");
|
||||||
if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, this.cast(aReplacements));
|
if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, GT_Utility.cast(aReplacements));
|
||||||
return GT_Utility.copyAmountAndMetaData(aAmount, 0, GT_OreDictUnificator.get(mStack));
|
return GT_Utility.copyAmountAndMetaData(aAmount, 0, GT_OreDictUnificator.get(mStack));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack getAlmostBroken(long aAmount, Object... aReplacements) {
|
public ItemStack getAlmostBroken(long aAmount, Object... aReplacements) {
|
||||||
if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + toString() + "' has not been set to an Item at this time!");
|
if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + toString() + "' has not been set to an Item at this time!");
|
||||||
if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, this.cast(aReplacements));
|
if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, GT_Utility.cast(aReplacements));
|
||||||
return GT_Utility.copyAmountAndMetaData(aAmount, mStack.getMaxDamage()-1, GT_OreDictUnificator.get(mStack));
|
return GT_Utility.copyAmountAndMetaData(aAmount, mStack.getMaxDamage()-1, GT_OreDictUnificator.get(mStack));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -366,7 +363,7 @@ public enum GT_Items implements IItemContainer {
|
||||||
@Override
|
@Override
|
||||||
public ItemStack getWithDamage(long aAmount, long aMetaValue, Object... aReplacements) {
|
public ItemStack getWithDamage(long aAmount, long aMetaValue, Object... aReplacements) {
|
||||||
if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + toString() + "' has not been set to an Item at this time!");
|
if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + toString() + "' has not been set to an Item at this time!");
|
||||||
if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, this.cast(aReplacements));
|
if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, GT_Utility.cast(aReplacements));
|
||||||
return GT_Utility.copyAmountAndMetaData(aAmount, aMetaValue, GT_OreDictUnificator.get(mStack));
|
return GT_Utility.copyAmountAndMetaData(aAmount, aMetaValue, GT_OreDictUnificator.get(mStack));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -383,18 +380,4 @@ public enum GT_Items implements IItemContainer {
|
||||||
for (Object tOreName : aOreNames) GT_OreDictUnificator.registerOre(tOreName, getWildcard(1));
|
for (Object tOreName : aOreNames) GT_OreDictUnificator.registerOre(tOreName, getWildcard(1));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ItemStack[] cast(Object...objects) {
|
|
||||||
Objects.requireNonNull(objects);
|
|
||||||
ItemStack[] result = new ItemStack[objects.length];
|
|
||||||
try {
|
|
||||||
for (int i = 0; i < objects.length; i++)
|
|
||||||
result[i] = (ItemStack) objects[i];
|
|
||||||
} catch (ClassCastException e) {
|
|
||||||
GT_Log.log.throwing(e);
|
|
||||||
throw new IllegalArgumentException("Array can not contain not ItemStacks!");
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -291,7 +291,11 @@ public enum OrePrefixes {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processOre(Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
|
public void processOre(Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
|
||||||
if (aMaterial != null && (aMaterial != Materials._NULL || mIsSelfReferencing || !mIsMaterialBased) && GT_Utility.isStackValid(aStack)) for (IOreRecipeRegistrator tRegistrator : mOreProcessing) tRegistrator.registerOre(this, aMaterial, aOreDictName, aModName, GT_Utility.copyAmount(1, aStack));
|
if (aMaterial != null && (aMaterial != Materials._NULL || mIsSelfReferencing || !mIsMaterialBased) && GT_Utility.isStackValid(aStack)) {
|
||||||
|
for (IOreRecipeRegistrator tRegistrator : mOreProcessing) {
|
||||||
|
tRegistrator.registerOre(this, aMaterial, aOreDictName, aModName, GT_Utility.copyAmount(1, aStack));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final String mLocalizedMaterialPre, mLocalizedMaterialPost;
|
public final String mLocalizedMaterialPre, mLocalizedMaterialPost;
|
||||||
|
|
|
@ -3,7 +3,6 @@ package gregtechmod.api.items;
|
||||||
import gregtechmod.api.GregTech_API;
|
import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.enums.GT_ToolDictNames;
|
import gregtechmod.api.enums.GT_ToolDictNames;
|
||||||
import gregtechmod.api.util.GT_ModHandler;
|
import gregtechmod.api.util.GT_ModHandler;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
|
||||||
import gregtechmod.api.util.GT_Utility;
|
import gregtechmod.api.util.GT_Utility;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -19,7 +18,7 @@ public class GT_Crowbar_Item extends GT_Tool_Item {
|
||||||
public GT_Crowbar_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage) {
|
public GT_Crowbar_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage) {
|
||||||
super(aUnlocalized, "item.GT_Crowbar.tooltip_main", aMaxDamage, aEntityDamage, true, -1, -1, 5, 20.0F);
|
super(aUnlocalized, "item.GT_Crowbar.tooltip_main", aMaxDamage, aEntityDamage, true, -1, -1, 5, 20.0F);
|
||||||
GregTech_API.registerCrowbar(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
GregTech_API.registerCrowbar(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
||||||
GT_OreDictUnificator.registerOre(GT_ToolDictNames.craftingToolCrowbar, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
registerAtOreDict(GT_ToolDictNames.craftingToolCrowbar, GregTech_API.ITEM_WILDCARD_DAMAGE);
|
||||||
addToBlockList(Blocks.rail);
|
addToBlockList(Blocks.rail);
|
||||||
addToBlockList(Blocks.golden_rail);
|
addToBlockList(Blocks.golden_rail);
|
||||||
addToBlockList(Blocks.detector_rail);
|
addToBlockList(Blocks.detector_rail);
|
||||||
|
|
|
@ -2,14 +2,12 @@ package gregtechmod.api.items;
|
||||||
|
|
||||||
import gregtechmod.api.GregTech_API;
|
import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.enums.GT_ToolDictNames;
|
import gregtechmod.api.enums.GT_ToolDictNames;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
public class GT_File_Item extends GT_Tool_Item {
|
public class GT_File_Item extends GT_Tool_Item {
|
||||||
public GT_File_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage) {
|
public GT_File_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage) {
|
||||||
super(aUnlocalized, "item.GT_File_Item.tooltip_main", aMaxDamage, aEntityDamage, true);
|
super(aUnlocalized, "item.GT_File_Item.tooltip_main", aMaxDamage, aEntityDamage, true);
|
||||||
//GregTech_API.registerFile(new ItemStack(itemID, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
//GregTech_API.registerFile(new ItemStack(itemID, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
||||||
GT_OreDictUnificator.registerOre(GT_ToolDictNames.craftingToolFile, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
registerAtOreDict(GT_ToolDictNames.craftingToolFile, GregTech_API.ITEM_WILDCARD_DAMAGE);
|
||||||
setUsageAmounts(1, 3, 2);
|
setUsageAmounts(1, 3, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -30,11 +30,15 @@ public class GT_Generic_Item extends Item {
|
||||||
// if (GT_Utility.isStringValid(aEnglishTooltip)) GT_LanguageManager.addStringLocalization(mTooltip = getUnlocalizedName() + ".tooltip_main", aEnglishTooltip, aWriteToolTipIntoLangFile); else mTooltip = null;
|
// if (GT_Utility.isStringValid(aEnglishTooltip)) GT_LanguageManager.addStringLocalization(mTooltip = getUnlocalizedName() + ".tooltip_main", aEnglishTooltip, aWriteToolTipIntoLangFile); else mTooltip = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final GT_Generic_Item registerAtOreDict(String aName, short aDamage) {
|
public final GT_Generic_Item registerAtOreDict(Object aName, short aDamage) {
|
||||||
GT_OreDictUnificator.registerOre(aName, new ItemStack(this, 1, aDamage));
|
GT_OreDictUnificator.registerOreLater(aName, new ItemStack(this, 1, aDamage));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final GT_Generic_Item registerAtOreDictWildcard(Object aName) {
|
||||||
|
return registerAtOreDict(aName, GregTech_API.ITEM_WILDCARD_DAMAGE);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public void registerIcons(IIconRegister aIconRegister) {
|
public void registerIcons(IIconRegister aIconRegister) {
|
||||||
|
|
|
@ -23,7 +23,7 @@ public class GT_HardHammer_Item extends GT_Tool_Item {
|
||||||
public GT_HardHammer_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage) {
|
public GT_HardHammer_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage) {
|
||||||
super(aUnlocalized, "item.GT_Hammer.tooltip", aMaxDamage, aEntityDamage, true);
|
super(aUnlocalized, "item.GT_Hammer.tooltip", aMaxDamage, aEntityDamage, true);
|
||||||
GregTech_API.registerHardHammer(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
GregTech_API.registerHardHammer(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
||||||
GT_OreDictUnificator.registerOre(GT_ToolDictNames.craftingToolHardHammer, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
registerAtOreDict(GT_ToolDictNames.craftingToolHardHammer, GregTech_API.ITEM_WILDCARD_DAMAGE);
|
||||||
addToEffectiveList(EntityIronGolem.class.getName());
|
addToEffectiveList(EntityIronGolem.class.getName());
|
||||||
addToEffectiveList("EntityTFTowerGolem");
|
addToEffectiveList("EntityTFTowerGolem");
|
||||||
addToEffectiveList("EntityGolemBase");
|
addToEffectiveList("EntityGolemBase");
|
||||||
|
|
|
@ -88,9 +88,9 @@ public abstract class GT_MetaGenerated_Item extends GT_Generic_Item implements I
|
||||||
String tOreName = getOreDictString(tPrefix, tMaterial);
|
String tOreName = getOreDictString(tPrefix, tMaterial);
|
||||||
tPrefix = OrePrefixes.getOrePrefix(tOreName);
|
tPrefix = OrePrefixes.getOrePrefix(tOreName);
|
||||||
if (tPrefix != null && tPrefix.mIsUnificatable) {
|
if (tPrefix != null && tPrefix.mIsUnificatable) {
|
||||||
GT_OreDictUnificator.set(tOreName, new ItemStack(this, 1, i));
|
GT_OreDictUnificator.setLater(tOreName, new ItemStack(this, 1, i));
|
||||||
} else {
|
} else {
|
||||||
GT_OreDictUnificator.registerOre(tOreName, new ItemStack(this, 1, i));
|
registerAtOreDict(tOreName, (short)i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@ package gregtechmod.api.items;
|
||||||
import gregtechmod.api.GregTech_API;
|
import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.enums.GT_ToolDictNames;
|
import gregtechmod.api.enums.GT_ToolDictNames;
|
||||||
import gregtechmod.api.util.GT_ModHandler;
|
import gregtechmod.api.util.GT_ModHandler;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -12,7 +11,7 @@ public class GT_Saw_Item extends GT_Tool_Item {
|
||||||
public GT_Saw_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, int aToolQuality, float aToolStrength, int aEnergyConsumptionPerBlockBreak, int aDisChargedGTID) {
|
public GT_Saw_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, int aToolQuality, float aToolStrength, int aEnergyConsumptionPerBlockBreak, int aDisChargedGTID) {
|
||||||
super(aUnlocalized, "item.GT_Saw_Bronze.tooltip_main", aMaxDamage, aEntityDamage, true, -1, aDisChargedGTID, aToolQuality, aToolStrength);
|
super(aUnlocalized, "item.GT_Saw_Bronze.tooltip_main", aMaxDamage, aEntityDamage, true, -1, aDisChargedGTID, aToolQuality, aToolStrength);
|
||||||
//GregTech_API.registerSaw(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
//GregTech_API.registerSaw(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
||||||
GT_OreDictUnificator.registerOre(GT_ToolDictNames.craftingToolSaw, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
registerAtOreDict(GT_ToolDictNames.craftingToolSaw, GregTech_API.ITEM_WILDCARD_DAMAGE);
|
||||||
if (GT_ModHandler.isElectricItem(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE))) setSilkyness(1);
|
if (GT_ModHandler.isElectricItem(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE))) setSilkyness(1);
|
||||||
addToMaterialList(Material.leaves);
|
addToMaterialList(Material.leaves);
|
||||||
addToMaterialList(Material.plants);
|
addToMaterialList(Material.plants);
|
||||||
|
|
|
@ -1,14 +1,11 @@
|
||||||
package gregtechmod.api.items;
|
package gregtechmod.api.items;
|
||||||
|
|
||||||
import gregtechmod.api.GregTech_API;
|
|
||||||
import gregtechmod.api.enums.GT_ToolDictNames;
|
import gregtechmod.api.enums.GT_ToolDictNames;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
public class GT_Scoop_Item extends GT_Tool_Item {
|
public class GT_Scoop_Item extends GT_Tool_Item {
|
||||||
public GT_Scoop_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, int aToolQuality, float aToolStrength, int aEnergyConsumptionPerBlockBreak, int aDisChargedGTID) {
|
public GT_Scoop_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, int aToolQuality, float aToolStrength, int aEnergyConsumptionPerBlockBreak, int aDisChargedGTID) {
|
||||||
super(aUnlocalized, "item.GT_Scoop_Item.tooltip", aMaxDamage, aEntityDamage, true, -1, aDisChargedGTID, aToolQuality, aToolStrength);
|
super(aUnlocalized, "item.GT_Scoop_Item.tooltip", aMaxDamage, aEntityDamage, true, -1, aDisChargedGTID, aToolQuality, aToolStrength);
|
||||||
GT_OreDictUnificator.registerOre(GT_ToolDictNames.craftingToolScoop, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
registerAtOreDictWildcard(GT_ToolDictNames.craftingToolScoop);
|
||||||
addToOreDictList("beeHive");
|
addToOreDictList("beeHive");
|
||||||
setToolClasses("scoop");
|
setToolClasses("scoop");
|
||||||
setUsageAmounts(1, 1, 1);
|
setUsageAmounts(1, 1, 1);
|
||||||
|
|
|
@ -3,7 +3,6 @@ package gregtechmod.api.items;
|
||||||
import gregtechmod.api.GregTech_API;
|
import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.enums.GT_ToolDictNames;
|
import gregtechmod.api.enums.GT_ToolDictNames;
|
||||||
import gregtechmod.api.util.GT_ModHandler;
|
import gregtechmod.api.util.GT_ModHandler;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
|
||||||
import gregtechmod.api.util.GT_Utility;
|
import gregtechmod.api.util.GT_Utility;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -21,7 +20,7 @@ public class GT_Screwdriver_Item extends GT_Tool_Item {
|
||||||
public GT_Screwdriver_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, int aDischargedGTID) {
|
public GT_Screwdriver_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, int aDischargedGTID) {
|
||||||
super(aUnlocalized, "item.GT_Screwdriver.tooltip_main", aMaxDamage, aEntityDamage, true, -1, aDischargedGTID);
|
super(aUnlocalized, "item.GT_Screwdriver.tooltip_main", aMaxDamage, aEntityDamage, true, -1, aDischargedGTID);
|
||||||
GregTech_API.registerScrewdriver(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
GregTech_API.registerScrewdriver(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
||||||
GT_OreDictUnificator.registerOre(GT_ToolDictNames.craftingToolScrewdriver, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
registerAtOreDictWildcard(GT_ToolDictNames.craftingToolScrewdriver);
|
||||||
addToEffectiveList(EntityCaveSpider.class.getName());
|
addToEffectiveList(EntityCaveSpider.class.getName());
|
||||||
addToEffectiveList(EntitySpider.class.getName());
|
addToEffectiveList(EntitySpider.class.getName());
|
||||||
addToEffectiveList("EntityTFHedgeSpider");
|
addToEffectiveList("EntityTFHedgeSpider");
|
||||||
|
|
|
@ -3,7 +3,6 @@ package gregtechmod.api.items;
|
||||||
import gregtechmod.api.GregTech_API;
|
import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.enums.GT_ToolDictNames;
|
import gregtechmod.api.enums.GT_ToolDictNames;
|
||||||
import gregtechmod.api.util.GT_ModHandler;
|
import gregtechmod.api.util.GT_ModHandler;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
|
||||||
import gregtechmod.api.util.GT_Utility;
|
import gregtechmod.api.util.GT_Utility;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -20,7 +19,7 @@ public class GT_SoftHammer_Item extends GT_Tool_Item {
|
||||||
public GT_SoftHammer_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage) {
|
public GT_SoftHammer_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage) {
|
||||||
super(aUnlocalized, "item.GT_Hammer_Rubber.tooltip_main", aMaxDamage, aEntityDamage, true);
|
super(aUnlocalized, "item.GT_Hammer_Rubber.tooltip_main", aMaxDamage, aEntityDamage, true);
|
||||||
GregTech_API.registerSoftHammer(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
GregTech_API.registerSoftHammer(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
||||||
GT_OreDictUnificator.registerOre(GT_ToolDictNames.craftingToolSoftHammer, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
registerAtOreDictWildcard(GT_ToolDictNames.craftingToolSoftHammer);
|
||||||
setCraftingSound(GregTech_API.sSoundList.get(101));
|
setCraftingSound(GregTech_API.sSoundList.get(101));
|
||||||
setBreakingSound(GregTech_API.sSoundList.get(101));
|
setBreakingSound(GregTech_API.sSoundList.get(101));
|
||||||
setEntityHitSound(GregTech_API.sSoundList.get(101));
|
setEntityHitSound(GregTech_API.sSoundList.get(101));
|
||||||
|
|
|
@ -2,14 +2,13 @@ package gregtechmod.api.items;
|
||||||
|
|
||||||
import gregtechmod.api.GregTech_API;
|
import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.enums.GT_ToolDictNames;
|
import gregtechmod.api.enums.GT_ToolDictNames;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
public class GT_SolderingMetal_Item extends GT_Tool_Item {
|
public class GT_SolderingMetal_Item extends GT_Tool_Item {
|
||||||
public GT_SolderingMetal_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage) {
|
public GT_SolderingMetal_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage) {
|
||||||
super(aUnlocalized, "item.GT_SolderingLead.tooltip_main", aMaxDamage, aEntityDamage, false);
|
super(aUnlocalized, "item.GT_SolderingLead.tooltip_main", aMaxDamage, aEntityDamage, false);
|
||||||
GT_OreDictUnificator.registerOre(GT_ToolDictNames.craftingToolSolderingMetal, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
|
||||||
GregTech_API.registerSolderingMetal(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
GregTech_API.registerSolderingMetal(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
||||||
|
registerAtOreDictWildcard(GT_ToolDictNames.craftingToolSolderingMetal);
|
||||||
setUsageAmounts(1, 3, 1);
|
setUsageAmounts(1, 3, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,8 +2,6 @@ package gregtechmod.api.items;
|
||||||
|
|
||||||
import gregtechmod.api.GregTech_API;
|
import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.enums.GT_ToolDictNames;
|
import gregtechmod.api.enums.GT_ToolDictNames;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.client.resources.I18n;
|
import net.minecraft.client.resources.I18n;
|
||||||
|
@ -14,7 +12,7 @@ import net.minecraft.world.World;
|
||||||
public class GT_SolderingTool_Item extends GT_Tool_Item {
|
public class GT_SolderingTool_Item extends GT_Tool_Item {
|
||||||
public GT_SolderingTool_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, int aDischargedGTID) {
|
public GT_SolderingTool_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, int aDischargedGTID) {
|
||||||
super(aUnlocalized, "item.Soldering_Iron.tooltip", aMaxDamage, aEntityDamage, true, -1, aDischargedGTID);
|
super(aUnlocalized, "item.Soldering_Iron.tooltip", aMaxDamage, aEntityDamage, true, -1, aDischargedGTID);
|
||||||
GT_OreDictUnificator.registerOre(GT_ToolDictNames.craftingToolSolderingIron, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
registerAtOreDictWildcard(GT_ToolDictNames.craftingToolSolderingIron);
|
||||||
GregTech_API.registerSolderingTool(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
GregTech_API.registerSolderingTool(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
||||||
setCraftingSound(GregTech_API.sSoundList.get(103));
|
setCraftingSound(GregTech_API.sSoundList.get(103));
|
||||||
setBreakingSound(GregTech_API.sSoundList.get(103));
|
setBreakingSound(GregTech_API.sSoundList.get(103));
|
||||||
|
|
|
@ -4,7 +4,6 @@ import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.enums.Dyes;
|
import gregtechmod.api.enums.Dyes;
|
||||||
import gregtechmod.api.enums.GT_Items;
|
import gregtechmod.api.enums.GT_Items;
|
||||||
import gregtechmod.api.util.GT_ModHandler;
|
import gregtechmod.api.util.GT_ModHandler;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
|
||||||
import gregtechmod.api.util.GT_Utility;
|
import gregtechmod.api.util.GT_Utility;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -23,7 +22,7 @@ public class GT_Spray_Color_Item extends GT_Tool_Item {
|
||||||
|
|
||||||
public GT_Spray_Color_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, byte aColorMeta) {
|
public GT_Spray_Color_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, byte aColorMeta) {
|
||||||
super(aUnlocalized, "item.GT_Spray_Color_Item.tooltip_1", aMaxDamage, aEntityDamage, true);
|
super(aUnlocalized, "item.GT_Spray_Color_Item.tooltip_1", aMaxDamage, aEntityDamage, true);
|
||||||
GT_OreDictUnificator.registerOre(Dyes.get(mColorMeta = aColorMeta), new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
registerAtOreDictWildcard(Dyes.get(mColorMeta = aColorMeta));
|
||||||
setCraftingSound(GregTech_API.sSoundList.get(102));
|
setCraftingSound(GregTech_API.sSoundList.get(102));
|
||||||
setBreakingSound(GregTech_API.sSoundList.get(102));
|
setBreakingSound(GregTech_API.sSoundList.get(102));
|
||||||
setEntityHitSound(GregTech_API.sSoundList.get(102));
|
setEntityHitSound(GregTech_API.sSoundList.get(102));
|
||||||
|
|
|
@ -154,11 +154,6 @@ public class GT_Tool_Item extends GT_Generic_Item {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final GT_Tool_Item registerAtOreDict(Object aName) {
|
|
||||||
GT_OreDictUnificator.registerOre(aName, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMode(ItemStack aStack, int aMode) {
|
public void setMode(ItemStack aStack, int aMode) {
|
||||||
NBTTagCompound tNBT = aStack.getTagCompound();
|
NBTTagCompound tNBT = aStack.getTagCompound();
|
||||||
if (tNBT == null) {
|
if (tNBT == null) {
|
||||||
|
|
|
@ -3,7 +3,6 @@ package gregtechmod.api.items;
|
||||||
import gregtechmod.api.GregTech_API;
|
import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.enums.GT_ToolDictNames;
|
import gregtechmod.api.enums.GT_ToolDictNames;
|
||||||
import gregtechmod.api.util.GT_ModHandler;
|
import gregtechmod.api.util.GT_ModHandler;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
|
||||||
import gregtechmod.api.util.GT_Utility;
|
import gregtechmod.api.util.GT_Utility;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -25,7 +24,7 @@ public class GT_Wrench_Item extends GT_Tool_Item {
|
||||||
public GT_Wrench_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, int aDischargedGTID) {
|
public GT_Wrench_Item(String aUnlocalized, int aMaxDamage, int aEntityDamage, int aDischargedGTID) {
|
||||||
super(aUnlocalized, "item.GT_Wrech.tooltip", aMaxDamage, aEntityDamage, true, -1, aDischargedGTID);
|
super(aUnlocalized, "item.GT_Wrech.tooltip", aMaxDamage, aEntityDamage, true, -1, aDischargedGTID);
|
||||||
GregTech_API.registerWrench(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
GregTech_API.registerWrench(new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
||||||
GT_OreDictUnificator.registerOre(GT_ToolDictNames.craftingToolWrench, new ItemStack(this, 1, GregTech_API.ITEM_WILDCARD_DAMAGE));
|
registerAtOreDictWildcard(GT_ToolDictNames.craftingToolWrench);
|
||||||
addToEffectiveList(EntityIronGolem.class.getName());
|
addToEffectiveList(EntityIronGolem.class.getName());
|
||||||
addToEffectiveList("EntityTFTowerGolem");
|
addToEffectiveList("EntityTFTowerGolem");
|
||||||
addToEffectiveList("EntityGolemBase");
|
addToEffectiveList("EntityGolemBase");
|
||||||
|
|
|
@ -39,6 +39,7 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
|
||||||
@Override
|
@Override
|
||||||
public void onPostTick() {
|
public void onPostTick() {
|
||||||
if (getBaseMetaTileEntity().isServerSide() && getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getTimer()%10==0) {
|
if (getBaseMetaTileEntity().isServerSide() && getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getTimer()%10==0) {
|
||||||
|
List<GT_Recipe> kek = getRecipes();
|
||||||
if (mFluid == null) {
|
if (mFluid == null) {
|
||||||
if (getBaseMetaTileEntity().getUniversalEnergyStored() < getBaseMetaTileEntity().getOutputVoltage() + getMinimumStoredEU()) {
|
if (getBaseMetaTileEntity().getUniversalEnergyStored() < getBaseMetaTileEntity().getOutputVoltage() + getMinimumStoredEU()) {
|
||||||
mInventory[getStackDisplaySlot()] = null;
|
mInventory[getStackDisplaySlot()] = null;
|
||||||
|
|
|
@ -6,6 +6,7 @@ import gregtechmod.api.enums.OrePrefixes;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -24,11 +25,24 @@ public class GT_OreDictUnificator {
|
||||||
public static volatile int VERSION = 408;
|
public static volatile int VERSION = 408;
|
||||||
|
|
||||||
private static final HashMap<String, ItemStack> sName2OreMap = new HashMap<String, ItemStack>();
|
private static final HashMap<String, ItemStack> sName2OreMap = new HashMap<String, ItemStack>();
|
||||||
|
private static final HashMap<ItemStack, String> sToRegister = new HashMap<ItemStack, String>();
|
||||||
private static final HashMap<Integer, String> sItemhash2NameMap = new HashMap<Integer, String>();
|
private static final HashMap<Integer, String> sItemhash2NameMap = new HashMap<Integer, String>();
|
||||||
private static final ArrayList<Integer> sBlackList = new ArrayList<Integer>();
|
private static final ArrayList<Integer> sBlackList = new ArrayList<Integer>();
|
||||||
|
|
||||||
private static int isRegisteringOre = 0, isAddingOre = 0;
|
private static int isRegisteringOre = 0, isAddingOre = 0;
|
||||||
|
|
||||||
|
public static void activateUnificator() {
|
||||||
|
GT_Log.log.info("Registering oredictionary tags...");
|
||||||
|
for (Entry<ItemStack, String> entry : sToRegister.entrySet()) {
|
||||||
|
OreDictionary.registerOre(entry.getValue(), entry.getKey());
|
||||||
|
if (GregTech_API.DEBUG_MODE) {
|
||||||
|
GT_Log.log.info("Registering " + entry.getValue() + " ore");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sToRegister.clear();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Blacklist just prevents the Item from being Unificated into something else.
|
* The Blacklist just prevents the Item from being Unificated into something else.
|
||||||
* Useful if you have things like the Industrial Diamond, which is better than regular Diamond, but also placeable in absolutely all Diamond Recipes.
|
* Useful if you have things like the Industrial Diamond, which is better than regular Diamond, but also placeable in absolutely all Diamond Recipes.
|
||||||
|
@ -49,6 +63,14 @@ public class GT_OreDictUnificator {
|
||||||
set(aName, aStack, false, false);
|
set(aName, aStack, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void addLater(Object aName, ItemStack aStack) {
|
||||||
|
setLater(aName, aStack);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void addLater(OrePrefixes aPrefix, Object aMaterial, ItemStack aStack) {
|
||||||
|
setLater(aPrefix.get(aMaterial), aStack);
|
||||||
|
}
|
||||||
|
|
||||||
public static void set(OrePrefixes aPrefix, Object aMaterial, ItemStack aStack) {
|
public static void set(OrePrefixes aPrefix, Object aMaterial, ItemStack aStack) {
|
||||||
set(aPrefix.get(aMaterial), aStack);
|
set(aPrefix.get(aMaterial), aStack);
|
||||||
}
|
}
|
||||||
|
@ -69,6 +91,22 @@ public class GT_OreDictUnificator {
|
||||||
isAddingOre--;
|
isAddingOre--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setLater(Object aName, ItemStack aStack) {
|
||||||
|
setLater(aName, aStack, true, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setLater(Object aName, ItemStack aStack, boolean aOverwrite, boolean aAlreadyRegistered) {
|
||||||
|
if (GT_Utility.isStringInvalid(aName) || GT_Utility.isStackInvalid(aStack) || Items.feather.getDamage(aStack) == GregTech_API.ITEM_WILDCARD_DAMAGE) return;
|
||||||
|
isAddingOre++;
|
||||||
|
aStack = GT_Utility.copyAmount(1, aStack);
|
||||||
|
if (!aAlreadyRegistered) sToRegister.put(aStack, aName.toString());
|
||||||
|
addAssociation(aName, aStack);
|
||||||
|
if (aOverwrite || GT_Utility.isStackInvalid(sName2OreMap.get(aName.toString()))) {
|
||||||
|
sName2OreMap.put(aName.toString(), aStack);
|
||||||
|
}
|
||||||
|
isAddingOre--;
|
||||||
|
}
|
||||||
|
|
||||||
public static ItemStack getFirstOre(Object aName, long aAmount) {
|
public static ItemStack getFirstOre(Object aName, long aAmount) {
|
||||||
if (GT_Utility.isStringInvalid(aName)) return null;
|
if (GT_Utility.isStringInvalid(aName)) return null;
|
||||||
if (GT_Utility.isStackValid(sName2OreMap.get(aName.toString()))) return GT_Utility.copyAmount(aAmount, sName2OreMap.get(aName.toString()));
|
if (GT_Utility.isStackValid(sName2OreMap.get(aName.toString()))) return GT_Utility.copyAmount(aAmount, sName2OreMap.get(aName.toString()));
|
||||||
|
@ -181,6 +219,22 @@ public class GT_OreDictUnificator {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean registerOreLater(OrePrefixes aPrefix, Object aMaterial, ItemStack aStack) {
|
||||||
|
return registerOreLater(aPrefix.get(aMaterial), aStack);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean registerOreLater(Object aName, ItemStack aStack) {
|
||||||
|
if (GT_Utility.isStringInvalid(aName) || GT_Utility.isStackInvalid(aStack)) return false;
|
||||||
|
String tName = aName.toString();
|
||||||
|
if (tName.equals("")) return false;
|
||||||
|
ArrayList<ItemStack> tList = getOres(tName);
|
||||||
|
for (int i = 0; i < tList.size(); i++) if (GT_Utility.areStacksEqual(tList.get(i), aStack, true)) return false;
|
||||||
|
isRegisteringOre++;
|
||||||
|
sToRegister.put(GT_Utility.copyAmount(1, aStack), tName);
|
||||||
|
isRegisteringOre--;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isRegisteringOres() {
|
public static boolean isRegisteringOres() {
|
||||||
return isRegisteringOre > 0;
|
return isRegisteringOre > 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -660,7 +660,7 @@ public class GT_Utility {
|
||||||
|
|
||||||
public static FluidStack getFluidForFilledItem(ItemStack aStack) {
|
public static FluidStack getFluidForFilledItem(ItemStack aStack) {
|
||||||
if (isStackInvalid(aStack)) return null;
|
if (isStackInvalid(aStack)) return null;
|
||||||
if (aStack.getItem() instanceof IFluidContainerItem) return ((IFluidContainerItem)aStack.getItem()).drain(copyAmount(1, aStack), Integer.MAX_VALUE, true);
|
if (aStack.getItem() instanceof IFluidContainerItem) return ((IFluidContainerItem) aStack.getItem()).drain(aStack, Integer.MAX_VALUE, false);
|
||||||
FluidStack rFluid = FluidContainerRegistry.getFluidForFilledItem(aStack);
|
FluidStack rFluid = FluidContainerRegistry.getFluidForFilledItem(aStack);
|
||||||
if (rFluid != null) return rFluid.copy();
|
if (rFluid != null) return rFluid.copy();
|
||||||
return null;
|
return null;
|
||||||
|
@ -981,13 +981,28 @@ public class GT_Utility {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemStack copyAmount(long aAmount, Object... aStacks) {
|
public static ItemStack copyAmount(long aAmount, Object... aStacks) {
|
||||||
ItemStack rStack = copy((ItemStack[])aStacks);
|
ItemStack rStack = copy(GT_Utility.cast(aStacks));
|
||||||
|
|
||||||
if (isStackInvalid(rStack)) return null;
|
if (isStackInvalid(rStack)) return null;
|
||||||
if (aAmount > 64) aAmount = 64; else if (aAmount == -1) aAmount = 111; else if (aAmount < 0) aAmount = 0;
|
if (aAmount > 64) aAmount = 64; else if (aAmount == -1) aAmount = 111; else if (aAmount < 0) aAmount = 0;
|
||||||
rStack.stackSize = (byte)aAmount;
|
rStack.stackSize = (byte)aAmount;
|
||||||
return rStack;
|
return rStack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ItemStack[] cast(Object...objects) {
|
||||||
|
Objects.requireNonNull(objects);
|
||||||
|
ItemStack[] result = new ItemStack[objects.length];
|
||||||
|
try {
|
||||||
|
for (int i = 0; i < objects.length; i++)
|
||||||
|
result[i] = (ItemStack) objects[i];
|
||||||
|
} catch (ClassCastException e) {
|
||||||
|
GT_Log.log.throwing(e);
|
||||||
|
throw new IllegalArgumentException("Array can not contain not ItemStacks!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
public static ItemStack copyMetaData(long aMetaData, ItemStack... aStacks) {
|
public static ItemStack copyMetaData(long aMetaData, ItemStack... aStacks) {
|
||||||
ItemStack rStack = copy(aStacks);
|
ItemStack rStack = copy(aStacks);
|
||||||
if (isStackInvalid(rStack)) return null;
|
if (isStackInvalid(rStack)) return null;
|
||||||
|
@ -1013,7 +1028,7 @@ public class GT_Utility {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemStack mul(long aMultiplier, Object... aStacks) {
|
public static ItemStack mul(long aMultiplier, Object... aStacks) {
|
||||||
return GT_Utility.mul(aMultiplier, (ItemStack[])aStacks);
|
return GT_Utility.mul(aMultiplier, GT_Utility.cast(aStacks));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -18,17 +18,13 @@ import gregtechmod.api.util.GT_Utility;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.Spliterator;
|
|
||||||
import java.util.concurrent.ExecutorService;
|
|
||||||
import java.util.concurrent.Executors;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
import cpw.mods.fml.common.Loader;
|
import cpw.mods.fml.common.Loader;
|
||||||
import cpw.mods.fml.common.Mod.EventHandler;
|
|
||||||
import cpw.mods.fml.common.ModContainer;
|
import cpw.mods.fml.common.ModContainer;
|
||||||
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
@ -46,7 +42,7 @@ public class GT_OreDictHandler {
|
||||||
public final List<ItemStack> mRegisteredStacks = new ArrayList<>();
|
public final List<ItemStack> mRegisteredStacks = new ArrayList<>();
|
||||||
private boolean mActivated = false;
|
private boolean mActivated = false;
|
||||||
|
|
||||||
@EventHandler
|
@SubscribeEvent
|
||||||
public void registerOre(OreRegisterEvent aEvent) {
|
public void registerOre(OreRegisterEvent aEvent) {
|
||||||
if (GT_Mod.mDoNotInit || aEvent == null || aEvent.Ore == null || aEvent.Ore.getItem() == null || aEvent.Name == null || aEvent.Name.equals("") || mIgnoredNames.contains(aEvent.Name)) return;
|
if (GT_Mod.mDoNotInit || aEvent == null || aEvent.Ore == null || aEvent.Ore.getItem() == null || aEvent.Name == null || aEvent.Name.equals("") || mIgnoredNames.contains(aEvent.Name)) return;
|
||||||
|
|
||||||
|
@ -511,24 +507,20 @@ public class GT_OreDictHandler {
|
||||||
/**
|
/**
|
||||||
* Gets called during the PostLoad-Phase
|
* Gets called during the PostLoad-Phase
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public void activateHandler() {
|
public void activateHandler() {
|
||||||
mActivated = true;
|
mActivated = true;
|
||||||
long time = System.currentTimeMillis();
|
long time = System.currentTimeMillis();
|
||||||
Spliterator<Entry<OreRegisterEvent, String>> splt = mEvents.entrySet().spliterator();
|
|
||||||
Spliterator<Entry<OreRegisterEvent, String>> splt1 = splt.trySplit();
|
|
||||||
ExecutorService serv = Executors.newFixedThreadPool(2);
|
|
||||||
Consumer<Spliterator<Entry<OreRegisterEvent, String>>> toExecute = sp -> {
|
|
||||||
while (sp.tryAdvance(tEvent -> {
|
|
||||||
this.registerRecipes(tEvent.getKey(), tEvent.getValue());
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
|
|
||||||
serv.submit(() -> toExecute.accept(splt));
|
int counter = mEvents.size();
|
||||||
if (splt1 != null) serv.submit(() -> toExecute.accept(splt1));
|
GT_Log.log.warn("There is " + counter + " events to be registered");
|
||||||
serv.shutdown();
|
Iterator<Entry<OreRegisterEvent, String>> iter = mEvents.entrySet().iterator();
|
||||||
while (!serv.isTerminated()) try {
|
|
||||||
Thread.sleep(50);
|
while (iter.hasNext()) {
|
||||||
} catch (InterruptedException ingored) {}
|
if (GregTech_API.DEBUG_MODE) GT_Log.log.warn("Events left: " + counter--);
|
||||||
|
Entry<OreRegisterEvent, String> temp = iter.next();
|
||||||
|
this.registerRecipes(temp.getKey(), temp.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
GT_Log.log.warn(String.format("Time spent for oredict iterating: %.3f seconds", (System.currentTimeMillis() - time) / 1000.0D));
|
GT_Log.log.warn(String.format("Time spent for oredict iterating: %.3f seconds", (System.currentTimeMillis() - time) / 1000.0D));
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@ import gregtechmod.api.GregTech_API;
|
||||||
import gregtechmod.api.util.GT_Config;
|
import gregtechmod.api.util.GT_Config;
|
||||||
import gregtechmod.api.util.GT_OreDictUnificator;
|
import gregtechmod.api.util.GT_OreDictUnificator;
|
||||||
import gregtechmod.api.util.GT_Utility;
|
import gregtechmod.api.util.GT_Utility;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -28,9 +28,9 @@ public class GT_MetaItem_Cell extends GT_MetaItem_Abstract {
|
||||||
GT_ModHandler.addExtractionRecipe(instance.getUnunifiedStack(aMeta, 1), GT_ModHandler.getEmptyCell(1));
|
GT_ModHandler.addExtractionRecipe(instance.getUnunifiedStack(aMeta, 1), GT_ModHandler.getEmptyCell(1));
|
||||||
|
|
||||||
if (aPlasma)
|
if (aPlasma)
|
||||||
GT_OreDictUnificator.add(OrePrefixes.cellPlasma, aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
GT_OreDictUnificator.addLater(OrePrefixes.cellPlasma, aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
||||||
else
|
else
|
||||||
GT_OreDictUnificator.add(OrePrefixes.cell, aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
GT_OreDictUnificator.addLater(OrePrefixes.cell, aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
||||||
|
|
||||||
return instance.getUnunifiedStack(aMeta, 1);
|
return instance.getUnunifiedStack(aMeta, 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ public class GT_MetaItem_Component extends GT_MetaItem_Abstract {
|
||||||
instance.mToolTipList[aMeta] = aToolTip;
|
instance.mToolTipList[aMeta] = aToolTip;
|
||||||
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
||||||
if (aMaterial != null && !aMaterial.equals("")) {
|
if (aMaterial != null && !aMaterial.equals("")) {
|
||||||
GT_OreDictUnificator.registerOre(aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
GT_OreDictUnificator.registerOreLater(aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
return instance.getUnunifiedStack(aMeta, 1);
|
return instance.getUnunifiedStack(aMeta, 1);
|
||||||
|
|
|
@ -25,7 +25,7 @@ public class GT_MetaItem_DirtyDust extends GT_MetaItem_Abstract {
|
||||||
instance.mGlowList[aMeta] = aGlow;
|
instance.mGlowList[aMeta] = aGlow;
|
||||||
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
||||||
if (aMaterial != null) {
|
if (aMaterial != null) {
|
||||||
GT_OreDictUnificator.add(OrePrefixes.dustDirty, aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
GT_OreDictUnificator.addLater(OrePrefixes.dustDirty, aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
||||||
}
|
}
|
||||||
return instance.getUnunifiedStack(aMeta, 1);
|
return instance.getUnunifiedStack(aMeta, 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class GT_MetaItem_Dust extends GT_MetaItem_Abstract {
|
||||||
instance.mGlowList[aMeta] = aGlow;
|
instance.mGlowList[aMeta] = aGlow;
|
||||||
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
||||||
if (aMaterial != null) {
|
if (aMaterial != null) {
|
||||||
GT_OreDictUnificator.add(OrePrefixes.dust.get(aMaterial), instance.getUnunifiedStack(aMeta, 1));
|
GT_OreDictUnificator.addLater(OrePrefixes.dust, aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
||||||
}
|
}
|
||||||
GT_MetaItem_SmallDust.addItem(aMeta, aName, aMaterial, aGlow);
|
GT_MetaItem_SmallDust.addItem(aMeta, aName, aMaterial, aGlow);
|
||||||
GT_MetaItem_DirtyDust.addItem(aMeta, aName, aMaterial, aGlow);
|
GT_MetaItem_DirtyDust.addItem(aMeta, aName, aMaterial, aGlow);
|
||||||
|
|
|
@ -26,9 +26,9 @@ public class GT_MetaItem_Material extends GT_MetaItem_Abstract {
|
||||||
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
||||||
if (aMaterial != null && aPrefix != null) {
|
if (aMaterial != null && aPrefix != null) {
|
||||||
if (aPrefix.mIsUnificatable)
|
if (aPrefix.mIsUnificatable)
|
||||||
GT_OreDictUnificator.add(aPrefix.get((aMaterial instanceof MaterialStack)?((MaterialStack)aMaterial).mMaterial:aMaterial), instance.getUnunifiedStack(aMeta, 1));
|
GT_OreDictUnificator.addLater(aPrefix, ((aMaterial instanceof MaterialStack)?((MaterialStack)aMaterial).mMaterial:aMaterial), instance.getUnunifiedStack(aMeta, 1));
|
||||||
else
|
else
|
||||||
GT_OreDictUnificator.registerOre(aPrefix.get((aMaterial instanceof MaterialStack)?((MaterialStack)aMaterial).mMaterial:aMaterial), instance.getUnunifiedStack(aMeta, 1));
|
GT_OreDictUnificator.registerOreLater(aPrefix.get((aMaterial instanceof MaterialStack)?((MaterialStack)aMaterial).mMaterial:aMaterial), instance.getUnunifiedStack(aMeta, 1));
|
||||||
}
|
}
|
||||||
return instance.getUnunifiedStack(aMeta, 1);
|
return instance.getUnunifiedStack(aMeta, 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ public class GT_MetaItem_Nugget extends GT_MetaItem_Abstract {
|
||||||
|
|
||||||
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
||||||
if (aMaterial != null) {
|
if (aMaterial != null) {
|
||||||
GT_OreDictUnificator.add(OrePrefixes.nugget.get(aMaterial), instance.getUnunifiedStack(aMeta, 1));
|
GT_OreDictUnificator.addLater(OrePrefixes.nugget, aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
||||||
}
|
}
|
||||||
return instance.getUnunifiedStack(aMeta, 1);
|
return instance.getUnunifiedStack(aMeta, 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class GT_MetaItem_SmallDust extends GT_MetaItem_Abstract {
|
||||||
instance.mGlowList[aMeta] = aGlow;
|
instance.mGlowList[aMeta] = aGlow;
|
||||||
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
||||||
if (aMaterial != null) {
|
if (aMaterial != null) {
|
||||||
GT_OreDictUnificator.add(OrePrefixes.dustSmall.get(aMaterial), instance.getUnunifiedStack(aMeta, 1));
|
GT_OreDictUnificator.addLater(OrePrefixes.dustSmall, aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
||||||
}
|
}
|
||||||
GT_MetaItem_TinyDust.addItem(aMeta, aName, aMaterial, aGlow);
|
GT_MetaItem_TinyDust.addItem(aMeta, aName, aMaterial, aGlow);
|
||||||
return instance.getUnunifiedStack(aMeta, 1);
|
return instance.getUnunifiedStack(aMeta, 1);
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class GT_MetaItem_TinyDust extends GT_MetaItem_Abstract {
|
||||||
instance.mGlowList[aMeta] = aGlow;
|
instance.mGlowList[aMeta] = aGlow;
|
||||||
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
instance.mStackList[aMeta] = new ItemStack(instance, 1, aMeta);
|
||||||
if (aMaterial != null) {
|
if (aMaterial != null) {
|
||||||
GT_OreDictUnificator.add(OrePrefixes.dustTiny.get(aMaterial), instance.getUnunifiedStack(aMeta, 1));
|
GT_OreDictUnificator.addLater(OrePrefixes.dustTiny, aMaterial, instance.getUnunifiedStack(aMeta, 1));
|
||||||
}
|
}
|
||||||
return instance.getUnunifiedStack(aMeta, 1);
|
return instance.getUnunifiedStack(aMeta, 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,142 +1,54 @@
|
||||||
package gregtechmod.common.tileentities.energy.production;
|
package gregtechmod.common.tileentities.energy.production;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
|
import gregtechmod.api.enums.GT_Items;
|
||||||
import gregtechmod.api.interfaces.IGregTechTileEntity;
|
import gregtechmod.api.interfaces.IGregTechTileEntity;
|
||||||
import gregtechmod.api.metatileentity.MetaTileEntity;
|
import gregtechmod.api.metatileentity.MetaTileEntity;
|
||||||
import gregtechmod.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
|
import gregtechmod.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
|
||||||
import gregtechmod.api.util.GT_ModHandler;
|
import gregtechmod.api.util.GT_ModHandler;
|
||||||
import gregtechmod.api.util.GT_Recipe;
|
import gregtechmod.api.util.GT_Recipe;
|
||||||
import gregtechmod.api.util.GT_Utility;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.init.Blocks;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
|
|
||||||
public class GT_MetaTileEntity_DieselGenerator extends GT_MetaTileEntity_BasicTank {
|
public class GT_MetaTileEntity_DieselGenerator extends GT_MetaTileEntity_BasicGenerator {
|
||||||
|
|
||||||
public GT_MetaTileEntity_DieselGenerator(int aID, String mName) {
|
public GT_MetaTileEntity_DieselGenerator(int aID, String aName) {
|
||||||
super(aID, mName);
|
super(aID, aName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public GT_MetaTileEntity_DieselGenerator() {
|
public GT_MetaTileEntity_DieselGenerator() {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public boolean isSimpleMachine() {return false;}
|
|
||||||
@Override public boolean isValidSlot(int aIndex) {return aIndex < 2;}
|
|
||||||
@Override public boolean isFacingValid(byte aFacing) {return aFacing > 1;}
|
@Override public boolean isFacingValid(byte aFacing) {return aFacing > 1;}
|
||||||
@Override public boolean isEnetOutput() {return true;}
|
@Override public int maxEUOutput() {return this.getBaseMetaTileEntity().isAllowedToWork() ? 12 : 0;}
|
||||||
@Override public boolean isOutputFacing(byte aSide) {return true;}
|
@Override public void onRightclick(EntityPlayer aPlayer) {this.getBaseMetaTileEntity().openGUI(aPlayer, 117);}
|
||||||
@Override public int maxEUOutput() {return getBaseMetaTileEntity().isAllowedToWork()?12:0;}
|
@Override public List<GT_Recipe> getRecipes() {return GT_Recipe.sDieselFuels;}
|
||||||
@Override public int maxEUStore() {return 1000000;}
|
@Override public int getEfficiency() {return 100;}
|
||||||
@Override public void onRightclick(EntityPlayer aPlayer) {getBaseMetaTileEntity().openGUI(aPlayer, 117);}
|
|
||||||
@Override public boolean isAccessAllowed(EntityPlayer aPlayer) {return true;}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
||||||
return new GT_MetaTileEntity_DieselGenerator();
|
return new GT_MetaTileEntity_DieselGenerator();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public boolean doesFillContainers() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean doesEmptyContainers() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean canTankBeFilled() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean canTankBeEmptied() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean displaysItemStack() {return true;}
|
|
||||||
@Override public boolean displaysStackSize() {return false;}
|
|
||||||
@Override public boolean isFluidInputAllowed(FluidStack aFluid) {return isValidFuel(aFluid);}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPostTick() {
|
|
||||||
if (getBaseMetaTileEntity().isServerSide() && getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getTimer()%10==0) {
|
|
||||||
if (mFluid == null) {
|
|
||||||
if (getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU()))
|
|
||||||
mInventory[2] = null;
|
|
||||||
else
|
|
||||||
if (mInventory[2] == null)
|
|
||||||
mInventory[2] = new ItemStack(Blocks.fire, 1);
|
|
||||||
} else {
|
|
||||||
if (getFuelValue(mFluid) > 0) while (getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU()) && mFluid.amount > 0) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(getFuelValue(mFluid), true)) mFluid.amount--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (mInventory[0] != null && getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU())) {
|
|
||||||
for (int i = 0; i < GT_Recipe.sDieselFuels.size(); i++) {
|
|
||||||
if (GT_Utility.areStacksEqual(mInventory[0], GT_Recipe.sDieselFuels.get(i).mInputs[0])) {
|
|
||||||
if (GT_Utility.getFluidForFilledItem(mInventory[0]) == null) {
|
|
||||||
if (GT_Recipe.sDieselFuels.get(i).getOutput(0) != null) {
|
|
||||||
if (mInventory[1] == null) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sDieselFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
mInventory[1] = GT_Utility.copy(GT_Recipe.sDieselFuels.get(i).getOutput(0));
|
|
||||||
}
|
|
||||||
} else if (GT_Utility.areStacksEqual(mInventory[1], GT_Recipe.sDieselFuels.get(i).getOutput(0)) && mInventory[1].stackSize + GT_Recipe.sDieselFuels.get(i).getOutput(0).stackSize <= mInventory[1].getMaxStackSize()) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sDieselFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
mInventory[1].stackSize += GT_Recipe.sDieselFuels.get(i).getOutput(0).stackSize;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sDieselFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
int tValue = 0;
|
|
||||||
if (mInventory[0] != null && (mInventory[1] == null || (GT_Utility.areStacksEqual(mInventory[1], GT_ModHandler.getEmptyFuelCan(1)) && mInventory[1].stackSize < 64)) && (tValue = GT_ModHandler.getFuelCanValue(mInventory[0])) > 0) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits((tValue*5)/4, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
if (mInventory[1] == null)
|
|
||||||
mInventory[1] = GT_ModHandler.getEmptyFuelCan(1);
|
|
||||||
else
|
|
||||||
mInventory[1].stackSize++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (getBaseMetaTileEntity().isServerSide()) getBaseMetaTileEntity().setActive(getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getUniversalEnergyStored() >= getBaseMetaTileEntity().getOutputVoltage() + getMinimumStoredEU());
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isValidFuel(FluidStack aLiquid) {
|
|
||||||
return getFuelValue(aLiquid)>0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return EU per MB
|
|
||||||
*/
|
|
||||||
public int getFuelValue(FluidStack aLiquid) {
|
|
||||||
if (aLiquid == null) return 0;
|
|
||||||
FluidStack tLiquid;
|
|
||||||
for (int i = 0; i < GT_Recipe.sDieselFuels.size(); i++) {
|
|
||||||
if ((tLiquid = GT_Utility.getFluidForFilledItem(GT_Recipe.sDieselFuels.get(i).getOutput(0))) != null) if (aLiquid.isFluidEqual(tLiquid)) return GT_Recipe.sDieselFuels.get(i).mStartEU;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
||||||
if (aSide == 0)
|
return aSide == 0 ? 38
|
||||||
return 38;
|
: (aSide != 1 ? 36 : (aFacing != 2 && aFacing != 3 ? (aActive ? 303 : 302) : (aActive ? 281 : 80)));
|
||||||
else if (aSide == 1)
|
|
||||||
return aFacing==2||aFacing==3?aActive?281:80:aActive?303:302;
|
|
||||||
else
|
|
||||||
return 36;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return "The second most effective Way of burning Fuel";
|
return "The burning Fuel as " + this.getEfficiency() + "% Efficiency";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getCapacity() {
|
public int getFuelValue(ItemStack aStack) {
|
||||||
return 10000;
|
int rValue = Math.max(GT_ModHandler.getFuelCanValue(aStack) * 6 / 5, super.getFuelValue(aStack));
|
||||||
|
if (GT_Items.Fuel_Can_Plastic_Filled.isStackEqual(aStack, false, true)) {
|
||||||
|
rValue = Math.max(rValue, GameRegistry.getFuelValue(aStack) * 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
return rValue;
|
||||||
public int getTankPressure() {
|
|
||||||
return -100;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,36 +15,24 @@ public class GT_MetaTileEntity_GasTurbine extends GT_MetaTileEntity_BasicGenerat
|
||||||
|
|
||||||
public GT_MetaTileEntity_GasTurbine() {}
|
public GT_MetaTileEntity_GasTurbine() {}
|
||||||
|
|
||||||
public boolean isFacingValid(byte aFacing) {
|
@Override public boolean isFacingValid(byte aFacing) {return true;}
|
||||||
return true;
|
@Override public int maxEUOutput() {return this.getBaseMetaTileEntity().isAllowedToWork() ? 16 : 0;}
|
||||||
}
|
@Override public void onRightclick(EntityPlayer aPlayer) {this.getBaseMetaTileEntity().openGUI(aPlayer, 118);}
|
||||||
|
@Override public List<GT_Recipe> getRecipes() {return GT_Recipe.sTurbineFuels;}
|
||||||
public int maxEUOutput() {
|
@Override public int getEfficiency() {return 75;}
|
||||||
return this.getBaseMetaTileEntity().isAllowedToWork()?16:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onRightclick(EntityPlayer aPlayer) {
|
|
||||||
this.getBaseMetaTileEntity().openGUI(aPlayer, 118);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@Override
|
||||||
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
||||||
return new GT_MetaTileEntity_GasTurbine();
|
return new GT_MetaTileEntity_GasTurbine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
||||||
return aSide == 0 ? 82 : (aSide == 1 ? 81 : 40);
|
return aSide == 0 ? 82 : (aSide == 1 ? 81 : 40);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return "Generate Power from Flatulence, uhh I mean Methane (" + this.getEfficiency() + "%)";
|
return "Generate Power from Flatulence, uhh I mean Methane (" + this.getEfficiency() + "%)";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<GT_Recipe> getRecipes() {
|
|
||||||
return GT_Recipe.sTurbineFuels;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getEfficiency() {
|
|
||||||
return 75;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,97 +1,46 @@
|
||||||
package gregtechmod.common.tileentities.energy.production;
|
package gregtechmod.common.tileentities.energy.production;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import gregtechmod.api.interfaces.IGregTechTileEntity;
|
import gregtechmod.api.interfaces.IGregTechTileEntity;
|
||||||
import gregtechmod.api.metatileentity.MetaTileEntity;
|
import gregtechmod.api.metatileentity.MetaTileEntity;
|
||||||
import gregtechmod.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
|
import gregtechmod.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
|
||||||
import gregtechmod.api.util.GT_Recipe;
|
import gregtechmod.api.util.GT_Recipe;
|
||||||
import gregtechmod.api.util.GT_Utility;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.init.Blocks;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
import thaumcraft.common.blocks.BlockTaintFibres;
|
import thaumcraft.common.blocks.BlockTaintFibres;
|
||||||
import thaumcraft.common.lib.utils.Utils;
|
import thaumcraft.common.lib.utils.Utils;
|
||||||
import thaumcraft.common.lib.world.ThaumcraftWorldGenerator;
|
import thaumcraft.common.lib.world.ThaumcraftWorldGenerator;
|
||||||
|
|
||||||
public class GT_MetaTileEntity_MagicEnergyConverter extends GT_MetaTileEntity_BasicTank {
|
public class GT_MetaTileEntity_MagicEnergyConverter extends GT_MetaTileEntity_BasicGenerator {
|
||||||
|
|
||||||
public GT_MetaTileEntity_MagicEnergyConverter(int aID, String mName) {
|
public GT_MetaTileEntity_MagicEnergyConverter(int aID, String aName) {
|
||||||
super(aID, mName);
|
super(aID, aName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public GT_MetaTileEntity_MagicEnergyConverter() {
|
public GT_MetaTileEntity_MagicEnergyConverter() {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public boolean isSimpleMachine() {return false;}
|
|
||||||
@Override public boolean isValidSlot(int aIndex) {return aIndex < 2;}
|
|
||||||
@Override public boolean isFacingValid(byte aFacing) {return true;}
|
@Override public boolean isFacingValid(byte aFacing) {return true;}
|
||||||
@Override public boolean isEnetOutput() {return true;}
|
@Override public int maxEUOutput() {return this.getBaseMetaTileEntity().isAllowedToWork() ? 24 : 0;}
|
||||||
@Override public boolean isOutputFacing(byte aSide) {return true;}
|
@Override public void onRightclick(EntityPlayer aPlayer) {this.getBaseMetaTileEntity().openGUI(aPlayer, 125);}
|
||||||
@Override public int maxEUOutput() {return getBaseMetaTileEntity().isAllowedToWork()?24:0;}
|
@Override public List<GT_Recipe> getRecipes() {return GT_Recipe.sMagicFuels;}
|
||||||
@Override public int maxEUStore() {return 1000000000;}
|
@Override public int getEfficiency() {return 100;}
|
||||||
@Override public void onRightclick(EntityPlayer aPlayer) {getBaseMetaTileEntity().openGUI(aPlayer, 125);}
|
|
||||||
@Override public boolean isAccessAllowed(EntityPlayer aPlayer) {return true;}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
||||||
return new GT_MetaTileEntity_MagicEnergyConverter();
|
return new GT_MetaTileEntity_MagicEnergyConverter();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public boolean doesFillContainers() {return getBaseMetaTileEntity().isAllowedToWork();}
|
@Override
|
||||||
@Override public boolean doesEmptyContainers() {return getBaseMetaTileEntity().isAllowedToWork();}
|
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
||||||
@Override public boolean canTankBeFilled() {return getBaseMetaTileEntity().isAllowedToWork();}
|
return aSide == aFacing ? (aActive ? 86 : 83) : 90;
|
||||||
@Override public boolean canTankBeEmptied() {return getBaseMetaTileEntity().isAllowedToWork();}
|
}
|
||||||
@Override public boolean displaysItemStack() {return true;}
|
|
||||||
@Override public boolean displaysStackSize() {return false;}
|
|
||||||
@Override public boolean isFluidInputAllowed(FluidStack aFluid) {return isValidFuel(aFluid);}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPostTick() {
|
public String getDescription() {
|
||||||
if (getBaseMetaTileEntity().isServerSide() && getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getTimer()%10==0) {
|
return "A Generator running off Magic Fuel (" + this.getEfficiency() + "%)";
|
||||||
if (mFluid == null) {
|
|
||||||
if (getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU()))
|
|
||||||
mInventory[2] = null;
|
|
||||||
else
|
|
||||||
if (mInventory[2] == null)
|
|
||||||
mInventory[2] = new ItemStack(Blocks.fire, 1);
|
|
||||||
} else {
|
|
||||||
if (getFuelValue(mFluid) > 0) while (getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU()) && mFluid.amount > 0) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(getFuelValue(mFluid), true)) mFluid.amount--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (mInventory[0] != null && getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU())) {
|
|
||||||
for (int i = 0; i < GT_Recipe.sMagicFuels.size(); i++) {
|
|
||||||
if (GT_Utility.areStacksEqual(mInventory[0], GT_Recipe.sMagicFuels.get(i).mInputs[0])) {
|
|
||||||
if (GT_Utility.getFluidForFilledItem(mInventory[0]) == null) {
|
|
||||||
if (GT_Recipe.sMagicFuels.get(i).getOutput(0) != null) {
|
|
||||||
if (mInventory[1] == null) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sMagicFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
mInventory[1] = GT_Utility.copy(GT_Recipe.sMagicFuels.get(i).getOutput(0));
|
|
||||||
}
|
|
||||||
} else if (GT_Utility.areStacksEqual(mInventory[1], GT_Recipe.sMagicFuels.get(i).getOutput(0)) && mInventory[1].stackSize + GT_Recipe.sMagicFuels.get(i).getOutput(0).stackSize <= mInventory[1].getMaxStackSize()) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sMagicFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
mInventory[1].stackSize += GT_Recipe.sMagicFuels.get(i).getOutput(0).stackSize;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sMagicFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (getBaseMetaTileEntity().isServerSide()) getBaseMetaTileEntity().setActive(getBaseMetaTileEntity().getUniversalEnergyStored() >= getBaseMetaTileEntity().getOutputVoltage() + getMinimumStoredEU());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -120,48 +69,4 @@ public class GT_MetaTileEntity_MagicEnergyConverter extends GT_MetaTileEntity_Ba
|
||||||
}
|
}
|
||||||
} catch(Throwable e) {}
|
} catch(Throwable e) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isValidFuel(FluidStack aFluid) {
|
|
||||||
return getFuelValue(aFluid)>0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return EU per MB
|
|
||||||
*/
|
|
||||||
public int getFuelValue(FluidStack aFluid) {
|
|
||||||
if (aFluid == null) return 0;
|
|
||||||
FluidStack tFluid;
|
|
||||||
for (int i = 0; i < GT_Recipe.sMagicFuels.size(); i++) {
|
|
||||||
if ((tFluid = GT_Utility.getFluidForFilledItem(GT_Recipe.sMagicFuels.get(i).mInputs[0])) != null) if (aFluid.isFluidEqual(tFluid)) return GT_Recipe.sMagicFuels.get(i).mStartEU;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
|
||||||
if (aSide == aFacing)
|
|
||||||
return aActive?86:83;
|
|
||||||
else
|
|
||||||
return 90;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isGivingInformation() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getCapacity() {
|
|
||||||
return 10000;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getDescription() {
|
|
||||||
return "A Generator running off Magic Fuel";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getTankPressure() {
|
|
||||||
return -100;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,127 +1,41 @@
|
||||||
package gregtechmod.common.tileentities.energy.production;
|
package gregtechmod.common.tileentities.energy.production;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import gregtechmod.api.interfaces.IGregTechTileEntity;
|
import gregtechmod.api.interfaces.IGregTechTileEntity;
|
||||||
import gregtechmod.api.metatileentity.MetaTileEntity;
|
import gregtechmod.api.metatileentity.MetaTileEntity;
|
||||||
import gregtechmod.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
|
import gregtechmod.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
|
||||||
import gregtechmod.api.util.GT_Recipe;
|
import gregtechmod.api.util.GT_Recipe;
|
||||||
import gregtechmod.api.util.GT_Utility;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.init.Blocks;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
|
|
||||||
public class GT_MetaTileEntity_PlasmaGenerator extends GT_MetaTileEntity_BasicTank {
|
public class GT_MetaTileEntity_PlasmaGenerator extends GT_MetaTileEntity_BasicGenerator {
|
||||||
|
|
||||||
public GT_MetaTileEntity_PlasmaGenerator(int aID, String mName) {
|
public GT_MetaTileEntity_PlasmaGenerator(int aID, String aName) {
|
||||||
super(aID, mName);
|
super(aID, aName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public GT_MetaTileEntity_PlasmaGenerator() {
|
public GT_MetaTileEntity_PlasmaGenerator() {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public boolean isSimpleMachine() {return false;}
|
|
||||||
@Override public boolean isValidSlot(int aIndex) {return aIndex < 2;}
|
|
||||||
@Override public boolean isFacingValid(byte aFacing) {return true;}
|
@Override public boolean isFacingValid(byte aFacing) {return true;}
|
||||||
@Override public boolean isEnetOutput() {return true;}
|
@Override public int maxEUOutput() {return this.getBaseMetaTileEntity().isAllowedToWork() ? 2048 : 0;}
|
||||||
@Override public boolean isOutputFacing(byte aSide) {return aSide == getBaseMetaTileEntity().getFrontFacing();}
|
@Override public void onRightclick(EntityPlayer aPlayer) {this.getBaseMetaTileEntity().openGUI(aPlayer, 121);}
|
||||||
@Override public int maxEUOutput() {return getBaseMetaTileEntity().isAllowedToWork()?2048:0;}
|
@Override public List<GT_Recipe> getRecipes() {return GT_Recipe.sPlasmaFuels;}
|
||||||
|
@Override public int getEfficiency() {return 100;}
|
||||||
|
@Override public boolean isOutputFacing(byte aSide) {return aSide == this.getBaseMetaTileEntity().getFrontFacing();}
|
||||||
@Override public int maxEUStore() {return 1000000000;}
|
@Override public int maxEUStore() {return 1000000000;}
|
||||||
@Override public void onRightclick(EntityPlayer aPlayer) {getBaseMetaTileEntity().openGUI(aPlayer, 121);}
|
|
||||||
@Override public boolean isAccessAllowed(EntityPlayer aPlayer) {return true;}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
||||||
return new GT_MetaTileEntity_PlasmaGenerator();
|
return new GT_MetaTileEntity_PlasmaGenerator();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public boolean doesFillContainers() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean doesEmptyContainers() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean canTankBeFilled() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean canTankBeEmptied() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean displaysItemStack() {return true;}
|
|
||||||
@Override public boolean displaysStackSize() {return false;}
|
|
||||||
@Override public boolean isFluidInputAllowed(FluidStack aFluid) {return isValidFuel(aFluid);}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPostTick() {
|
|
||||||
if (getBaseMetaTileEntity().isServerSide() && getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getTimer()%10==0) {
|
|
||||||
if (mFluid == null) {
|
|
||||||
if (getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU()))
|
|
||||||
mInventory[2] = null;
|
|
||||||
else
|
|
||||||
if (mInventory[2] == null)
|
|
||||||
mInventory[2] = new ItemStack(Blocks.fire, 1);
|
|
||||||
} else {
|
|
||||||
if (getFuelValue(mFluid) > 0) while (getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU()) && mFluid.amount > 0) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(getFuelValue(mFluid), true)) mFluid.amount--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (mInventory[0] != null && getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU())) {
|
|
||||||
for (int i = 0; i < GT_Recipe.sPlasmaFuels.size(); i++) {
|
|
||||||
if (GT_Utility.areStacksEqual(mInventory[0], GT_Recipe.sPlasmaFuels.get(i).mInputs[0])) {
|
|
||||||
if (GT_Utility.getFluidForFilledItem(mInventory[0]) == null) {
|
|
||||||
if (GT_Recipe.sPlasmaFuels.get(i).getOutput(0) != null) {
|
|
||||||
if (mInventory[1] == null) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sPlasmaFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
mInventory[1] = GT_Utility.copy(GT_Recipe.sPlasmaFuels.get(i).getOutput(0));
|
|
||||||
}
|
|
||||||
} else if (GT_Utility.areStacksEqual(mInventory[1], GT_Recipe.sPlasmaFuels.get(i).getOutput(0)) && mInventory[1].stackSize + GT_Recipe.sPlasmaFuels.get(i).getOutput(0).stackSize <= mInventory[1].getMaxStackSize()) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sPlasmaFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
mInventory[1].stackSize += GT_Recipe.sPlasmaFuels.get(i).getOutput(0).stackSize;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sPlasmaFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (getBaseMetaTileEntity().isServerSide()) getBaseMetaTileEntity().setActive(getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getUniversalEnergyStored() >= getBaseMetaTileEntity().getOutputVoltage() + getMinimumStoredEU());
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isValidFuel(FluidStack aFluid) {
|
|
||||||
return getFuelValue(aFluid)>0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return EU per MB
|
|
||||||
*/
|
|
||||||
public int getFuelValue(FluidStack aFluid) {
|
|
||||||
if (aFluid == null) return 0;
|
|
||||||
FluidStack tFluid;
|
|
||||||
for (int i = 0; i < GT_Recipe.sPlasmaFuels.size(); i++) {
|
|
||||||
if ((tFluid = GT_Utility.getFluidForFilledItem(GT_Recipe.sPlasmaFuels.get(i).mInputs[0])) != null) if (aFluid.isFluidEqual(tFluid)) return GT_Recipe.sPlasmaFuels.get(i).mStartEU;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
||||||
if (aSide == aFacing) return 18;
|
return aSide == aFacing ? 18 : (aActive ? 20 : 19);
|
||||||
return aActive?20:19;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return "Harness the immense Power of Plasma";
|
return "Harness " + this.getEfficiency() + "% of the immense Power of Plasma"; // TODO locale
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getCapacity() {
|
|
||||||
return 10000;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getTankPressure() {
|
|
||||||
return -100;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,131 +1,39 @@
|
||||||
package gregtechmod.common.tileentities.energy.production;
|
package gregtechmod.common.tileentities.energy.production;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import gregtechmod.api.interfaces.IGregTechTileEntity;
|
import gregtechmod.api.interfaces.IGregTechTileEntity;
|
||||||
import gregtechmod.api.metatileentity.MetaTileEntity;
|
import gregtechmod.api.metatileentity.MetaTileEntity;
|
||||||
import gregtechmod.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
|
import gregtechmod.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
|
||||||
import gregtechmod.api.util.GT_Recipe;
|
import gregtechmod.api.util.GT_Recipe;
|
||||||
import gregtechmod.api.util.GT_Utility;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.init.Blocks;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
|
|
||||||
public class GT_MetaTileEntity_SemifluidGenerator extends GT_MetaTileEntity_BasicTank {
|
public class GT_MetaTileEntity_SemifluidGenerator extends GT_MetaTileEntity_BasicGenerator {
|
||||||
|
|
||||||
public GT_MetaTileEntity_SemifluidGenerator(int aID, String mName) {
|
public GT_MetaTileEntity_SemifluidGenerator(int aID, String aName) {
|
||||||
super(aID, mName);
|
super(aID, aName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public GT_MetaTileEntity_SemifluidGenerator() {
|
public GT_MetaTileEntity_SemifluidGenerator() {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public boolean isSimpleMachine() {return false;}
|
|
||||||
@Override public boolean isValidSlot(int aIndex) {return aIndex < 2;}
|
|
||||||
@Override public boolean isFacingValid(byte aFacing) {return false;}
|
@Override public boolean isFacingValid(byte aFacing) {return false;}
|
||||||
@Override public boolean isEnetOutput() {return true;}
|
@Override public int maxEUOutput() {return this.getBaseMetaTileEntity().isAllowedToWork() ? 8 : 0;}
|
||||||
@Override public boolean isOutputFacing(byte aSide) {return true;}
|
@Override public void onRightclick(EntityPlayer aPlayer) {this.getBaseMetaTileEntity().openGUI(aPlayer, 120);}
|
||||||
@Override public int maxEUOutput() {return getBaseMetaTileEntity().isAllowedToWork()?8:0;}
|
@Override public List<GT_Recipe> getRecipes() {return GT_Recipe.sDenseLiquidFuels;}
|
||||||
@Override public int maxEUStore() {return 1000000;}
|
@Override public int getEfficiency() {return 100;}
|
||||||
@Override public void onRightclick(EntityPlayer aPlayer) {getBaseMetaTileEntity().openGUI(aPlayer, 120);}
|
|
||||||
@Override public boolean isAccessAllowed(EntityPlayer aPlayer) {return true;}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
||||||
return new GT_MetaTileEntity_SemifluidGenerator();
|
return new GT_MetaTileEntity_SemifluidGenerator();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public boolean doesFillContainers() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean doesEmptyContainers() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean canTankBeFilled() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean canTankBeEmptied() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean displaysItemStack() {return true;}
|
|
||||||
@Override public boolean displaysStackSize() {return false;}
|
|
||||||
@Override public boolean isFluidInputAllowed(FluidStack aFluid) {return isValidFuel(aFluid);}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPostTick() {
|
|
||||||
if (getBaseMetaTileEntity().isServerSide() && getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getTimer()%10==0) {
|
|
||||||
if (mFluid == null) {
|
|
||||||
if (getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU()))
|
|
||||||
mInventory[2] = null;
|
|
||||||
else
|
|
||||||
if (mInventory[2] == null)
|
|
||||||
mInventory[2] = new ItemStack(Blocks.fire, 1);
|
|
||||||
} else {
|
|
||||||
if (getFuelValue(mFluid) > 0) while (getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU()) && mFluid.amount > 0) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(getFuelValue(mFluid), true)) mFluid.amount--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (mInventory[0] != null && getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU())) {
|
|
||||||
for (int i = 0; i < GT_Recipe.sDenseLiquidFuels.size(); i++) {
|
|
||||||
if (GT_Utility.areStacksEqual(mInventory[0], GT_Recipe.sDenseLiquidFuels.get(i).mInputs[0])) {
|
|
||||||
if (GT_Utility.getFluidForFilledItem(mInventory[0]) == null) {
|
|
||||||
if (GT_Recipe.sDenseLiquidFuels.get(i).getOutput(0) != null) {
|
|
||||||
if (mInventory[1] == null) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sDenseLiquidFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
mInventory[1] = GT_Utility.copy(GT_Recipe.sDenseLiquidFuels.get(i).getOutput(0));
|
|
||||||
}
|
|
||||||
} else if (GT_Utility.areStacksEqual(mInventory[1], GT_Recipe.sDenseLiquidFuels.get(i).getOutput(0)) && mInventory[1].stackSize + GT_Recipe.sDenseLiquidFuels.get(i).getOutput(0).stackSize <= mInventory[1].getMaxStackSize()) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sDenseLiquidFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
mInventory[1].stackSize += GT_Recipe.sDenseLiquidFuels.get(i).getOutput(0).stackSize;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sDenseLiquidFuels.get(i).mStartEU*1000, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (getBaseMetaTileEntity().isServerSide()) getBaseMetaTileEntity().setActive(getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getUniversalEnergyStored() >= getBaseMetaTileEntity().getOutputVoltage() + getMinimumStoredEU());
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isValidFuel(FluidStack aFluid) {
|
|
||||||
return getFuelValue(aFluid)>0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return EU per MB
|
|
||||||
*/
|
|
||||||
public int getFuelValue(FluidStack aFluid) {
|
|
||||||
if (aFluid == null) return 0;
|
|
||||||
FluidStack tFluid;
|
|
||||||
for (int i = 0; i < GT_Recipe.sDenseLiquidFuels.size(); i++) {
|
|
||||||
if ((tFluid = GT_Utility.getFluidForFilledItem(GT_Recipe.sDenseLiquidFuels.get(i).mInputs[0])) != null) if (aFluid.isFluidEqual(tFluid)) return GT_Recipe.sDenseLiquidFuels.get(i).mStartEU;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
||||||
if (aSide == 0)
|
return aSide == 0 ? 38 : (aSide == 1 ? 29 : 85);
|
||||||
return 38;
|
|
||||||
else if (aSide == 1)
|
|
||||||
return 29;
|
|
||||||
else
|
|
||||||
return 85;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return "Makes Energy of more dense Fluids";
|
return "Makes Energy of more dense Fluids (" + this.getEfficiency() + "%)"; // TODO locale
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getCapacity() {
|
|
||||||
return 10000;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getTankPressure() {
|
|
||||||
return -100;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,131 +1,39 @@
|
||||||
package gregtechmod.common.tileentities.energy.production;
|
package gregtechmod.common.tileentities.energy.production;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import gregtechmod.api.interfaces.IGregTechTileEntity;
|
import gregtechmod.api.interfaces.IGregTechTileEntity;
|
||||||
import gregtechmod.api.metatileentity.MetaTileEntity;
|
import gregtechmod.api.metatileentity.MetaTileEntity;
|
||||||
import gregtechmod.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
|
import gregtechmod.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
|
||||||
import gregtechmod.api.util.GT_Recipe;
|
import gregtechmod.api.util.GT_Recipe;
|
||||||
import gregtechmod.api.util.GT_Utility;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.init.Blocks;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
|
|
||||||
public class GT_MetaTileEntity_ThermalGenerator extends GT_MetaTileEntity_BasicTank {
|
public class GT_MetaTileEntity_ThermalGenerator extends GT_MetaTileEntity_BasicGenerator {
|
||||||
|
|
||||||
public GT_MetaTileEntity_ThermalGenerator(int aID, String mName) {
|
public GT_MetaTileEntity_ThermalGenerator(int aID, String aName) {
|
||||||
super(aID, mName);
|
super(aID, aName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public GT_MetaTileEntity_ThermalGenerator() {
|
public GT_MetaTileEntity_ThermalGenerator() {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public boolean isSimpleMachine() {return false;}
|
|
||||||
@Override public boolean isValidSlot(int aIndex) {return aIndex < 2;}
|
|
||||||
@Override public boolean isFacingValid(byte aFacing) { return false;}
|
@Override public boolean isFacingValid(byte aFacing) { return false;}
|
||||||
@Override public boolean isEnetOutput() {return true;}
|
@Override public int maxEUOutput() {return this.getBaseMetaTileEntity().isAllowedToWork() ? 24 : 0;}
|
||||||
@Override public boolean isOutputFacing(byte aSide) {return true;}
|
@Override public void onRightclick(EntityPlayer aPlayer) {this.getBaseMetaTileEntity().openGUI(aPlayer, 119);}
|
||||||
@Override public int maxEUOutput() {return getBaseMetaTileEntity().isAllowedToWork()?24:0;}
|
@Override public List<GT_Recipe> getRecipes() {return GT_Recipe.sHotFuels;}
|
||||||
@Override public int maxEUStore() {return 1000000;}
|
@Override public int getEfficiency() {return 80;}
|
||||||
@Override public void onRightclick(EntityPlayer aPlayer) {getBaseMetaTileEntity().openGUI(aPlayer, 119);}
|
|
||||||
@Override public boolean isAccessAllowed(EntityPlayer aPlayer) {return true;}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
||||||
return new GT_MetaTileEntity_ThermalGenerator();
|
return new GT_MetaTileEntity_ThermalGenerator();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public boolean doesFillContainers() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean doesEmptyContainers() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean canTankBeFilled() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean canTankBeEmptied() {return getBaseMetaTileEntity().isAllowedToWork();}
|
|
||||||
@Override public boolean displaysItemStack() {return true;}
|
|
||||||
@Override public boolean displaysStackSize() {return false;}
|
|
||||||
@Override public boolean isFluidInputAllowed(FluidStack aFluid) {return isValidFuel(aFluid);}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPostTick() {
|
|
||||||
if (getBaseMetaTileEntity().isServerSide() && getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getTimer()%10==0) {
|
|
||||||
if (mFluid == null) {
|
|
||||||
if (getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU()))
|
|
||||||
mInventory[2] = null;
|
|
||||||
else
|
|
||||||
if (mInventory[2] == null)
|
|
||||||
mInventory[2] = new ItemStack(Blocks.fire, 1);
|
|
||||||
} else {
|
|
||||||
if (getFuelValue(mFluid) > 0) while (getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU()) && mFluid.amount > 0) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(getFuelValue(mFluid), true)) mFluid.amount--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (mInventory[0] != null && getBaseMetaTileEntity().getUniversalEnergyStored() < (getBaseMetaTileEntity().getOutputVoltage() * 10 + getMinimumStoredEU())) {
|
|
||||||
for (int i = 0; i < GT_Recipe.sHotFuels.size(); i++) {
|
|
||||||
if (GT_Utility.areStacksEqual(mInventory[0], GT_Recipe.sHotFuels.get(i).mInputs[0])) {
|
|
||||||
if (GT_Utility.getFluidForFilledItem(mInventory[0]) == null) {
|
|
||||||
if (GT_Recipe.sHotFuels.get(i).getOutput(0) != null) {
|
|
||||||
if (mInventory[1] == null) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sHotFuels.get(i).mStartEU*800, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
mInventory[1] = GT_Utility.copy(GT_Recipe.sHotFuels.get(i).getOutput(0));
|
|
||||||
}
|
|
||||||
} else if (GT_Utility.areStacksEqual(mInventory[1], GT_Recipe.sHotFuels.get(i).getOutput(0)) && mInventory[1].stackSize + GT_Recipe.sHotFuels.get(i).getOutput(0).stackSize <= mInventory[1].getMaxStackSize()) {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sHotFuels.get(i).mStartEU*800, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
mInventory[1].stackSize += GT_Recipe.sHotFuels.get(i).getOutput(0).stackSize;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Recipe.sHotFuels.get(i).mStartEU*800, true)) {
|
|
||||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (getBaseMetaTileEntity().isServerSide()) getBaseMetaTileEntity().setActive(getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().getUniversalEnergyStored() >= getBaseMetaTileEntity().getOutputVoltage() + getMinimumStoredEU());
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isValidFuel(FluidStack aFluid) {
|
|
||||||
return getFuelValue(aFluid)>0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return EU per MB
|
|
||||||
*/
|
|
||||||
public int getFuelValue(FluidStack aFluid) {
|
|
||||||
if (aFluid == null) return 0;
|
|
||||||
FluidStack tFluid;
|
|
||||||
for (int i = 0; i < GT_Recipe.sHotFuels.size(); i++) {
|
|
||||||
if ((tFluid = GT_Utility.getFluidForFilledItem(GT_Recipe.sHotFuels.get(i).mInputs[0])) != null) if (aFluid.isFluidEqual(tFluid)) return (GT_Recipe.sHotFuels.get(i).mStartEU * 4) / 5;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) {
|
||||||
if (aSide == 0)
|
return aSide == 0 ? 38 : (aSide == 1 ? (aActive ? 84 : 83) : 36);
|
||||||
return 38;
|
|
||||||
else if (aSide == 1)
|
|
||||||
return aActive?84:83;
|
|
||||||
else
|
|
||||||
return 36;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return "Generates Energy from hot Stuff like Lava";
|
return "Generates Energy from Lava at " + this.getEfficiency() + "% Efficiency"; // TODO locale
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getCapacity() {
|
|
||||||
return 10000;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getTankPressure() {
|
|
||||||
return -100;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -18,7 +18,7 @@ import net.minecraft.item.ItemStack;
|
||||||
public class ProcessingCell implements IOreRecipeRegistrator {
|
public class ProcessingCell implements IOreRecipeRegistrator {
|
||||||
|
|
||||||
public ProcessingCell() {
|
public ProcessingCell() {
|
||||||
OrePrefixes.cell.add((IOreRecipeRegistrator)this);
|
OrePrefixes.cell.add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
|
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
|
||||||
|
|
|
@ -29,8 +29,8 @@ public class ProcessingStoneVarious implements IOreRecipeRegistrator {
|
||||||
aStack.getItem().setMaxStackSize(GT_Mod.sBlockStackSize);
|
aStack.getItem().setMaxStackSize(GT_Mod.sBlockStackSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
int meta = aStack.getItemDamage() < 0 && aStack.getItemDamage() >= 16?0:aStack.getItemDamage();
|
int meta = (aStack.getItemDamage() < 0 || aStack.getItemDamage() >= 16) ? 0 : aStack.getItemDamage();
|
||||||
int tHarvestLevel = aBlock.getHarvestTool(meta).equals("pickaxe") ? aBlock.getHarvestLevel(meta) : 0;
|
int tHarvestLevel = "pickaxe".equals(aBlock.getHarvestTool(meta)) ? aBlock.getHarvestLevel(meta) : 0;
|
||||||
if(tHarvestLevel <= 3) {
|
if(tHarvestLevel <= 3) {
|
||||||
GregTech_API.sRecipeAdder.addJackHammerMinableBlock(aBlock, tHarvestLevel >= 3);
|
GregTech_API.sRecipeAdder.addJackHammerMinableBlock(aBlock, tHarvestLevel >= 3);
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,7 @@ public class GT_ItemLoader implements Runnable {
|
||||||
GT_MetaItem_Material.addItem( 35, "Chunk of Lazurite" , OrePrefixes.block , Materials.Lazurite , false);
|
GT_MetaItem_Material.addItem( 35, "Chunk of Lazurite" , OrePrefixes.block , Materials.Lazurite , false);
|
||||||
GT_MetaItem_Material.addItem( 36, "Silicon Plate" , OrePrefixes.plate , Materials.Silicon , false);
|
GT_MetaItem_Material.addItem( 36, "Silicon Plate" , OrePrefixes.plate , Materials.Silicon , false);
|
||||||
GT_MetaItem_Material.addItem( 37, "Olivine" , OrePrefixes.gem , Materials.Olivine , false);
|
GT_MetaItem_Material.addItem( 37, "Olivine" , OrePrefixes.gem , Materials.Olivine , false);
|
||||||
GT_OreDictUnificator.add("gemPeridot", GT_MetaItem_Material.instance.getUnunifiedStack(37, 1));
|
GT_OreDictUnificator.addLater("gemPeridot", GT_MetaItem_Material.instance.getUnunifiedStack(37, 1));
|
||||||
GT_MetaItem_Material.addItem( 38, "Thorium Ingot" , OrePrefixes.ingot , Materials.Thorium , true);
|
GT_MetaItem_Material.addItem( 38, "Thorium Ingot" , OrePrefixes.ingot , Materials.Thorium , true);
|
||||||
GT_MetaItem_Material.addItem( 39, "Plutonium Ingot" , OrePrefixes.ingot , Materials.Plutonium , true);
|
GT_MetaItem_Material.addItem( 39, "Plutonium Ingot" , OrePrefixes.ingot , Materials.Plutonium , true);
|
||||||
GT_MetaItem_Material.addItem( 40, "Magnalium Ingot" , OrePrefixes.ingot , Materials.Magnalium , false);
|
GT_MetaItem_Material.addItem( 40, "Magnalium Ingot" , OrePrefixes.ingot , Materials.Magnalium , false);
|
||||||
|
@ -133,7 +133,7 @@ public class GT_ItemLoader implements Runnable {
|
||||||
GT_MetaItem_Material.addItem( 47, "Kanthal Ingot" , OrePrefixes.ingot , Materials.Kanthal , false);
|
GT_MetaItem_Material.addItem( 47, "Kanthal Ingot" , OrePrefixes.ingot , Materials.Kanthal , false);
|
||||||
|
|
||||||
GT_MetaItem_Material.addItem( 54, "Red Garnet" , OrePrefixes.gem , Materials.GarnetRed , false);
|
GT_MetaItem_Material.addItem( 54, "Red Garnet" , OrePrefixes.gem , Materials.GarnetRed , false);
|
||||||
GT_OreDictUnificator.add("gemGarnet", GT_MetaItem_Material.instance.getUnunifiedStack(54, 1));
|
GT_OreDictUnificator.addLater("gemGarnet", GT_MetaItem_Material.instance.getUnunifiedStack(54, 1));
|
||||||
GT_MetaItem_Material.addItem( 55, "Yellow Garnet" , OrePrefixes.gem , Materials.GarnetYellow , false);
|
GT_MetaItem_Material.addItem( 55, "Yellow Garnet" , OrePrefixes.gem , Materials.GarnetYellow , false);
|
||||||
|
|
||||||
GT_MetaItem_Material.addItem( 58, "Yellow Garnet Plate" , OrePrefixes.plate , Materials.GarnetYellow , false);
|
GT_MetaItem_Material.addItem( 58, "Yellow Garnet Plate" , OrePrefixes.plate , Materials.GarnetYellow , false);
|
||||||
|
@ -521,19 +521,19 @@ public class GT_ItemLoader implements Runnable {
|
||||||
GT_MetaItem_Component.addItem(89, "Muffler Upgrade" , GT_OreDictNames.craftingMuffler , "Silents a Machine.");
|
GT_MetaItem_Component.addItem(89, "Muffler Upgrade" , GT_OreDictNames.craftingMuffler , "Silents a Machine.");
|
||||||
|
|
||||||
GT_MetaItem_Component.addItem( 96, "Iron Gear" , "gearGtIron" , "An Iron Gear");
|
GT_MetaItem_Component.addItem( 96, "Iron Gear" , "gearGtIron" , "An Iron Gear");
|
||||||
GT_OreDictUnificator.registerOre("craftingGearTier01" , GT_MetaItem_Component.instance.getUnunifiedStack( 96, 1));
|
GT_OreDictUnificator.registerOreLater("craftingGearTier01" , GT_MetaItem_Component.instance.getUnunifiedStack( 96, 1));
|
||||||
GT_MetaItem_Component.addItem( 97, "Bronze Gear" , "gearGtBronze" , "A Bronze Gear");
|
GT_MetaItem_Component.addItem( 97, "Bronze Gear" , "gearGtBronze" , "A Bronze Gear");
|
||||||
GT_OreDictUnificator.registerOre("craftingGearTier01" , GT_MetaItem_Component.instance.getUnunifiedStack( 97, 1));
|
GT_OreDictUnificator.registerOreLater("craftingGearTier01" , GT_MetaItem_Component.instance.getUnunifiedStack( 97, 1));
|
||||||
GT_MetaItem_Component.addItem( 98, "Steel Gear" , "gearGtSteel" , "A Steel Gear");
|
GT_MetaItem_Component.addItem( 98, "Steel Gear" , "gearGtSteel" , "A Steel Gear");
|
||||||
GT_OreDictUnificator.registerOre("craftingGearTier02" , GT_MetaItem_Component.instance.getUnunifiedStack( 98, 1));
|
GT_OreDictUnificator.registerOreLater("craftingGearTier02" , GT_MetaItem_Component.instance.getUnunifiedStack( 98, 1));
|
||||||
GT_MetaItem_Component.addItem( 99, "Titanium Gear" , "gearGtTitanium" , "A Titanium Gear");
|
GT_MetaItem_Component.addItem( 99, "Titanium Gear" , "gearGtTitanium" , "A Titanium Gear");
|
||||||
GT_OreDictUnificator.registerOre("craftingGearTier03" , GT_MetaItem_Component.instance.getUnunifiedStack( 99, 1));
|
GT_OreDictUnificator.registerOreLater("craftingGearTier03" , GT_MetaItem_Component.instance.getUnunifiedStack( 99, 1));
|
||||||
GT_MetaItem_Component.addItem(100, "Tungstensteel Gear" , "gearGtTungstenSteel" , "A Tungstensteel Gear");
|
GT_MetaItem_Component.addItem(100, "Tungstensteel Gear" , "gearGtTungstenSteel" , "A Tungstensteel Gear");
|
||||||
GT_OreDictUnificator.registerOre("craftingGearTier03" , GT_MetaItem_Component.instance.getUnunifiedStack(100, 1));
|
GT_OreDictUnificator.registerOreLater("craftingGearTier03" , GT_MetaItem_Component.instance.getUnunifiedStack(100, 1));
|
||||||
GT_MetaItem_Component.addItem(101, "Iridium Gear" , "gearGtIridium" , "An Iridium Gear");
|
GT_MetaItem_Component.addItem(101, "Iridium Gear" , "gearGtIridium" , "An Iridium Gear");
|
||||||
GT_OreDictUnificator.registerOre("craftingGearTier04" , GT_MetaItem_Component.instance.getUnunifiedStack(101, 1));
|
GT_OreDictUnificator.registerOreLater("craftingGearTier04" , GT_MetaItem_Component.instance.getUnunifiedStack(101, 1));
|
||||||
GT_MetaItem_Component.addItem(102, "Stainless Steel Gear" , "gearGtStainlessSteel" , "A Stainless Steel Gear");
|
GT_MetaItem_Component.addItem(102, "Stainless Steel Gear" , "gearGtStainlessSteel" , "A Stainless Steel Gear");
|
||||||
GT_OreDictUnificator.registerOre("craftingGearTier02" , GT_MetaItem_Component.instance.getUnunifiedStack(102, 1));
|
GT_OreDictUnificator.registerOreLater("craftingGearTier02" , GT_MetaItem_Component.instance.getUnunifiedStack(102, 1));
|
||||||
|
|
||||||
GT_MetaGenerated_Item_01 tMetaGenerated;
|
GT_MetaGenerated_Item_01 tMetaGenerated;
|
||||||
GregTech_API.sItemList[8] = tMetaGenerated = new GT_MetaGenerated_Item_01();
|
GregTech_API.sItemList[8] = tMetaGenerated = new GT_MetaGenerated_Item_01();
|
||||||
|
|
Loading…
Reference in a new issue