experimental branch
This commit is contained in:
parent
fafe1bcc88
commit
a88d9c4e72
226 changed files with 4190 additions and 2944 deletions
14
.gitignore
vendored
14
.gitignore
vendored
|
@ -14,6 +14,7 @@ thumbs.db
|
|||
*.jar
|
||||
*.war
|
||||
*.ear
|
||||
*.txt
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
|
@ -32,6 +33,7 @@ tmp/
|
|||
local.properties
|
||||
.settings/
|
||||
.loadpath
|
||||
/eclipse
|
||||
|
||||
# Eclipse Core
|
||||
.project
|
||||
|
@ -70,8 +72,10 @@ local.properties
|
|||
.idea_modules/
|
||||
|
||||
/out/
|
||||
eclipse/
|
||||
*.bat
|
||||
gradle/
|
||||
libs/libs.zip
|
||||
lib/
|
||||
gradle/wrapper/gradle-wrapper.properties
|
||||
gradlew
|
||||
gradlew.bat
|
||||
|
||||
# Linux
|
||||
*~
|
||||
|
||||
|
|
|
@ -75,6 +75,10 @@ repositories {
|
|||
name 'Railcraft'
|
||||
artifactPattern "http://addons-origin.cursecdn.com/files/${config.railcraft.cf}/[module]_[revision].[ext]"
|
||||
}
|
||||
ivy {
|
||||
name 'IC2NuclearControl'
|
||||
artifactPattern "http://addons-origin.cursecdn.com/files/${config.nc.cf}/[module]-[revision].[ext]"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -95,7 +99,7 @@ dependencies {
|
|||
provided name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar'
|
||||
provided name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar'
|
||||
provided name: 'Railcraft', version: config.railcraft.version, ext: 'jar'
|
||||
compile files('lib/IC2NuclearControl-2.3.3a-Exist.jar')
|
||||
provided name: 'IC2NuclearControl', version: config.nc.version, ext: 'jar'
|
||||
}
|
||||
|
||||
processResources
|
||||
|
@ -134,4 +138,4 @@ task devJar(type: Jar) {
|
|||
|
||||
artifacts {
|
||||
archives devJar
|
||||
}
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
minecraft.version=1.7.10
|
||||
forge.version=10.13.4.1566-1.7.10
|
||||
|
||||
gt.version=5.09.22
|
||||
|
||||
gt.version=5.08.33.27
|
||||
ae2.version=rv2-beta-33
|
||||
applecore.version=1.7.10-1.2.1+107.59407
|
||||
buildcraft.version=7.1.11
|
||||
|
@ -20,3 +20,5 @@ ic2.version=2.2.790-experimental
|
|||
nei.version=1.0.3.57
|
||||
railcraft.cf=2219/321
|
||||
railcraft.version=1.7.10-9.4.0.0
|
||||
nc.cf=2275/987
|
||||
nc.version=2.3.4a
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
package gregtech;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.PrintStream;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import cpw.mods.fml.common.*;
|
||||
import cpw.mods.fml.common.event.*;
|
||||
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||
|
@ -26,7 +32,9 @@ import gregtech.loaders.load.GT_FuelLoader;
|
|||
import gregtech.loaders.load.GT_ItemIterator;
|
||||
import gregtech.loaders.load.GT_SonictronLoader;
|
||||
import gregtech.loaders.misc.GT_Achievements;
|
||||
import gregtech.loaders.misc.GT_Bees;
|
||||
import gregtech.loaders.misc.GT_CoverLoader;
|
||||
import gregtech.loaders.misc.OreProcessingConfiguration;
|
||||
import gregtech.loaders.postload.*;
|
||||
import gregtech.loaders.preload.*;
|
||||
import ic2.api.recipe.IRecipeInput;
|
||||
|
@ -48,20 +56,15 @@ import net.minecraftforge.fluids.FluidRegistry;
|
|||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.PrintStream;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
//import forestry.factory.recipes.ISqueezerRecipe;
|
||||
//import forestry.factory.tiles.TileCentrifuge;
|
||||
//import forestry.factory.tiles.TileSqueezer;
|
||||
|
||||
//import forestry.factory.gadgets.MachineCentrifuge;
|
||||
//import forestry.factory.gadgets.MachineCentrifuge.RecipeManager;
|
||||
//import forestry.factory.gadgets.MachineSqueezer;
|
||||
|
||||
@Mod(modid = "gregtech", name = "GregTech", version = "MC1710", useMetadata = false, dependencies = "required-after:IC2; after:Forestry; after:PFAAGeologica; after:Thaumcraft; after:Railcraft; after:appliedenergistics2; after:ThermalExpansion; after:TwilightForest; after:harvestcraft; after:magicalcrops; after:BuildCraft|Transport; after:BuildCraft|Silicon; after:BuildCraft|Factory; after:BuildCraft|Energy; after:BuildCraft|Core; after:BuildCraft|Builders; after:GalacticraftCore; after:GalacticraftMars; after:GalacticraftPlanets; after:ThermalExpansion|Transport; after:ThermalExpansion|Energy; after:ThermalExpansion|Factory; after:RedPowerCore; after:RedPowerBase; after:RedPowerMachine; after:RedPowerCompat; after:RedPowerWiring; after:RedPowerLogic; after:RedPowerLighting; after:RedPowerWorld; after:RedPowerControl;")
|
||||
public class GT_Mod
|
||||
implements IGT_Mod {
|
||||
public static final int VERSION = 508;
|
||||
public static final int VERSION = 509;
|
||||
public static final int REQUIRED_IC2 = 624;
|
||||
@Mod.Instance("gregtech")
|
||||
public static GT_Mod instance;
|
||||
|
@ -71,7 +74,7 @@ public class GT_Mod
|
|||
public static GT_Achievements achievements;
|
||||
|
||||
static {
|
||||
if ((508 != GregTech_API.VERSION) || (508 != GT_ModHandler.VERSION) || (508 != GT_OreDictUnificator.VERSION) || (508 != GT_Recipe.VERSION) || (508 != GT_Utility.VERSION) || (508 != GT_RecipeRegistrator.VERSION) || (508 != Element.VERSION) || (508 != Materials.VERSION) || (508 != OrePrefixes.VERSION)) {
|
||||
if ((509 != GregTech_API.VERSION) || (509 != GT_ModHandler.VERSION) || (509 != GT_OreDictUnificator.VERSION) || (509 != GT_Recipe.VERSION) || (509 != GT_Utility.VERSION) || (509 != GT_RecipeRegistrator.VERSION) || (509 != Element.VERSION) || (509 != Materials.VERSION) || (509 != OrePrefixes.VERSION)) {
|
||||
throw new GT_ItsNotMyFaultException("One of your Mods included GregTech-API Files inside it's download, mention this to the Mod Author, who does this bad thing, and tell him/her to use reflection. I have added a Version check, to prevent Authors from breaking my Mod that way.");
|
||||
}
|
||||
}
|
||||
|
@ -220,34 +223,34 @@ public class GT_Mod
|
|||
gregtechproxy.mHungerEffect = tMainConfig.get("general", "AFK_Hunger", false).getBoolean(false);
|
||||
gregtechproxy.mHardRock = tMainConfig.get("general", "harderstone", false).getBoolean(false);
|
||||
gregtechproxy.mInventoryUnification = tMainConfig.get("general", "InventoryUnification", true).getBoolean(true);
|
||||
gregtechproxy.mGTBees = tMainConfig.get("general", "GTBees", true).getBoolean(true);
|
||||
gregtechproxy.mCraftingUnification = tMainConfig.get("general", "CraftingUnification", true).getBoolean(true);
|
||||
gregtechproxy.mNerfedWoodPlank = tMainConfig.get("general", "WoodNeedsSawForCrafting", true).getBoolean(true);
|
||||
gregtechproxy.mNerfedVanillaTools = tMainConfig.get("general", "smallerVanillaToolDurability", true).getBoolean(true);
|
||||
gregtechproxy.mSortToTheEnd = tMainConfig.get("general", "EnsureToBeLoadedLast", true).getBoolean(true);
|
||||
gregtechproxy.mDisableIC2Cables = tMainConfig.get("general", "DisableIC2Cables", false).getBoolean(false);
|
||||
gregtechproxy.mDisableIC2Cables = tMainConfig.get("general", "DisableIC2Cables", true).getBoolean(true);
|
||||
gregtechproxy.mAchievements = tMainConfig.get("general", "EnableAchievements", true).getBoolean(true);
|
||||
gregtechproxy.mAE2Integration = tMainConfig.get("general", "EnableAE2Integration", Loader.isModLoaded("appliedenergistics2")).getBoolean(Loader.isModLoaded("appliedenergistics2"));
|
||||
gregtechproxy.mAE2Integration = GregTech_API.sSpecialFile.get(ConfigCategories.general, "EnableAE2Integration", Loader.isModLoaded("appliedenergistics2"));
|
||||
gregtechproxy.mNerfedCombs = tMainConfig.get("general", "NerfCombs", true).getBoolean(true);
|
||||
gregtechproxy.mHideUnusedOres = tMainConfig.get("general", "HideUnusedOres", true).getBoolean(true);
|
||||
gregtechproxy.mHideRecyclingRecipes = tMainConfig.get("general", "HideRecyclingRecipes", true).getBoolean(true);
|
||||
|
||||
|
||||
GregTech_API.mOutputRF = GregTech_API.sOPStuff.get(ConfigCategories.general, "OutputRF", false);
|
||||
GregTech_API.mOutputRF = GregTech_API.sOPStuff.get(ConfigCategories.general, "OutputRF", true);
|
||||
GregTech_API.mInputRF = GregTech_API.sOPStuff.get(ConfigCategories.general, "InputRF", false);
|
||||
GregTech_API.mEUtoRF = GregTech_API.sOPStuff.get(ConfigCategories.general, "100EUtoRF", 360);
|
||||
GregTech_API.mRFtoEU = GregTech_API.sOPStuff.get(ConfigCategories.general, "100RFtoEU", 20);
|
||||
GregTech_API.mRFExplosions = GregTech_API.sOPStuff.get(ConfigCategories.general, "RFExplosions", true);
|
||||
GregTech_API.mRFExplosions = GregTech_API.sOPStuff.get(ConfigCategories.general, "RFExplosions", false);
|
||||
GregTech_API.meIOLoaded = Loader.isModLoaded("EnderIO");
|
||||
|
||||
gregtechproxy.mChangeHarvestLevels = GregTech_API.sMaterialProperties.get("havestLevel", "activateHarvestLevelChange", false);
|
||||
if(gregtechproxy.mChangeHarvestLevels){
|
||||
gregtechproxy.mGraniteHavestLevel = (int) GregTech_API.sMaterialProperties.get("havestLevel", "graniteHarvestLevel", 3);
|
||||
gregtechproxy.mMaxHarvestLevel=(int) Math.min(15, GregTech_API.sMaterialProperties.get("havestLevel", "maxLevel",7));
|
||||
for(Materials tMaterial : Materials.values()){
|
||||
if(tMaterial!=null&&tMaterial.mToolQuality>0&&tMaterial.mMetaItemSubID<gregtechproxy.mHarvestLevel.length&&tMaterial.mMetaItemSubID>=0){
|
||||
gregtechproxy.mHarvestLevel[tMaterial.mMetaItemSubID] = GregTech_API.sMaterialProperties.get("materialHavestLevel", tMaterial.mDefaultLocalName,tMaterial.mToolQuality);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
gregtechproxy.mGraniteHavestLevel = (int) GregTech_API.sMaterialProperties.get("havestLevel", "graniteHarvestLevel", 3);
|
||||
gregtechproxy.mMaxHarvestLevel=(int) Math.min(15, GregTech_API.sMaterialProperties.get("havestLevel", "maxLevel",7));
|
||||
for(Materials tMaterial : Materials.values()){
|
||||
if(tMaterial!=null&&tMaterial.mToolQuality>0&&tMaterial.mMetaItemSubID<gregtechproxy.mHarvestLevel.length&&tMaterial.mMetaItemSubID>=0){
|
||||
gregtechproxy.mHarvestLevel[tMaterial.mMetaItemSubID] = GregTech_API.sMaterialProperties.get("materialHavestLevel", tMaterial.mDefaultLocalName,tMaterial.mToolQuality);
|
||||
}
|
||||
}}
|
||||
|
||||
if (tMainConfig.get("general", "hardermobspawners", true).getBoolean(true)) {
|
||||
Blocks.mob_spawner.setHardness(500.0F).setResistance(6000000.0F);
|
||||
|
@ -295,6 +298,8 @@ public class GT_Mod
|
|||
new Enchantment_EnderDamage();
|
||||
new Enchantment_Radioactivity();
|
||||
|
||||
new OreProcessingConfiguration(aEvent.getModConfigurationDirectory()).run();
|
||||
|
||||
new GT_Loader_OreProcessing().run();
|
||||
new GT_Loader_OreDictionary().run();
|
||||
new GT_Loader_ItemData().run();
|
||||
|
@ -384,6 +389,9 @@ public class GT_Mod
|
|||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
|
||||
new GT_Bees();
|
||||
|
||||
gregtechproxy.onLoad();
|
||||
if (gregtechproxy.mSortToTheEnd) {
|
||||
new GT_ItemIterator().run();
|
||||
|
@ -476,18 +484,13 @@ public class GT_Mod
|
|||
Map<ItemStack, Float> outputs = tRecipe.getAllProducts();
|
||||
ItemStack[] tOutputs = new ItemStack[outputs.size()];
|
||||
int[] tChances = new int[outputs.size()];
|
||||
int i =0;
|
||||
int i = 0;
|
||||
for (Map.Entry<ItemStack, Float> entry : outputs.entrySet()) {
|
||||
tChances[i] = (int) (entry.getValue()*10000);
|
||||
tChances[i] = (int) (entry.getValue() * 10000);
|
||||
tOutputs[i] = entry.getKey().copy();
|
||||
i++;
|
||||
}
|
||||
// for (int i = 0; i < outputs.size(); i++) {
|
||||
// tOutputs[i] = outputs.entrySet().
|
||||
// tChances[i] = (tOriginalChances[i].intValue() * 100);
|
||||
// }
|
||||
GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.addRecipe(true, new ItemStack[]{tRecipe.getInput()}, tOutputs, null, tChances, null, null, 128, 5, 0);
|
||||
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
if (GT_Values.D1) {
|
||||
|
@ -642,6 +645,7 @@ public class GT_Mod
|
|||
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{new ItemStack(Items.filled_map, 1, 32767)}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Scanned Map Data", new Object[0])}, ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to", new Object[0]), null, null, 128, 32, 0);
|
||||
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Orb to overwrite", new Object[0])}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Copy of the Orb", new Object[0])}, ItemList.Tool_DataOrb.getWithName(0L, "Orb to copy", new Object[0]), null, null, 512, 32, 0);
|
||||
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Stick to overwrite", new Object[0])}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Copy of the Stick", new Object[0])}, ItemList.Tool_DataStick.getWithName(0L, "Stick to copy", new Object[0]), null, null, 128, 32, 0);
|
||||
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Raw Prospection Data", new Object[0])}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Analyzed Prospection Data", new Object[0])}, null, null, null, 1000, 32, 0);
|
||||
for (Materials tMaterial : Materials.VALUES) {
|
||||
if ((tMaterial.mElement != null) && (!tMaterial.mElement.mIsIsotope) && (tMaterial != Materials.Magic) && (tMaterial.getMass() > 0L)) {
|
||||
ItemStack tOutput = ItemList.Tool_DataOrb.get(1L, new Object[0]);
|
||||
|
@ -672,6 +676,15 @@ public class GT_Mod
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(GregTech_API.mOutputRF||GregTech_API.mInputRF){
|
||||
GT_Utility.checkAvailabilities();
|
||||
if(!GT_Utility.RF_CHECK){
|
||||
GregTech_API.mOutputRF = false;
|
||||
GregTech_API.mInputRF = false;
|
||||
}
|
||||
}
|
||||
|
||||
achievements = new GT_Achievements();
|
||||
Map.Entry<IRecipeInput, RecipeOutput> tRecipe;
|
||||
GT_Log.out.println("GT_Mod: Loading finished, deallocating temporary Init Variables.");
|
||||
|
|
|
@ -81,7 +81,8 @@ public class GregTech_API {
|
|||
* 9216 - 9727 are used for GregTech Automation Machines.
|
||||
* 9728 - 10239 are reserved for 28Smiles.
|
||||
* 10240 - 10751 are reserved for VirMan.
|
||||
* 10752 - 11263 are reserved for the next one who asks me.
|
||||
* 10752 - 11263 are reserved for Briareos81.
|
||||
* 11264 - 12000 are reserved for the next one who asks me.
|
||||
* 9728 - 32766 are currently free.
|
||||
* <p/>
|
||||
* Contact me if you need a free ID-Range, which doesn't conflict with other Addons.
|
||||
|
@ -149,7 +150,7 @@ public class GregTech_API {
|
|||
/**
|
||||
* For the API Version check
|
||||
*/
|
||||
public static volatile int VERSION = 508;
|
||||
public static volatile int VERSION = 509;
|
||||
@Deprecated
|
||||
public static IGT_RecipeAdder sRecipeAdder;
|
||||
/**
|
||||
|
@ -174,7 +175,7 @@ public class GregTech_API {
|
|||
* Initialized by the Block creation.
|
||||
*/
|
||||
public static Block sBlockMachines;
|
||||
public static Block sBlockOres1;
|
||||
public static Block sBlockOres1, sBlockGem, sBlockMetal1, sBlockMetal2, sBlockMetal3, sBlockMetal4, sBlockMetal5, sBlockMetal6, sBlockMetal7, sBlockMetal8, sBlockGem1, sBlockGem2, sBlockGem3, sBlockReinforced;
|
||||
public static Block sBlockGranites, sBlockConcretes;
|
||||
public static Block sBlockCasings1, sBlockCasings2, sBlockCasings3, sBlockCasings4;
|
||||
/**
|
||||
|
|
|
@ -25,7 +25,8 @@ public enum ConfigCategories {
|
|||
disabledrecipes,
|
||||
recipereplacements,
|
||||
storageblockcrafting,
|
||||
storageblockdecrafting;
|
||||
storageblockdecrafting,
|
||||
crops;
|
||||
}
|
||||
|
||||
public enum Machines {
|
||||
|
|
|
@ -263,7 +263,7 @@ public enum Element {
|
|||
$Ma(0, 0, -100, -1, null, "Anti-Magic", false),
|
||||
$Nt(0, -10000, 0, -1, null, "Anti-Neutronium", false);
|
||||
|
||||
public static volatile int VERSION = 508;
|
||||
public static volatile int VERSION = 509;
|
||||
public final long mProtons, mNeutrons, mAdditionalMass, mHalfLifeSeconds;
|
||||
public final String mName, mDecayTo;
|
||||
public final boolean mIsIsotope;
|
||||
|
|
|
@ -89,7 +89,7 @@ public class GT_Values {
|
|||
* File Paths and Resource Paths
|
||||
*/
|
||||
public static final String
|
||||
TEX_DIR = "textures/", TEX_DIR_GUI = TEX_DIR + "gui/", TEX_DIR_ITEM = TEX_DIR + "items/", TEX_DIR_BLOCK = TEX_DIR + "blocks/", TEX_DIR_ENTITY = TEX_DIR + "entity/", TEX_DIR_ASPECTS = TEX_DIR + "aspects/", RES_PATH = MOD_ID + ":" + TEX_DIR, RES_PATH_GUI = MOD_ID + ":" + TEX_DIR_GUI, RES_PATH_ITEM = MOD_ID + ":", RES_PATH_BLOCK = MOD_ID + ":", RES_PATH_ENTITY = MOD_ID + ":" + TEX_DIR_ENTITY, RES_PATH_ASPECTS = MOD_ID + ":" + TEX_DIR_ASPECTS, RES_PATH_IC2 = MOD_ID_IC2.toLowerCase() + ":";
|
||||
TEX_DIR = "textures/", TEX_DIR_GUI = TEX_DIR + "gui/", TEX_DIR_ITEM = TEX_DIR + "items/", TEX_DIR_BLOCK = TEX_DIR + "blocks/", TEX_DIR_ENTITY = TEX_DIR + "entity/", TEX_DIR_ASPECTS = TEX_DIR + "aspects/", RES_PATH = MOD_ID + ":" + TEX_DIR, RES_PATH_GUI = MOD_ID + ":" + TEX_DIR_GUI, RES_PATH_ITEM = MOD_ID + ":", RES_PATH_BLOCK = MOD_ID + ":", RES_PATH_ENTITY = MOD_ID + ":" + TEX_DIR_ENTITY, RES_PATH_ASPECTS = MOD_ID + ":" + TEX_DIR_ASPECTS, RES_PATH_IC2 = MOD_ID_IC2.toLowerCase() + ":", RES_PATH_MODEL = MOD_ID + ":" + TEX_DIR + "models/";
|
||||
/**
|
||||
* The Mod Object itself. That is the GT_Mod-Object. It's needed to open GUI's and similar.
|
||||
*/
|
||||
|
|
|
@ -194,13 +194,6 @@ public enum ItemList implements IItemContainer {
|
|||
Cell_Air,
|
||||
Large_Fluid_Cell_Steel,
|
||||
Large_Fluid_Cell_TungstenSteel,
|
||||
Large_Fluid_Cell_Aluminium,
|
||||
Large_Fluid_Cell_StainlessSteel,
|
||||
Large_Fluid_Cell_Titanium,
|
||||
Large_Fluid_Cell_Chrome,
|
||||
Large_Fluid_Cell_Iridium,
|
||||
Large_Fluid_Cell_Osmium,
|
||||
Large_Fluid_Cell_Neutronium,
|
||||
ThermosCan_Empty,
|
||||
ThermosCan_Dark_Coffee,
|
||||
ThermosCan_Dark_Cafe_au_lait,
|
||||
|
@ -619,55 +612,37 @@ public enum ItemList implements IItemContainer {
|
|||
Machine_LV_Hammer, Machine_MV_Hammer, Machine_HV_Hammer, Machine_EV_Hammer, Machine_IV_Hammer,
|
||||
Machine_LV_FluidHeater, Machine_MV_FluidHeater, Machine_HV_FluidHeater, Machine_EV_FluidHeater, Machine_IV_FluidHeater,
|
||||
|
||||
|
||||
Neutron_Reflector,
|
||||
Reactor_Coolant_He_1,
|
||||
Reactor_Coolant_He_3,
|
||||
Reactor_Coolant_He_6,
|
||||
Reactor_Coolant_NaK_1,
|
||||
Reactor_Coolant_NaK_3,
|
||||
Reactor_Coolant_NaK_6,
|
||||
ThoriumCell_1,
|
||||
ThoriumCell_2,
|
||||
ThoriumCell_4,
|
||||
FusionComputer_LuV,
|
||||
FusionComputer_ZPMV,
|
||||
FusionComputer_UV,
|
||||
Casing_Fusion_Coil,
|
||||
Casing_Fusion,
|
||||
Casing_Fusion2,
|
||||
Generator_Plasma_IV,
|
||||
Generator_Plasma_LuV,
|
||||
Generator_Plasma_ZPMV,
|
||||
MagicEnergyConverter_LV,
|
||||
MagicEnergyConverter_MV,
|
||||
MagicEnergyConverter_HV,
|
||||
MagicEnergyAbsorber_LV,
|
||||
MagicEnergyAbsorber_MV,
|
||||
MagicEnergyAbsorber_HV,
|
||||
MagicEnergyAbsorber_EV,
|
||||
Depleted_Thorium_1,
|
||||
Depleted_Thorium_2,
|
||||
Depleted_Thorium_4,
|
||||
Processing_Array,
|
||||
Distillation_Tower,
|
||||
Energy_LapotronicOrb2,
|
||||
Reactor_Coolant_He_1, Reactor_Coolant_He_3, Reactor_Coolant_He_6, Reactor_Coolant_NaK_1, Reactor_Coolant_NaK_3, Reactor_Coolant_NaK_6,
|
||||
ThoriumCell_1, ThoriumCell_2, ThoriumCell_4,
|
||||
FusionComputer_LuV, FusionComputer_ZPMV, FusionComputer_UV,
|
||||
Casing_Fusion_Coil, Casing_Fusion, Casing_Fusion2,
|
||||
Generator_Plasma_IV, Generator_Plasma_LuV, Generator_Plasma_ZPMV,
|
||||
MagicEnergyConverter_LV, MagicEnergyConverter_MV, MagicEnergyConverter_HV,
|
||||
MagicEnergyAbsorber_LV, MagicEnergyAbsorber_MV, MagicEnergyAbsorber_HV, MagicEnergyAbsorber_EV,
|
||||
Depleted_Thorium_1, Depleted_Thorium_2, Depleted_Thorium_4,
|
||||
Processing_Array, Distillation_Tower, Energy_LapotronicOrb2,
|
||||
ZPM2, Quantum_Tank_LV, Quantum_Tank_MV, Quantum_Tank_HV, Quantum_Tank_EV, Quantum_Tank_IV, Quantum_Chest_LV, Quantum_Chest_MV, Quantum_Chest_HV, Quantum_Chest_EV, Quantum_Chest_IV,
|
||||
|
||||
NULL, Cover_RedstoneTransmitterExternal, Cover_RedstoneTransmitterInternal, Cover_RedstoneReceiverExternal, Cover_RedstoneReceiverInternal,
|
||||
LargeSteamTurbine,
|
||||
LargeSteamTurbine, LargeGasTurbine, LargeHPSteamTurbine, LargePlasmaTurbine,
|
||||
Ingot_Heavy1, Ingot_Heavy2, Ingot_Heavy3,
|
||||
Pump_LV, Pump_MV, Pump_HV, Pump_EV, Pump_IV,
|
||||
Teleporter,
|
||||
Cover_NeedsMaintainance,
|
||||
Casing_Turbine, Casing_Turbine1, Casing_Turbine2, Casing_Turbine3,
|
||||
MobRep_LV, MobRep_MV, MobRep_HV, MobRep_EV, MobRep_IV, LargeGasTurbine, LargeHPSteamTurbine, LargePlasmaTurbine, Cover_PlayerDetector, Machine_Multi_HeatExchanger, Uraniumcell_1, Uraniumcell_2, Uraniumcell_4, Moxcell_1, Moxcell_2, Moxcell_4,
|
||||
Machine_Multi_Assemblyline;
|
||||
|
||||
Teleporter, Cover_NeedsMaintainance, Casing_Turbine, Casing_Turbine1, Casing_Turbine2, Casing_Turbine3, Casing_EngineIntake,
|
||||
MobRep_LV, MobRep_MV, MobRep_HV, MobRep_EV, MobRep_IV, Cover_PlayerDetector, Machine_Multi_HeatExchanger,
|
||||
Block_BronzePlate, Block_IridiumTungstensteel, Block_Plascrete, Block_TungstenSteelReinforced,
|
||||
Honeycomb, Charcoal_Pile, Block_BrittleCharcoal, Seismic_Prospector, OilDrill, AdvancedMiner2, PyrolyseOven, OilCracker, Crop_Drop_UUMBerry, Crop_Drop_UUABerry, Empty_Board_Basic, Empty_Board_Elite,
|
||||
Battery_Charger_4by4_ULV, Battery_Charger_4by4_LV, Battery_Charger_4by4_MV, Battery_Charger_4by4_HV, Battery_Charger_4by4_EV, Battery_Charger_4by4_IV, Battery_Charger_4by4_LuV, Battery_Charger_4by4_ZPM, Battery_Charger_4by4_UV, Battery_Charger_4by4_MAX,
|
||||
MicroTransmitter_HV, MicroTransmitter_EV, MicroTransmitter_IV, MicroTransmitter_LUV, MicroTransmitter_ZPM,
|
||||
Crop_Drop_Bauxite, Crop_Drop_Ilmenite, Crop_Drop_Pitchblende, Crop_Drop_Uraninite, Crop_Drop_Thorium, Crop_Drop_Nickel, Crop_Drop_Zinc, Crop_Drop_Manganese, Crop_Drop_Scheelite, Crop_Drop_Platinum, Crop_Drop_Iridium, Crop_Drop_Osmium, Crop_Drop_Naquadah, Uraniumcell_1, Uraniumcell_2, Uraniumcell_4, Moxcell_1, Moxcell_2, Moxcell_4,
|
||||
ModularBasicHelmet, ModularBasicChestplate, ModularBasicLeggings, ModularBasicBoots,
|
||||
ModularElectric1Helmet, ModularElectric1Chestplate, ModularElectric1Leggings, ModularElectric1Boots,
|
||||
ModularElectric2Helmet, ModularElectric2Chestplate, ModularElectric2Leggings, ModularElectric2Boots, Block_Powderbarrel, GelledToluene,
|
||||
FluidRegulator_LV, FluidRegulator_MV, FluidRegulator_HV, FluidRegulator_EV, FluidRegulator_IV, FluidFilter, CuringOven, Machine_Multi_Assemblyline, Machine_Multi_DieselEngine;
|
||||
|
||||
public static final ItemList[]
|
||||
DYE_ONLY_ITEMS = {Color_00, Color_01, Color_02, Color_03, Color_04, Color_05, Color_06, Color_07, Color_08, Color_09, Color_10, Color_11, Color_12, Color_13, Color_14, Color_15}, SPRAY_CAN_DYES = {Spray_Color_00, Spray_Color_01, Spray_Color_02, Spray_Color_03, Spray_Color_04, Spray_Color_05, Spray_Color_06, Spray_Color_07, Spray_Color_08, Spray_Color_09, Spray_Color_10, Spray_Color_11, Spray_Color_12, Spray_Color_13, Spray_Color_14, Spray_Color_15}, SPRAY_CAN_DYES_USED = {Spray_Color_Used_00, Spray_Color_Used_01, Spray_Color_Used_02, Spray_Color_Used_03, Spray_Color_Used_04, Spray_Color_Used_05, Spray_Color_Used_06, Spray_Color_Used_07, Spray_Color_Used_08, Spray_Color_Used_09, Spray_Color_Used_10, Spray_Color_Used_11, Spray_Color_Used_12, Spray_Color_Used_13, Spray_Color_Used_14, Spray_Color_Used_15}, TRANSFORMERS = {Transformer_LV_ULV, Transformer_MV_LV, Transformer_HV_MV, Transformer_EV_HV, Transformer_IV_EV, Transformer_LuV_IV, Transformer_ZPM_LuV, Transformer_UV_ZPM, Transformer_MAX_UV}, MACHINE_HULLS = {Hull_ULV, Hull_LV, Hull_MV, Hull_HV, Hull_EV, Hull_IV, Hull_LuV, Hull_ZPM, Hull_UV, Hull_MAX}, HATCHES_DYNAMO = {Hatch_Dynamo_ULV, Hatch_Dynamo_LV, Hatch_Dynamo_MV, Hatch_Dynamo_HV, Hatch_Dynamo_EV, Hatch_Dynamo_IV, Hatch_Dynamo_LuV, Hatch_Dynamo_ZPM, Hatch_Dynamo_UV, Hatch_Dynamo_MAX}, HATCHES_ENERGY = {Hatch_Energy_ULV, Hatch_Energy_LV, Hatch_Energy_MV, Hatch_Energy_HV, Hatch_Energy_EV, Hatch_Energy_IV, Hatch_Energy_LuV, Hatch_Energy_ZPM, Hatch_Energy_UV, Hatch_Energy_MAX}, HATCHES_INPUT = {Hatch_Input_ULV, Hatch_Input_LV, Hatch_Input_MV, Hatch_Input_HV, Hatch_Input_EV, Hatch_Input_IV, Hatch_Input_LuV, Hatch_Input_ZPM, Hatch_Input_UV, Hatch_Input_MAX}, HATCHES_INPUT_BUS = {Hatch_Input_Bus_ULV, Hatch_Input_Bus_LV, Hatch_Input_Bus_MV, Hatch_Input_Bus_HV, Hatch_Input_Bus_EV, Hatch_Input_Bus_IV, Hatch_Input_Bus_LuV, Hatch_Input_Bus_ZPM, Hatch_Input_Bus_UV, Hatch_Input_Bus_MAX}, HATCHES_OUTPUT = {Hatch_Output_ULV, Hatch_Output_LV, Hatch_Output_MV, Hatch_Output_HV, Hatch_Output_EV, Hatch_Output_IV, Hatch_Output_LuV, Hatch_Output_ZPM, Hatch_Output_UV, Hatch_Output_MAX}, HATCHES_OUTPUT_BUS = {Hatch_Output_Bus_ULV, Hatch_Output_Bus_LV, Hatch_Output_Bus_MV, Hatch_Output_Bus_HV, Hatch_Output_Bus_EV, Hatch_Output_Bus_IV, Hatch_Output_Bus_LuV, Hatch_Output_Bus_ZPM, Hatch_Output_Bus_UV, Hatch_Output_Bus_MAX}, HATCHES_MUFFLER = {Hatch_Muffler_LV, Hatch_Muffler_LV, Hatch_Muffler_MV, Hatch_Muffler_HV, Hatch_Muffler_EV, Hatch_Muffler_IV, Hatch_Muffler_LuV, Hatch_Muffler_ZPM, Hatch_Muffler_UV, Hatch_Muffler_MAX};
|
||||
public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas;
|
||||
public static Fluid sOilExtraHeavy, sEpichlorhydrin, sDrillingFluid, sNitricAcid, sBlueVitriol, sNickelSulfate, sToluene, sNitrationMixture;
|
||||
private ItemStack mStack;
|
||||
private boolean mHasNotBeenSet = true;
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -79,6 +79,7 @@ public enum OrePrefixes {
|
|||
stick("Sticks/Rods", "", " Rod", true, true, false, false, false, false, true, true, false, false, B[1] | B[2], M / 2, 64, 23), // Stick made of half an Ingot. Introduced by Eloraam
|
||||
round("Rounds", "", " Round", true, true, false, false, false, false, true, true, false, false, B[1], M / 9, 64, 25), // consisting out of one Nugget.
|
||||
bolt("Bolts", "", " Bolt", true, true, false, false, false, false, true, true, false, false, B[1] | B[2], M / 8, 64, 26), // consisting out of 1/8 Ingot or 1/4 Stick.
|
||||
comb("Combs", "", " Comb", false, false, false, false, false, false, false, true, false, false, B[1] | B[2], M, 64, 101), // contain dusts
|
||||
screw("Screws", "", " Screw", true, true, false, false, false, false, true, true, false, false, B[1] | B[2], M / 9, 64, 27), // consisting out of a Bolt.
|
||||
ring("Rings", "", " Ring", true, true, false, false, false, false, true, true, false, false, B[1], M / 4, 64, 28), // consisting out of 1/2 Stick.
|
||||
springSmall("Small Springs", "Small ", " Spring", true, true, false, false, false, false, true, true, false, false, B[1], M / 4, 64, 55), // consisting out of 1 Fine Wire.
|
||||
|
@ -306,9 +307,11 @@ public enum OrePrefixes {
|
|||
ganys("Ganys Stuff", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
|
||||
liquid("Liquids", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
|
||||
bars("Bars", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
|
||||
bar("Bars", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1);
|
||||
|
||||
public static volatile int VERSION = 508;
|
||||
bar("Bars", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
|
||||
toolHeadMallet("Mallet Heads", "", " Mallet Head", true, true, false, false, false, false, true, true, false, false, B[6], M * 6, 16, 127), // Reverse Head consisting out of 6 Ingots.
|
||||
handleMallet("Mallet Handle", "", " Handle", true, true, false, false, false, false, true, true, false, false, B[1] | B[2], M / 2, 64, 126); // Reverse Stick made of half an Ingot. Introduced by Eloraam
|
||||
|
||||
public static volatile int VERSION = 509;
|
||||
|
||||
static {
|
||||
pulp.mPrefixInto = dust;
|
||||
|
@ -489,11 +492,11 @@ public enum OrePrefixes {
|
|||
pipeRestrictiveMedium.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount * 3);
|
||||
pipeRestrictiveLarge.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount * 4);
|
||||
pipeRestrictiveHuge.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount * 5);
|
||||
cableGt12.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount * 4);
|
||||
cableGt08.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount * 3);
|
||||
cableGt04.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount * 2);
|
||||
cableGt02.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount);
|
||||
cableGt01.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount);
|
||||
cableGt12.mSecondaryMaterial = new MaterialStack(Materials.Ash, dustSmall.mMaterialAmount * 4);
|
||||
cableGt08.mSecondaryMaterial = new MaterialStack(Materials.Ash, dustSmall.mMaterialAmount * 3);
|
||||
cableGt04.mSecondaryMaterial = new MaterialStack(Materials.Ash, dustSmall.mMaterialAmount * 2);
|
||||
cableGt02.mSecondaryMaterial = new MaterialStack(Materials.Ash, dustSmall.mMaterialAmount);
|
||||
cableGt01.mSecondaryMaterial = new MaterialStack(Materials.Ash, dustSmall.mMaterialAmount);
|
||||
bucket.mSecondaryMaterial = new MaterialStack(Materials.Iron, ingot.mMaterialAmount * 3);
|
||||
cell.mSecondaryMaterial = new MaterialStack(Materials.Tin, plate.mMaterialAmount * 2);
|
||||
cellPlasma.mSecondaryMaterial = new MaterialStack(Materials.Tin, plate.mMaterialAmount * 2);
|
||||
|
|
|
@ -3,7 +3,7 @@ package gregtech.api.enums;
|
|||
import java.util.List;
|
||||
|
||||
public enum TC_Aspects {
|
||||
AER(1), ALIENIS(20), AQUA(3), ARBOR(1), AURAM(16), BESTIA(6), COGNITIO(2), CORPUS(2), ELECTRUM(24), EXAMINIS(32), FABRICO(2), FAMES(2), GELUM(1), GRANUM(4), HERBA(2), HUMANUS(8), IGNIS(4), INSTRUMENTUM(4), ITER(6), LIMUS(3), LUCRUM(32), LUX(4), MACHINA(16), MAGNETO(24), MESSIS(3), METALLUM(8), METO(2), MORTUUS(16), MOTUS(4), NEBRISUM(48), ORDO(8), PANNUS(6), PERDITIO(2), PERFODIO(4), PERMUTATIO(12), POTENTIA(16), PRAECANTATIO(16), RADIO(48), SANO(24), SENSUS(4), SPIRITUS(24), STRONTIO(64), TELUM(6), TERRA(1), TEMPESTAS(64), TENEBRAE(24), TUTAMEN(12), VACUOS(6), VENENUM(16), VICTUS(4), VINCULUM(16), VITIUM(48), VITREUS(3), VOLATUS(12);
|
||||
AER(1), ALIENIS(20), AQUA(3), ARBOR(1), AURAM(16), BESTIA(6), COGNITIO(2), CORPUS(2), ELECTRUM(24), EXANIMIS(32), FABRICO(2), FAMES(2), GELUM(1), GRANUM(4), HERBA(2), HUMANUS(8), IGNIS(4), INSTRUMENTUM(4), ITER(6), LIMUS(3), LUCRUM(32), LUX(4), MACHINA(16), MAGNETO(24), MESSIS(3), METALLUM(8), METO(2), MORTUUS(16), MOTUS(4), NEBRISUM(48), ORDO(8), PANNUS(6), PERDITIO(2), PERFODIO(4), PERMUTATIO(12), POTENTIA(16), PRAECANTATIO(16), RADIO(48), SANO(24), SENSUS(4), SPIRITUS(24), STRONTIO(64), TELUM(6), TERRA(1), TEMPESTAS(64), TENEBRAE(24), TUTAMEN(12), VACUOS(6), VENENUM(16), VICTUS(4), VINCULUM(16), VITIUM(48), VITREUS(3), VOLATUS(12);
|
||||
|
||||
/**
|
||||
* The Thaumcraft Aspect Object of the Mod itself.
|
||||
|
|
|
@ -143,7 +143,7 @@ public class TextureSet {
|
|||
mTextures[123] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/void");
|
||||
mTextures[124] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/void");
|
||||
mTextures[125] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/void");
|
||||
mTextures[126] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/void");
|
||||
mTextures[127] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/void");
|
||||
mTextures[126] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/handleMallet");
|
||||
mTextures[127] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadMallet");
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
|
@ -98,10 +98,16 @@ public interface IToolStats {
|
|||
public boolean isCrowbar();
|
||||
|
||||
/**
|
||||
* @return If this Tool can be used as an RC Crowbar.
|
||||
* @return If this Tool can be used as an FR Grafter.
|
||||
*/
|
||||
public boolean isGrafter();
|
||||
|
||||
public boolean isChainsaw();
|
||||
/**
|
||||
* @return If this Tool can be used as an BC Wrench.
|
||||
*/
|
||||
public boolean isWrench();
|
||||
|
||||
/**
|
||||
* @return If this Tool can be used as Weapon i.e. if that is the main purpose.
|
||||
*/
|
||||
|
|
|
@ -98,6 +98,18 @@ public interface IGT_RecipeAdder {
|
|||
*/
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration);
|
||||
|
||||
/**
|
||||
* Adds a Chemical Recipe
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aInput2 must be != null
|
||||
* @param aOutput1 must be != null
|
||||
* @param aDuration must be > 0
|
||||
* @param aEUtick must be > 0
|
||||
*/
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUtick);
|
||||
|
||||
|
||||
/**
|
||||
* Adds a Blast Furnace Recipe
|
||||
*
|
||||
|
@ -147,6 +159,9 @@ public interface IGT_RecipeAdder {
|
|||
*/
|
||||
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt);
|
||||
|
||||
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt, boolean hidden);
|
||||
|
||||
|
||||
/**
|
||||
* Adds a CNC-Machine Recipe
|
||||
*
|
||||
|
@ -177,7 +192,6 @@ public interface IGT_RecipeAdder {
|
|||
*/
|
||||
public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt);
|
||||
|
||||
|
||||
/**
|
||||
* Adds a Assemblyline Recipe
|
||||
*
|
||||
|
@ -189,7 +203,6 @@ public interface IGT_RecipeAdder {
|
|||
*/
|
||||
public boolean addAssemblylineRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt);
|
||||
|
||||
|
||||
/**
|
||||
* Adds a Forge Hammer Recipe
|
||||
*
|
||||
|
@ -374,6 +387,11 @@ public interface IGT_RecipeAdder {
|
|||
* Adds a Recipe for Fluid Smelting
|
||||
*/
|
||||
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt);
|
||||
|
||||
/**
|
||||
* Adds a Recipe for Fluid Smelting
|
||||
*/
|
||||
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt, boolean hidden);
|
||||
|
||||
/**
|
||||
* Adds a Recipe for Fluid Extraction
|
||||
|
@ -430,11 +448,54 @@ public interface IGT_RecipeAdder {
|
|||
*/
|
||||
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt);
|
||||
|
||||
/**
|
||||
* Adds a Recipe for the Arc Furnace. (up to 4 Outputs)
|
||||
*/
|
||||
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean hidden);
|
||||
|
||||
|
||||
/**
|
||||
* Adds a Recipe for the GT Pulveriser. (up to 4 Outputs)
|
||||
*/
|
||||
public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt);
|
||||
|
||||
/**
|
||||
* Adds a Recipe for the GT Pulveriser. (up to 4 Outputs)
|
||||
*/
|
||||
public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean hidden);
|
||||
|
||||
/**
|
||||
* Adds a Distillation Tower Recipe
|
||||
* Every Fluid also gets seperate distillation recipes
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aOutputs must be != null 1-5 Fluids
|
||||
* @param aOutput2 can be null
|
||||
*/
|
||||
public boolean addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt);
|
||||
|
||||
/**
|
||||
* Adds Pyrolyse Recipe
|
||||
*
|
||||
* @param aInput
|
||||
* @param intCircuit
|
||||
* @param aOutput
|
||||
* @param aFluidOutput
|
||||
* @param aDuration
|
||||
* @param aEUt
|
||||
*/
|
||||
public boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, FluidStack aFluidOutput, int aDuration, int aEUt);
|
||||
|
||||
/**
|
||||
* Adds Oil Cracking Recipe
|
||||
*
|
||||
* @param aInput
|
||||
* @param aOutput
|
||||
* @param aDuration
|
||||
* @param aEUt
|
||||
*/
|
||||
public boolean addCrackingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt);
|
||||
|
||||
/**
|
||||
* Adds a Sound to the Sonictron9001
|
||||
* you should NOT call this in the preInit-Phase!
|
||||
|
|
|
@ -39,7 +39,6 @@ public class GT_CoolantCellIC_Item
|
|||
}
|
||||
|
||||
public int alterHeat(IReactor aReactor, ItemStack aStack, int x, int y, int aHeat) {
|
||||
|
||||
int tHeat = getHeatOfStack(aStack);
|
||||
if ((tHeat == 0) && (getControlTagOfStack(aStack) != 0)) {
|
||||
setControlTagOfStack(aStack, 0);
|
||||
|
|
|
@ -67,5 +67,4 @@ public class GT_CoolantCell_Item
|
|||
NBTTagCompound nbtData = StackUtil.getOrCreateNbtData(stack);
|
||||
nbtData.setInteger("tag", tag);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -560,7 +560,7 @@ public abstract class GT_MetaBase_Item extends GT_Generic_Item implements ISpeci
|
|||
@Override
|
||||
public int getItemStackLimit(ItemStack aStack) {
|
||||
Long[] tStats = getElectricStats(aStack);
|
||||
if (tStats != null && (tStats[3] == -1 || tStats[3] == -3) && getRealCharge(aStack) > 0) return 1;
|
||||
if (tStats != null && (tStats[3] == -1 || tStats[3] == -2 || tStats[3] == -3) && getRealCharge(aStack) > 0) return 1;
|
||||
tStats = getFluidContainerStats(aStack);
|
||||
if (tStats != null) return (int) (long) tStats[1];
|
||||
if(getDamage(aStack)==32763)return 1;
|
||||
|
|
|
@ -59,7 +59,7 @@ public abstract class GT_MetaGenerated_Item_X32 extends GT_MetaGenerated_Item {
|
|||
} else {
|
||||
GT_OreDictUnificator.registerOre(tPrefix.get(tMaterial), tStack);
|
||||
}
|
||||
if ((tPrefix == OrePrefixes.stick || tPrefix == OrePrefixes.wireFine) && (tMaterial == Materials.Lead || tMaterial == Materials.Tin || tMaterial == Materials.SolderingAlloy)) {
|
||||
if ((tPrefix == OrePrefixes.stick || tPrefix == OrePrefixes.wireFine || tPrefix == OrePrefixes.ingot) && (tMaterial == Materials.Lead || tMaterial == Materials.Tin || tMaterial == Materials.SolderingAlloy)) {
|
||||
GregTech_API.sSolderingMetalList.add(tStack);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package gregtech.api.items;
|
||||
|
||||
import buildcraft.api.tools.IToolWrench;
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import crazypants.enderio.api.tool.ITool;
|
||||
import forestry.api.arboriculture.IToolGrafter;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enchants.Enchantment_Radioactivity;
|
||||
|
@ -23,6 +25,7 @@ import net.minecraft.enchantment.EnchantmentHelper;
|
|||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.item.EntityMinecart;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumAction;
|
||||
|
@ -36,6 +39,7 @@ import net.minecraft.util.EnumChatFormatting;
|
|||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.IShearable;
|
||||
import net.minecraftforge.event.world.BlockEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -51,8 +55,8 @@ import static gregtech.api.enums.GT_Values.MOD_ID_RC;
|
|||
* This is an example on how you can create a Tool ItemStack, in this case a Bismuth Wrench:
|
||||
* GT_MetaGenerated_Tool.sInstances.get("gt.metatool.01").getToolWithStats(16, 1, Materials.Bismuth, Materials.Bismuth, null);
|
||||
*/
|
||||
@Optional.InterfaceList(value = {@Optional.Interface(iface = "forestry.api.arboriculture.IToolGrafter", modid = MOD_ID_FR), @Optional.Interface(iface = "mods.railcraft.api.core.items.IToolCrowbar", modid = MOD_ID_RC)})
|
||||
public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements IDamagableItem, IToolGrafter, IToolCrowbar {
|
||||
@Optional.InterfaceList(value = {@Optional.Interface(iface = "forestry.api.arboriculture.IToolGrafter", modid = MOD_ID_FR), @Optional.Interface(iface = "mods.railcraft.api.core.items.IToolCrowbar", modid = MOD_ID_RC), @Optional.Interface(iface = "buildcraft.api.tools.IToolWrench", modid = "BuildCraft"), @Optional.Interface(iface = "crazypants.enderio.api.tool.ITool", modid = "EnderIO")})
|
||||
public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements IDamagableItem, IToolGrafter, IToolCrowbar, IToolWrench, ITool {
|
||||
/**
|
||||
* All instances of this Item Class are listed here.
|
||||
* This gets used to register the Renderer to all Items of this Type, if useStandardMetaItemRenderer() returns true.
|
||||
|
@ -208,6 +212,38 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
|
|||
if (isItemStackUsable(aStack) && getDigSpeed(aStack, aBlock, aMetaData) > 0.0F)
|
||||
doDamage(aStack, tStats.convertBlockDrops(aDrops, aStack, aPlayer, aBlock, aX, aY, aZ, aMetaData, aFortune, aSilkTouch, aEvent) * tStats.getToolDamagePerDropConversion());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockStartBreak(ItemStack aStack, int aX, int aY, int aZ, EntityPlayer aPlayer)
|
||||
{
|
||||
if(aPlayer.worldObj.isRemote){
|
||||
return false;
|
||||
}
|
||||
IToolStats tStats = getToolStats(aStack);
|
||||
Block aBlock = aPlayer.worldObj.getBlock(aX, aY, aZ);
|
||||
if (tStats.isChainsaw()&&(aBlock instanceof IShearable))
|
||||
{
|
||||
IShearable target = (IShearable)aBlock;
|
||||
if ((target.isShearable(aStack, aPlayer.worldObj, aX, aY, aZ)))
|
||||
{
|
||||
ArrayList<ItemStack> drops = target.onSheared(aStack, aPlayer.worldObj, aX, aY, aZ, EnchantmentHelper.getEnchantmentLevel(Enchantment.fortune.effectId, aStack));
|
||||
for (ItemStack stack : drops)
|
||||
{
|
||||
float f = 0.7F;
|
||||
double d = itemRand.nextFloat() * f + (1.0F - f) * 0.5D;
|
||||
double d1 = itemRand.nextFloat() * f + (1.0F - f) * 0.5D;
|
||||
double d2 = itemRand.nextFloat() * f + (1.0F - f) * 0.5D;
|
||||
EntityItem entityitem = new EntityItem(aPlayer.worldObj, aX + d, aY + d1, aZ + d2, stack);
|
||||
entityitem.delayBeforeCanPickup = 10;
|
||||
aPlayer.worldObj.spawnEntityInWorld(entityitem);
|
||||
}
|
||||
aPlayer.addStat(net.minecraft.stats.StatList.mineBlockStatArray[Block.getIdFromBlock(aBlock)], 1);
|
||||
onBlockDestroyed(aStack, aPlayer.worldObj, aBlock, aX, aY, aZ, aPlayer);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return super.onBlockStartBreak(aStack, aX, aY, aZ, aPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onLeftClickEntity(ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) {
|
||||
|
@ -312,6 +348,25 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
|
|||
aList.add(tOffset + 1, EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName + EnumChatFormatting.YELLOW + " lvl " + getHarvestLevel(aStack, "") + EnumChatFormatting.GRAY);
|
||||
aList.add(tOffset + 2, EnumChatFormatting.WHITE + "Attack Damage: " + EnumChatFormatting.BLUE + getToolCombatDamage(aStack) + EnumChatFormatting.GRAY);
|
||||
aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Mining Speed: " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed) + EnumChatFormatting.GRAY);
|
||||
NBTTagCompound aNBT = aStack.getTagCompound();
|
||||
if (aNBT != null) {
|
||||
aNBT = aNBT.getCompoundTag("GT.ToolStats");
|
||||
if (aNBT != null && aNBT.hasKey("Heat")){
|
||||
int tHeat = aNBT.getInteger("Heat");
|
||||
long tWorldTime = aPlayer.getEntityWorld().getWorldTime();
|
||||
if(aNBT.hasKey("HeatTime")){
|
||||
long tHeatTime = aNBT.getLong("HeatTime");
|
||||
if(tWorldTime>(tHeatTime+10)){
|
||||
tHeat = (int) (tHeat - ((tWorldTime-tHeatTime)/10));
|
||||
if(tHeat<300&&tHeat>-10000)tHeat=300;
|
||||
}
|
||||
aNBT.setLong("HeatTime", tWorldTime);
|
||||
if(tHeat>-10000)aNBT.setInteger("Heat", tHeat);
|
||||
}
|
||||
|
||||
aList.add(tOffset + 3, EnumChatFormatting.RED + "Heat: " + aNBT.getInteger("Heat")+" K" + EnumChatFormatting.GRAY);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -456,6 +511,43 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
|
|||
IToolStats tStats = getToolStats(aStack);
|
||||
if (tStats != null) doDamage(aStack, tStats.getToolDamagePerEntityAttack());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canWrench(EntityPlayer player, int x, int y, int z) {
|
||||
if(player==null)return false;
|
||||
if(player.getCurrentEquippedItem()==null)return false;
|
||||
if (!isItemStackUsable(player.getCurrentEquippedItem())) return false;
|
||||
IToolStats tStats = getToolStats(player.getCurrentEquippedItem());
|
||||
return tStats != null && tStats.isWrench();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wrenchUsed(EntityPlayer player, int x, int y, int z) {
|
||||
if(player==null)return;
|
||||
if(player.getCurrentEquippedItem()==null)return;
|
||||
IToolStats tStats = getToolStats(player.getCurrentEquippedItem());
|
||||
if (tStats != null) doDamage(player.getCurrentEquippedItem(), tStats.getToolDamagePerEntityAttack());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUse(ItemStack stack, EntityPlayer player, int x, int y, int z){
|
||||
return canWrench(player, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void used(ItemStack stack, EntityPlayer player, int x, int y, int z){
|
||||
wrenchUsed(player, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldHideFacades(ItemStack stack, EntityPlayer player) {
|
||||
if(player==null)return false;
|
||||
if(player.getCurrentEquippedItem()==null)return false;
|
||||
if (!isItemStackUsable(player.getCurrentEquippedItem())) return false;
|
||||
IToolStats tStats = getToolStats(player.getCurrentEquippedItem());
|
||||
return tStats.isWrench();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean canLink(EntityPlayer aPlayer, ItemStack aStack, EntityMinecart cart) {
|
||||
|
|
|
@ -162,4 +162,4 @@ public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implement
|
|||
this.y = y1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package gregtech.api.items;
|
||||
|
||||
import ic2.api.item.IBoxable;
|
||||
import ic2.core.util.StackUtil;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -8,7 +9,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import java.util.List;
|
||||
|
||||
public class GT_RadioactiveCell_Item
|
||||
extends GT_Generic_Item {
|
||||
extends GT_Generic_Item implements IBoxable{
|
||||
protected int cellCount;
|
||||
protected int maxDmg;
|
||||
protected int dura;
|
||||
|
@ -140,4 +141,9 @@ public class GT_RadioactiveCell_Item
|
|||
//aList.add("Time left: " + (this.maxDelay - getDurabilityOfStack(aStack)) + " secs");
|
||||
aList.add("Durability: " + (this.maxDmg - getDurabilityOfStack(aStack)) + "/" + this.maxDmg);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBeStoredInToolbox(ItemStack itemstack) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -448,6 +448,12 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
for (int i = mMetaTileEntity.dechargerSlotStartIndex(), k = mMetaTileEntity.dechargerSlotCount() + i; i < k; i++) {
|
||||
if (mMetaTileEntity.mInventory[i] != null && getStoredEU() < getEUCapacity()) {
|
||||
dischargeItem(mMetaTileEntity.mInventory[i]);
|
||||
if(ic2.api.info.Info.itemEnergy.getEnergyValue(mMetaTileEntity.mInventory[i])>0){
|
||||
if((getStoredEU() + ic2.api.info.Info.itemEnergy.getEnergyValue(mMetaTileEntity.mInventory[i]))<getEUCapacity()){
|
||||
increaseStoredEnergyUnits((long)ic2.api.info.Info.itemEnergy.getEnergyValue(mMetaTileEntity.mInventory[i]),false);
|
||||
mMetaTileEntity.mInventory[i].stackSize--;
|
||||
}
|
||||
}
|
||||
if (mMetaTileEntity.mInventory[i].stackSize <= 0)
|
||||
mMetaTileEntity.mInventory[i] = null;
|
||||
mInventoryChanged = true;
|
||||
|
@ -589,7 +595,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
mFacing = (byte) (aValue & 7);
|
||||
mActive = ((aValue & 8) != 0);
|
||||
mRedstone = ((aValue & 16) != 0);
|
||||
//mLockUpgrade = ((aValue&32) != 0);
|
||||
// mLockUpgrade = ((aValue&32) != 0);
|
||||
break;
|
||||
case 1:
|
||||
if (hasValidMetaTileEntity()) mMetaTileEntity.onValueUpdate((byte) aValue);
|
||||
|
@ -1353,7 +1359,6 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
@Override
|
||||
public byte getOutputRedstoneSignal(byte aSide) {
|
||||
return getCoverBehaviorAtSide(aSide).manipulatesSidedRedstoneOutput(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this) ? mSidedRedstone[aSide] : 0;
|
||||
// return (byte)(getCoverBehaviorAtSide(aSide).manipulatesSidedRedstoneOutput(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this) || (mRedstone && getCoverBehaviorAtSide(aSide).letsRedstoneGoOut(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this))?mSidedRedstone[aSide]&15:0);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -13,6 +13,7 @@ import net.minecraft.block.Block;
|
|||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
|
@ -134,6 +135,41 @@ public abstract class MetaPipeEntity implements IMetaTileEntity {
|
|||
return new ItemStack(GregTech_API.sBlockMachines, (int) aAmount, getBaseMetaTileEntity().getMetaTileID());
|
||||
}
|
||||
|
||||
public boolean isCoverOnSide(BaseMetaPipeEntity aPipe, EntityLivingBase aEntity) {
|
||||
byte aSide = 6;
|
||||
double difference = aEntity.posY - (double) aPipe.yCoord;
|
||||
if (difference > 0.6 && difference < 0.99) {
|
||||
aSide = 1;
|
||||
}
|
||||
if (difference < -1.5 && difference > -1.99) {
|
||||
aSide = 0;
|
||||
}
|
||||
difference = aEntity.posZ - (double) aPipe.zCoord;
|
||||
if (difference < -0.05 && difference > -0.4) {
|
||||
aSide = 2;
|
||||
}
|
||||
if (difference > 1.05 && difference < 1.4) {
|
||||
aSide = 3;
|
||||
}
|
||||
difference = aEntity.posX - (double) aPipe.xCoord;
|
||||
if (difference < -0.05 && difference > -0.4) {
|
||||
aSide = 4;
|
||||
}
|
||||
if (difference > 1.05 && difference < 1.4) {
|
||||
aSide = 5;
|
||||
}
|
||||
boolean tCovered = false;
|
||||
if (aSide < 6 && mBaseMetaTileEntity.getCoverIDAtSide(aSide) > 0) {
|
||||
tCovered = true;
|
||||
}
|
||||
if((mConnections & (byte)(Math.pow(2, aSide))) != 0){
|
||||
tCovered = true;
|
||||
}
|
||||
//System.out.println("Cover: "+mBaseMetaTileEntity.getCoverIDAtSide(aSide));
|
||||
//toDo: filter cover ids that actually protect against temperature (rubber/plastic maybe?)
|
||||
return tCovered;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServerStart() {/*Do nothing*/}
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
@Override
|
||||
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) {
|
||||
if (!mInsulated)
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], Dyes.getModulation(aColorIndex, mMaterial.mRGBa) )};
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], mMaterial.mRGBa)};
|
||||
if (aConnected) {
|
||||
float tThickNess = getThickNess();
|
||||
if (tThickNess < 0.37F)
|
||||
|
@ -95,7 +95,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
|
||||
@Override
|
||||
public void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity aEntity) {
|
||||
if (mCanShock && (((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections & -128) == 0 && aEntity instanceof EntityLivingBase)
|
||||
if (mCanShock && (((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections & -128) == 0 && aEntity instanceof EntityLivingBase && !isCoverOnSide((BaseMetaPipeEntity) getBaseMetaTileEntity(), (EntityLivingBase) aEntity))
|
||||
GT_Utility.applyElectricityDamage((EntityLivingBase) aEntity, mTransferredVoltageLast20, mTransferredAmperageLast20);
|
||||
}
|
||||
|
||||
|
@ -199,9 +199,9 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
mTransferredVoltageLast20 = Math.max(mTransferredVoltageLast20, aVoltage);
|
||||
mTransferredAmperageLast20 = Math.max(mTransferredAmperageLast20, mTransferredAmperage);
|
||||
if (aVoltage > mVoltage || mTransferredAmperage > mAmperage) {
|
||||
if(mOverheat> GT_Mod.gregtechproxy.mWireHeatingTicks * 100){
|
||||
getBaseMetaTileEntity().setToFire();}else{mOverheat +=100;}
|
||||
return aAmperage;
|
||||
if(mOverheat>GT_Mod.gregtechproxy.mWireHeatingTicks * 100){
|
||||
getBaseMetaTileEntity().setToFire();}else{mOverheat +=100;}
|
||||
return aAmperage;
|
||||
}
|
||||
return rUsedAmperes;
|
||||
}
|
||||
|
@ -210,9 +210,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
|
||||
if (aBaseMetaTileEntity.isServerSide()) {
|
||||
mTransferredAmperage = 0;
|
||||
|
||||
if(mOverheat>0)mOverheat--;
|
||||
|
||||
if (aTick % 20 == 0) {
|
||||
mTransferredVoltageLast20 = 0;
|
||||
mTransferredAmperageLast20 = 0;
|
||||
|
@ -289,4 +287,4 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
public void loadNBTData(NBTTagCompound aNBT) {
|
||||
//
|
||||
}
|
||||
}
|
||||
}
|
|
@ -131,9 +131,9 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
|
|||
public void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity aEntity) {
|
||||
if (mFluid != null && (((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections & -128) == 0 && aEntity instanceof EntityLivingBase) {
|
||||
int tTemperature = mFluid.getFluid().getTemperature(mFluid);
|
||||
if (tTemperature > 320) {
|
||||
if (tTemperature > 320 && !isCoverOnSide((BaseMetaPipeEntity) getBaseMetaTileEntity(), (EntityLivingBase) aEntity)) {
|
||||
GT_Utility.applyHeatDamage((EntityLivingBase) aEntity, (tTemperature - 300) / 50.0F);
|
||||
} else if (tTemperature < 260) {
|
||||
} else if (tTemperature < 260 && !isCoverOnSide((BaseMetaPipeEntity) getBaseMetaTileEntity(), (EntityLivingBase) aEntity)) {
|
||||
GT_Utility.applyFrostDamage((EntityLivingBase) aEntity, (270 - tTemperature) / 25.0F);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,16 +25,27 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE
|
|||
public final float mThickNess;
|
||||
public final Materials mMaterial;
|
||||
public final int mStepSize;
|
||||
public final int mTickTime;
|
||||
public int mTransferredItems = 0;
|
||||
public byte mLastReceivedFrom = 0, oLastReceivedFrom = 0;
|
||||
public boolean mIsRestrictive = false;
|
||||
|
||||
public GT_MetaPipeEntity_Item(int aID, String aName, String aNameRegional, float aThickNess, Materials aMaterial, int aInvSlotCount, int aStepSize, boolean aIsRestrictive, int aTickTime) {
|
||||
super(aID, aName, aNameRegional, aInvSlotCount);
|
||||
mIsRestrictive = aIsRestrictive;
|
||||
mThickNess = aThickNess;
|
||||
mMaterial = aMaterial;
|
||||
mStepSize = aStepSize;
|
||||
mTickTime = aTickTime;
|
||||
}
|
||||
|
||||
public GT_MetaPipeEntity_Item(int aID, String aName, String aNameRegional, float aThickNess, Materials aMaterial, int aInvSlotCount, int aStepSize, boolean aIsRestrictive) {
|
||||
super(aID, aName, aNameRegional, aInvSlotCount);
|
||||
mIsRestrictive = aIsRestrictive;
|
||||
mThickNess = aThickNess;
|
||||
mMaterial = aMaterial;
|
||||
mStepSize = aStepSize;
|
||||
mTickTime = 20;
|
||||
}
|
||||
|
||||
public GT_MetaPipeEntity_Item(String aName, float aThickNess, Materials aMaterial, int aInvSlotCount, int aStepSize, boolean aIsRestrictive) {
|
||||
|
@ -43,6 +54,7 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE
|
|||
mThickNess = aThickNess;
|
||||
mMaterial = aMaterial;
|
||||
mStepSize = aStepSize;
|
||||
mTickTime = 20;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -131,7 +143,7 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE
|
|||
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
|
||||
if (aBaseMetaTileEntity.isServerSide() && aTick % 10 == 0) {
|
||||
mConnections = 0;
|
||||
if (aTick % 20 == 0) mTransferredItems = 0;
|
||||
if (aTick % mTickTime == 0) mTransferredItems = 0;
|
||||
|
||||
for (byte i = 0; i < 6; i++) {
|
||||
TileEntity tTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(i);
|
||||
|
|
|
@ -244,7 +244,8 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier
|
|||
name.equals("gt.metaitem.01.32521") ||
|
||||
name.equals("gt.metaitem.01.32530") ||
|
||||
name.equals("gt.metaitem.01.32531")) {
|
||||
return true;
|
||||
if(ic2.api.item.ElectricItem.manager.getCharge(aStack)==0){
|
||||
return true;}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -262,8 +263,8 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier
|
|||
}
|
||||
|
||||
public long[] getStoredEnergy() {
|
||||
boolean scaleOverflow =false;
|
||||
boolean storedOverflow = false;
|
||||
boolean scaleOverflow =false;
|
||||
boolean storedOverflow = false;
|
||||
long tScale = getBaseMetaTileEntity().getEUCapacity();
|
||||
long tStored = getBaseMetaTileEntity().getStoredEU();
|
||||
long tStep = 0;
|
||||
|
@ -274,7 +275,7 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier
|
|||
if (aStack.getItem() instanceof GT_MetaBase_Item) {
|
||||
Long[] stats = ((GT_MetaBase_Item) aStack.getItem()).getElectricStats(aStack);
|
||||
if (stats != null) {
|
||||
if(stats[0]>Long.MAX_VALUE/2){scaleOverflow=true;}
|
||||
if(stats[0]>Long.MAX_VALUE/2){scaleOverflow=true;}
|
||||
tScale = tScale + stats[0];
|
||||
tStep = ((GT_MetaBase_Item) aStack.getItem()).getRealCharge(aStack);
|
||||
if(tStep > Long.MAX_VALUE/2){storedOverflow=true;}
|
||||
|
|
|
@ -660,8 +660,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
|
|||
public String[] getInfoData() {
|
||||
return new String[]{
|
||||
mNEIName,
|
||||
"Progress:",
|
||||
(mProgresstime / 20) + " secs",
|
||||
"Progress:", (mProgresstime / 20) + " secs",
|
||||
(mMaxProgresstime / 20) + " secs",
|
||||
"Stored Energy:",
|
||||
getBaseMetaTileEntity().getStoredEU() + "EU",
|
||||
|
|
|
@ -550,17 +550,17 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
|
|||
return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), mGUIName, GT_Utility.isStringValid(mNEIName) ? mNEIName : getRecipeList() != null ? getRecipeList().mUnlocalizedName : "", mGUIParameterA, mGUIParameterB);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
|
||||
if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) return false;
|
||||
if (mInventory[aIndex] != null) return true;
|
||||
switch (mInputSlotCount) {
|
||||
case 0: return false;
|
||||
case 1: return getFillableStack() == null ? !mRequiresFluidForFiltering && getRecipeList().containsInput(aStack) : null!=getRecipeList().findRecipe(getBaseMetaTileEntity(), mLastRecipe, true, V[mTier], new FluidStack[] {getFillableStack()}, getSpecialSlot(), new ItemStack[] {aStack});
|
||||
case 2: return (!mRequiresFluidForFiltering || getFillableStack() != null) && (((getInputAt(0)!=null&&getInputAt(1)!=null) || (getInputAt(0)==null&&getInputAt(1)==null?getRecipeList().containsInput(aStack):(getRecipeList().containsInput(aStack)&&null!=getRecipeList().findRecipe(getBaseMetaTileEntity(), mLastRecipe, true, V[mTier], new FluidStack[] {getFillableStack()}, getSpecialSlot(), aIndex == getInputSlot() ? new ItemStack[] {aStack, getInputAt(1)} : new ItemStack[] {getInputAt(0), aStack})))));
|
||||
default: return getRecipeList().containsInput(aStack);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
|
||||
if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) return false;
|
||||
if (mInventory[aIndex] != null) return true;
|
||||
switch (mInputSlotCount) {
|
||||
case 0: return false;
|
||||
case 1: return getFillableStack() == null ? !mRequiresFluidForFiltering && getRecipeList().containsInput(aStack) : null!=getRecipeList().findRecipe(getBaseMetaTileEntity(), mLastRecipe, true, V[mTier], new FluidStack[] {getFillableStack()}, getSpecialSlot(), new ItemStack[] {aStack});
|
||||
case 2: return (!mRequiresFluidForFiltering || getFillableStack() != null) && (((getInputAt(0)!=null&&getInputAt(1)!=null) || (getInputAt(0)==null&&getInputAt(1)==null?getRecipeList().containsInput(aStack):(getRecipeList().containsInput(aStack)&&null!=getRecipeList().findRecipe(getBaseMetaTileEntity(), mLastRecipe, true, V[mTier], new FluidStack[] {getFillableStack()}, getSpecialSlot(), aIndex == getInputSlot() ? new ItemStack[] {aStack, getInputAt(1)} : new ItemStack[] {getInputAt(0), aStack})))));
|
||||
default: return getRecipeList().containsInput(aStack);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
|
||||
|
|
|
@ -204,7 +204,9 @@ public abstract class GT_MetaTileEntity_Buffer extends GT_MetaTileEntity_TieredM
|
|||
@Override
|
||||
public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
if (aSide == getBaseMetaTileEntity().getBackFacing()) {
|
||||
|
||||
mTargetStackSize = (byte) ((mTargetStackSize + (aPlayer.isSneaking()? -1 : 1)) % 65);
|
||||
if(mTargetStackSize <0){mTargetStackSize = 64;}
|
||||
if (mTargetStackSize == 0) {
|
||||
GT_Utility.sendChatToPlayer(aPlayer, "Do not regulate Item Stack Size");
|
||||
} else {
|
||||
|
|
|
@ -32,7 +32,7 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan
|
|||
|
||||
@Override
|
||||
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
|
||||
return aSide != aFacing ? mMachineBlock != 0 ? new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]} : new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} : mMachineBlock != 0 ? aActive ? getTexturesActive(Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]) : getTexturesInactive(Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]) : aActive ? getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]) : getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]);
|
||||
return aSide != aFacing ? mMachineBlock > 0 ? new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]} : new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} : mMachineBlock > 0 ? aActive ? getTexturesActive(Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]) : getTexturesInactive(Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]) : aActive ? getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]) : getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -25,6 +25,8 @@ import net.minecraftforge.fluids.FluidStack;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
import static gregtech.api.enums.GT_Values.V;
|
||||
|
||||
public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
||||
|
@ -34,6 +36,10 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
public int mPollution = 0, mProgresstime = 0, mMaxProgresstime = 0, mEUt = 0, mEfficiencyIncrease = 0, mUpdate = 0, mStartUpCheck = 100, mRuntime = 0, mEfficiency = 0;
|
||||
public ItemStack[] mOutputItems = null;
|
||||
public FluidStack[] mOutputFluids = null;
|
||||
public String mNEI;
|
||||
public int damageFactorLow = 5;
|
||||
public float damageFactorHigh = 0.6f;
|
||||
|
||||
public ArrayList<GT_MetaTileEntity_Hatch_Input> mInputHatches = new ArrayList<GT_MetaTileEntity_Hatch_Input>();
|
||||
public ArrayList<GT_MetaTileEntity_Hatch_Output> mOutputHatches = new ArrayList<GT_MetaTileEntity_Hatch_Output>();
|
||||
public ArrayList<GT_MetaTileEntity_Hatch_InputBus> mInputBusses = new ArrayList<GT_MetaTileEntity_Hatch_InputBus>();
|
||||
|
@ -46,11 +52,16 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
public GT_MetaTileEntity_MultiBlockBase(int aID, String aName, String aNameRegional) {
|
||||
super(aID, aName, aNameRegional, 2);
|
||||
this.disableMaintenance = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.disableMaintenance", false);
|
||||
this.damageFactorLow = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorLow", 5);
|
||||
this.damageFactorHigh = (float) GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorHigh", 0.6f);
|
||||
this.mNEI = "";
|
||||
}
|
||||
|
||||
public GT_MetaTileEntity_MultiBlockBase(String aName) {
|
||||
super(aName, 2);
|
||||
this.disableMaintenance = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.disableMaintenance", false);
|
||||
this.damageFactorLow = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorLow", 5);
|
||||
this.damageFactorHigh = (float) GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorHigh", 0.6f);
|
||||
}
|
||||
|
||||
public static boolean isValidMetaTileEntity(MetaTileEntity aMetaTileEntity) {
|
||||
|
@ -119,7 +130,6 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
mOutputFluids[i].writeToNBT(tNBT);
|
||||
aNBT.setTag("mOutputFluids" + i, tNBT);
|
||||
}
|
||||
|
||||
aNBT.setBoolean("mWrench", mWrench);
|
||||
aNBT.setBoolean("mScrewdriver", mScrewdriver);
|
||||
aNBT.setBoolean("mSoftHammer", mSoftHammer);
|
||||
|
@ -252,7 +262,10 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
if (aBaseMetaTileEntity.isAllowedToWork()) checkRecipe(mInventory[1]);
|
||||
if (mOutputFluids != null && mOutputFluids.length > 0) {
|
||||
if (mOutputFluids.length > 1) {
|
||||
GT_Mod.instance.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "oilplant");
|
||||
try {
|
||||
GT_Mod.instance.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "oilplant");
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -458,8 +471,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
((GT_MetaGenerated_Tool) mInventory[1].getItem()).doDamage(mInventory[1], (long) Math.min(mEUt / 5, Math.pow(mEUt, 0.7)));
|
||||
((GT_MetaGenerated_Tool) mInventory[1].getItem()).doDamage(mInventory[1], (long) Math.min(mEUt / this.damageFactorLow, Math.pow(mEUt, this.damageFactorHigh)));
|
||||
if (mInventory[1].stackSize == 0) mInventory[1] = null;
|
||||
}
|
||||
}
|
||||
|
@ -556,16 +568,21 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
aStack = GT_Utility.copy(aStack);
|
||||
// FluidStack aLiquid = GT_Utility.getFluidForFilledItem(aStack, true);
|
||||
// if (aLiquid == null) {
|
||||
for (GT_MetaTileEntity_Hatch_OutputBus tHatch : mOutputBusses) {
|
||||
if (isValidMetaTileEntity(tHatch)) {
|
||||
for (int i = tHatch.getSizeInventory() - 1; i >= 0; i--) {
|
||||
if (tHatch.getBaseMetaTileEntity().addStackToSlot(i, aStack)) return true;
|
||||
boolean outputSuccess = true;
|
||||
while (outputSuccess && aStack.stackSize > 0) {
|
||||
outputSuccess = false;
|
||||
ItemStack single = aStack.splitStack(1);
|
||||
for (GT_MetaTileEntity_Hatch_OutputBus tHatch : mOutputBusses) {
|
||||
if (!outputSuccess && isValidMetaTileEntity(tHatch)) {
|
||||
for (int i = tHatch.getSizeInventory() - 1; i >= 0 && !outputSuccess; i--) {
|
||||
if (tHatch.getBaseMetaTileEntity().addStackToSlot(i, single)) outputSuccess = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) {
|
||||
if (isValidMetaTileEntity(tHatch) && tHatch.outputsItems()) {
|
||||
if (tHatch.getBaseMetaTileEntity().addStackToSlot(1, aStack)) return true;
|
||||
for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) {
|
||||
if (!outputSuccess && isValidMetaTileEntity(tHatch) && tHatch.outputsItems()) {
|
||||
if (tHatch.getBaseMetaTileEntity().addStackToSlot(1, single)) outputSuccess = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// }else {
|
||||
|
@ -578,7 +595,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
// }
|
||||
// }
|
||||
// }
|
||||
return false;
|
||||
return outputSuccess;
|
||||
}
|
||||
|
||||
public boolean depleteInput(ItemStack aStack) {
|
||||
|
@ -776,7 +793,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
|
||||
@Override
|
||||
public String[] getInfoData() {
|
||||
return new String[]{"Progress:", (mProgresstime / 20) + " secs", (mMaxProgresstime / 20) + " secs", "Efficiency: " + (mEfficiency / 100.0F) + "%", "Problems: " + (getIdealStatus() - getRepairStatus())};
|
||||
return new String[]{"Progress:", (mProgresstime / 20) + "secs", (mMaxProgresstime / 20) + "secs", "Efficiency:", (mEfficiency / 100.0F) + "%", "Problems:", "" + (getIdealStatus() - getRepairStatus())};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -16,7 +16,7 @@ import java.util.Map;
|
|||
*/
|
||||
public class GT_FluidStack extends FluidStack {
|
||||
private static final Collection<GT_FluidStack> sAllFluidStacks = new ArrayList<GT_FluidStack>(5000);
|
||||
private static boolean lock = false;
|
||||
private static volatile boolean lock = false;
|
||||
private Fluid mFluid;
|
||||
|
||||
public GT_FluidStack(Fluid aFluid, int aAmount) {
|
||||
|
@ -29,7 +29,7 @@ public class GT_FluidStack extends FluidStack {
|
|||
this(aFluid.getFluid(), aFluid.amount);
|
||||
}
|
||||
|
||||
public static void fixAllThoseFuckingFluidIDs() {
|
||||
public static synchronized void fixAllThoseFuckingFluidIDs() {
|
||||
if (ForgeVersion.getBuildVersion() < 1355) {
|
||||
while (lock) {
|
||||
try {
|
||||
|
|
|
@ -1,23 +1,37 @@
|
|||
package gregtech.api.util;
|
||||
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.ConfigCategories;
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.enums.OrePrefixes;
|
||||
import gregtech.api.objects.ItemData;
|
||||
import gregtech.common.blocks.GT_Block_Ores;
|
||||
import gregtech.common.blocks.GT_TileEntity_Ores;
|
||||
import ic2.api.crops.CropCard;
|
||||
import ic2.api.crops.Crops;
|
||||
import ic2.api.crops.ICropTile;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import speiger.src.crops.api.ICropCardInfo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import static gregtech.api.enums.GT_Values.E;
|
||||
|
||||
public class GT_BaseCrop extends CropCard {
|
||||
public class GT_BaseCrop extends CropCard implements ICropCardInfo {
|
||||
public static ArrayList<GT_BaseCrop> sCropList = new ArrayList<GT_BaseCrop>();
|
||||
private String mName = E, mDiscoveredBy = "Gregorius Techneticies", mAttributes[];
|
||||
private int mTier = 0, mMaxSize = 0, mAfterHarvestSize = 0, mHarvestSize = 0, mStats[] = new int[5];
|
||||
private int mTier = 0, mMaxSize = 0, mAfterHarvestSize = 0, mHarvestSize = 0, mStats[] = new int[5], mGrowthSpeed = 0;
|
||||
private ItemStack mDrop = null, mSpecialDrops[] = null;
|
||||
private Materials mBlock = null;
|
||||
private static boolean bIc2NeiLoaded = Loader.isModLoaded("Ic2Nei");
|
||||
|
||||
/**
|
||||
* To create new Crops
|
||||
|
@ -32,7 +46,26 @@ public class GT_BaseCrop extends CropCard {
|
|||
* @param aGrowthSpeed how fast the Crop grows. if < 0 then its set to Tier*300
|
||||
* @param aHarvestSize the size the Crop needs to be harvested. forced to be between 2 and max size
|
||||
*/
|
||||
public GT_BaseCrop(int aID, String aCropName, String aDiscoveredBy, ItemStack aDrop, ItemStack[] aSpecialDrops, ItemStack aBaseSeed, int aTier, int aMaxSize, int aGrowthSpeed, int aAfterHarvestSize, int aHarvestSize, int aStatChemical, int aStatFood, int aStatDefensive, int aStatColor, int aStatWeed, String[] aAttributes) {
|
||||
public GT_BaseCrop(int aID, String aCropName, String aDiscoveredBy, ItemStack aBaseSeed, int aTier, int aMaxSize, int aGrowthSpeed, int aAfterHarvestSize, int aHarvestSize, int aStatChemical, int aStatFood, int aStatDefensive, int aStatColor, int aStatWeed, String[] aAttributes, ItemStack aDrop, ItemStack[] aSpecialDrops) {
|
||||
new GT_BaseCrop(aID, aCropName, aDiscoveredBy, aBaseSeed, aTier, aMaxSize, aGrowthSpeed, aAfterHarvestSize, aHarvestSize, aStatChemical, aStatFood, aStatDefensive, aStatColor, aStatWeed, aAttributes, null, aDrop, aSpecialDrops);
|
||||
}
|
||||
|
||||
/**
|
||||
* To create new Crops
|
||||
*
|
||||
* @param aID Default ID
|
||||
* @param aCropName Name of the Crop
|
||||
* @param aDiscoveredBy The one who discovered the Crop
|
||||
* @param aDrop The Item which is dropped by the Crop. must be != null
|
||||
* @param aBaseSeed Baseseed to plant this Crop. null == crossbreed only
|
||||
* @param aTier tier of the Crop. forced to be >= 1
|
||||
* @param aMaxSize maximum Size of the Crop. forced to be >= 3
|
||||
* @param aGrowthSpeed how fast the Crop grows. if < 0 then its set to Tier*300
|
||||
* @param aHarvestSize the size the Crop needs to be harvested. forced to be between 2 and max size
|
||||
* @param aBlock the block below needed for crop to grow. If null no block needed
|
||||
* @param aMeta meta of the block below(-1 if no meta)
|
||||
*/
|
||||
public GT_BaseCrop(int aID, String aCropName, String aDiscoveredBy, ItemStack aBaseSeed, int aTier, int aMaxSize, int aGrowthSpeed, int aAfterHarvestSize, int aHarvestSize, int aStatChemical, int aStatFood, int aStatDefensive, int aStatColor, int aStatWeed, String[] aAttributes, Materials aBlock, ItemStack aDrop, ItemStack[] aSpecialDrops) {
|
||||
mName = aCropName;
|
||||
aID = GT_Config.addIDConfig(ConfigCategories.IDs.crops, mName.replaceAll(" ", "_"), aID);
|
||||
if (aDiscoveredBy != null && !aDiscoveredBy.equals(E)) mDiscoveredBy = aDiscoveredBy;
|
||||
|
@ -41,7 +74,6 @@ public class GT_BaseCrop extends CropCard {
|
|||
mSpecialDrops = aSpecialDrops;
|
||||
mTier = Math.max(1, aTier);
|
||||
mMaxSize = Math.max(3, aMaxSize);
|
||||
// mGrowthSpeed = aGrowthSpeed>0?aGrowthSpeed:mTier*300;
|
||||
mHarvestSize = Math.min(Math.max(aHarvestSize, 2), mMaxSize);
|
||||
mAfterHarvestSize = Math.min(Math.max(aAfterHarvestSize, 1), mMaxSize - 1);
|
||||
mStats[0] = aStatChemical;
|
||||
|
@ -50,10 +82,31 @@ public class GT_BaseCrop extends CropCard {
|
|||
mStats[3] = aStatColor;
|
||||
mStats[4] = aStatWeed;
|
||||
mAttributes = aAttributes;
|
||||
mBlock = aBlock;
|
||||
if(GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.crops, aCropName, true)){
|
||||
if (!Crops.instance.registerCrop(this, aID))
|
||||
throw new GT_ItsNotMyFaultException("Make sure the Crop ID is valid!");
|
||||
if (aBaseSeed != null) Crops.instance.registerBaseSeed(aBaseSeed, aID, 1, 1, 1, 1);
|
||||
sCropList.add(this);
|
||||
if (aBaseSeed != null) Crops.instance.registerBaseSeed(aBaseSeed, this, 1, 1, 1, 1);
|
||||
sCropList.add(this);}
|
||||
}
|
||||
if (bIc2NeiLoaded) {
|
||||
try {
|
||||
Class.forName("speiger.src.crops.api.CropPluginAPI").getMethod("registerCropInfo", Class.forName("speiger.src.crops.api.ICropCardInfo")).invoke(Class.forName("speiger.src.crops.api.CropPluginAPI").getField("instance"), this);
|
||||
} catch (IllegalAccessException ex) {
|
||||
bIc2NeiLoaded = false;
|
||||
} catch (IllegalArgumentException ex) {
|
||||
bIc2NeiLoaded = false;
|
||||
} catch (java.lang.reflect.InvocationTargetException ex) {
|
||||
bIc2NeiLoaded = false;
|
||||
} catch (NoSuchFieldException ex) {
|
||||
bIc2NeiLoaded = false;
|
||||
} catch (NoSuchMethodException ex) {
|
||||
bIc2NeiLoaded = false;
|
||||
} catch (SecurityException ex) {
|
||||
bIc2NeiLoaded = false;
|
||||
} catch (ClassNotFoundException ex) {
|
||||
bIc2NeiLoaded = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -62,6 +115,16 @@ public class GT_BaseCrop extends CropCard {
|
|||
return (byte) mAfterHarvestSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int growthDuration(ICropTile aCrop) {
|
||||
if (mGrowthSpeed < 200) return super.growthDuration(aCrop);
|
||||
return tier() * mGrowthSpeed;
|
||||
}
|
||||
|
||||
public int getrootslength(ICropTile crop) {
|
||||
return 5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] attributes() {
|
||||
return mAttributes;
|
||||
|
@ -74,6 +137,9 @@ public class GT_BaseCrop extends CropCard {
|
|||
|
||||
@Override
|
||||
public final boolean canGrow(ICropTile aCrop) {
|
||||
if (mBlock != null && aCrop.getSize() == mMaxSize - 1) {
|
||||
return isBlockBelow(aCrop);
|
||||
}
|
||||
return aCrop.getSize() < maxSize();
|
||||
}
|
||||
|
||||
|
@ -111,7 +177,7 @@ public class GT_BaseCrop extends CropCard {
|
|||
@Override
|
||||
public ItemStack getGain(ICropTile aCrop) {
|
||||
int tDrop = 0;
|
||||
if (mSpecialDrops != null && (tDrop = new Random().nextInt(mSpecialDrops.length + 4)) < mSpecialDrops.length && mSpecialDrops[tDrop] != null) {
|
||||
if (mSpecialDrops != null && (tDrop = new Random().nextInt((mSpecialDrops.length*2) + 2)) < mSpecialDrops.length && mSpecialDrops[tDrop] != null) {
|
||||
return GT_Utility.copy(mSpecialDrops[tDrop]);
|
||||
}
|
||||
return GT_Utility.copy(mDrop);
|
||||
|
@ -127,4 +193,62 @@ public class GT_BaseCrop extends CropCard {
|
|||
public int getOptimalHavestSize(ICropTile crop) {
|
||||
return maxSize();
|
||||
}
|
||||
|
||||
public boolean isBlockBelow(ICropTile aCrop) {
|
||||
if (aCrop == null) {
|
||||
return false;
|
||||
}
|
||||
for (int i = 1; i < this.getrootslength(aCrop); i++) {
|
||||
Block tBlock = aCrop.getWorld().getBlock(aCrop.getLocation().posX, aCrop.getLocation().posY - i, aCrop.getLocation().posZ);
|
||||
if ((tBlock instanceof GT_Block_Ores)) {
|
||||
TileEntity tTileEntity = aCrop.getWorld().getTileEntity(aCrop.getLocation().posX, aCrop.getLocation().posY - i, aCrop.getLocation().posZ);
|
||||
if ((tTileEntity instanceof GT_TileEntity_Ores)) {
|
||||
Materials tMaterial = GregTech_API.sGeneratedMaterials[(((GT_TileEntity_Ores) tTileEntity).mMetaData % 1000)];
|
||||
if ((tMaterial != null) && (tMaterial != Materials._NULL)) {
|
||||
if (tMaterial == mBlock) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
int tMetaID = aCrop.getWorld().getBlockMetadata(aCrop.getLocation().posX, aCrop.getLocation().posY - i, aCrop.getLocation().posZ);
|
||||
ItemData tAssotiation = GT_OreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID));
|
||||
if ((tAssotiation != null) && (tAssotiation.mPrefix.toString().startsWith("ore")) && (tAssotiation.mMaterial.mMaterial == mBlock)) {
|
||||
return true;
|
||||
}
|
||||
if ((tAssotiation != null) && (tAssotiation.mPrefix == OrePrefixes.block) && (tAssotiation.mMaterial.mMaterial == mBlock)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// Block block = aCrop.getWorld().getBlock(aCrop.getLocation().posX, aCrop.getLocation().posY - i, aCrop.getLocation().posZ);
|
||||
// if (block.isAir(aCrop.getWorld(), aCrop.getLocation().posX, aCrop.getLocation().posY - i, aCrop.getLocation().posZ)) {
|
||||
// return false;
|
||||
// }
|
||||
// if (block == mBlock) {
|
||||
// int tMeta = aCrop.getWorld().getBlockMetadata(aCrop.getLocation().posX, aCrop.getLocation().posY - i, aCrop.getLocation().posZ);
|
||||
// if(mMeta < 0 || tMeta == mMeta){
|
||||
// return true;}
|
||||
// }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public List<String> getCropInformation() {
|
||||
if (mBlock != null) {
|
||||
ArrayList<String> result = new ArrayList<String>(1);
|
||||
result.add(String.format("Requires %s Ore or Block of %s as soil block to reach full growth.", mBlock.name(), mBlock.name()));
|
||||
return result;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public ItemStack getDisplayItem() {
|
||||
if (mSpecialDrops != null && mSpecialDrops[mSpecialDrops.length - 1] != null) {
|
||||
return GT_Utility.copy(mSpecialDrops[mSpecialDrops.length - 1]);
|
||||
}
|
||||
return GT_Utility.copy(mDrop);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ public class GT_ModHandler {
|
|||
public static final List<IRecipe> sSingleNonBlockDamagableRecipeList = new ArrayList<IRecipe>(1000);
|
||||
private static final Map<String, ItemStack> sIC2ItemMap = new HashMap<String, ItemStack>();
|
||||
private static final List<IRecipe> sAllRecipeList = Collections.synchronizedList(new ArrayList<IRecipe>(5000)), sBufferRecipeList = new ArrayList<IRecipe>(1000);
|
||||
public static volatile int VERSION = 508;
|
||||
public static volatile int VERSION = 509;
|
||||
public static Collection<String> sNativeRecipeClasses = new HashSet<String>(), sSpecialRecipeClasses = new HashSet<String>();
|
||||
public static GT_HashSet<GT_ItemStack> sNonReplaceableItems = new GT_HashSet<GT_ItemStack>();
|
||||
public static Object sBoxableWrapper = GT_Utility.callConstructor("gregtechmod.api.util.GT_IBoxableWrapper", 0, null, false);
|
||||
|
@ -381,11 +381,11 @@ public class GT_ModHandler {
|
|||
/**
|
||||
* Adds to Furnace AND Alloysmelter AND Induction Smelter
|
||||
*/
|
||||
public static boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aInput, ItemStack aOutput) {
|
||||
public static boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aInput, ItemStack aOutput, boolean hidden) {
|
||||
if (aInput == null || aOutput == null) return false;
|
||||
boolean temp = false;
|
||||
if (aInput.stackSize == 1 && addSmeltingRecipe(aInput, aOutput)) temp = true;
|
||||
if (RA.addAlloySmelterRecipe(aInput, OrePrefixes.ingot.contains(aOutput) ? ItemList.Shape_Mold_Ingot.get(0) : OrePrefixes.block.contains(aOutput) ? ItemList.Shape_Mold_Block.get(0) : OrePrefixes.nugget.contains(aOutput) ? ItemList.Shape_Mold_Nugget.get(0) : null, aOutput, 130, 3))
|
||||
if (RA.addAlloySmelterRecipe(aInput, OrePrefixes.ingot.contains(aOutput) ? ItemList.Shape_Mold_Ingot.get(0) : OrePrefixes.block.contains(aOutput) ? ItemList.Shape_Mold_Block.get(0) : OrePrefixes.nugget.contains(aOutput) ? ItemList.Shape_Mold_Nugget.get(0) : null, aOutput, 130, 3,hidden))
|
||||
temp = true;
|
||||
if (addInductionSmelterRecipe(aInput, null, aOutput, null, aOutput.stackSize * 1600, 0)) temp = true;
|
||||
return temp;
|
||||
|
@ -1591,7 +1591,6 @@ public class GT_ModHandler {
|
|||
} else {
|
||||
tPlayer.inventory.mainInventory[i].stackSize--;
|
||||
}
|
||||
|
||||
if (tPlayer.inventoryContainer != null) tPlayer.inventoryContainer.detectAndSendChanges();
|
||||
if (canUseElectricItem(aStack, 10000)) {
|
||||
return GT_ModHandler.useElectricItem(aStack, 10000, (EntityPlayer) aPlayer);
|
||||
|
|
|
@ -32,7 +32,7 @@ public class GT_OreDictUnificator {
|
|||
private static final HashMap<String, ItemStack> sName2StackMap = new HashMap<String, ItemStack>();
|
||||
private static final HashMap<GT_ItemStack, ItemData> sItemStack2DataMap = new HashMap<GT_ItemStack, ItemData>();
|
||||
private static final GT_HashSet<GT_ItemStack> sNoUnificationList = new GT_HashSet<GT_ItemStack>();
|
||||
public static volatile int VERSION = 508;
|
||||
public static volatile int VERSION = 509;
|
||||
private static int isRegisteringOre = 0, isAddingOre = 0;
|
||||
private static boolean mRunThroughTheList = true;
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ import static gregtech.api.enums.GT_Values.*;
|
|||
* I know this File causes some Errors, because of missing Main Functions, but if you just need to compile Stuff, then remove said erroreous Functions.
|
||||
*/
|
||||
public class GT_Recipe {
|
||||
public static volatile int VERSION = 508;
|
||||
public static volatile int VERSION = 509;
|
||||
/**
|
||||
* If you want to change the Output, feel free to modify or even replace the whole ItemStack Array, for Inputs, please add a new Recipe, because of the HashMaps.
|
||||
*/
|
||||
|
@ -382,12 +382,12 @@ public class GT_Recipe {
|
|||
public static final GT_Recipe_Map sFurnaceRecipes = new GT_Recipe_Map_Furnace(new HashSet<GT_Recipe>(0), "mc.recipe.furnace", "Furnace", "smelting", RES_PATH_GUI + "basicmachines/E_Furnace", 1, 1, 1, 0, 1, E, 1, E, true, false);
|
||||
public static final GT_Recipe_Map sMicrowaveRecipes = new GT_Recipe_Map_Microwave(new HashSet<GT_Recipe>(0), "gt.recipe.microwave", "Microwave", "smelting", RES_PATH_GUI + "basicmachines/E_Furnace", 1, 1, 1, 0, 1, E, 1, E, true, false);
|
||||
|
||||
public static final GT_Recipe_Map sScannerFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(3), "gt.recipe.scanner", "Scanner", null, RES_PATH_GUI + "basicmachines/Scanner", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sScannerFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(300), "gt.recipe.scanner", "Scanner", null, RES_PATH_GUI + "basicmachines/Scanner", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sRockBreakerFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(3), "gt.recipe.rockbreaker", "Rock Breaker", null, RES_PATH_GUI + "basicmachines/RockBreaker", 1, 1, 0, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sByProductList = new GT_Recipe_Map(new HashSet<GT_Recipe>(1000), "gt.recipe.byproductlist", "Ore Byproduct List", null, RES_PATH_GUI + "basicmachines/Default", 1, 6, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sRepicatorFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(100), "gt.recipe.replicator", "Replicator", null, RES_PATH_GUI + "basicmachines/Replicator", 0, 1, 0, 1, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sAssemblylineFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(30), "gt.recipe.scanner", "Scanner", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
|
||||
|
||||
public static final GT_Recipe_Map sPlasmaArcFurnaceRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10000), "gt.recipe.plasmaarcfurnace", "Plasma Arc Furnace", null, RES_PATH_GUI + "basicmachines/PlasmaArcFurnace", 1, 4, 1, 1, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sArcFurnaceRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10000), "gt.recipe.arcfurnace", "Arc Furnace", null, RES_PATH_GUI + "basicmachines/ArcFurnace", 1, 4, 1, 1, 3, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sPrinterRecipes = new GT_Recipe_Map_Printer(new HashSet<GT_Recipe>(100), "gt.recipe.printer", "Printer", null, RES_PATH_GUI + "basicmachines/Printer", 1, 1, 1, 1, 1, E, 1, E, true, true);
|
||||
|
@ -417,6 +417,8 @@ public class GT_Recipe {
|
|||
public static final GT_Recipe_Map sVacuumRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(100), "gt.recipe.vacuumfreezer", "Vacuum Freezer", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sChemicalRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(100), "gt.recipe.chemicalreactor", "Chemical Reactor", null, RES_PATH_GUI + "basicmachines/ChemicalReactor", 2, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sDistillationRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.distillationtower", "Distillation Tower", null, RES_PATH_GUI + "basicmachines/Default", 2, 4, 0, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sCrakingRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.craker", "Oil Cracker", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 1, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sPyrolyseRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.pyro", "Pyrolyse Oven", null, RES_PATH_GUI + "basicmachines/Default", 2, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sWiremillRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.wiremill", "Wiremill", null, RES_PATH_GUI + "basicmachines/Wiremill", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sBenderRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(400), "gt.recipe.metalbender", "Metal Bender", null, RES_PATH_GUI + "basicmachines/Bender", 2, 1, 2, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sAlloySmelterRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(3000), "gt.recipe.alloysmelter", "Alloy Smelter", null, RES_PATH_GUI + "basicmachines/AlloySmelter", 2, 1, 2, 0, 1, E, 1, E, true, true);
|
||||
|
@ -439,8 +441,7 @@ public class GT_Recipe {
|
|||
public static final GT_Recipe_Map_Fuel sLargeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.largenaquadahreactor", "Large Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sFluidNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.fluidnaquadahreactor", "Fluid Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map sAssemblylineRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(100), "gt.recipe.assemblyline", "Assemblyline", null, RES_PATH_GUI + "basicmachines/Default", 15, 1, 4, 0, 1, E, 1, E, false, false);
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* HashMap of Recipes based on their Items
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package gregtech.api.util;
|
||||
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.*;
|
||||
import gregtech.api.enums.TC_Aspects.TC_AspectStack;
|
||||
|
@ -119,7 +120,7 @@ public class GT_RecipeRegistrator {
|
|||
{"Scythe", s_I + s_P + s_H, s_R + s_F + s_P, s_R + " " + " "},
|
||||
{"Scythe", s_H + s_P + s_I, s_P + s_F + s_R, " " + " " + s_R}
|
||||
};
|
||||
public static volatile int VERSION = 508;
|
||||
public static volatile int VERSION = 509;
|
||||
|
||||
public static void registerMaterialRecycling(ItemStack aStack, Materials aMaterial, long aMaterialAmount, MaterialStack aByproduct) {
|
||||
if (GT_Utility.isStackInvalid(aStack)) return;
|
||||
|
@ -147,7 +148,12 @@ public class GT_RecipeRegistrator {
|
|||
public static void registerReverseFluidSmelting(ItemStack aStack, Materials aMaterial, long aMaterialAmount, MaterialStack aByproduct) {
|
||||
if (aStack == null || aMaterial == null || aMaterial.mSmeltInto.mStandardMoltenFluid == null || !aMaterial.contains(SubTag.SMELTING_TO_FLUID) || (L * aMaterialAmount) / (M * aStack.stackSize) <= 0)
|
||||
return;
|
||||
RA.addFluidSmelterRecipe(GT_Utility.copyAmount(1, aStack), aByproduct == null ? null : aByproduct.mMaterial.contains(SubTag.NO_SMELTING) || !aByproduct.mMaterial.contains(SubTag.METAL) ? aByproduct.mMaterial.contains(SubTag.FLAMMABLE) ? GT_OreDictUnificator.getDust(Materials.Ash, aByproduct.mAmount / 2) : aByproduct.mMaterial.contains(SubTag.UNBURNABLE) ? GT_OreDictUnificator.getDustOrIngot(aByproduct.mMaterial.mSmeltInto, aByproduct.mAmount) : null : GT_OreDictUnificator.getIngotOrDust(aByproduct.mMaterial.mSmeltInto, aByproduct.mAmount), aMaterial.mSmeltInto.getMolten((L * aMaterialAmount) / (M * aStack.stackSize)), 10000, (int) Math.max(1, (24 * aMaterialAmount) / M), Math.max(8, (int) Math.sqrt(2 * aMaterial.mSmeltInto.mStandardMoltenFluid.getTemperature())));
|
||||
ItemData tData = GT_OreDictUnificator.getItemData(aStack);
|
||||
boolean tHide = (aMaterial != Materials.Iron)&&(GT_Mod.gregtechproxy.mHideRecyclingRecipes);
|
||||
if(tHide && tData!=null&&tData.hasValidPrefixData()&&tData.mPrefix==OrePrefixes.ingot){
|
||||
tHide=false;
|
||||
}
|
||||
RA.addFluidSmelterRecipe(GT_Utility.copyAmount(1, aStack), aByproduct == null ? null : aByproduct.mMaterial.contains(SubTag.NO_SMELTING) || !aByproduct.mMaterial.contains(SubTag.METAL) ? aByproduct.mMaterial.contains(SubTag.FLAMMABLE) ? GT_OreDictUnificator.getDust(Materials.Ash, aByproduct.mAmount / 2) : aByproduct.mMaterial.contains(SubTag.UNBURNABLE) ? GT_OreDictUnificator.getDustOrIngot(aByproduct.mMaterial.mSmeltInto, aByproduct.mAmount) : null : GT_OreDictUnificator.getIngotOrDust(aByproduct.mMaterial.mSmeltInto, aByproduct.mAmount), aMaterial.mSmeltInto.getMolten((L * aMaterialAmount) / (M * aStack.stackSize)), 10000, (int) Math.max(1, (24 * aMaterialAmount) / M), Math.max(8, (int) Math.sqrt(2 * aMaterial.mSmeltInto.mStandardMoltenFluid.getTemperature())), tHide);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -161,8 +167,10 @@ public class GT_RecipeRegistrator {
|
|||
return;
|
||||
aMaterialAmount /= aStack.stackSize;
|
||||
if(aMaterial==Materials.Naquadah||aMaterial==Materials.NaquadahEnriched)return;
|
||||
|
||||
boolean tHide = (aMaterial != Materials.Iron)&&(GT_Mod.gregtechproxy.mHideRecyclingRecipes);
|
||||
if (aAllowAlloySmelter)
|
||||
GT_ModHandler.addSmeltingAndAlloySmeltingRecipe(GT_Utility.copyAmount(1, aStack), GT_OreDictUnificator.getIngot(aMaterial.mSmeltInto, aMaterialAmount));
|
||||
GT_ModHandler.addSmeltingAndAlloySmeltingRecipe(GT_Utility.copyAmount(1, aStack), GT_OreDictUnificator.getIngot(aMaterial.mSmeltInto, aMaterialAmount),tHide);
|
||||
else
|
||||
GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1, aStack), GT_OreDictUnificator.getIngot(aMaterial.mSmeltInto, aMaterialAmount));
|
||||
}
|
||||
|
@ -176,8 +184,13 @@ public class GT_RecipeRegistrator {
|
|||
aData = new ItemData(aData);
|
||||
|
||||
if (!aData.hasValidMaterialData()) return;
|
||||
boolean tIron = false;
|
||||
|
||||
|
||||
for (MaterialStack tMaterial : aData.getAllMaterialStacks()) {
|
||||
if (tMaterial.mMaterial == Materials.Iron||tMaterial.mMaterial == Materials.Copper ||
|
||||
tMaterial.mMaterial == Materials.WroughtIron||tMaterial.mMaterial == Materials.AnnealedCopper) tIron = true;
|
||||
|
||||
if (tMaterial.mMaterial.contains(SubTag.UNBURNABLE)) {
|
||||
tMaterial.mMaterial = tMaterial.mMaterial.mSmeltInto.mArcSmeltInto;
|
||||
continue;
|
||||
|
@ -204,9 +217,9 @@ public class GT_RecipeRegistrator {
|
|||
}
|
||||
|
||||
aData = new ItemData(aData);
|
||||
|
||||
if (aData.mByProducts.length > 3) for (MaterialStack tMaterial : aData.getAllMaterialStacks())
|
||||
if (aData.mByProducts.length > 3) for (MaterialStack tMaterial : aData.getAllMaterialStacks()){
|
||||
if (tMaterial.mMaterial == Materials.Ash) tMaterial.mAmount = 0;
|
||||
}
|
||||
|
||||
aData = new ItemData(aData);
|
||||
|
||||
|
@ -215,8 +228,9 @@ public class GT_RecipeRegistrator {
|
|||
long tAmount = 0;
|
||||
for (MaterialStack tMaterial : aData.getAllMaterialStacks())
|
||||
tAmount += tMaterial.mAmount * tMaterial.mMaterial.getMass();
|
||||
|
||||
RA.addArcFurnaceRecipe(aStack, new ItemStack[]{GT_OreDictUnificator.getIngotOrDust(aData.mMaterial), GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(0)), GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(1)), GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(2))}, null, (int) Math.max(16, tAmount / M), 96);
|
||||
|
||||
boolean tHide = !tIron && GT_Mod.gregtechproxy.mHideRecyclingRecipes;
|
||||
RA.addArcFurnaceRecipe(aStack, new ItemStack[]{GT_OreDictUnificator.getIngotOrDust(aData.mMaterial), GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(0)), GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(1)), GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(2))}, null, (int) Math.max(16, tAmount / M), 96, tHide);
|
||||
}
|
||||
|
||||
public static void registerReverseMacerating(ItemStack aStack, Materials aMaterial, long aMaterialAmount, MaterialStack aByProduct01, MaterialStack aByProduct02, MaterialStack aByProduct03, boolean aAllowHammer) {
|
||||
|
@ -239,8 +253,8 @@ public class GT_RecipeRegistrator {
|
|||
long tAmount = 0;
|
||||
for (MaterialStack tMaterial : aData.getAllMaterialStacks())
|
||||
tAmount += tMaterial.mAmount * tMaterial.mMaterial.getMass();
|
||||
|
||||
RA.addPulveriserRecipe(aStack, new ItemStack[]{GT_OreDictUnificator.getDust(aData.mMaterial), GT_OreDictUnificator.getDust(aData.getByProduct(0)), GT_OreDictUnificator.getDust(aData.getByProduct(1)), GT_OreDictUnificator.getDust(aData.getByProduct(2))}, null, (int) Math.max(16, tAmount / M), 4);
|
||||
boolean tHide = (aData.mMaterial.mMaterial != Materials.Iron)&&(GT_Mod.gregtechproxy.mHideRecyclingRecipes);
|
||||
RA.addPulveriserRecipe(aStack, new ItemStack[]{GT_OreDictUnificator.getDust(aData.mMaterial), GT_OreDictUnificator.getDust(aData.getByProduct(0)), GT_OreDictUnificator.getDust(aData.getByProduct(1)), GT_OreDictUnificator.getDust(aData.getByProduct(2))}, null, aData.mMaterial.mMaterial==Materials.Marble ? 1 : (int) Math.max(16, tAmount / M), 4, tHide);
|
||||
|
||||
if (aAllowHammer) for (MaterialStack tMaterial : aData.getAllMaterialStacks())
|
||||
if (tMaterial.mMaterial.contains(SubTag.CRYSTAL) && !tMaterial.mMaterial.contains(SubTag.METAL)) {
|
||||
|
|
|
@ -75,8 +75,7 @@ public class GT_Shaped_Recipe extends ShapedOreRecipe implements IGT_CraftingRec
|
|||
tStack = GT_Utility.copyAmount(1, tStack);
|
||||
if(GT_Utility.isStackValid(tStack)){
|
||||
GT_ModHandler.dischargeElectricItem(tStack, Integer.MAX_VALUE, Integer.MAX_VALUE, true, false, true);
|
||||
tNBT.setTag("Ingredient." + i, tStack.writeToNBT(new NBTTagCompound()));
|
||||
}
|
||||
tNBT.setTag("Ingredient." + i, tStack.writeToNBT(new NBTTagCompound()));}
|
||||
}
|
||||
}
|
||||
rNBT.setTag("GT.CraftingComponents", tNBT);
|
||||
|
|
|
@ -5,24 +5,26 @@ import cpw.mods.fml.common.FMLCommonHandler;
|
|||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.damagesources.GT_DamageSources;
|
||||
import gregtech.api.enchants.Enchantment_Radioactivity;
|
||||
import gregtech.api.enums.GT_Values;
|
||||
import gregtech.api.enums.ItemList;
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.enums.SubTag;
|
||||
import gregtech.api.events.BlockScanningEvent;
|
||||
import gregtech.api.interfaces.IDebugableBlock;
|
||||
import gregtech.api.interfaces.IProjectileItem;
|
||||
import gregtech.api.interfaces.tileentity.*;
|
||||
import gregtech.api.interfaces.metatileentity.*;
|
||||
import gregtech.api.items.GT_EnergyArmor_Item;
|
||||
import gregtech.api.items.GT_Generic_Item;
|
||||
import gregtech.api.net.GT_Packet_Sound;
|
||||
import gregtech.api.objects.GT_ItemStack;
|
||||
import gregtech.api.objects.ItemData;
|
||||
import gregtech.api.threads.GT_Runnable_Sound;
|
||||
import gregtech.common.GT_Proxy;
|
||||
import ic2.api.recipe.ICannerBottleRecipeManager;
|
||||
import ic2.api.recipe.IRecipeInput;
|
||||
import ic2.api.recipe.RecipeInputItemStack;
|
||||
import ic2.api.recipe.RecipeInputOreDict;
|
||||
import ic2.api.recipe.RecipeOutput;
|
||||
import ic2.api.recipe.ICannerBottleRecipeManager;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
|
@ -51,6 +53,7 @@ import net.minecraft.tileentity.TileEntityChest;
|
|||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.ChunkPosition;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.WorldServer;
|
||||
import net.minecraftforge.common.DimensionManager;
|
||||
|
@ -82,8 +85,8 @@ public class GT_Utility {
|
|||
private static final List<FluidContainerData> sFluidContainerList = new ArrayList<FluidContainerData>();
|
||||
private static final Map<GT_ItemStack, FluidContainerData> sFilledContainerToData = new HashMap<GT_ItemStack, FluidContainerData>();
|
||||
private static final Map<GT_ItemStack, Map<Fluid, FluidContainerData>> sEmptyContainerToFluidToData = new HashMap<GT_ItemStack, Map<Fluid, FluidContainerData>>();
|
||||
public static volatile int VERSION = 508;
|
||||
public static boolean TE_CHECK = false, BC_CHECK = false, CHECK_ALL = true;
|
||||
public static volatile int VERSION = 509;
|
||||
public static boolean TE_CHECK = false, BC_CHECK = false, CHECK_ALL = true, RF_CHECK = false;
|
||||
public static Map<GT_PlayedSound, Integer> sPlayedSoundMap = new HashMap<GT_PlayedSound, Integer>();
|
||||
private static int sBookCount = 0;
|
||||
|
||||
|
@ -334,6 +337,11 @@ public class GT_Utility {
|
|||
tClass.getCanonicalName();
|
||||
BC_CHECK = true;
|
||||
} catch (Throwable e) {/**/}
|
||||
try {
|
||||
Class tClass = cofh.api.energy.IEnergyReceiver.class;
|
||||
tClass.getCanonicalName();
|
||||
RF_CHECK = true;
|
||||
} catch (Throwable e) {/**/}
|
||||
CHECK_ALL = false;
|
||||
}
|
||||
}
|
||||
|
@ -803,25 +811,26 @@ public class GT_Utility {
|
|||
return copyMetaData(Items.feather.getDamage(aStack) + 1, aStack);
|
||||
return null;
|
||||
}
|
||||
|
||||
public static synchronized boolean removeIC2BottleRecipe(ItemStack aContainer, ItemStack aInput, Map<ic2.api.recipe.ICannerBottleRecipeManager.Input, RecipeOutput> aRecipeList, ItemStack aOutput){
|
||||
if ((isStackInvalid(aInput) && isStackInvalid(aOutput) && isStackInvalid(aContainer)) || aRecipeList == null) return false;
|
||||
boolean rReturn = false;
|
||||
Iterator<Map.Entry<ic2.api.recipe.ICannerBottleRecipeManager.Input, RecipeOutput>> tIterator = aRecipeList.entrySet().iterator();
|
||||
aOutput = GT_OreDictUnificator.get(aOutput);
|
||||
while (tIterator.hasNext()) {
|
||||
Map.Entry<ic2.api.recipe.ICannerBottleRecipeManager.Input, RecipeOutput> tEntry = tIterator.next();
|
||||
if (aInput == null || tEntry.getKey().matches(aContainer, aInput)) {
|
||||
List<ItemStack> tList = tEntry.getValue().items;
|
||||
if (tList != null) for (ItemStack tOutput : tList)
|
||||
if (aOutput == null || areStacksEqual(GT_OreDictUnificator.get(tOutput), aOutput)) {
|
||||
tIterator.remove();
|
||||
rReturn = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((isStackInvalid(aInput) && isStackInvalid(aOutput) && isStackInvalid(aContainer)) || aRecipeList == null) return false;
|
||||
boolean rReturn = false;
|
||||
Iterator<Map.Entry<ic2.api.recipe.ICannerBottleRecipeManager.Input, RecipeOutput>> tIterator = aRecipeList.entrySet().iterator();
|
||||
aOutput = GT_OreDictUnificator.get(aOutput);
|
||||
while (tIterator.hasNext()) {
|
||||
Map.Entry<ic2.api.recipe.ICannerBottleRecipeManager.Input, RecipeOutput> tEntry = tIterator.next();
|
||||
if (aInput == null || tEntry.getKey().matches(aContainer, aInput)) {
|
||||
List<ItemStack> tList = tEntry.getValue().items;
|
||||
if (tList != null) for (ItemStack tOutput : tList)
|
||||
if (aOutput == null || areStacksEqual(GT_OreDictUnificator.get(tOutput), aOutput)) {
|
||||
tIterator.remove();
|
||||
rReturn = true;
|
||||
break;
|
||||
}
|
||||
return rReturn;
|
||||
}
|
||||
}
|
||||
return rReturn;
|
||||
}
|
||||
|
||||
public static synchronized boolean removeSimpleIC2MachineRecipe(ItemStack aInput, Map<IRecipeInput, RecipeOutput> aRecipeList, ItemStack aOutput) {
|
||||
if ((isStackInvalid(aInput) && isStackInvalid(aOutput)) || aRecipeList == null) return false;
|
||||
|
@ -1036,33 +1045,15 @@ public class GT_Utility {
|
|||
}
|
||||
|
||||
public static boolean isOpaqueBlock(World aWorld, int aX, int aY, int aZ) {
|
||||
boolean result;
|
||||
try{
|
||||
result=aWorld.getBlock(aX, aY, aZ).isOpaqueCube();
|
||||
} catch (Throwable e) {
|
||||
result=true;
|
||||
}
|
||||
return result;
|
||||
return aWorld.getBlock(aX, aY, aZ).isOpaqueCube();
|
||||
}
|
||||
|
||||
public static boolean isBlockAir(World aWorld, int aX, int aY, int aZ) {
|
||||
boolean result;
|
||||
try{
|
||||
result=aWorld.getBlock(aX, aY, aZ).isAir(aWorld, aX, aY, aZ);
|
||||
} catch (Throwable e) {
|
||||
result=false;
|
||||
}
|
||||
return result;
|
||||
return aWorld.getBlock(aX, aY, aZ).isAir(aWorld, aX, aY, aZ);
|
||||
}
|
||||
|
||||
public static boolean hasBlockHitBox(World aWorld, int aX, int aY, int aZ) {
|
||||
boolean result;
|
||||
try{
|
||||
result=aWorld.getBlock(aX, aY, aZ).getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ) != null;
|
||||
} catch (Throwable e) {
|
||||
result=false;
|
||||
}
|
||||
return result;
|
||||
return aWorld.getBlock(aX, aY, aZ).getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ) != null;
|
||||
}
|
||||
|
||||
public static void setCoordsOnFire(World aWorld, int aX, int aY, int aZ, boolean aReplaceCenter) {
|
||||
|
@ -1331,9 +1322,6 @@ public class GT_Utility {
|
|||
return loadItem(aNBT.getCompoundTag(aTagName));
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads an ItemStack properly.
|
||||
*/
|
||||
public static FluidStack loadFluid(NBTTagCompound aNBT, String aTagName) {
|
||||
return loadFluid(aNBT.getCompoundTag(aTagName));
|
||||
}
|
||||
|
@ -1355,7 +1343,7 @@ public class GT_Utility {
|
|||
}
|
||||
|
||||
/**
|
||||
* Loads an ItemStack properly.
|
||||
* Loads an FluidStack properly.
|
||||
*/
|
||||
public static FluidStack loadFluid(NBTTagCompound aNBT) {
|
||||
if (aNBT == null) return null;
|
||||
|
@ -1516,6 +1504,47 @@ public class GT_Utility {
|
|||
return false;
|
||||
}
|
||||
|
||||
public static FluidStack getUndergroundOil(World aWorld, int aX, int aZ) {
|
||||
|
||||
|
||||
Random tRandom = new Random((aWorld.getSeed() + (aX / 96) + (7 * (aZ / 96))));
|
||||
int oil = tRandom.nextInt(3);
|
||||
double amount = tRandom.nextInt(50) + tRandom.nextDouble();
|
||||
oil = tRandom.nextInt(4);
|
||||
// System.out.println("Oil: "+(aX/96)+" "+(aZ/96)+" "+oil+" "+amount);
|
||||
// amount = 40;
|
||||
Fluid tFluid = null;
|
||||
switch (oil) {
|
||||
case 0:
|
||||
tFluid = Materials.NatruralGas.mGas;
|
||||
break;
|
||||
case 1:
|
||||
tFluid = Materials.OilLight.mFluid;
|
||||
break;
|
||||
case 2:
|
||||
tFluid = Materials.OilMedium.mFluid;
|
||||
break;
|
||||
case 3:
|
||||
tFluid = Materials.OilHeavy.mFluid;
|
||||
break;
|
||||
default:
|
||||
tFluid = Materials.Oil.mFluid;
|
||||
}
|
||||
int tAmount = (int) (Math.pow(amount, 5) / 100);
|
||||
ChunkPosition tPos = new ChunkPosition(aX/16, 1, aZ/16);
|
||||
if(GT_Proxy.chunkData.containsKey(tPos)){
|
||||
int[] tInts = GT_Proxy.chunkData.get(tPos);
|
||||
if(tInts.length>0){
|
||||
if(tInts[0]>=0){tAmount = tInts[0];}
|
||||
}
|
||||
GT_Proxy.chunkData.remove(tPos);
|
||||
}
|
||||
tAmount = tAmount - 5;
|
||||
GT_Proxy.chunkData.put(tPos, new int[]{tAmount});
|
||||
|
||||
return new FluidStack(tFluid, tAmount);
|
||||
}
|
||||
|
||||
public static int getCoordinateScan(ArrayList<String> aList, EntityPlayer aPlayer, World aWorld, int aScanLevel, int aX, int aY, int aZ, int aSide, float aClickX, float aClickY, float aClickZ) {
|
||||
if (aList == null) return 0;
|
||||
|
||||
|
@ -1703,6 +1732,11 @@ public class GT_Utility {
|
|||
if (D1) e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
if (aPlayer.capabilities.isCreativeMode&>_Values.D1) {
|
||||
FluidStack tFluid = getUndergroundOil(aWorld, aX, aZ);
|
||||
tList.add("Oil in Chunk: " + tFluid.amount + " " + tFluid.getLocalizedName());
|
||||
}
|
||||
|
||||
try {
|
||||
if (tBlock instanceof IDebugableBlock) {
|
||||
rEUAmount += 500;
|
||||
|
@ -1882,6 +1916,33 @@ public class GT_Utility {
|
|||
return tNBT.getString("author");
|
||||
}
|
||||
|
||||
public static void setProspectionData(ItemStack aStack, int aX, int aY, int aZ, int aDim, FluidStack aFluid, String[] aOres) {
|
||||
NBTTagCompound tNBT = getNBT(aStack);
|
||||
String tData = aX + "," + aY + "," + aZ + "," + aDim + "," + (aFluid.amount / 5000) + "," + aFluid.getLocalizedName() + ",";
|
||||
for (String tString : aOres) {
|
||||
tData += tString + ",";
|
||||
}
|
||||
tNBT.setString("prospection", tData);
|
||||
setNBT(aStack, tNBT);
|
||||
}
|
||||
|
||||
public static void convertProspectionData(ItemStack aStack) {
|
||||
NBTTagCompound tNBT = getNBT(aStack);
|
||||
String tData = tNBT.getString("prospection");
|
||||
String[] tDataArray = tData.split(",");
|
||||
if (tDataArray.length > 6) {
|
||||
tNBT.setString("author", "X: " + tDataArray[0] + " Y: " + tDataArray[1] + " Z: " + tDataArray[2] + " Dim: " + tDataArray[3]);
|
||||
NBTTagList tNBTList = new NBTTagList();
|
||||
String tOres = " Prospected Ores: ";
|
||||
for (int i = 6; tDataArray.length > i; i++) {
|
||||
tOres += (tDataArray[i] + " ");
|
||||
}
|
||||
tNBTList.appendTag(new NBTTagString("Prospection Data From: X" + tDataArray[0] + " Z:" + tDataArray[2] + " Dim:" + tDataArray[3] + " Produces " + tDataArray[4] + "L " + tDataArray[5] + " " + tOres));
|
||||
tNBT.setTag("pages", tNBTList);
|
||||
}
|
||||
setNBT(aStack, tNBT);
|
||||
}
|
||||
|
||||
public static void addEnchantment(ItemStack aStack, Enchantment aEnchantment, int aLevel) {
|
||||
NBTTagCompound tNBT = getNBT(aStack), tEnchantmentTag;
|
||||
if (!tNBT.hasKey("ench", 9)) tNBT.setTag("ench", new NBTTagList());
|
||||
|
@ -1988,4 +2049,4 @@ public class GT_Utility {
|
|||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -243,30 +243,6 @@ public class GT_Client extends GT_Proxy
|
|||
}
|
||||
} catch (Throwable e) {
|
||||
}
|
||||
|
||||
try {
|
||||
GT_Log.out.println("GT New Horizons: Downloading Cape List.");
|
||||
@SuppressWarnings("resource")
|
||||
Scanner tScanner = new Scanner(new URL("https://raw.githubusercontent.com/GTNewHorizons/CustomGTCapeHook-Cape-List/master/capes.txt").openStream());
|
||||
while (tScanner.hasNextLine()) {
|
||||
String tName = tScanner.nextLine();
|
||||
|
||||
if (tName.contains(":")) {
|
||||
int splitLocation = tName.indexOf(":");
|
||||
String username = tName.substring(0, splitLocation);
|
||||
if (!this.mCapeList.contains(username.toLowerCase()) && !this.mCapeList.contains(tName.toLowerCase())) {
|
||||
this.mCapeList.add(tName.toLowerCase());
|
||||
}
|
||||
} else {
|
||||
if (!this.mCapeList.contains(tName.toLowerCase())) {
|
||||
this.mCapeList.add(tName.toLowerCase());
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
GT_Log.out.println("GT_Mod: Downloading News.");
|
||||
@SuppressWarnings("resource")
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
package gregtech.common;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.DateFormat;
|
||||
import java.util.*;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.IFuelHandler;
|
||||
import cpw.mods.fml.common.Loader;
|
||||
|
@ -13,6 +17,7 @@ import cpw.mods.fml.common.network.NetworkRegistry;
|
|||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.*;
|
||||
import gregtech.api.enums.TC_Aspects.TC_AspectStack;
|
||||
import gregtech.api.interfaces.IProjectileItem;
|
||||
import gregtech.api.interfaces.internal.IGT_Mod;
|
||||
import gregtech.api.interfaces.internal.IThaumcraftCompat;
|
||||
|
@ -27,6 +32,7 @@ import gregtech.api.objects.MaterialStack;
|
|||
import gregtech.api.util.*;
|
||||
import gregtech.common.entities.GT_Entity_Arrow;
|
||||
import gregtech.common.items.GT_MetaGenerated_Tool_01;
|
||||
import gregtech.common.items.armor.*;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
@ -46,6 +52,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.world.ChunkPosition;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.WorldSettings.GameType;
|
||||
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||
|
@ -58,6 +65,7 @@ import net.minecraftforge.event.entity.player.ArrowNockEvent;
|
|||
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
||||
import net.minecraftforge.event.terraingen.OreGenEvent;
|
||||
import net.minecraftforge.event.world.BlockEvent;
|
||||
import net.minecraftforge.event.world.ChunkDataEvent;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.FluidContainerRegistry;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
|
@ -67,21 +75,17 @@ import net.minecraftforge.oredict.RecipeSorter;
|
|||
import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.DateFormat;
|
||||
import java.util.*;
|
||||
|
||||
public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
||||
private static final EnumSet<OreGenEvent.GenerateMinable.EventType> PREVENTED_ORES = EnumSet.of(OreGenEvent.GenerateMinable.EventType.COAL,
|
||||
new OreGenEvent.GenerateMinable.EventType[]{OreGenEvent.GenerateMinable.EventType.IRON, OreGenEvent.GenerateMinable.EventType.GOLD,
|
||||
OreGenEvent.GenerateMinable.EventType.DIAMOND, OreGenEvent.GenerateMinable.EventType.REDSTONE, OreGenEvent.GenerateMinable.EventType.LAPIS,
|
||||
OreGenEvent.GenerateMinable.EventType.QUARTZ});
|
||||
public final HashSet<ItemStack> mRegisteredOres = new HashSet(10000);
|
||||
public final ArrayList<String> mSoundNames = new ArrayList();
|
||||
public final ArrayList<ItemStack> mSoundItems = new ArrayList();
|
||||
public final ArrayList<Integer> mSoundCounts = new ArrayList();
|
||||
private final Collection<OreDictEventContainer> mEvents = new HashSet();
|
||||
private final Collection<String> mIgnoredItems = new HashSet(Arrays.asList(new String[]{"itemGhastTear", "itemFlint", "itemClay", "itemBucketSaltWater",
|
||||
public final HashSet<ItemStack> mRegisteredOres = new HashSet<ItemStack>(10000);
|
||||
public final ArrayList<String> mSoundNames = new ArrayList<String>();
|
||||
public final ArrayList<ItemStack> mSoundItems = new ArrayList<ItemStack>();
|
||||
public final ArrayList<Integer> mSoundCounts = new ArrayList<Integer>();
|
||||
private final Collection<OreDictEventContainer> mEvents = new HashSet<OreDictEventContainer>();
|
||||
private final Collection<String> mIgnoredItems = new HashSet<String>(Arrays.asList(new String[]{"itemGhastTear", "itemFlint", "itemClay", "itemBucketSaltWater",
|
||||
"itemBucketFreshWater", "itemBucketWater", "itemRock", "itemReed", "itemArrow", "itemSaw", "itemKnife", "itemHammer", "itemChisel", "itemRubber",
|
||||
"itemEssence", "itemIlluminatedPanel", "itemSkull", "itemRawRubber", "itemBacon", "itemJetpackAccelerator", "itemLazurite", "itemIridium",
|
||||
"itemTear", "itemClaw", "itemFertilizer", "itemTar", "itemSlimeball", "itemCoke", "itemBeeswax", "itemBeeQueen", "itemForcicium", "itemForcillium",
|
||||
|
@ -92,7 +96,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
"itemWhippingCream", "itemGlisteningWhippingCream", "itemCleaver", "itemHerbalMedicineWhippingCream", "itemStrangeWhippingCream",
|
||||
"itemBlazeCleaver", "itemBakedCakeSponge", "itemMagmaCake", "itemGlisteningCake", "itemOgreCleaver", "itemFishandPumpkinCake",
|
||||
"itemMagmaWhippingCream", "itemMultimeter", "itemSuperconductor"}));
|
||||
private final Collection<String> mIgnoredNames = new HashSet(Arrays.asList(new String[]{"grubBee", "chainLink", "candyCane", "bRedString", "bVial",
|
||||
private final Collection<String> mIgnoredNames = new HashSet<String>(Arrays.asList(new String[]{"grubBee", "chainLink", "candyCane", "bRedString", "bVial",
|
||||
"bFlask", "anorthositeSmooth", "migmatiteSmooth", "slateSmooth", "travertineSmooth", "limestoneSmooth", "orthogneissSmooth", "marbleSmooth",
|
||||
"honeyDrop", "lumpClay", "honeyEqualssugar", "flourEqualswheat", "bluestoneInsulated", "blockWaterstone", "blockSand", "blockTorch",
|
||||
"blockPumpkin", "blockClothRock", "blockStainedHardenedClay", "blockQuartzPillar", "blockQuartzChiselled", "blockSpawner", "blockCloth", "mobHead",
|
||||
|
@ -109,8 +113,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
"unfinishedTank", "valvePart", "aquaRegia", "leatherSeal", "leatherSlimeSeal", "hambone", "slimeball", "clay", "enrichedUranium", "camoPaste",
|
||||
"antiBlock", "burntQuartz", "salmonRaw", "blockHopper", "blockEnderObsidian", "blockIcestone", "blockMagicWood", "blockEnderCore", "blockHeeEndium",
|
||||
"oreHeeEndPowder", "oreHeeStardust", "oreHeeIgneousRock", "oreHeeInstabilityOrb", "crystalPureFluix", "shardNether", "gemFluorite",
|
||||
"stickObsidian", "caveCrystal", "shardCrystal", "dyeCrystal","shardFire","shardWater","shardAir","shardEarth","ingotRefinedIron","blockMarble"}));
|
||||
private final Collection<String> mInvalidNames = new HashSet(Arrays.asList(new String[]{"diamondShard", "redstoneRoot", "obsidianStick", "bloodstoneOre",
|
||||
"stickObsidian", "caveCrystal", "shardCrystal", "dyeCrystal","shardFire","shardWater","shardAir","shardEarth","ingotRefinedIron","blockMarble","ingotUnstable"}));
|
||||
private final Collection<String> mInvalidNames = new HashSet<String>(Arrays.asList(new String[]{"diamondShard", "redstoneRoot", "obsidianStick", "bloodstoneOre",
|
||||
"universalCable", "bronzeTube", "ironTube", "netherTube", "obbyTube", "infiniteBattery", "eliteBattery", "advancedBattery", "10kEUStore",
|
||||
"blueDye", "MonazitOre", "quartzCrystal", "whiteLuminiteCrystal", "darkStoneIngot", "invisiumIngot", "demoniteOrb", "enderGem", "starconiumGem",
|
||||
"osmoniumIngot", "tapaziteGem", "zectiumIngot", "foolsRubyGem", "rubyGem", "meteoriteGem", "adamiteShard", "sapphireGem", "copperIngot",
|
||||
|
@ -148,15 +152,18 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
public int mFlintChance = 30;
|
||||
public int mItemDespawnTime = 6000;
|
||||
public int mUpgradeCount = 4;
|
||||
public boolean mGTBees = true;
|
||||
private World mUniverse = null;
|
||||
private boolean isFirstServerWorldTick = true;
|
||||
private boolean mOreDictActivated = false;
|
||||
public int mWireHeatingTicks = 4;
|
||||
public int[] mHarvestLevel= new int[1000];
|
||||
public int mGraniteHavestLevel=3;
|
||||
public int mMaxHarvestLevel=7;
|
||||
public boolean mChangeHarvestLevels=false;
|
||||
|
||||
public boolean mNerfedCombs = true;
|
||||
public int mWireHeatingTicks = 4;
|
||||
public boolean mHideUnusedOres = true;
|
||||
public boolean mHideRecyclingRecipes = true;
|
||||
|
||||
public GT_Proxy() {
|
||||
GameRegistry.registerFuelHandler(this);
|
||||
|
@ -275,8 +282,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
ItemList.IC2_Item_Casing_Lead.set(GT_ModHandler.getIC2Item("casinglead", 1L));
|
||||
ItemList.IC2_Item_Casing_Steel.set(GT_ModHandler.getIC2Item("casingadviron", 1L));
|
||||
ItemList.IC2_Spray_WeedEx.set(GT_ModHandler.getIC2Item("weedEx", 1L));
|
||||
ItemList.IC2_Fuel_Can_Empty.set(GT_ModHandler.getIC2Item("fuelCan", 1L,
|
||||
GT_ModHandler.getIC2Item("fuelCanEmpty", 1L, GT_ModHandler.getIC2Item("emptyFuelCan", 1L))));
|
||||
ItemList.IC2_Fuel_Can_Empty.set(GT_ModHandler.getIC2Item("fuelCan", 1L, GT_ModHandler.getIC2Item("fuelCanEmpty", 1L, GT_ModHandler.getIC2Item("emptyFuelCan", 1L))));
|
||||
ItemList.IC2_Fuel_Can_Filled.set(GT_ModHandler.getIC2Item("filledFuelCan", 1L));
|
||||
ItemList.IC2_Mixed_Metal_Ingot.set(GT_ModHandler.getIC2Item("mixedMetalIngot", 1L));
|
||||
ItemList.IC2_Fertilizer.set(GT_ModHandler.getIC2Item("fertilizer", 1L));
|
||||
|
@ -543,7 +549,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial, 1L), tBits, new Object[]{" P ", "fPh",
|
||||
Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.ring, aMaterial, 1L), tBits,
|
||||
new Object[]{"h ", "fX", Character.valueOf('X'), OrePrefixes.stick.get(aMaterial)});
|
||||
new Object[]{"h ", " X", Character.valueOf('X'), OrePrefixes.stick.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L), tBits,
|
||||
new Object[]{"ShS", Character.valueOf('S'), OrePrefixes.stick.get(aMaterial)});
|
||||
}
|
||||
|
@ -561,6 +567,9 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.rotor, aMaterial, 1L), tBits, new Object[]{"PhP", "SRf", "PdP",
|
||||
Character.valueOf('P'), aMaterial == Materials.Wood ? OrePrefixes.plank.get(aMaterial) : OrePrefixes.plate.get(aMaterial),
|
||||
Character.valueOf('R'), OrePrefixes.ring.get(aMaterial), Character.valueOf('S'), OrePrefixes.screw.get(aMaterial)});
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, aMaterial, 1L), Materials.Tin.getMolten(32), GT_OreDictUnificator.get(OrePrefixes.rotor, aMaterial, 1L), 240, 24);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, aMaterial, 1L), Materials.Lead.getMolten(48), GT_OreDictUnificator.get(OrePrefixes.rotor, aMaterial, 1L), 240, 24);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, aMaterial, 1L), Materials.SolderingAlloy.getMolten(16), GT_OreDictUnificator.get(OrePrefixes.rotor, aMaterial, 1L), 240, 24);
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L), tBits,
|
||||
new Object[]{"sf", "G ", Character.valueOf('G'), OrePrefixes.gemFlawless.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 2L), tBits,
|
||||
|
@ -624,8 +633,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
Character.valueOf('P'), OrePrefixes.stoneSmooth});
|
||||
break;
|
||||
default:
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, aMaterial, 1L), tBits, new Object[]{" S ", "hPx"," S ",
|
||||
Character.valueOf('S'), OrePrefixes.stick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, aMaterial, 1L), tBits,
|
||||
new Object[]{"P ", aMaterial.contains(SubTag.WOOD) ? " s" : " h", Character.valueOf('P'), OrePrefixes.plate.get(aMaterial)});
|
||||
}
|
||||
switch (aMaterial) {
|
||||
case Wood:
|
||||
|
@ -1114,21 +1123,14 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
tReRegisteredMaterial = (Materials) i$.next();
|
||||
}
|
||||
aMaterial.add(GT_Utility.copyAmount(1L, new Object[]{aEvent.Ore}));
|
||||
if ((GregTech_API.sThaumcraftCompat != null) && (aPrefix.doGenerateItem(aMaterial)) && (!aPrefix.isIgnored(aMaterial))) {
|
||||
long tAmount = aPrefix.mMaterialAmount < 0L ? 3628800L : aPrefix.mMaterialAmount;
|
||||
List<TC_Aspects.TC_AspectStack> tAspects = new ArrayList();
|
||||
TC_Aspects.TC_AspectStack tAspect;
|
||||
for (Iterator i$ = aPrefix.mAspects.iterator(); i$.hasNext(); tAspect.addToAspectList(tAspects)) {
|
||||
tAspect = (TC_Aspects.TC_AspectStack) i$.next();
|
||||
}
|
||||
tAspect = null;
|
||||
for (Iterator i$ = aMaterial.mAspects.iterator(); i$.hasNext(); tAspect.copy(tAspect.mAmount * tAmount / 3628800L)
|
||||
.addToAspectList(tAspects)) {
|
||||
tAspect = (TC_Aspects.TC_AspectStack) i$.next();
|
||||
}
|
||||
GregTech_API.sThaumcraftCompat.registerThaumcraftAspectsToItem(GT_Utility.copyAmount(1L, new Object[]{aEvent.Ore}),
|
||||
tAspects, aEvent.Name);
|
||||
}
|
||||
|
||||
if (GregTech_API.sThaumcraftCompat != null && aPrefix.doGenerateItem(aMaterial) && !aPrefix.isIgnored(aMaterial)) {
|
||||
List<TC_AspectStack> tAspects = new ArrayList<TC_AspectStack>();
|
||||
for (TC_AspectStack tAspect : aPrefix.mAspects) tAspect.addToAspectList(tAspects);
|
||||
if (aPrefix.mMaterialAmount >= 3628800 || aPrefix.mMaterialAmount < 0) for (TC_AspectStack tAspect : aMaterial.mAspects) tAspect.addToAspectList(tAspects);
|
||||
GregTech_API.sThaumcraftCompat.registerThaumcraftAspectsToItem(GT_Utility.copyAmount(1, aEvent.Ore), tAspects, aEvent.Name);
|
||||
}
|
||||
|
||||
switch (aPrefix) {
|
||||
case crystal:
|
||||
if ((aMaterial == Materials.CertusQuartz) || (aMaterial == Materials.NetherQuartz) || (aMaterial == Materials.Fluix)) {
|
||||
|
@ -1511,6 +1513,19 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
}
|
||||
|
||||
public Object getServerGuiElement(int aID, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ) {
|
||||
if(aID>=1000){
|
||||
int ID = aID-1000;
|
||||
switch(ID){
|
||||
case 0:
|
||||
return new ContainerBasicArmor(aPlayer, new InventoryArmor(ModularArmor_Item.class, aPlayer.getCurrentEquippedItem()));
|
||||
case 1:
|
||||
return new ContainerElectricArmor1(aPlayer, new InventoryArmor(ModularArmor_Item.class, aPlayer.getCurrentEquippedItem()));
|
||||
case 2:
|
||||
return new ContainerElectricArmor1(aPlayer, new InventoryArmor(ModularArmor_Item.class, aPlayer.getCurrentEquippedItem()));
|
||||
default:
|
||||
return getRightItem(aPlayer, ID);
|
||||
}
|
||||
}
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
|
||||
if ((tTileEntity instanceof IGregTechTileEntity)) {
|
||||
IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity();
|
||||
|
@ -1521,7 +1536,36 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
return null;
|
||||
}
|
||||
|
||||
public Object getRightItem(EntityPlayer player, int ID){
|
||||
ItemStack mStack = player.getEquipmentInSlot(ID/100);
|
||||
if(mStack==null||!(mStack.getItem() instanceof ModularArmor_Item))return null;
|
||||
|
||||
switch(ID % 100){
|
||||
case 0:
|
||||
return new ContainerBasicArmor(player, new InventoryArmor(ModularArmor_Item.class, mStack));
|
||||
case 1:
|
||||
return new ContainerElectricArmor1(player, new InventoryArmor(ModularArmor_Item.class, mStack));
|
||||
case 2:
|
||||
return new ContainerElectricArmor1(player, new InventoryArmor(ModularArmor_Item.class, mStack));
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
public Object getClientGuiElement(int aID, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ) {
|
||||
if(aID>=1000){
|
||||
int ID = aID-1000;
|
||||
switch(ID){
|
||||
case 0:
|
||||
return new GuiModularArmor(new ContainerBasicArmor(aPlayer, new InventoryArmor(ModularArmor_Item.class, aPlayer.getCurrentEquippedItem())), aPlayer);
|
||||
case 1:
|
||||
return new GuiElectricArmor1(new ContainerElectricArmor1(aPlayer, new InventoryArmor(ModularArmor_Item.class, aPlayer.getCurrentEquippedItem())), aPlayer);
|
||||
case 2:
|
||||
return new GuiElectricArmor1(new ContainerElectricArmor1(aPlayer, new InventoryArmor(ModularArmor_Item.class, aPlayer.getCurrentEquippedItem())), aPlayer);
|
||||
default:
|
||||
return getRightItemGui(aPlayer, ID);
|
||||
}
|
||||
}
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
|
||||
if ((tTileEntity instanceof IGregTechTileEntity)) {
|
||||
IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity();
|
||||
|
@ -1532,6 +1576,22 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
return null;
|
||||
}
|
||||
|
||||
public Object getRightItemGui(EntityPlayer player, int ID){
|
||||
ItemStack mStack = player.getEquipmentInSlot(ID/100);
|
||||
if(mStack==null||!(mStack.getItem() instanceof ModularArmor_Item))return null;
|
||||
|
||||
switch(ID % 100){
|
||||
case 0:
|
||||
return new GuiModularArmor(new ContainerBasicArmor(player, new InventoryArmor(ModularArmor_Item.class, mStack)),player);
|
||||
case 1:
|
||||
return new GuiElectricArmor1(new ContainerElectricArmor1(player, new InventoryArmor(ModularArmor_Item.class, mStack)), player);
|
||||
case 2:
|
||||
return new GuiElectricArmor1(new ContainerElectricArmor1(player, new InventoryArmor(ModularArmor_Item.class, mStack)), player);
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
public int getBurnTime(ItemStack aFuel) {
|
||||
if ((aFuel == null) || (aFuel.getItem() == null)) {
|
||||
return 0;
|
||||
|
@ -1594,7 +1654,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
rFuelValue = (short) Math.max(rFuelValue, 6000);
|
||||
}
|
||||
if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustCaesium")) {
|
||||
rFuelValue = (short) Math.max(rFuelValue, 6000);
|
||||
rFuelValue = (short) Math.max(rFuelValue, 6000);
|
||||
}
|
||||
if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustSmallCaesium")) {
|
||||
rFuelValue = (short) Math.max(rFuelValue, 2000);
|
||||
|
@ -1615,10 +1675,10 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
rFuelValue = (short) Math.max(rFuelValue, 1200);
|
||||
}
|
||||
if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustSmallLignite")) {
|
||||
rFuelValue = (short) Math.max(rFuelValue, 300);
|
||||
rFuelValue = (short) Math.max(rFuelValue, 375);
|
||||
}
|
||||
if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustTinyLignite")) {
|
||||
rFuelValue = (short) Math.max(rFuelValue, 132);
|
||||
rFuelValue = (short) Math.max(rFuelValue, 166);
|
||||
}
|
||||
if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "gemCoal")) {
|
||||
rFuelValue = (short) Math.max(rFuelValue, 1600);
|
||||
|
@ -1665,6 +1725,9 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustTinyWood")) {
|
||||
rFuelValue = (short) Math.max(rFuelValue, 11);
|
||||
}
|
||||
if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "plateWood")) {
|
||||
rFuelValue = (short) Math.min(rFuelValue, 300);
|
||||
}
|
||||
if (GT_Utility.areStacksEqual(aFuel, new ItemStack(Blocks.wooden_button, 1))) {
|
||||
rFuelValue = (short) Math.max(rFuelValue, 150);
|
||||
}
|
||||
|
@ -1685,11 +1748,6 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
aMaterial.mMoltenRGBa, 4, aMaterial.mMeltingPoint <= 0 ? 1000 : aMaterial.mMeltingPoint, null, null, 0);
|
||||
}
|
||||
|
||||
public Fluid addAutogeneratedWetFluid(Materials aMaterial) {
|
||||
return addFluid("wet." + aMaterial.name().toLowerCase(), "wet.autogenerated", "Wet " + aMaterial.mDefaultLocalName, aMaterial,
|
||||
aMaterial.mMoltenRGBa, 4, aMaterial.mMeltingPoint <= 0 ? 1000 : aMaterial.mMeltingPoint, GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
|
||||
}
|
||||
|
||||
public Fluid addAutogeneratedPlasmaFluid(Materials aMaterial) {
|
||||
return addFluid("plasma." + aMaterial.name().toLowerCase(), "plasma.autogenerated", aMaterial.mDefaultLocalName + " Plasma", aMaterial,
|
||||
aMaterial.mMoltenRGBa, 3, 10000, GT_OreDictUnificator.get(OrePrefixes.cellPlasma, aMaterial, 1L), ItemList.Cell_Empty.get(1L, new Object[0]),
|
||||
|
@ -1807,6 +1865,9 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
} else if (tOre.mModID != null && tOre.mModID.toLowerCase().equals("appliedenergistics2") && tOre.mPrefix == OrePrefixes.dust && tOre.mMaterial == Materials.CertusQuartz) {
|
||||
GT_OreDictUnificator.addAssociation(tOre.mPrefix, tOre.mMaterial, tOre.mEvent.Ore, false);
|
||||
GT_OreDictUnificator.set(tOre.mPrefix, tOre.mMaterial, tOre.mEvent.Ore, (tOre.mModID != null) && (GregTech_API.sUnification.get(ConfigCategories.specialunificationtargets + "." + tOre.mModID, tOre.mEvent.Name, true)), true);
|
||||
} else if (tOre.mModID != null && tOre.mModID.toLowerCase().equals(GT_Values.MOD_ID_TC) && tOre.mPrefix == OrePrefixes.block && tOre.mMaterial == Materials.Thaumium) {
|
||||
GT_OreDictUnificator.addAssociation(tOre.mPrefix, tOre.mMaterial, tOre.mEvent.Ore, false);
|
||||
GT_OreDictUnificator.set(tOre.mPrefix, tOre.mMaterial, tOre.mEvent.Ore, (tOre.mModID != null) && (GregTech_API.sUnification.get(ConfigCategories.specialunificationtargets + "." + tOre.mModID, tOre.mEvent.Name, true)), true);
|
||||
} else if (GT_OreDictUnificator.isBlacklisted(tOre.mEvent.Ore)) {
|
||||
GT_OreDictUnificator.addAssociation(tOre.mPrefix, tOre.mMaterial, tOre.mEvent.Ore, true);
|
||||
} else {
|
||||
|
@ -1840,6 +1901,29 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
}
|
||||
}
|
||||
|
||||
public static final HashMap<ChunkPosition, int[]> chunkData = new HashMap<ChunkPosition, int[]>(5000);
|
||||
|
||||
@SubscribeEvent
|
||||
public void handleChunkSaveEvent(ChunkDataEvent.Save event)
|
||||
{
|
||||
ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,1,event.getChunk().zPosition);
|
||||
if(chunkData.containsKey(tPos)){
|
||||
int[] tInts = chunkData.get(tPos);
|
||||
if(tInts.length>0){event.getData().setInteger("GTOIL", tInts[0]);}}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void handleChunkLoadEvent(ChunkDataEvent.Load event)
|
||||
{
|
||||
int tOil = -1;
|
||||
if(event.getData().hasKey("GTOIL")){
|
||||
tOil = event.getData().getInteger("GTOIL");}
|
||||
ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,1,event.getChunk().zPosition);
|
||||
if(chunkData.containsKey(tPos)){
|
||||
chunkData.remove(tPos);}
|
||||
chunkData.put(tPos, new int[]{ tOil});
|
||||
}
|
||||
|
||||
public static class OreDictEventContainer {
|
||||
public final OreDictionary.OreRegisterEvent mEvent;
|
||||
public final OrePrefixes mPrefix;
|
||||
|
|
|
@ -8,6 +8,7 @@ import gregtech.api.enums.OrePrefixes;
|
|||
import gregtech.api.interfaces.internal.IGT_RecipeAdder;
|
||||
import gregtech.api.util.GT_ModHandler;
|
||||
import gregtech.api.util.GT_Recipe;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
@ -68,6 +69,10 @@ public class GT_RecipeAdder
|
|||
}
|
||||
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration) {
|
||||
return addChemicalRecipe(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput, aDuration, 30);
|
||||
}
|
||||
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUtick) {
|
||||
if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput == null) && (aFluidOutput == null))) {
|
||||
return false;
|
||||
}
|
||||
|
@ -77,7 +82,10 @@ public class GT_RecipeAdder
|
|||
if ((aFluidOutput != null) && ((aDuration = GregTech_API.sRecipeFile.get("chemicalreactor", aFluidOutput.getFluid().getName(), aDuration)) <= 0)) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sChemicalRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2}, new ItemStack[]{aOutput}, null, null, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, 30, 0);
|
||||
if (aEUtick <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sChemicalRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2}, new ItemStack[]{aOutput}, null, null, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUtick, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -106,8 +114,13 @@ public class GT_RecipeAdder
|
|||
new GT_Recipe(aInput1, aEUt, aInput2, aDuration, aOutput1, aOutput2);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt) {
|
||||
return addAlloySmelterRecipe(aInput1, aInput2, aOutput1, aDuration, aEUt, false);
|
||||
}
|
||||
|
||||
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt) {
|
||||
public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt, boolean hidden) {
|
||||
if ((aInput1 == null) || (aOutput1 == null || Materials.Graphite.contains(aInput1))) {
|
||||
return false;
|
||||
}
|
||||
|
@ -117,7 +130,10 @@ public class GT_RecipeAdder
|
|||
if ((aDuration = GregTech_API.sRecipeFile.get("alloysmelting", aInput2 == null ? aInput1 : aOutput1, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
new GT_Recipe(aInput1, aInput2, aEUt, aDuration, aOutput1);
|
||||
GT_Recipe tRecipe =new GT_Recipe(aInput1, aInput2, aEUt, aDuration, aOutput1);
|
||||
if ((hidden) && (tRecipe != null)) {
|
||||
tRecipe.mHidden = true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -250,7 +266,21 @@ public class GT_RecipeAdder
|
|||
if ((aInput2 = GregTech_API.sRecipeFile.get("implosion", aInput1, aInput2)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2);
|
||||
int tExplosives = aInput2 > 0 ? aInput2 < 64 ? aInput2 : 64 : 1;
|
||||
int tGunpowder = tExplosives * 2;
|
||||
int tDynamite = tExplosives * 4;
|
||||
int tTNT = Math.max(1, tExplosives/2);
|
||||
int tITNT = Math.max(1, tExplosives/4);
|
||||
//new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2);
|
||||
if(tGunpowder<65){
|
||||
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, ItemList.Block_Powderbarrel.get(tGunpowder, new Object[0])}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
||||
}
|
||||
if(tDynamite<17){
|
||||
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, GT_ModHandler.getIC2Item("dynamite", tDynamite, null)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, new ItemStack(Blocks.tnt,tTNT)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
||||
GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, GT_ModHandler.getIC2Item("industrialTnt", tITNT, null)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -267,6 +297,31 @@ public class GT_RecipeAdder
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt) {
|
||||
if (aOutputs.length > 0) {
|
||||
addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 0L, new Object[0]), aInput, aOutputs[0], aDuration * 2, aEUt / 4, false);
|
||||
}
|
||||
if (aOutputs.length > 1) {
|
||||
addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 1L, new Object[0]), aInput, aOutputs[1], aDuration * 2, aEUt / 4, false);
|
||||
}
|
||||
if (aOutputs.length > 2) {
|
||||
addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 2L, new Object[0]), aInput, aOutputs[2], aDuration * 2, aEUt / 4, false);
|
||||
}
|
||||
if (aOutputs.length > 3) {
|
||||
addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 3L, new Object[0]), aInput, aOutputs[3], aDuration * 2, aEUt / 4, false);
|
||||
}
|
||||
if (aOutputs.length > 4) {
|
||||
addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 4L, new Object[0]), aInput, aOutputs[4], aDuration * 2, aEUt / 4, false);
|
||||
}
|
||||
if (aOutputs.length > 5) {
|
||||
addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 5L, new Object[0]), aInput, aOutputs[5], aDuration * 2, aEUt / 4, false);
|
||||
}
|
||||
|
||||
return addDistillationTowerRecipe(aInput, aOutputs, aOutput2, aDuration, aEUt);
|
||||
}
|
||||
|
||||
public boolean addDistillationTowerRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt) {
|
||||
if (aInput == null || aOutputs == null || aOutputs.length < 1 || aOutputs.length > 5) {
|
||||
return false;
|
||||
|
@ -411,15 +466,19 @@ public class GT_RecipeAdder
|
|||
if (aInput.isFluidEqual(Materials.PhasedIron.getMolten(144))) {
|
||||
aInput = Materials.PulsatingIron.getMolten(aInput.amount);
|
||||
}
|
||||
|
||||
if ((aDuration = GregTech_API.sRecipeFile.get("fluidsolidifier", aOutput, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes.addRecipe(true, new ItemStack[]{aMold}, new ItemStack[]{aOutput}, null, new FluidStack[]{aInput}, null, aDuration, aEUt, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt) {
|
||||
return addFluidSmelterRecipe(aInput, aRemains, aOutput, aChance, aDuration, aEUt, false);
|
||||
}
|
||||
|
||||
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt) {
|
||||
public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, int aEUt, boolean hidden) {
|
||||
if ((aInput == null) || (aOutput == null)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -432,7 +491,10 @@ public class GT_RecipeAdder
|
|||
if ((aDuration = GregTech_API.sRecipeFile.get("fluidsmelter", aInput, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(true, new ItemStack[]{aInput}, new ItemStack[]{aRemains}, null, new int[]{aChance}, null, new FluidStack[]{aOutput}, aDuration, aEUt, 0);
|
||||
GT_Recipe tRecipe =GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(true, new ItemStack[]{aInput}, new ItemStack[]{aRemains}, null, new int[]{aChance}, null, new FluidStack[]{aOutput}, aDuration, aEUt, 0);
|
||||
if ((hidden) && (tRecipe != null)) {
|
||||
tRecipe.mHidden = true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -449,7 +511,6 @@ public class GT_RecipeAdder
|
|||
if ((aDuration = GregTech_API.sRecipeFile.get("fluidextractor", aInput, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(true, new ItemStack[]{aInput}, new ItemStack[]{aRemains}, null, new int[]{aChance}, null, new FluidStack[]{aOutput}, aDuration, aEUt, 0);
|
||||
return true;
|
||||
}
|
||||
|
@ -574,8 +635,14 @@ public class GT_RecipeAdder
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt) {
|
||||
@Override
|
||||
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt) {
|
||||
return addArcFurnaceRecipe(aInput, aOutputs, aChances, aDuration, aEUt, false);
|
||||
}
|
||||
|
||||
public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean hidden) {
|
||||
if ((aInput == null) || (aOutputs == null)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -584,11 +651,17 @@ public class GT_RecipeAdder
|
|||
if ((aDuration = GregTech_API.sRecipeFile.get("arcfurnace", aInput, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, new FluidStack[]{Materials.Oxygen.getGas(aDuration)}, null, Math.max(1, aDuration), Math.max(1, aEUt), 0);
|
||||
GT_Recipe sRecipe = GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, new FluidStack[]{Materials.Oxygen.getGas(aDuration)}, null, Math.max(1, aDuration), Math.max(1, aEUt), 0);
|
||||
if ((hidden) && (sRecipe != null)) {
|
||||
sRecipe.mHidden = true;
|
||||
}
|
||||
for (Materials tMaterial : new Materials[]{Materials.Argon, Materials.Nitrogen}) {
|
||||
if (tMaterial.mPlasma != null) {
|
||||
int tPlasmaAmount = (int) Math.max(1L, aDuration / (tMaterial.getMass() * 16L));
|
||||
GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, new FluidStack[]{tMaterial.getPlasma(tPlasmaAmount)}, new FluidStack[]{tMaterial.getGas(tPlasmaAmount)}, Math.max(1, aDuration / 16), Math.max(1, aEUt / 3), 0);
|
||||
GT_Recipe tRecipe =GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, new FluidStack[]{tMaterial.getPlasma(tPlasmaAmount)}, new FluidStack[]{tMaterial.getGas(tPlasmaAmount)}, Math.max(1, aDuration / 16), Math.max(1, aEUt / 3), 0);
|
||||
if ((hidden) && (tRecipe != null)) {
|
||||
tRecipe.mHidden = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
@ -644,8 +717,14 @@ public class GT_RecipeAdder
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt) {
|
||||
@Override
|
||||
public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt) {
|
||||
return addPulveriserRecipe(aInput, aOutputs, aChances, aDuration, aEUt, false);
|
||||
}
|
||||
|
||||
public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean hidden) {
|
||||
if ((aInput == null) || (aOutputs == null)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -654,7 +733,10 @@ public class GT_RecipeAdder
|
|||
if ((aDuration = GregTech_API.sRecipeFile.get("pulveriser", aInput, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sMaceratorRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, null, null, aDuration, aEUt, 0);
|
||||
GT_Recipe tRecipe =GT_Recipe.GT_Recipe_Map.sMaceratorRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutputs, null, aChances, null, null, aDuration, aEUt, 0);
|
||||
if ((hidden) && (tRecipe != null)) {
|
||||
tRecipe.mHidden = true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -662,7 +744,33 @@ public class GT_RecipeAdder
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean addAssemblylineRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt) {
|
||||
public boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, FluidStack aFluidOutput, int aDuration, int aEUt) {
|
||||
if (aInput == null) {
|
||||
return false;
|
||||
}
|
||||
if ((aDuration = GregTech_API.sRecipeFile.get("pyrolyse", aInput, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sPyrolyseRecipes.addRecipe(false, new ItemStack[]{aInput, ItemList.Circuit_Integrated.getWithDamage(0L, intCircuit, new Object[0])}, new ItemStack[]{aOutput}, null, null, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addCrackingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt) {
|
||||
if ((aInput == null) || (aOutput == null)) {
|
||||
return false;
|
||||
}
|
||||
if ((aDuration = GregTech_API.sRecipeFile.get("cracking", aInput.getUnlocalizedName(), aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sCrakingRecipes.addRecipe(true, null, null, null, null, new FluidStack[]{aInput}, new FluidStack[]{aOutput}, aDuration, aEUt, 0);
|
||||
GT_Recipe.GT_Recipe_Map.sCrakingRecipes.addRecipe(true, null, null, null, null, new FluidStack[]{aInput, GT_ModHandler.getSteam(aInput.amount)}, new FluidStack[]{aOutput, Materials.Hydrogen.getGas(aInput.amount)}, aDuration, aEUt, 0);
|
||||
GT_Recipe.GT_Recipe_Map.sCrakingRecipes.addRecipe(true, null, null, null, null, new FluidStack[]{aInput, Materials.Hydrogen.getGas(aInput.amount)}, new FluidStack[]{new FluidStack(aOutput.getFluid(), (int) (aOutput.amount * 1.3))}, aDuration, aEUt, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAssemblylineRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt) {
|
||||
if ((aInputs == null) || (aOutput1 == null) || aInputs.length>15 || aInputs.length<4) {
|
||||
return false;
|
||||
}
|
||||
|
@ -671,17 +779,20 @@ public class GT_RecipeAdder
|
|||
}
|
||||
String tRecipe = "";
|
||||
for(ItemStack sStack: aInputs){
|
||||
tRecipe += sStack.getItem().getItemStackDisplayName(sStack)+" x"+sStack.stackSize+"; ";
|
||||
tRecipe += sStack.getItem().getItemStackDisplayName(sStack)+" x"+sStack.stackSize+"; ";
|
||||
}
|
||||
|
||||
|
||||
for(FluidStack sStack: aFluidInputs){
|
||||
tRecipe += sStack.getLocalizedName()+" "+sStack.amount+"L; ";
|
||||
tRecipe += sStack.getLocalizedName()+" "+sStack.amount+"L; ";
|
||||
}
|
||||
|
||||
|
||||
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "tRecipe", new Object[0])}, new ItemStack[]{aOutput1}, null, null, null, aDuration, aEUt, 0);
|
||||
|
||||
|
||||
GT_Recipe.GT_Recipe_Map.sAssemblylineRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, aFluidInputs, null, aDuration, aEUt, 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ public class GT_ThaumcraftCompat
|
|||
TC_Aspects.BESTIA.mAspect = Aspect.BEAST;
|
||||
TC_Aspects.COGNITIO.mAspect = Aspect.MIND;
|
||||
TC_Aspects.CORPUS.mAspect = Aspect.FLESH;
|
||||
TC_Aspects.EXAMINIS.mAspect = Aspect.UNDEAD;
|
||||
TC_Aspects.EXANIMIS.mAspect = Aspect.UNDEAD;
|
||||
TC_Aspects.FABRICO.mAspect = Aspect.CRAFT;
|
||||
TC_Aspects.FAMES.mAspect = Aspect.HUNGER;
|
||||
TC_Aspects.GELUM.mAspect = Aspect.COLD;
|
||||
|
|
|
@ -28,12 +28,14 @@ public class GT_Worldgen_GT_Ore_Layer
|
|||
public final boolean mOverworld;
|
||||
public final boolean mNether;
|
||||
public final boolean mEnd;
|
||||
public final boolean mEndAsteroid;
|
||||
|
||||
public GT_Worldgen_GT_Ore_Layer(String aName, boolean aDefault, int aMinY, int aMaxY, int aWeight, int aDensity, int aSize, boolean aOverworld, boolean aNether, boolean aEnd, Materials aPrimary, Materials aSecondary, Materials aBetween, Materials aSporadic) {
|
||||
super(aName, sList, aDefault);
|
||||
this.mOverworld = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Overworld", aOverworld);
|
||||
this.mNether = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Nether", aNether);
|
||||
this.mEnd = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "TheEnd", aEnd);
|
||||
this.mEndAsteroid = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "EndAsteroid", aEnd);
|
||||
this.mMinY = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MinHeight", aMinY));
|
||||
this.mMaxY = ((short) Math.max(this.mMinY + 5, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MaxHeight", aMaxY)));
|
||||
this.mWeight = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "RandomWeight", aWeight));
|
||||
|
@ -44,10 +46,10 @@ public class GT_Worldgen_GT_Ore_Layer
|
|||
this.mBetweenMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "OreSporadiclyInbetween", aBetween.mMetaItemSubID));
|
||||
this.mSporadicMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "OreSporaticlyAround", aSporadic.mMetaItemSubID));
|
||||
if (this.mEnabled) {
|
||||
GT_Achievements.registerOre(aPrimary, aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd);
|
||||
GT_Achievements.registerOre(aSecondary, aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd);
|
||||
GT_Achievements.registerOre(aBetween, aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd);
|
||||
GT_Achievements.registerOre(aSporadic, aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd);
|
||||
GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mPrimaryMeta % 1000)], aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd);
|
||||
GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mSecondaryMeta % 1000)], aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd);
|
||||
GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mBetweenMeta % 1000)], aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd);
|
||||
GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mSporadicMeta % 1000)], aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd);
|
||||
sWeight += this.mWeight;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,9 @@ import cpw.mods.fml.common.registry.GameRegistry;
|
|||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.util.GT_Log;
|
||||
import gregtech.api.world.GT_Worldgen;
|
||||
import gregtech.common.blocks.GT_TileEntity_Ores;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
|
@ -19,10 +22,20 @@ import java.util.Random;
|
|||
public class GT_Worldgenerator
|
||||
implements IWorldGenerator {
|
||||
public static boolean sAsteroids = true;
|
||||
private static int mEndAsteroidProbability = 300;
|
||||
private static int mSize = 100;
|
||||
private static int endMinSize = 50;
|
||||
private static int endMaxSize = 200;
|
||||
private static boolean endAsteroids = true;
|
||||
public List<Runnable> mList = new ArrayList();
|
||||
public boolean mIsGenerating = false;
|
||||
|
||||
|
||||
public GT_Worldgenerator() {
|
||||
endAsteroids = GregTech_API.sWorldgenFile.get("endasteroids", "GenerateAsteroids", true);
|
||||
endMinSize = GregTech_API.sWorldgenFile.get("endasteroids", "AsteroidMinSize", 50);
|
||||
endMaxSize = GregTech_API.sWorldgenFile.get("endasteroids", "AsteroidMaxSize", 200);
|
||||
mEndAsteroidProbability = GregTech_API.sWorldgenFile.get("endasteroids", "AsteroidProbability", 300);
|
||||
GameRegistry.registerWorldGenerator(this, 1073741823);
|
||||
}
|
||||
|
||||
|
@ -74,10 +87,10 @@ public class GT_Worldgenerator
|
|||
if (tWorldGen.executeWorldgen(this.mWorld, this.mRandom, this.mBiome, this.mDimensionType, this.mX, this.mZ, this.mChunkGenerator, this.mChunkProvider)) {
|
||||
temp = false;
|
||||
}
|
||||
break;
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -102,6 +115,97 @@ public class GT_Worldgenerator
|
|||
i++;
|
||||
}
|
||||
}
|
||||
//Asteroid Worldgen
|
||||
int tDimensionType = this.mWorld.provider.dimensionId;
|
||||
Random aRandom = new Random();
|
||||
if (((tDimensionType == 1) && endAsteroids && ((mEndAsteroidProbability <= 1) || (aRandom.nextInt(mEndAsteroidProbability) == 0)))) {
|
||||
short primaryMeta = 0;
|
||||
short secondaryMeta = 0;
|
||||
short betweenMeta = 0;
|
||||
short sporadicMeta = 0;
|
||||
if ((GT_Worldgen_GT_Ore_Layer.sWeight > 0) && (GT_Worldgen_GT_Ore_Layer.sList.size() > 0)) {
|
||||
boolean temp = true;
|
||||
int tRandomWeight;
|
||||
for (int i = 0; (i < 256) && (temp); i++) {
|
||||
tRandomWeight = aRandom.nextInt(GT_Worldgen_GT_Ore_Layer.sWeight);
|
||||
for (GT_Worldgen_GT_Ore_Layer tWorldGen : GT_Worldgen_GT_Ore_Layer.sList) {
|
||||
tRandomWeight -= ((GT_Worldgen_GT_Ore_Layer) tWorldGen).mWeight;
|
||||
if (tRandomWeight <= 0) {
|
||||
try {
|
||||
if (tWorldGen.mEndAsteroid && tDimensionType == 1) {
|
||||
primaryMeta = tWorldGen.mPrimaryMeta;
|
||||
secondaryMeta = tWorldGen.mSecondaryMeta;
|
||||
betweenMeta = tWorldGen.mBetweenMeta;
|
||||
sporadicMeta = tWorldGen.mSporadicMeta;
|
||||
temp = false;
|
||||
break;
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int tX = mX + aRandom.nextInt(16);
|
||||
int tY = 50 + aRandom.nextInt(200 - 50);
|
||||
int tZ = mZ + aRandom.nextInt(16);
|
||||
if (tDimensionType == 1) {
|
||||
mSize = aRandom.nextInt((int) (endMaxSize - endMinSize));
|
||||
}
|
||||
if ((mWorld.getBlock(tX, tY, tZ).isAir(mWorld, tX, tY, tZ))) {
|
||||
float var6 = aRandom.nextFloat() * 3.141593F;
|
||||
double var7 = tX + 8 + MathHelper.sin(var6) * mSize / 8.0F;
|
||||
double var9 = tX + 8 - MathHelper.sin(var6) * mSize / 8.0F;
|
||||
double var11 = tZ + 8 + MathHelper.cos(var6) * mSize / 8.0F;
|
||||
double var13 = tZ + 8 - MathHelper.cos(var6) * mSize / 8.0F;
|
||||
double var15 = tY + aRandom.nextInt(3) - 2;
|
||||
double var17 = tY + aRandom.nextInt(3) - 2;
|
||||
for (int var19 = 0; var19 <= mSize; var19++) {
|
||||
double var20 = var7 + (var9 - var7) * var19 / mSize;
|
||||
double var22 = var15 + (var17 - var15) * var19 / mSize;
|
||||
double var24 = var11 + (var13 - var11) * var19 / mSize;
|
||||
double var26 = aRandom.nextDouble() * mSize / 16.0D;
|
||||
double var28 = (MathHelper.sin(var19 * 3.141593F / mSize) + 1.0F) * var26 + 1.0D;
|
||||
double var30 = (MathHelper.sin(var19 * 3.141593F / mSize) + 1.0F) * var26 + 1.0D;
|
||||
int tMinX = MathHelper.floor_double(var20 - var28 / 2.0D);
|
||||
int tMinY = MathHelper.floor_double(var22 - var30 / 2.0D);
|
||||
int tMinZ = MathHelper.floor_double(var24 - var28 / 2.0D);
|
||||
int tMaxX = MathHelper.floor_double(var20 + var28 / 2.0D);
|
||||
int tMaxY = MathHelper.floor_double(var22 + var30 / 2.0D);
|
||||
int tMaxZ = MathHelper.floor_double(var24 + var28 / 2.0D);
|
||||
for (int eX = tMinX; eX <= tMaxX; eX++) {
|
||||
double var39 = (eX + 0.5D - var20) / (var28 / 2.0D);
|
||||
if (var39 * var39 < 1.0D) {
|
||||
for (int eY = tMinY; eY <= tMaxY; eY++) {
|
||||
double var42 = (eY + 0.5D - var22) / (var30 / 2.0D);
|
||||
if (var39 * var39 + var42 * var42 < 1.0D) {
|
||||
for (int eZ = tMinZ; eZ <= tMaxZ; eZ++) {
|
||||
double var45 = (eZ + 0.5D - var24) / (var28 / 2.0D);
|
||||
if ((var39 * var39 + var42 * var42 + var45 * var45 < 1.0D) && (mWorld.getBlock(tX, tY, tZ).isAir(mWorld, tX, tY, tZ))) {
|
||||
int ranOre = aRandom.nextInt(50);
|
||||
if (ranOre < 3) {
|
||||
GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, primaryMeta , true);
|
||||
} else if (ranOre < 6) {
|
||||
GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, secondaryMeta , true);
|
||||
} else if (ranOre < 8) {
|
||||
GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, betweenMeta , true);
|
||||
} else if (ranOre < 10) {
|
||||
GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, sporadicMeta , true);
|
||||
} else {mWorld.setBlock(eX, eY, eZ, Blocks.end_stone, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Chunk tChunk = this.mWorld.getChunkFromBlockCoords(this.mX, this.mZ);
|
||||
if (tChunk != null) {
|
||||
tChunk.isModified = true;
|
||||
|
|
|
@ -15,6 +15,7 @@ public class GT_Block_Casings1
|
|||
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
|
||||
Textures.BlockIcons.CASING_BLOCKS[i] = new GT_CopiedBlockTexture(this, 6, i);
|
||||
}
|
||||
Textures.BlockIcons.CASING_BLOCKS[120] = new GT_CopiedBlockTexture(this, 6, 0);
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "ULV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "LV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "MV Machine Casing");
|
||||
|
|
|
@ -22,7 +22,7 @@ public class GT_Block_Casings2
|
|||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Bronze Gear Box Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Steel Gear Box Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Titanium Gear Box Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Tungstensteel Gear Box Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Assembling Line Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Processor Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Data Drive Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Containment Field Machine Casing");
|
||||
|
|
|
@ -36,6 +36,7 @@ public class GT_Block_Casings4
|
|||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Stainless Steel Turbine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Titanium Turbine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Tungstensteel Turbine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Engine Intake Casing");
|
||||
|
||||
ItemList.Casing_RobustTungstenSteel.set(new ItemStack(this, 1, 0));
|
||||
ItemList.Casing_CleanStainlessSteel.set(new ItemStack(this, 1, 1));
|
||||
|
@ -48,6 +49,7 @@ public class GT_Block_Casings4
|
|||
ItemList.Casing_Turbine1.set(new ItemStack(this, 1, 10));
|
||||
ItemList.Casing_Turbine2.set(new ItemStack(this, 1, 11));
|
||||
ItemList.Casing_Turbine3.set(new ItemStack(this, 1, 12));
|
||||
ItemList.Casing_EngineIntake.set(new ItemStack(this, 1, 13));
|
||||
}
|
||||
|
||||
public IIcon getIcon(int aSide, int aMeta) {
|
||||
|
@ -79,7 +81,7 @@ public class GT_Block_Casings4
|
|||
case 12:
|
||||
return Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon();
|
||||
case 13:
|
||||
return Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon();
|
||||
return Textures.BlockIcons.MACHINE_CASING_ENGINE_INTAKE.getIcon();
|
||||
case 14:
|
||||
return Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon();
|
||||
case 15:
|
||||
|
@ -505,4 +507,4 @@ public class GT_Block_Casings4
|
|||
}
|
||||
return Textures.BlockIcons.CONNECTED_HULLS[(tStartIndex + 7)].getIcon();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -77,8 +77,10 @@ public class GT_Block_Concretes
|
|||
aEntity.motionX *= 0.8999999761581421D;
|
||||
aEntity.motionZ *= 0.8999999761581421D;
|
||||
} else {
|
||||
aEntity.motionX *= 1.100000023841858D;
|
||||
aEntity.motionZ *= 1.100000023841858D;
|
||||
if (aEntity.motionX < 6.0 && aEntity.motionZ < 6.0) {
|
||||
aEntity.motionX *= 1.100000023841858D;
|
||||
aEntity.motionZ *= 1.100000023841858D;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -247,22 +247,26 @@ public class GT_Block_Machines
|
|||
}
|
||||
|
||||
public float getPlayerRelativeBlockHardness(EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ) {
|
||||
// System.out.println("player hardness");
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
|
||||
if (((tTileEntity instanceof BaseMetaTileEntity)) && (((BaseMetaTileEntity) tTileEntity).privateAccess()) && (!((BaseMetaTileEntity) tTileEntity).playerOwnsThis(aPlayer, true))) {
|
||||
// System.out.println("locked");
|
||||
return -1.0F;
|
||||
}
|
||||
// System.out.println("unlocked");
|
||||
// System.out.println("hardness: "+super.getPlayerRelativeBlockHardness(aPlayer, aWorld, aX, aY, aZ));
|
||||
return super.getPlayerRelativeBlockHardness(aPlayer, aWorld, aX, aY, aZ);
|
||||
}
|
||||
|
||||
public boolean onBlockActivated(World aWorld, int aX, int aY, int aZ, EntityPlayer aPlayer, int aSide, float par1, float par2, float par3) {
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
|
||||
if ((tTileEntity == null) || (aPlayer.isSneaking())) {
|
||||
if (tTileEntity == null) {
|
||||
return false;
|
||||
}
|
||||
if(aPlayer.isSneaking()){
|
||||
ItemStack tCurrentItem = aPlayer.inventory.getCurrentItem();
|
||||
if(tCurrentItem!=null){
|
||||
if(!GT_Utility.isStackInList(tCurrentItem, GregTech_API.sScrewdriverList)){
|
||||
return false;
|
||||
}
|
||||
}else {return false;}
|
||||
}
|
||||
if ((tTileEntity instanceof IGregTechTileEntity)) {
|
||||
if (((IGregTechTileEntity) tTileEntity).getTimer() < 50L) {
|
||||
return false;
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.enums.OrePrefixes;
|
||||
|
@ -40,6 +42,7 @@ public class GT_Block_Ores
|
|||
this.isBlockContainer = true;
|
||||
setStepSound(soundTypeStone);
|
||||
setCreativeTab(GregTech_API.TAB_GREGTECH_ORES);
|
||||
boolean tHideOres = Loader.isModLoaded("NotEnoughItems") && GT_Mod.gregtechproxy.mHideUnusedOres;
|
||||
for (int i = 0; i < 16; i++) {
|
||||
GT_ModHandler.addValuableOre(this, i, 1);
|
||||
}
|
||||
|
@ -60,8 +63,19 @@ public class GT_Block_Ores
|
|||
GT_OreDictUnificator.registerOre(OrePrefixes.oreNetherrack.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 1000));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.oreEndstone.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 2000));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.oreBlackgranite.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 3000));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.oreRedgranite.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 4000));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.oreRedgranite.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 4000));
|
||||
if (tHideOres) {
|
||||
codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 1000));
|
||||
codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 2000));
|
||||
codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 3000));
|
||||
codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 4000));
|
||||
codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 16000));
|
||||
codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 17000));
|
||||
codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 18000));
|
||||
codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 19000));
|
||||
codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 20000));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -115,7 +129,6 @@ public class GT_Block_Ores
|
|||
default:
|
||||
return aMaterial.mDefaultLocalName + OrePrefixes.ore.mLocalizedMaterialPost;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public boolean onBlockEventReceived(World p_149696_1_, int p_149696_2_, int p_149696_3_, int p_149696_4_, int p_149696_5_, int p_149696_6_) {
|
||||
|
|
|
@ -23,9 +23,6 @@ public class GT_Item_Casings1
|
|||
break;
|
||||
case 14:
|
||||
aList.add(this.mCoil03Tooltip);
|
||||
break;
|
||||
case 15:
|
||||
aList.add(this.mCoil04Tooltip);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@ public abstract class GT_Item_Casings_Abstract
|
|||
protected final String mCoil01Tooltip = GT_LanguageManager.addStringLocalization("gt.coil01tooltip", "Base Heating Capacity = 1800 Kelvin");
|
||||
protected final String mCoil02Tooltip = GT_LanguageManager.addStringLocalization("gt.coil02tooltip", "Base Heating Capacity = 2700 Kelvin");
|
||||
protected final String mCoil03Tooltip = GT_LanguageManager.addStringLocalization("gt.coil03tooltip", "Base Heating Capacity = 3600 Kelvin");
|
||||
protected final String mCoil04Tooltip = GT_LanguageManager.addStringLocalization("gt.coil04tooltip", "Base Heating Capacity = 9000 Kelvin");
|
||||
protected final String mBlastProofTooltip = GT_LanguageManager.addStringLocalization("gt.blastprooftooltip", "This Block is Blast Proof");
|
||||
public GT_Item_Casings_Abstract(Block par1) {
|
||||
super(par1);
|
||||
|
|
|
@ -35,16 +35,21 @@ public class GT_TileEntity_Ores
|
|||
Materials aMaterial = GregTech_API.sGeneratedMaterials[(aMetaData % 1000)];
|
||||
byte tByte = aMaterial == null ? 0 : (byte) Math.max((aMetaData % 16000 / 1000 == 3) || (aMetaData % 16000 / 1000 == 4) ? 3 : 0, Math.min(7, aMaterial.mToolQuality - (aMetaData < 16000 ? 0 : 1)));
|
||||
if(GT_Mod.gregtechproxy.mChangeHarvestLevels ){
|
||||
tByte = aMaterial == null ? 0 : (byte) Math.max((aMetaData % 16000 / 1000 == 3) || (aMetaData % 16000 / 1000 == 4) ? GT_Mod.gregtechproxy.mGraniteHavestLevel : 0, Math.min(GT_Mod.gregtechproxy.mMaxHarvestLevel, GT_Mod.gregtechproxy.mHarvestLevel[aMaterial.mMetaItemSubID] - (aMetaData < 16000 ? 0 : 1)));
|
||||
tByte = aMaterial == null ? 0 : (byte) Math.max((aMetaData % 16000 / 1000 == 3) || (aMetaData % 16000 / 1000 == 4) ? GT_Mod.gregtechproxy.mGraniteHavestLevel : 0, Math.min(GT_Mod.gregtechproxy.mMaxHarvestLevel, GT_Mod.gregtechproxy.mHarvestLevel[aMaterial.mMetaItemSubID] - (aMetaData < 16000 ? 0 : 1)));
|
||||
}
|
||||
return tByte;
|
||||
|
||||
}
|
||||
|
||||
public static boolean setOreBlock(World aWorld, int aX, int aY, int aZ, int aMetaData) {
|
||||
aY = Math.min(aWorld.getActualHeight(), Math.max(aY, 1));
|
||||
return setOreBlock(aWorld, aX, aY, aZ, aMetaData, false);
|
||||
}
|
||||
|
||||
public static boolean setOreBlock(World aWorld, int aX, int aY, int aZ, int aMetaData, boolean air) {
|
||||
if (!air) {
|
||||
aY = Math.min(aWorld.getActualHeight(), Math.max(aY, 1));
|
||||
}
|
||||
Block tBlock = aWorld.getBlock(aX, aY, aZ);
|
||||
if ((aMetaData > 0) && (tBlock != Blocks.air)) {
|
||||
if ((aMetaData > 0) && ((tBlock != Blocks.air) || air)) {
|
||||
if (tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.netherrack)) {
|
||||
aMetaData += 1000;
|
||||
} else if (tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.end_stone)) {
|
||||
|
|
|
@ -21,7 +21,7 @@ public class GT_Cover_Arm
|
|||
return aCoverVariable;
|
||||
}
|
||||
TileEntity tTileEntity = aTileEntity.getTileEntityAtSide(aSide);
|
||||
aTileEntity.decreaseStoredEnergyUnits(1L, true);
|
||||
//aTileEntity.decreaseStoredEnergyUnits(1L, true);
|
||||
if (aTileEntity.getUniversalEnergyCapacity() >= 128L) {
|
||||
if (aTileEntity.isUniversalEnergyStored(256L)) {
|
||||
aTileEntity.decreaseStoredEnergyUnits(4 * GT_Utility.moveOneItemStackIntoSlot(aCoverVariable > 0 ? aTileEntity : tTileEntity, aCoverVariable > 0 ? tTileEntity : aTileEntity, aCoverVariable > 0 ? aSide : GT_Utility.getOppositeSide(aSide), Math.abs(aCoverVariable) - 1, null, false, (byte) 64, (byte) 1, (byte) 64, (byte) 1), true);
|
||||
|
|
|
@ -53,7 +53,8 @@ public class GT_Cover_ControlsWork
|
|||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % 3;
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 3;
|
||||
if(aCoverVariable <0){aCoverVariable = 2;}
|
||||
if (aCoverVariable == 0) {
|
||||
GT_Utility.sendChatToPlayer(aPlayer, "Normal");
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ public class GT_Cover_Conveyor
|
|||
}
|
||||
}
|
||||
TileEntity tTileEntity = aTileEntity.getTileEntityAtSide(aSide);
|
||||
aTileEntity.decreaseStoredEnergyUnits(1L, true);
|
||||
//aTileEntity.decreaseStoredEnergyUnits(1L, true);
|
||||
if (((aCoverVariable % 2 != 1) || (aSide != 1)) && ((aCoverVariable % 2 != 0) || (aSide != 0)) && (aTileEntity.getUniversalEnergyCapacity() >= 128L)) {
|
||||
if (aTileEntity.isUniversalEnergyStored(256L)) {
|
||||
aTileEntity.decreaseStoredEnergyUnits(4 * GT_Utility.moveOneItemStack(aCoverVariable % 2 == 0 ? aTileEntity : tTileEntity, aCoverVariable % 2 != 0 ? aTileEntity : tTileEntity, aCoverVariable % 2 != 0 ? GT_Utility.getOppositeSide(aSide) : aSide, aCoverVariable % 2 == 0 ? GT_Utility.getOppositeSide(aSide) : aSide, null, false, (byte) 64, (byte) 1, (byte) 64, (byte) 1), true);
|
||||
|
@ -35,7 +35,8 @@ public class GT_Cover_Conveyor
|
|||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % 12;
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 12;
|
||||
if(aCoverVariable <0){aCoverVariable = 11;}
|
||||
switch(aCoverVariable) {
|
||||
case 0: GT_Utility.sendChatToPlayer(aPlayer, "Export"); break;
|
||||
case 1: GT_Utility.sendChatToPlayer(aPlayer, "Import"); break;
|
||||
|
|
|
@ -28,7 +28,8 @@ public class GT_Cover_DoesWork
|
|||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % 4;
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 4;
|
||||
if(aCoverVariable <0){aCoverVariable = 3;}
|
||||
switch(aCoverVariable) {
|
||||
case 0: GT_Utility.sendChatToPlayer(aPlayer, "Normal"); break;
|
||||
case 1: GT_Utility.sendChatToPlayer(aPlayer, "Inverted"); break;
|
||||
|
|
|
@ -58,7 +58,8 @@ public class GT_Cover_Drain
|
|||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % 6;
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 6;
|
||||
if(aCoverVariable <0){aCoverVariable = 5;}
|
||||
switch(aCoverVariable) {
|
||||
case 0: GT_Utility.sendChatToPlayer(aPlayer, "Import"); break;
|
||||
case 1: GT_Utility.sendChatToPlayer(aPlayer, "Import (conditional)"); break;
|
||||
|
|
|
@ -91,7 +91,8 @@ public class GT_Cover_EUMeter
|
|||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % 12;
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 12;
|
||||
if(aCoverVariable <0){aCoverVariable = 11;}
|
||||
switch(aCoverVariable) {
|
||||
case 0: GT_Utility.sendChatToPlayer(aPlayer, "Normal Universal Storage"); break;
|
||||
case 1: GT_Utility.sendChatToPlayer(aPlayer, "Inverted Universal Storage"); break;
|
||||
|
|
|
@ -28,16 +28,15 @@ public class GT_Cover_ItemMeter
|
|||
}
|
||||
}
|
||||
tAll /= 14;
|
||||
if (tAll > 0) {
|
||||
aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable != 1 ? 0 : tFull > 0 ? (byte) (tFull / tAll + 1) : (byte) (15 - (tFull > 0 ? tFull / tAll + 1 : 0)));
|
||||
} else {
|
||||
aTileEntity.setOutputRedstoneSignal(aSide, (byte) (aCoverVariable != 1 ? 0 : 15));
|
||||
}
|
||||
if(tAll > 0)
|
||||
aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable == 1 ? (byte)(15 - (tFull <= 0 ? 0 : tFull / tAll + 1)) : tFull <= 0 ? 0 : (byte)(tFull / tAll + 1));
|
||||
else
|
||||
aTileEntity.setOutputRedstoneSignal(aSide, ((byte)(aCoverVariable == 1 ? 15 : 0)));
|
||||
return aCoverVariable;
|
||||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % (2 + aTileEntity.getSizeInventory());
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % (2 + aTileEntity.getSizeInventory());
|
||||
switch(aCoverVariable) {
|
||||
case 0: GT_Utility.sendChatToPlayer(aPlayer, "Normal"); break;
|
||||
case 1: GT_Utility.sendChatToPlayer(aPlayer, "Inverted"); break;
|
||||
|
|
|
@ -44,7 +44,8 @@ public class GT_Cover_NeedMaintainance extends GT_CoverBehavior {
|
|||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % 10;
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 10;
|
||||
if(aCoverVariable <0){aCoverVariable = 9;}
|
||||
switch(aCoverVariable) {
|
||||
case 0: GT_Utility.sendChatToPlayer(aPlayer, "Emit if 1 Maintenance Needed"); break;
|
||||
case 1: GT_Utility.sendChatToPlayer(aPlayer, "Emit if 1 Maintenance Needed(inverted)"); break;
|
||||
|
|
|
@ -53,7 +53,8 @@ public class GT_Cover_PlayerDetector extends GT_CoverBehavior {
|
|||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % 3;
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 3;
|
||||
if(aCoverVariable <0){aCoverVariable = 2;}
|
||||
switch(aCoverVariable) {
|
||||
case 0: GT_Utility.sendChatToPlayer(aPlayer, "Emit if any Player is close"); break;
|
||||
case 1: GT_Utility.sendChatToPlayer(aPlayer, "Emit if you are close"); break;
|
||||
|
|
|
@ -27,7 +27,7 @@ public class GT_Cover_Pump
|
|||
if ((aTileEntity instanceof IFluidHandler)) {
|
||||
IFluidHandler tTank2 = aTileEntity.getITankContainerAtSide(aSide);
|
||||
if (tTank2 != null) {
|
||||
aTileEntity.decreaseStoredEnergyUnits(GT_Utility.getTier(this.mTransferRate), true);
|
||||
//aTileEntity.decreaseStoredEnergyUnits(GT_Utility.getTier(this.mTransferRate), true);
|
||||
IFluidHandler tTank1 = (IFluidHandler) aTileEntity;
|
||||
if (aCoverVariable % 2 == 0) {
|
||||
FluidStack tLiquid = tTank1.drain(ForgeDirection.getOrientation(aSide), this.mTransferRate, false);
|
||||
|
@ -68,7 +68,8 @@ public class GT_Cover_Pump
|
|||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % 12;
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 12;
|
||||
if(aCoverVariable <0){aCoverVariable = 11;}
|
||||
switch(aCoverVariable) {
|
||||
case 0: GT_Utility.sendChatToPlayer(aPlayer, "Export"); break;
|
||||
case 1: GT_Utility.sendChatToPlayer(aPlayer, "Import"); break;
|
||||
|
|
|
@ -18,7 +18,8 @@ public class GT_Cover_RedstoneConductor
|
|||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % 7;
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 7;
|
||||
if(aCoverVariable <0){aCoverVariable = 6;}
|
||||
switch (aCoverVariable) {
|
||||
case 0: GT_Utility.sendChatToPlayer(aPlayer, "Conducts strongest Input"); break;
|
||||
case 1: GT_Utility.sendChatToPlayer(aPlayer, "Conducts from bottom Input"); break;
|
||||
|
|
|
@ -14,11 +14,11 @@ public class GT_Cover_RedstoneTransmitterInternal
|
|||
return true;
|
||||
}
|
||||
|
||||
public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,8 @@ public class GT_Cover_Shutter
|
|||
}
|
||||
|
||||
public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
|
||||
aCoverVariable = (aCoverVariable + 1) % 4;
|
||||
aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 4;
|
||||
if(aCoverVariable <0){aCoverVariable = 3;}
|
||||
switch(aCoverVariable) {
|
||||
case 0: GT_Utility.sendChatToPlayer(aPlayer, "Open if work enabled"); break;
|
||||
case 1: GT_Utility.sendChatToPlayer(aPlayer, "Open if work disabled"); break;
|
||||
|
|
|
@ -3,6 +3,7 @@ package gregtech.common.gui;
|
|||
import gregtech.api.gui.GT_ContainerMetaTile_Machine;
|
||||
import gregtech.api.gui.GT_Slot_Holo;
|
||||
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
|
||||
import gregtech.api.util.GT_ModHandler;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.common.tileentities.automation.GT_MetaTileEntity_Filter;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -60,8 +61,8 @@ public class GT_Container_Filter
|
|||
if (aMouseclick == 0) {
|
||||
tSlot.putStack(null);
|
||||
} else if (tStack != null) {
|
||||
tStack = GT_Utility.copyAmountAndMetaData(tStack.stackSize, 32767, tStack);
|
||||
if(GT_Utility.isStackInvalid(tStack)){tStack=null;}
|
||||
tStack = GT_Utility.copyAmountAndMetaData(tStack.stackSize, 32767, tStack);
|
||||
if(GT_Utility.isStackInvalid(tStack)){tStack=null;}
|
||||
}
|
||||
} else {
|
||||
tSlot.putStack(GT_Utility.copyAmount(1L, new Object[]{tStack}));
|
||||
|
|
|
@ -14,6 +14,7 @@ import gregtech.api.objects.MaterialStack;
|
|||
import gregtech.api.util.*;
|
||||
import gregtech.common.covers.*;
|
||||
import gregtech.common.items.behaviors.*;
|
||||
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionComputer;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
|
@ -24,7 +25,9 @@ import net.minecraft.item.EnumAction;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public class GT_MetaGenerated_Item_01
|
||||
|
@ -266,63 +269,26 @@ public class GT_MetaGenerated_Item_01
|
|||
GT_ModHandler.addCraftingRecipe(ItemList.Crate_Empty.get(4L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"SWS", "WdW", "SWS", Character.valueOf('W'), OrePrefixes.plank.get(Materials.Wood), Character.valueOf('S'), OrePrefixes.screw.get(Materials.AnyIron)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Crate_Empty.get(4L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"SWS", "WdW", "SWS", Character.valueOf('W'), OrePrefixes.plank.get(Materials.Wood), Character.valueOf('S'), OrePrefixes.screw.get(Materials.Steel)});
|
||||
|
||||
ItemList.ThermosCan_Empty.set(addItem(tLastID = 404, "Empty Thermos Can", "Keeping hot things hot and cold things cold", new Object[]{new ItemData(Materials.Aluminium, OrePrefixes.plateDouble.mMaterialAmount * 1L + 2L * OrePrefixes.ring.mMaterialAmount, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L)}));
|
||||
ItemList.ThermosCan_Empty.set(addItem(tLastID = 404, "Empty Thermos Can", "Keeping hot things hot and cold things cold", new Object[]{new ItemData(Materials.Aluminium, OrePrefixes.plate.mMaterialAmount * 1L + 2L * OrePrefixes.ring.mMaterialAmount, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L)}));
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Aluminium, 2L), ItemList.ThermosCan_Empty.get(1L, new Object[0]), 800, 1);
|
||||
|
||||
ItemList.Large_Fluid_Cell_Steel.set(addItem(tLastID = 405, "Large Steel Fluid Cell", "", new Object[]{new ItemData(Materials.Steel, OrePrefixes.plateDouble.mMaterialAmount * 4L, new MaterialStack(Materials.Bronze, OrePrefixes.ring.mMaterialAmount * 4L)), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 8000L, 64L);
|
||||
ItemList.Large_Fluid_Cell_Steel.set(addItem(tLastID = 405, "Large Steel Fluid Cell", "", new Object[]{new ItemData(Materials.Steel, OrePrefixes.plate.mMaterialAmount * 2L + 2L * OrePrefixes.ring.mMaterialAmount, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 16000L, 16L);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Steel, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.AnyBronze, 4L), ItemList.Large_Fluid_Cell_Steel.get(1L, new Object[0]), 200, 30);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Steel, 1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Steel, 2L), ItemList.Large_Fluid_Cell_Steel.get(1L, new Object[0]), 100, 64);
|
||||
|
||||
ItemList.Large_Fluid_Cell_TungstenSteel.set(addItem(tLastID = 406, "Large Tungstensteel Fluid Cell", "", new Object[]{new ItemData(Materials.TungstenSteel, OrePrefixes.plateDouble.mMaterialAmount * 4L, new MaterialStack(Materials.Platinum, OrePrefixes.ring.mMaterialAmount * 4L)), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 9L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 7L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 512000L, 32L);
|
||||
ItemList.Large_Fluid_Cell_TungstenSteel.set(addItem(tLastID = 406, "Large Tungstensteel Fluid Cell", "", new Object[]{new ItemData(Materials.TungstenSteel, OrePrefixes.plate.mMaterialAmount * 2L + 2L * OrePrefixes.ring.mMaterialAmount, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 6L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 3L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 64000L, 16L);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.TungstenSteel, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Platinum, 4L), ItemList.Large_Fluid_Cell_TungstenSteel.get(1L, new Object[0]), 200, 480);
|
||||
|
||||
ItemList.Large_Fluid_Cell_Aluminium.set(addItem(tLastID = 407, "Large Aluminium Fluid Cell", "", new Object[]{new ItemData(Materials.Aluminium, OrePrefixes.plateDouble.mMaterialAmount * 4L, new MaterialStack(Materials.Silver, OrePrefixes.ring.mMaterialAmount * 4L)), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 5L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 3L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 32000L, 64L);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Aluminium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Silver, 4L), ItemList.Large_Fluid_Cell_Aluminium.get(1L, new Object[0]), 200, 64);
|
||||
|
||||
ItemList.Large_Fluid_Cell_StainlessSteel.set(addItem(tLastID = 408, "Large StainlessSteel Fluid Cell", "", new Object[]{new ItemData(Materials.StainlessSteel, OrePrefixes.plateDouble.mMaterialAmount * 4L , new MaterialStack(Materials.Electrum, OrePrefixes.ring.mMaterialAmount * 4L)), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 6L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 4L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 64000L, 64L);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.StainlessSteel, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Electrum, 4L), ItemList.Large_Fluid_Cell_StainlessSteel.get(1L, new Object[0]), 200, 120);
|
||||
|
||||
ItemList.Large_Fluid_Cell_Titanium.set(addItem(tLastID = 409, "Large Titanium Fluid Cell", "", new Object[]{new ItemData(Materials.Titanium, OrePrefixes.plateDouble.mMaterialAmount * 4L, new MaterialStack(Materials.RoseGold, OrePrefixes.ring.mMaterialAmount * 4L)), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 7L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 5L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 128000L, 64L);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Titanium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.RoseGold, 4L), ItemList.Large_Fluid_Cell_Titanium.get(1L, new Object[0]), 200, 256);
|
||||
|
||||
ItemList.Large_Fluid_Cell_Chrome.set(addItem(tLastID = 410, "Large Chrome Fluid Cell", "", new Object[]{new ItemData(Materials.Chrome, OrePrefixes.plateDouble.mMaterialAmount * 4L, new MaterialStack(Materials.Palladium, OrePrefixes.ring.mMaterialAmount * 4L)), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 8L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 6L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 2048000L, 8L);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Chrome, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Palladium, 4L), ItemList.Large_Fluid_Cell_Chrome.get(1L, new Object[0]), 200, 1024);
|
||||
|
||||
ItemList.Large_Fluid_Cell_Iridium.set(addItem(tLastID = 411, "Large Iridium Fluid Cell", "", new Object[]{new ItemData(Materials.Iridium, OrePrefixes.plateDouble.mMaterialAmount * 4L, new MaterialStack(Materials.Naquadah, OrePrefixes.ring.mMaterialAmount * 4L)), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 10L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 8L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 8192000L, 2L);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Naquadah, 4L), ItemList.Large_Fluid_Cell_Iridium.get(1L, new Object[0]), 200, 1920);
|
||||
|
||||
ItemList.Large_Fluid_Cell_Osmium.set(addItem(tLastID = 412, "Large Osmium Fluid Cell", "", new Object[]{new ItemData(Materials.Osmium, OrePrefixes.plateDouble.mMaterialAmount * 4L, new MaterialStack(Materials.ElectrumFlux, OrePrefixes.ring.mMaterialAmount * 4L)), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 11L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 9L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 32768000L, 1L);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.ElectrumFlux, 4L), ItemList.Large_Fluid_Cell_Osmium.get(1L, new Object[0]), 200, 4096);
|
||||
|
||||
ItemList.Large_Fluid_Cell_Neutronium.set(addItem(tLastID = 413, "Large Neutronium Fluid Cell", "", new Object[]{new ItemData(Materials.Neutronium, OrePrefixes.plateDouble.mMaterialAmount * 4L, new MaterialStack(Materials.Draconium, OrePrefixes.ring.mMaterialAmount * 4L)), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 12L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 10L)}));
|
||||
setFluidContainerStats(32000 + tLastID, 131072000L, 1L);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Draconium, 4L), ItemList.Large_Fluid_Cell_Neutronium.get(1L, new Object[0]), 200, 7680);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.TungstenSteel, 1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 2L), ItemList.Large_Fluid_Cell_TungstenSteel.get(1L, new Object[0]), 200, 256);
|
||||
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
|
||||
ItemList.SPRAY_CAN_DYES[i].set(addItem(tLastID = 430 + 2 * i, "Spray Can (" + Dyes.get(i).mName + ")", "Full", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 4L)}));
|
||||
ItemList.SPRAY_CAN_DYES_USED[i].set(addItem(tLastID + 1, "Spray Can (" + Dyes.get(i).mName + ")", "Used", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 3L), SubTag.INVISIBLE}));
|
||||
IItemBehaviour<GT_MetaBase_Item> tBehaviour = new Behaviour_Spray_Color(ItemList.Spray_Empty.get(1L, new Object[0]), ItemList.SPRAY_CAN_DYES_USED[i].get(1L, new Object[0]), ItemList.SPRAY_CAN_DYES[i].get(1L, new Object[0]), 512L, i);
|
||||
addItemBehavior(32000 + tLastID, tBehaviour);
|
||||
addItemBehavior(32001 + tLastID, tBehaviour);
|
||||
ItemList.SPRAY_CAN_DYES[i].set(addItem(tLastID = 430 + 2 * i, "Spray Can (" + Dyes.get(i).mName + ")", "Full", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 4L)}));
|
||||
ItemList.SPRAY_CAN_DYES_USED[i].set(addItem(tLastID + 1, "Spray Can (" + Dyes.get(i).mName + ")", "Used", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 3L), SubTag.INVISIBLE}));
|
||||
IItemBehaviour<GT_MetaBase_Item> tBehaviour = new Behaviour_Spray_Color(ItemList.Spray_Empty.get(1L, new Object[0]), ItemList.SPRAY_CAN_DYES_USED[i].get(1L, new Object[0]), ItemList.SPRAY_CAN_DYES[i].get(1L, new Object[0]), 512L, i);
|
||||
addItemBehavior(32000 + tLastID, tBehaviour);
|
||||
addItemBehavior(32001 + tLastID, tBehaviour);
|
||||
}
|
||||
|
||||
|
||||
ItemList.Tool_Matches.set(addItem(tLastID = 471, "Match", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L)}));
|
||||
ItemList.Tool_MatchBox_Used.set(addItem(tLastID = 472, "Match Box", "This is not a Car", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L), SubTag.INVISIBLE}));
|
||||
ItemList.Tool_MatchBox_Full.set(addItem(tLastID = 473, "Match Box (Full)", "This is not a Car", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L)}));
|
||||
|
@ -361,22 +327,18 @@ public class GT_MetaGenerated_Item_01
|
|||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Platinum, 2L), new ItemStack(Items.flint, 1), ItemList.Tool_Lighter_Platinum_Empty.get(1L, new Object[0]), 256, 256);
|
||||
|
||||
if (Loader.isModLoaded("GalacticraftMars")) {
|
||||
ItemList.Ingot_Heavy1.set(addItem(tLastID = 462, "Heavy Duty Alloy Ingot T1", "Used to make Heavy Duty Plates T1", new Object[0]));
|
||||
ItemList.Ingot_Heavy1.set(addItem(tLastID = 462, "Heavy Duty Alloy Ingot", "Used to make Heavy Duty Plates", new Object[0]));
|
||||
ItemList.Ingot_Heavy2.set(addItem(tLastID = 463, "Heavy Duty Alloy Ingot T2", "Used to make Heavy Duty Plates T2", new Object[0]));
|
||||
ItemList.Ingot_Heavy3.set(addItem(tLastID = 464, "Heavy Duty Alloy Ingot T3", "Used to make Heavy Duty Plates T3", new Object[0]));
|
||||
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Ingot_Heavy1.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"BhB", "CAS", "B B", 'B', OrePrefixes.bolt.get(Materials.StainlessSteel), 'C', OrePrefixes.compressed.get(Materials.Bronze), 'A', OrePrefixes.compressed.get(Materials.Aluminium), 'S', OrePrefixes.compressed.get(Materials.Steel)});
|
||||
GT_Values.RA.addImplosionRecipe(ItemList.Ingot_Heavy1.get(1L, new Object[0]), 8, GT_ModHandler.getModItem("GalacticraftCore", "item.heavyPlating", 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.StainlessSteel, 2L));
|
||||
//GT_ModHandler.addCraftingRecipe(ItemList.Ingot_Heavy2.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{" BB", "hPC", " BB", 'B', OrePrefixes.bolt.get(Materials.Tungsten), 'C', OrePrefixes.compressed.get(Materials.MeteoricIron), 'P', GT_ModHandler.getModItem("GalacticraftCore", "item.heavyPlating", 1L)});
|
||||
GT_Values.RA.addImplosionRecipe(ItemList.Ingot_Heavy2.get(1L, new Object[0]), 16, GT_ModHandler.getModItem("GalacticraftMars", "item.null", 1L, 3), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Titanium, 2L));
|
||||
//GT_ModHandler.addCraftingRecipe(ItemList.Ingot_Heavy3.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{" BB", "hPC", " BB", 'B', OrePrefixes.bolt.get(Materials.TungstenSteel), 'C', OrePrefixes.compressed.get(Materials.Desh), 'P', GT_ModHandler.getModItem("GalacticraftMars", "item.null", 1L, 3)});
|
||||
GT_Values.RA.addImplosionRecipe(ItemList.Ingot_Heavy3.get(1L, new Object[0]), 24, GT_ModHandler.getModItem("GalacticraftMars", "item.itemBasicAsteroids", 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.TungstenSteel, 2L));
|
||||
}
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Ingot_Heavy2.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{" BB", "hPC", " BB", 'B', OrePrefixes.bolt.get(Materials.Tungsten), 'C', OrePrefixes.compressed.get(Materials.MeteoricIron), 'P', GT_ModHandler.getModItem("GalacticraftCore", "item.heavyPlating", 1L)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Ingot_Heavy3.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{" BB", "hPC", " BB", 'B', OrePrefixes.bolt.get(Materials.TungstenSteel), 'C', OrePrefixes.compressed.get(Materials.Desh), 'P', GT_ModHandler.getModItem("GalacticraftMars", "item.null", 1L, 3)});
|
||||
}
|
||||
ItemList.Ingot_IridiumAlloy.set(addItem(tLastID = 480, "Iridium Alloy Ingot", "Used to make Iridium Plates", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}));
|
||||
|
||||
GT_ModHandler.addRollingMachineRecipe(ItemList.Ingot_IridiumAlloy.get(1L, new Object[0]), new Object[]{"IAI", "ADA", "IAI", Character.valueOf('D'), GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.harderrecipes, "iridiumplate", true) ? OreDictNames.craftingIndustrialDiamond : OrePrefixes.dust.get(Materials.Diamond), Character.valueOf('A'), OrePrefixes.plateAlloy.get("Advanced"), Character.valueOf('I'), OrePrefixes.plate.get(Materials.Iridium)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Ingot_IridiumAlloy.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"IAI", "ADA", "IAI", Character.valueOf('D'), GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.harderrecipes, "iridiumplate", true) ? OreDictNames.craftingIndustrialDiamond : OrePrefixes.dust.get(Materials.Diamond), Character.valueOf('A'), OrePrefixes.plateAlloy.get("Advanced"), Character.valueOf('I'), OrePrefixes.plate.get(Materials.Iridium)});
|
||||
GT_Values.RA.addImplosionRecipe(ItemList.Ingot_IridiumAlloy.get(1L, new Object[0]), 8, GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Iridium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 4L));
|
||||
|
||||
ItemList.Paper_Printed_Pages.set(addItem(tLastID = 481, "Printed Pages", "Used to make written Books", new Object[]{new ItemData(Materials.Paper, 10886400L, new MaterialStack[0]), new Behaviour_PrintedPages(), new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 2L)}));
|
||||
ItemList.Paper_Magic_Empty.set(addItem(tLastID = 482, "Magic Paper", "", new Object[]{SubTag.INVISIBLE, new ItemData(Materials.Paper, 3628800L, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.PRAECANTATIO, 1L)}));
|
||||
|
@ -406,23 +368,18 @@ public class GT_MetaGenerated_Item_01
|
|||
GT_ModHandler.addShapelessCraftingRecipe(ItemList.Schematic.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{ItemList.Schematic_3by3});
|
||||
GT_ModHandler.addShapelessCraftingRecipe(ItemList.Schematic.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{ItemList.Schematic_Dust});
|
||||
|
||||
ItemList.Battery_Hull_LV.set(addItem(tLastID = 500, "Small Battery Hull", "An empty LV Battery Hull", new Object[]{new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 2L, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L)}));
|
||||
ItemList.Battery_Hull_MV.set(addItem(tLastID = 501, "Medium Battery Hull", "An empty MV Battery Hull", new Object[]{new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 6L, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L)}));
|
||||
ItemList.Battery_Hull_HV.set(addItem(tLastID = 502, "Large Battery Hull", "An empty HV Battery Hull", new Object[]{new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 18L, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L)}));
|
||||
ItemList.Battery_Hull_LV.set(addItem(tLastID = 500, "Small Battery Hull", "An empty LV Battery Hull", new Object[]{new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 1L, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L)}));
|
||||
ItemList.Battery_Hull_MV.set(addItem(tLastID = 501, "Medium Battery Hull", "An empty MV Battery Hull", new Object[]{new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 3L, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L)}));
|
||||
ItemList.Battery_Hull_HV.set(addItem(tLastID = 502, "Large Battery Hull", "An empty HV Battery Hull", new Object[]{new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 9L, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L)}));
|
||||
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Battery_Hull_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"C", "P", "P", Character.valueOf('P'), OrePrefixes.plate.get(Materials.BatteryAlloy), Character.valueOf('C'), OreDictNames.craftingWireTin});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Battery_Hull_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"C C", "PPP", "PPP", Character.valueOf('P'), OrePrefixes.plate.get(Materials.BatteryAlloy), Character.valueOf('C'), OreDictNames.craftingWireCopper});
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 2L), ItemList.Battery_Hull_LV.get(1L, new Object[0]), 800, 1);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Copper, 2L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 6L), ItemList.Battery_Hull_MV.get(1L, new Object[0]), 1600, 2);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.AnnealedCopper, 2L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 6L), ItemList.Battery_Hull_MV.get(1L, new Object[0]), 1600, 2);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 4L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 18L), ItemList.Battery_Hull_HV.get(1L, new Object[0]), 3200, 4);
|
||||
|
||||
ItemList.Battery_RE_ULV_Tantalum.set(addItem(tLastID = 499, "Tantalum Capacitor", "Reusable", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L)}));
|
||||
setElectricStats(32000 + tLastID, 1000L, GT_Values.V[0], 0L, -3L, false);
|
||||
|
||||
ItemList.Battery_SU_LV_SulfuricAcid.set(addItem(tLastID = 510, "Small Acid Battery", "Single Use", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L)}));
|
||||
setElectricStats(32000 + tLastID, 12000L, GT_Values.V[1], 1L, -2L, true);
|
||||
setElectricStats(32000 + tLastID, 18000L, GT_Values.V[1], 1L, -2L, true);
|
||||
ItemList.Battery_SU_LV_Mercury.set(addItem(tLastID = 511, "Small Mercury Battery", "Single Use", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L)}));
|
||||
setElectricStats(32000 + tLastID, 32000L, GT_Values.V[1], 1L, -2L, true);
|
||||
|
||||
|
@ -434,7 +391,7 @@ public class GT_MetaGenerated_Item_01
|
|||
setElectricStats(32000 + tLastID, 50000L, GT_Values.V[1], 1L, -3L, true);
|
||||
|
||||
ItemList.Battery_SU_MV_SulfuricAcid.set(addItem(tLastID = 520, "Medium Acid Battery", "Single Use", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 4L)}));
|
||||
setElectricStats(32000 + tLastID, 48000L, GT_Values.V[2], 2L, -2L, true);
|
||||
setElectricStats(32000 + tLastID, 72000L, GT_Values.V[2], 2L, -2L, true);
|
||||
ItemList.Battery_SU_MV_Mercury.set(addItem(tLastID = 521, "Medium Mercury Battery", "Single Use", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 4L)}));
|
||||
setElectricStats(32000 + tLastID, 128000L, GT_Values.V[2], 2L, -2L, true);
|
||||
|
||||
|
@ -446,7 +403,7 @@ public class GT_MetaGenerated_Item_01
|
|||
setElectricStats(32000 + tLastID, 200000L, GT_Values.V[2], 2L, -3L, true);
|
||||
|
||||
ItemList.Battery_SU_HV_SulfuricAcid.set(addItem(tLastID = 530, "Large Acid Battery", "Single Use", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 8L)}));
|
||||
setElectricStats(32000 + tLastID, 192000L, GT_Values.V[3], 3L, -2L, true);
|
||||
setElectricStats(32000 + tLastID, 288000L, GT_Values.V[3], 3L, -2L, true);
|
||||
ItemList.Battery_SU_HV_Mercury.set(addItem(tLastID = 531, "Large Mercury Battery", "Single Use", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 8L)}));
|
||||
setElectricStats(32000 + tLastID, 512000L, GT_Values.V[3], 3L, -2L, true);
|
||||
|
||||
|
@ -505,11 +462,11 @@ public class GT_MetaGenerated_Item_01
|
|||
ItemList.Electric_Motor_UV.set(ItemList.Electric_Motor_ZPM.get(1L, new Object[0]));
|
||||
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.IronMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.AnyIron), Character.valueOf('W'), OrePrefixes.wireGt01.get(Materials.AnyCopper), Character.valueOf('C'), OrePrefixes.cableGt01.get(Materials.Tin)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.SteelMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.Steel), Character.valueOf('W'), OrePrefixes.wireGt01.get(Materials.AnyCopper), Character.valueOf('C'), OrePrefixes.cableGt01.get(Materials.Tin)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.SteelMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.Aluminium), Character.valueOf('W'), OrePrefixes.wireGt02.get(Materials.Cupronickel), Character.valueOf('C'), OrePrefixes.cableGt01.get(Materials.AnyCopper)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_HV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.SteelMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.StainlessSteel), Character.valueOf('W'), OrePrefixes.wireGt04.get(Materials.Electrum), Character.valueOf('C'), OrePrefixes.cableGt02.get(Materials.Silver)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_EV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.NeodymiumMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.Titanium), Character.valueOf('W'), OrePrefixes.wireGt04.get(Materials.AnnealedCopper), Character.valueOf('C'), OrePrefixes.cableGt02.get(Materials.Aluminium)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.NeodymiumMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.TungstenSteel), Character.valueOf('W'), OrePrefixes.wireGt04.get(Materials.Graphene), Character.valueOf('C'), OrePrefixes.cableGt02.get(Materials.Tungsten)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.SteelMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.Steel), Character.valueOf('W'), OrePrefixes.wireGt01.get(Materials.AnyCopper), Character.valueOf('C'), OrePrefixes.cableGt01.get(Materials.Tin)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.SteelMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.Aluminium), Character.valueOf('W'), OrePrefixes.wireGt02.get(Materials.AnyCopper), Character.valueOf('C'), OrePrefixes.cableGt01.get(Materials.AnyCopper)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_HV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.SteelMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.StainlessSteel), Character.valueOf('W'), OrePrefixes.wireGt04.get(Materials.AnyCopper), Character.valueOf('C'), OrePrefixes.cableGt01.get(Materials.Gold)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_EV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.NeodymiumMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.Titanium), Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.AnnealedCopper), Character.valueOf('C'), OrePrefixes.cableGt01.get(Materials.Aluminium)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", Character.valueOf('I'), OrePrefixes.stick.get(Materials.NeodymiumMagnetic), Character.valueOf('R'), OrePrefixes.stick.get(Materials.TungstenSteel), Character.valueOf('W'), OrePrefixes.wireGt16.get(Materials.AnnealedCopper), Character.valueOf('C'), OrePrefixes.cableGt01.get(Materials.Tungsten)});
|
||||
|
||||
ItemList.Electric_Pump_LV.set(addItem(tLastID = 610, "Electric Pump (LV)", "640 L/sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L)}));
|
||||
ItemList.Electric_Pump_MV.set(addItem(tLastID = 611, "Electric Pump (MV)", "2560 L/sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L)}));
|
||||
|
@ -526,6 +483,30 @@ public class GT_MetaGenerated_Item_01
|
|||
GregTech_API.registerCover(ItemList.Electric_Pump_EV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[4][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(2048));
|
||||
GregTech_API.registerCover(ItemList.Electric_Pump_IV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[5][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(8192));
|
||||
|
||||
ItemList.FluidRegulator_LV.set(addItem(tLastID = 615, "Fluid Regulator (LV)", "Configuable up to 640 L/sec (as Cover)", new Object[]{}));
|
||||
ItemList.FluidRegulator_MV.set(addItem(tLastID = 616, "Fluid Regulator (MV)", "Configuable up to 2560 L/sec (as Cover)", new Object[]{}));
|
||||
ItemList.FluidRegulator_HV.set(addItem(tLastID = 617, "Fluid Regulator (HV)", "Configuable up to 10240 L/sec (as Cover)", new Object[]{}));
|
||||
ItemList.FluidRegulator_EV.set(addItem(tLastID = 618, "Fluid Regulator (EV)", "Configuable up to 40960 L/sec (as Cover)", new Object[]{}));
|
||||
ItemList.FluidRegulator_IV.set(addItem(tLastID = 619, "Fluid Regulator (IV)", "Configuable up to 163840 L/sec (as Cover)", new Object[]{}));
|
||||
|
||||
GregTech_API.registerCover(ItemList.FluidRegulator_LV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(32));
|
||||
GregTech_API.registerCover(ItemList.FluidRegulator_MV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(128));
|
||||
GregTech_API.registerCover(ItemList.FluidRegulator_HV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[3][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(512));
|
||||
GregTech_API.registerCover(ItemList.FluidRegulator_EV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[4][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(2048));
|
||||
GregTech_API.registerCover(ItemList.FluidRegulator_IV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[5][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(8192));
|
||||
|
||||
ItemList.FluidFilter.set(addItem(tLastID = 635, "Fluid Filter", "Set with Fluid Container to only accept one Fluid Type", new Object[]{}));
|
||||
GregTech_API.registerCover(ItemList.FluidFilter.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SHUTTER)}), new GT_Cover_Fluidfilter());
|
||||
|
||||
/**ItemList.Rotor_LV.set(addItem(tLastID = 620, "Tin Rotor", "", new Object[] { OrePrefixes.rotor.get(Materials.Tin), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L) }));
|
||||
ItemList.Rotor_MV.set(addItem(tLastID = 621, "Bronze Rotor", "", new Object[] { OrePrefixes.rotor.get(Materials.Bronze), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L) }));
|
||||
ItemList.Rotor_HV.set(addItem(tLastID = 622, "Steel Rotor", "", new Object[] { OrePrefixes.rotor.get(Materials.Steel), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 4L) }));
|
||||
ItemList.Rotor_EV.set(addItem(tLastID = 623, "Stainless Steel Rotor", "", new Object[] { OrePrefixes.rotor.get(Materials.StainlessSteel), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 8L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 8L) }));
|
||||
ItemList.Rotor_IV.set(addItem(tLastID = 624, "Tungstensteel Rotor", "", new Object[] { OrePrefixes.rotor.get(Materials.TungstenSteel), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 16L) }));
|
||||
ItemList.Rotor_LuV.set(ItemList.Rotor_IV.get(1L, new Object[0]));
|
||||
ItemList.Rotor_ZPM.set(ItemList.Rotor_LuV.get(1L, new Object[0]));
|
||||
ItemList.Rotor_UV.set(ItemList.Rotor_ZPM.get(1L, new Object[0]));**/
|
||||
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Pump_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SXO", "dPw", "OMW", Character.valueOf('M'), ItemList.Electric_Motor_LV, Character.valueOf('O'), OrePrefixes.ring.get(Materials.Rubber), Character.valueOf('X'), OrePrefixes.rotor.get(Materials.Tin), Character.valueOf('S'), OrePrefixes.screw.get(Materials.Tin), Character.valueOf('W'), OrePrefixes.cableGt01.get(Materials.Tin), Character.valueOf('P'), OrePrefixes.pipeMedium.get(Materials.Bronze)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Pump_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SXO", "dPw", "OMW", Character.valueOf('M'), ItemList.Electric_Motor_MV, Character.valueOf('O'), OrePrefixes.ring.get(Materials.Rubber), Character.valueOf('X'), OrePrefixes.rotor.get(Materials.Bronze), Character.valueOf('S'), OrePrefixes.screw.get(Materials.Bronze), Character.valueOf('W'), OrePrefixes.cableGt01.get(Materials.AnyCopper), Character.valueOf('P'), OrePrefixes.pipeMedium.get(Materials.Steel)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Pump_HV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SXO", "dPw", "OMW", Character.valueOf('M'), ItemList.Electric_Motor_HV, Character.valueOf('O'), OrePrefixes.ring.get(Materials.Rubber), Character.valueOf('X'), OrePrefixes.rotor.get(Materials.Steel), Character.valueOf('S'), OrePrefixes.screw.get(Materials.Steel), Character.valueOf('W'), OrePrefixes.cableGt01.get(Materials.Gold), Character.valueOf('P'), OrePrefixes.pipeMedium.get(Materials.StainlessSteel)});
|
||||
|
@ -598,11 +579,11 @@ public class GT_MetaGenerated_Item_01
|
|||
ItemList.Field_Generator_ZPM.set(ItemList.Field_Generator_LuV.get(1L, new Object[0]));
|
||||
ItemList.Field_Generator_UV.set(ItemList.Field_Generator_ZPM.get(1L, new Object[0]));
|
||||
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Field_Generator_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WCW", "CGC", "WCW", Character.valueOf('G'), OrePrefixes.plate.get(Materials.EnderPearl), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('W'), OrePrefixes.wireGt02.get(Materials.TungstenSteel)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Field_Generator_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WCW", "CGC", "WCW", Character.valueOf('G'), OrePrefixes.plate.get(Materials.EnderEye), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('W'), OrePrefixes.wireGt02.get(Materials.TungstenSteel)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Field_Generator_HV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WCW", "CGC", "WCW", Character.valueOf('G'), OrePrefixes.plate.get(Materials.NetherStar), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('W'), OrePrefixes.wireGt02.get(Materials.Platinum)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Field_Generator_EV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WCW", "CGC", "WCW", Character.valueOf('G'), OrePrefixes.plate.get(Materials.Enderium), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('W'), OrePrefixes.wireGt02.get(Materials.Platinum)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Field_Generator_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WCW", "CGC", "WCW", Character.valueOf('G'), OrePrefixes.plate.get(Materials.Sunnarium), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), OrePrefixes.wireGt02.get(Materials.Osmium)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Field_Generator_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WCW", "CGC", "WCW", Character.valueOf('G'), OrePrefixes.gem.get(Materials.EnderPearl), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('W'), OrePrefixes.wireGt01.get(Materials.Osmium)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Field_Generator_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WCW", "CGC", "WCW", Character.valueOf('G'), OrePrefixes.gem.get(Materials.EnderEye), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('W'), OrePrefixes.wireGt02.get(Materials.Osmium)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Field_Generator_HV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WCW", "CGC", "WCW", Character.valueOf('G'), OrePrefixes.gem.get(Materials.NetherStar), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('W'), OrePrefixes.wireGt04.get(Materials.Osmium)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Field_Generator_EV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WCW", "CGC", "WCW", Character.valueOf('G'), OrePrefixes.gem.get(Materials.NetherStar), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.Osmium)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Field_Generator_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WCW", "CGC", "WCW", Character.valueOf('G'), OrePrefixes.gem.get(Materials.NetherStar), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), OrePrefixes.wireGt16.get(Materials.Osmium)});
|
||||
|
||||
ItemList.Emitter_LV.set(addItem(tLastID = 680, "Emitter (LV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 1L)}));
|
||||
ItemList.Emitter_MV.set(addItem(tLastID = 681, "Emitter (MV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 2L)}));
|
||||
|
@ -657,6 +638,8 @@ public class GT_MetaGenerated_Item_01
|
|||
ItemList.Circuit_Parts_Wiring_Basic.set(addItem(tLastID = 716, "Etched Medium Voltage Wiring", "Part of Circuit Boards", new Object[0]));
|
||||
ItemList.Circuit_Parts_Wiring_Advanced.set(addItem(tLastID = 717, "Etched High Voltage Wiring", "Part of Circuit Boards", new Object[0]));
|
||||
ItemList.Circuit_Parts_Wiring_Elite.set(addItem(tLastID = 718, "Etched Extreme Voltage Wiring", "Part of Circuit Boards", new Object[0]));
|
||||
ItemList.Empty_Board_Basic.set(addItem(tLastID = 719, "Empty Circuit Board", "A Board Part", new Object[0]));
|
||||
ItemList.Empty_Board_Elite.set(addItem(tLastID = 720, "Empty Processor Board", "A Processor Board Part", new Object[0]));
|
||||
|
||||
|
||||
ItemList.Component_Sawblade_Diamond.set(addItem(tLastID = 721, "Diamond Sawblade", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L), OreDictNames.craftingDiamondBlade}));
|
||||
|
@ -682,7 +665,7 @@ public class GT_MetaGenerated_Item_01
|
|||
|
||||
ItemList.Component_Filter.set(addItem(tLastID = 729, "Item Filter", "", new Object[]{new ItemData(Materials.Zinc, OrePrefixes.foil.mMaterialAmount * 16L, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1L), OreDictNames.craftingFilter}));
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_ModHandler.getIC2Item("carbonMesh", 4L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Zinc, 16L), ItemList.Component_Filter.get(1L, new Object[0]), 1600, 30);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_ModHandler.getIC2Item("carbonMesh", 4L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Zinc, 16L), Materials.Plastic.getMolten(144), ItemList.Component_Filter.get(1L, new Object[0]), 1600, 32);
|
||||
|
||||
ItemList.Cover_Controller.set(addItem(tLastID = 730, "Machine Controller", "Turns Machines ON/OFF", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L)}));
|
||||
ItemList.Cover_ActivityDetector.set(addItem(tLastID = 731, "Activity Detector", "Gives out Activity as Redstone", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L)}));
|
||||
|
@ -707,16 +690,17 @@ public class GT_MetaGenerated_Item_01
|
|||
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Cover_Screen.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"AGA", "RPB", "ALA", Character.valueOf('A'), OrePrefixes.plate.get(Materials.Aluminium), Character.valueOf('L'), OrePrefixes.dust.get(Materials.Glowstone), Character.valueOf('R'), Dyes.dyeRed, Character.valueOf('G'), Dyes.dyeLime, Character.valueOf('B'), Dyes.dyeBlue, Character.valueOf('P'), OrePrefixes.plate.get(Materials.Glass)});
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), ItemList.Cover_Drain.get(1L, new Object[0]), ItemList.Cover_Shutter.get(1L, new Object[0]), 200, 64);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), ItemList.Cover_Drain.get(1L, new Object[0]), ItemList.Cover_Shutter.get(1L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), ItemList.Cover_Drain.get(1L, new Object[0]), ItemList.Cover_Shutter.get(1L, new Object[0]), 400, 30);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2L), new ItemStack(Blocks.iron_bars, 2), ItemList.Cover_Drain.get(1L, new Object[0]), 200, 64);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2L), new ItemStack(Items.iron_door, 1), ItemList.Cover_Shutter.get(2L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 2L), new ItemStack(Items.iron_door, 1), ItemList.Cover_Shutter.get(2L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 2L), new ItemStack(Items.iron_door, 1), ItemList.Cover_Shutter.get(2L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2L), new ItemStack(Blocks.iron_bars, 2), ItemList.Cover_Drain.get(1L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 2L), new ItemStack(Blocks.iron_bars, 2), ItemList.Cover_Drain.get(1L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 2L), new ItemStack(Blocks.iron_bars, 2), ItemList.Cover_Drain.get(1L, new Object[0]), 400, 30);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), new ItemStack(Blocks.crafting_table, 1), ItemList.Cover_Crafting.get(1L, new Object[0]), 200, 64);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 2L), new ItemStack(Blocks.iron_bars, 2), ItemList.Cover_Drain.get(1L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), new ItemStack(Blocks.crafting_table, 1), ItemList.Cover_Crafting.get(1L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), new ItemStack(Blocks.crafting_table, 1), ItemList.Cover_Crafting.get(1L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), new ItemStack(Blocks.crafting_table, 1), ItemList.Cover_Crafting.get(1L, new Object[0]), 400, 30);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), new ItemStack(Blocks.crafting_table, 1), ItemList.Cover_Crafting.get(1L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(ItemList.Cover_Shutter.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), ItemList.FluidFilter.get(1L, new Object[0]), 800, 4);
|
||||
|
||||
GregTech_API.registerCover(ItemList.Cover_Screen.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SCREEN)}), new GT_Cover_Screen());
|
||||
GregTech_API.registerCover(ItemList.Cover_Crafting.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_CRAFTING)}), new GT_Cover_Crafting());
|
||||
GregTech_API.registerCover(ItemList.Cover_Drain.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[0][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_DRAIN)}), new GT_Cover_Drain());
|
||||
|
@ -777,6 +761,13 @@ public class GT_MetaGenerated_Item_01
|
|||
ItemList.Cover_NeedsMaintainance.set(addItem(tLastID = 748, "Needs Maintainance Cover", "Attach to Multiblock Controller. Emits Redstone Signal if needs Maintainance", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L)}));
|
||||
GregTech_API.registerCover(ItemList.Cover_NeedsMaintainance.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_ACTIVITYDETECTOR)}), new GT_Cover_NeedMaintainance());
|
||||
GT_Values.RA.addAssemblerRecipe(ItemList.Emitter_MV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), ItemList.Cover_NeedsMaintainance.get(1L, new Object[0]), 600, 24);
|
||||
|
||||
GT_Values.RA.addAssemblerRecipe(ItemList.Electric_Pump_LV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), ItemList.FluidRegulator_LV.get(1L, new Object[0]), 800, 4);
|
||||
GT_Values.RA.addAssemblerRecipe(ItemList.Electric_Pump_MV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 2), ItemList.FluidRegulator_MV.get(1L, new Object[0]), 800, 8);
|
||||
GT_Values.RA.addAssemblerRecipe(ItemList.Electric_Pump_HV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), ItemList.FluidRegulator_HV.get(1L, new Object[0]), 800, 16);
|
||||
GT_Values.RA.addAssemblerRecipe(ItemList.Electric_Pump_EV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2), ItemList.FluidRegulator_EV.get(1L, new Object[0]), 800, 32);
|
||||
GT_Values.RA.addAssemblerRecipe(ItemList.Electric_Pump_IV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), ItemList.FluidRegulator_IV.get(1L, new Object[0]), 800, 64);
|
||||
|
||||
}
|
||||
|
||||
public boolean onEntityItemUpdate(EntityItem aItemEntity) {
|
||||
|
@ -825,8 +816,21 @@ public class GT_MetaGenerated_Item_01
|
|||
}
|
||||
}
|
||||
|
||||
public boolean isPlasmaCellUsed(OrePrefixes aPrefix, Materials aMaterial) {
|
||||
Collection<GT_Recipe> fusionRecipes = GT_Recipe.GT_Recipe_Map.sFusionRecipes.mRecipeList;
|
||||
if(aPrefix == OrePrefixes.cellPlasma && aMaterial.getPlasma(1L) != null) { //Materials has a plasma fluid
|
||||
for(GT_Recipe recipe : fusionRecipes) { //Loop through fusion recipes
|
||||
if(recipe.getFluidOutput(0) != null) { //Make sure fluid output can't be null (not sure if possible)
|
||||
if (recipe.getFluidOutput(0).isFluidEqual(aMaterial.getPlasma(1L)))
|
||||
return true; //Fusion recipe output matches current plasma cell fluid
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean doesShowInCreative(OrePrefixes aPrefix, Materials aMaterial, boolean aDoShowAllItems) {
|
||||
return (aDoShowAllItems) || (((aPrefix != OrePrefixes.gem) || (!aMaterial.name().startsWith("Infused"))) && (aPrefix != OrePrefixes.nugget) && (aPrefix != OrePrefixes.dustTiny) && (aPrefix != OrePrefixes.dustSmall) && (aPrefix != OrePrefixes.dustImpure) && (aPrefix != OrePrefixes.dustPure) && (aPrefix != OrePrefixes.crushed) && (aPrefix != OrePrefixes.crushedPurified) && (aPrefix != OrePrefixes.crushedCentrifuged) && (aPrefix != OrePrefixes.ingotHot) && (aPrefix != OrePrefixes.cellPlasma));
|
||||
return (aDoShowAllItems) || (((aPrefix != OrePrefixes.gem) || (!aMaterial.name().startsWith("Infused"))) && (aPrefix != OrePrefixes.nugget) && (aPrefix != OrePrefixes.dustTiny) && (aPrefix != OrePrefixes.dustSmall) && (aPrefix != OrePrefixes.dustImpure) && (aPrefix != OrePrefixes.dustPure) && (aPrefix != OrePrefixes.crushed) && (aPrefix != OrePrefixes.crushedPurified) && (aPrefix != OrePrefixes.crushedCentrifuged) && (aPrefix != OrePrefixes.ingotHot) && isPlasmaCellUsed(aPrefix, aMaterial));
|
||||
}
|
||||
|
||||
public ItemStack getContainerItem(ItemStack aStack) {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
package gregtech.common.items;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
|
||||
import forestry.api.recipes.RecipeManagers;
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.*;
|
||||
import gregtech.api.items.GT_MetaGenerated_Item_X32;
|
||||
|
@ -44,6 +48,8 @@ public class GT_MetaGenerated_Item_02
|
|||
ItemList.ThermosCan_Sweet_Tea.set(addItem(tLastID = 8, "Sweet Tea", "How about a Tea Party? In Boston?", new Object[]{SubTag.INVISIBLE, new GT_FoodStat(2, 0.2F, EnumAction.drink, ItemList.ThermosCan_Empty.get(1L, new Object[0]), GregTech_API.sDrinksAlwaysDrinkable, false, false, new int[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L)}));
|
||||
ItemList.ThermosCan_Ice_Tea.set(addItem(tLastID = 9, "Ice Tea", "Better than this purple Junk Drink from failed Potions", new Object[]{new GT_FoodStat(2, 0.2F, EnumAction.drink, ItemList.ThermosCan_Empty.get(1L, new Object[0]), GregTech_API.sDrinksAlwaysDrinkable, false, false, new int[]{Potion.moveSlowdown.id, 300, 0, 50}), new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L)}));
|
||||
|
||||
ItemList.GelledToluene.set(addItem(tLastID = 10, "Gelled Toluene", "Raw Explosive", new Object[]{}));
|
||||
|
||||
ItemList.Bottle_Purple_Drink.set(addItem(tLastID = 100, "Purple Drink", "How about Lemonade. Or some Ice Tea? I got Purple Drink!", new Object[]{new GT_FoodStat(8, 0.2F, EnumAction.drink, ItemList.Bottle_Empty.get(1L, new Object[0]), GregTech_API.sDrinksAlwaysDrinkable, false, false, new int[]{Potion.moveSlowdown.id, 400, 1, 90}), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.VINCULUM, 1L)}));
|
||||
ItemList.Bottle_Grape_Juice.set(addItem(tLastID = 101, "Grape Juice", "This has a cleaning effect on your internals.", new Object[]{new GT_FoodStat(4, 0.2F, EnumAction.drink, ItemList.Bottle_Empty.get(1L, new Object[0]), GregTech_API.sDrinksAlwaysDrinkable, false, false, new int[]{Potion.hunger.id, 400, 1, 60}), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L)}));
|
||||
ItemList.Bottle_Wine.set(addItem(tLastID = 102, "Wine", "Ordinary", new Object[]{new GT_FoodStat(2, 0.2F, EnumAction.drink, ItemList.Bottle_Empty.get(1L, new Object[0]), GregTech_API.sDrinksAlwaysDrinkable, false, false, new int[]{Potion.confusion.id, 400, 1, 60, Potion.heal.id, 0, 0, 60, Potion.poison.id, 200, 1, 5}), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L)}));
|
||||
|
@ -275,6 +281,8 @@ public class GT_MetaGenerated_Item_02
|
|||
|
||||
ItemList.Crop_Drop_OilBerry.set(addItem(tLastID = 510, "Oil Berry", "Oil in Berry form", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L)}));
|
||||
ItemList.Crop_Drop_BobsYerUncleRanks.set(addItem(tLastID = 511, "Bobs-Yer-Uncle-Berry", "Source of Emeralds", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 1L)}));
|
||||
ItemList.Crop_Drop_UUMBerry.set(addItem(tLastID = 512, "UUM Berry", "UUM in Berry form", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L)}));
|
||||
ItemList.Crop_Drop_UUABerry.set(addItem(tLastID = 513, "UUA Berry", "UUA in Berry form", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L)}));
|
||||
|
||||
ItemList.Crop_Drop_MilkWart.set(addItem(tLastID = 520, "Milk Wart", "Source of Milk", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L)}));
|
||||
|
||||
|
@ -283,6 +291,20 @@ public class GT_MetaGenerated_Item_02
|
|||
ItemList.Crop_Drop_Tine.set(addItem(tLastID = 540, "Tine Twig", "Source of Tin", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L)}));
|
||||
setBurnValue(32000 + tLastID, 100);
|
||||
|
||||
ItemList.Crop_Drop_Bauxite.set(addItem(tLastID = 521, "Bauxia Leaf", "Source of Aluminium", new Object[]{}));
|
||||
ItemList.Crop_Drop_Ilmenite.set(addItem(tLastID = 522, "Titania Leaf", "Source of Titanium", new Object[]{}));
|
||||
ItemList.Crop_Drop_Pitchblende.set(addItem(tLastID = 523, "Reactoria Leaf", "Source of Uranium", new Object[]{}));
|
||||
ItemList.Crop_Drop_Uraninite.set(addItem(tLastID = 524, "Uranium Leaf", "Source of Uranite", new Object[]{}));
|
||||
ItemList.Crop_Drop_Thorium.set(addItem(tLastID = 526, "Thunder Leaf", "Source of Thorium", new Object[]{}));
|
||||
ItemList.Crop_Drop_Nickel.set(addItem(tLastID = 527, "Nickelback Leaf", "Source of Nickel", new Object[]{}));
|
||||
ItemList.Crop_Drop_Zinc.set(addItem(tLastID = 528, "Galvania Leaf", "Source of Zinc", new Object[]{}));
|
||||
ItemList.Crop_Drop_Manganese.set(addItem(tLastID = 529, "Pyrolusium Leaf", "Source of Manganese", new Object[]{}));
|
||||
ItemList.Crop_Drop_Scheelite.set(addItem(tLastID = 531, "Scheelinium Leaf", "Source of Tungsten", new Object[]{}));
|
||||
ItemList.Crop_Drop_Platinum.set(addItem(tLastID = 532, "Platina Leaf", "Source of Platinum", new Object[]{}));
|
||||
ItemList.Crop_Drop_Iridium.set(addItem(tLastID = 533, "Quantaria Leaf", "Source of Iridium", new Object[]{}));
|
||||
ItemList.Crop_Drop_Osmium.set(addItem(tLastID = 534, "Quantaria Leaf", "Source of Osmium", new Object[]{}));
|
||||
ItemList.Crop_Drop_Naquadah.set(addItem(tLastID = 535, "Stargatium Leaf", "Source of Naquadah", new Object[]{}));
|
||||
|
||||
ItemList.Crop_Drop_Chilly.set(addItem(tLastID = 550, "Chilly Pepper", "It is red and hot", new Object[]{"cropChilipepper", new GT_FoodStat(1, 0.3F, EnumAction.eat, null, false, true, false, new int[]{Potion.confusion.id, 200, 1, 40}), new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L)}));
|
||||
ItemList.Crop_Drop_Lemon.set(addItem(tLastID = 551, "Lemon", "Don't make Lemonade", new Object[]{"cropLemon", new GT_FoodStat(1, 0.3F, EnumAction.eat, null, false, true, false, new int[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L)}));
|
||||
ItemList.Crop_Drop_Tomato.set(addItem(tLastID = 552, "Tomato", "Solid Ketchup", new Object[]{"cropTomato", new GT_FoodStat(1, 0.2F, EnumAction.eat, null, false, true, false, new int[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L)}));
|
||||
|
@ -328,9 +350,6 @@ public class GT_MetaGenerated_Item_02
|
|||
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Plumbilia.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1L));
|
||||
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Argentia.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1L));
|
||||
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Indigo.get(1L, new Object[0]), ItemList.Dye_Indigo.get(1L, new Object[0]));
|
||||
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Ferru.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1L));
|
||||
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Aurelia.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1L));
|
||||
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_BobsYerUncleRanks.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Emerald, 1L));
|
||||
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_MilkWart.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Milk, 1L));
|
||||
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Coppon.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1L));
|
||||
GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Tine.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1L));
|
||||
|
|
|
@ -6,12 +6,12 @@ import gregtech.api.items.GT_MetaGenerated_Tool;
|
|||
import gregtech.api.util.GT_ModHandler;
|
||||
import gregtech.api.util.GT_OreDictUnificator;
|
||||
import gregtech.common.tools.*;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class GT_MetaGenerated_Tool_01
|
||||
extends GT_MetaGenerated_Tool {
|
||||
public class GT_MetaGenerated_Tool_01 extends GT_MetaGenerated_Tool {
|
||||
public static final short SWORD = 0;
|
||||
public static final short PICKAXE = 2;
|
||||
public static final short SHOVEL = 4;
|
||||
|
@ -66,7 +66,7 @@ public class GT_MetaGenerated_Tool_01
|
|||
addTool(8, "Hoe", "", new GT_Tool_Hoe(), new Object[]{ToolDictNames.craftingToolHoe, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 4L)});
|
||||
addTool(10, "Saw", "Can also harvest Ice", new GT_Tool_Saw(), new Object[]{ToolDictNames.craftingToolSaw, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 2L)});
|
||||
GregTech_API.registerTool(addTool(12, "Hammer", "Crushes Ores instead of harvesting them", new GT_Tool_HardHammer(), new Object[]{ToolDictNames.craftingToolHardHammer, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)}), GregTech_API.sHardHammerList);
|
||||
GregTech_API.registerTool(addTool(14, "Soft Hammer", "", new GT_Tool_SoftHammer(), new Object[]{ToolDictNames.craftingToolSoftHammer, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.LIMUS, 4L)}), GregTech_API.sSoftHammerList);
|
||||
GregTech_API.registerTool(addTool(14, "Soft Mallet", "", new GT_Tool_SoftHammer(), new Object[]{ToolDictNames.craftingToolSoftHammer, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.LIMUS, 4L)}), GregTech_API.sSoftHammerList);
|
||||
GregTech_API.registerTool(addTool(WRENCH, "Wrench", "Hold Leftclick to dismantle Machines", new GT_Tool_Wrench(), new Object[]{ToolDictNames.craftingToolWrench, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)}), GregTech_API.sWrenchList);
|
||||
addTool(18, "File", "", new GT_Tool_File(), new Object[]{ToolDictNames.craftingToolFile, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)});
|
||||
GregTech_API.registerTool(addTool(20, "Crowbar", "Dismounts Covers and Rotates Rails", new GT_Tool_Crowbar(), new Object[]{ToolDictNames.craftingToolCrowbar, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.TELUM, 2L)}), GregTech_API.sCrowbarList);
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
package gregtech.common.items.behaviors;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
|
||||
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
|
||||
import gregtech.api.items.GT_MetaBase_Item;
|
||||
import gregtech.api.items.GT_MetaGenerated_Tool;
|
||||
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicBatteryBuffer;
|
||||
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -38,7 +42,18 @@ public class Behaviour_Plunger_Fluid
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (aTileEntity instanceof IGregTechTileEntity) {
|
||||
IGregTechTileEntity tTileEntity = (IGregTechTileEntity) aTileEntity;
|
||||
IMetaTileEntity mTileEntity = tTileEntity.getMetaTileEntity();
|
||||
if (mTileEntity instanceof GT_MetaTileEntity_BasicTank) {
|
||||
GT_MetaTileEntity_BasicTank machine = (GT_MetaTileEntity_BasicTank) mTileEntity;
|
||||
if(machine.mFluid!=null&&machine.mFluid.amount>0)
|
||||
machine.mFluid.amount = machine.mFluid.amount - Math.min(machine.mFluid.amount, 1000);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -59,8 +59,7 @@ public class Behaviour_Spray_Color
|
|||
Items.feather.setDamage(aStack, Items.feather.getDamage(this.mUsed));
|
||||
tUses = this.mUses;
|
||||
}
|
||||
if ((GT_Utility.areStacksEqual(aStack, this.mUsed, true)) &&
|
||||
(colorize(aWorld, aX, aY, aZ, aSide))) {
|
||||
if ((GT_Utility.areStacksEqual(aStack, this.mUsed, true)) && (colorize(aWorld, aX, aY, aZ, aSide))) {
|
||||
GT_Utility.sendSoundToPlayers(aWorld, (String) GregTech_API.sSoundList.get(Integer.valueOf(102)), 1.0F, 1.0F, aX, aY, aZ);
|
||||
if (!aPlayer.capabilities.isCreativeMode) {
|
||||
tUses -= 1L;
|
||||
|
|
|
@ -17,13 +17,7 @@ import java.util.Collection;
|
|||
|
||||
public class GT_CapeRenderer
|
||||
extends RenderPlayer {
|
||||
private final ResourceLocation[] mCapes = { new ResourceLocation("gregtech:textures/BrainTechCape.png"),
|
||||
new ResourceLocation("gregtech:textures/GregTechCape.png"),
|
||||
new ResourceLocation("gregtech:textures/MrBrainCape.png"),
|
||||
new ResourceLocation("gregtech:textures/GregoriusCape.png"),
|
||||
new ResourceLocation("gregtech:textures/DonorCape.png"),
|
||||
new ResourceLocation("gregtech:textures/DevCape.png"),
|
||||
new ResourceLocation("gregtech:textures/TecCape.png")};
|
||||
private final ResourceLocation[] mCapes = {new ResourceLocation("gregtech:textures/BrainTechCape.png"), new ResourceLocation("gregtech:textures/GregTechCape.png"), new ResourceLocation("gregtech:textures/MrBrainCape.png"), new ResourceLocation("gregtech:textures/GregoriusCape.png")};
|
||||
private final Collection<String> mCapeList;
|
||||
|
||||
public GT_CapeRenderer(Collection<String> aCapeList) {
|
||||
|
@ -58,15 +52,6 @@ public class GT_CapeRenderer
|
|||
if (aPlayer.getDisplayName().equalsIgnoreCase("GregoriusT")) {
|
||||
tResource = this.mCapes[3];
|
||||
}
|
||||
if (this.mCapeList.contains(aPlayer.getDisplayName().toLowerCase() + ":capedonor")) {
|
||||
tResource = this.mCapes[4];
|
||||
}
|
||||
if (this.mCapeList.contains(aPlayer.getDisplayName().toLowerCase() + ":capedev")) {
|
||||
tResource = this.mCapes[5];
|
||||
}
|
||||
if (this.mCapeList.contains(aPlayer.getDisplayName().toLowerCase() + ":capetec")) {
|
||||
tResource = this.mCapes[6];
|
||||
}
|
||||
if ((tResource != null) && (!aPlayer.getHideCape())) {
|
||||
bindTexture(tResource);
|
||||
GL11.glPushMatrix();
|
||||
|
|
|
@ -63,7 +63,6 @@ public class GT_MetaTileEntity_TypeFilter
|
|||
i = OrePrefixes.values().length - 1;
|
||||
}
|
||||
} while (OrePrefixes.values()[i].mPrefixedItems.isEmpty());
|
||||
|
||||
} else {
|
||||
do {
|
||||
i++;
|
||||
|
|
|
@ -228,7 +228,7 @@ public abstract class GT_MetaTileEntity_Boiler
|
|||
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
|
||||
}
|
||||
} else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite)))) {
|
||||
this.mProcessingEnergy += 40;
|
||||
this.mProcessingEnergy += 120;
|
||||
aBaseMetaTileEntity.decrStackSize(2, 1);
|
||||
if (aBaseMetaTileEntity.getRandomNumber(8) == 0) {
|
||||
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
|
||||
|
@ -244,11 +244,11 @@ public abstract class GT_MetaTileEntity_Boiler
|
|||
}
|
||||
|
||||
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
|
||||
return (aIndex == 1) || (aIndex == 3);
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
|
||||
return aIndex == 2;
|
||||
return false;
|
||||
}
|
||||
|
||||
public void doSound(byte aIndex, double aX, double aY, double aZ) {
|
||||
|
|
|
@ -127,7 +127,7 @@ public class GT_MetaTileEntity_Boiler_Bronze
|
|||
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
|
||||
}
|
||||
} else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite)))) {
|
||||
this.mProcessingEnergy += 40;
|
||||
this.mProcessingEnergy += 120;
|
||||
aBaseMetaTileEntity.decrStackSize(2, 1);
|
||||
if (aBaseMetaTileEntity.getRandomNumber(8) == 0) {
|
||||
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
|
||||
|
|
|
@ -10,6 +10,7 @@ import gregtech.api.util.GT_ModHandler;
|
|||
import gregtech.common.gui.GT_Container_Boiler;
|
||||
import gregtech.common.gui.GT_GUIContainer_Boiler;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.IFluidHandler;
|
||||
|
@ -58,6 +59,20 @@ public class GT_MetaTileEntity_Boiler_Solar
|
|||
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
||||
return new GT_MetaTileEntity_Boiler_Solar(this.mName, this.mTier, this.mDescription, this.mTextures);
|
||||
}
|
||||
|
||||
private int mRunTime = 0;
|
||||
|
||||
@Override
|
||||
public void saveNBTData(NBTTagCompound aNBT) {
|
||||
super.saveNBTData(aNBT);
|
||||
aNBT.setInteger("mRunTime", this.mRunTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadNBTData(NBTTagCompound aNBT) {
|
||||
super.loadNBTData(aNBT);
|
||||
this.mRunTime = aNBT.getInteger("mRunTime");
|
||||
}
|
||||
|
||||
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
|
||||
if ((aBaseMetaTileEntity.isServerSide()) && (aTick > 20L)) {
|
||||
|
@ -92,12 +107,17 @@ public class GT_MetaTileEntity_Boiler_Solar
|
|||
return;
|
||||
}
|
||||
this.mFluid.amount -= 1;
|
||||
mRunTime += 1;
|
||||
int tOutput = 150;
|
||||
if(mRunTime > 10000){
|
||||
tOutput = Math.max(50, 150 - ((mRunTime-10000)/100));
|
||||
}
|
||||
if (this.mSteam == null) {
|
||||
this.mSteam = GT_ModHandler.getSteam(150L);
|
||||
this.mSteam = GT_ModHandler.getSteam(tOutput);
|
||||
} else if (GT_ModHandler.isSteam(this.mSteam)) {
|
||||
this.mSteam.amount += 150;
|
||||
this.mSteam.amount += tOutput;
|
||||
} else {
|
||||
this.mSteam = GT_ModHandler.getSteam(150L);
|
||||
this.mSteam = GT_ModHandler.getSteam(tOutput);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -132,7 +132,7 @@ public class GT_MetaTileEntity_Boiler_Steel
|
|||
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
|
||||
}
|
||||
} else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite)))) {
|
||||
this.mProcessingEnergy += 40;
|
||||
this.mProcessingEnergy += 120;
|
||||
aBaseMetaTileEntity.decrStackSize(2, 1);
|
||||
if (aBaseMetaTileEntity.getRandomNumber(8) == 0) {
|
||||
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
|
||||
|
|
|
@ -46,7 +46,7 @@ public class GT_MetaTileEntity_DieselGenerator
|
|||
}
|
||||
|
||||
public void onConfigLoad() {
|
||||
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "DieselGenerator.efficiency.tier." + this.mTier, (100 - this.mTier * 10));
|
||||
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "DieselGenerator.efficiency.tier." + this.mTier, (100 - this.mTier * 5));
|
||||
}
|
||||
|
||||
public int getEfficiency() {
|
||||
|
|
|
@ -42,7 +42,7 @@ public class GT_MetaTileEntity_GasTurbine
|
|||
}
|
||||
|
||||
public void onConfigLoad() {
|
||||
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "GasTurbine.efficiency.tier." + this.mTier, (100 - this.mTier * 10));
|
||||
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "GasTurbine.efficiency.tier." + this.mTier, (100 - this.mTier * 5));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ public class GT_MetaTileEntity_MagicEnergyConverter
|
|||
}
|
||||
|
||||
public void onConfigLoad() {
|
||||
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyConverter.efficiency.tier." + this.mTier, 100 - this.mTier * 10);
|
||||
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyConverter.efficiency.tier." + this.mTier, 100 - this.mTier * 5);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -70,7 +70,8 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
|
|||
}
|
||||
|
||||
public void onConfigLoad() {
|
||||
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.efficiency.tier." + this.mTier, 100 - this.mTier * 10);
|
||||
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.efficiency.tier." + this.mTier,
|
||||
100 - this.mTier * 10);
|
||||
this.sAllowMultipleEggs = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.AllowMultipleEggs", false);
|
||||
this.sEnergyPerEnderCrystal = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerTick.EnderCrystal", 32);
|
||||
this.sEnergyFromVis = (GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerVisDivisor", 2500) * 10);
|
||||
|
@ -80,12 +81,14 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
|
|||
|
||||
@Override
|
||||
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
|
||||
if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && aBaseMetaTileEntity.getUniversalEnergyStored() < maxEUOutput() + aBaseMetaTileEntity.getEUCapacity()) {
|
||||
//Dragon Egg
|
||||
if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork()
|
||||
&& aBaseMetaTileEntity.getUniversalEnergyStored() < maxEUOutput() + aBaseMetaTileEntity.getEUCapacity()) {
|
||||
// Dragon Egg
|
||||
if (hasEgg() && aTick % 10 == 0) {
|
||||
getBaseMetaTileEntity().increaseStoredEnergyUnits(sDragonEggEnergyPerTick * getEfficiency() * 10, false);
|
||||
getBaseMetaTileEntity().increaseStoredEnergyUnits(sDragonEggEnergyPerTick * getEfficiency() / 10, false);
|
||||
if ((mActiveSiphon != this) && (!sAllowMultipleEggs)) {
|
||||
if ((mActiveSiphon == null) || (mActiveSiphon.getBaseMetaTileEntity() == null) || (mActiveSiphon.getBaseMetaTileEntity().isInvalidTileEntity()) || (!mActiveSiphon.hasEgg())) {
|
||||
if ((mActiveSiphon == null) || (mActiveSiphon.getBaseMetaTileEntity() == null)
|
||||
|| (mActiveSiphon.getBaseMetaTileEntity().isInvalidTileEntity()) || (!mActiveSiphon.hasEgg())) {
|
||||
mActiveSiphon = this;
|
||||
} else {
|
||||
Block tEgg = mActiveSiphon.getBaseMetaTileEntity().getBlockOffset(0, 1, 0);
|
||||
|
@ -94,11 +97,10 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
|
|||
} else {
|
||||
mActiveSiphon = this;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//Energyzed node
|
||||
// Energyzed node
|
||||
if (isThaumcraftLoaded) {
|
||||
try {
|
||||
World tmpWorld = this.getBaseMetaTileEntity().getWorld();
|
||||
|
@ -111,24 +113,34 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
|
|||
int destruction = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.ENTROPY, 1000);
|
||||
int order = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.ORDER, 1000);
|
||||
int water = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.WATER, 1000);
|
||||
int visEU = (int) (Math.pow(fire, 4) + Math.pow(earth, 4) + Math.pow(air, 4) + Math.pow(destruction, 4) + Math.pow(order, 4) + Math.pow(water, 4));
|
||||
int visEU = (int) (Math.pow(fire, 4) + Math.pow(earth, 4) + Math.pow(air, 4) + Math.pow(destruction, 4) + Math.pow(order, 4) + Math.pow(
|
||||
water, 4));
|
||||
int mult = 85;
|
||||
if (fire > 4) mult += 15;
|
||||
if (earth > 4) mult += 15;
|
||||
if (air > 4) mult += 15;
|
||||
if (destruction > 4) mult += 15;
|
||||
if (order > 4) mult += 15;
|
||||
if (water > 4) mult += 15;
|
||||
if (fire > 4)
|
||||
mult += 15;
|
||||
if (earth > 4)
|
||||
mult += 15;
|
||||
if (air > 4)
|
||||
mult += 15;
|
||||
if (destruction > 4)
|
||||
mult += 15;
|
||||
if (order > 4)
|
||||
mult += 15;
|
||||
if (water > 4)
|
||||
mult += 15;
|
||||
visEU = (visEU * mult) / 100;
|
||||
getBaseMetaTileEntity().increaseStoredEnergyUnits(Math.min(maxEUOutput(), visEU * getEfficiency() / this.sEnergyFromVis), false);
|
||||
} catch (Throwable e) {
|
||||
}
|
||||
}
|
||||
//EnderCrystal
|
||||
|
||||
// EnderCrystal
|
||||
if (sEnergyPerEnderCrystal > 0) {
|
||||
if (this.mTargetedCrystal == null) {
|
||||
ArrayList<EntityEnderCrystal> tList = (ArrayList) getBaseMetaTileEntity().getWorld().getEntitiesWithinAABB(EntityEnderCrystal.class, AxisAlignedBB.getBoundingBox(getBaseMetaTileEntity().getXCoord() - 64, getBaseMetaTileEntity().getYCoord() - 64, getBaseMetaTileEntity().getZCoord() - 64, getBaseMetaTileEntity().getXCoord() + 64, getBaseMetaTileEntity().getYCoord() + 64, getBaseMetaTileEntity().getZCoord() + 64));
|
||||
ArrayList<EntityEnderCrystal> tList = (ArrayList) getBaseMetaTileEntity().getWorld().getEntitiesWithinAABB(
|
||||
EntityEnderCrystal.class,
|
||||
AxisAlignedBB.getBoundingBox(getBaseMetaTileEntity().getXCoord() - 64, getBaseMetaTileEntity().getYCoord() - 64,
|
||||
getBaseMetaTileEntity().getZCoord() - 64, getBaseMetaTileEntity().getXCoord() + 64,
|
||||
getBaseMetaTileEntity().getYCoord() + 64, getBaseMetaTileEntity().getZCoord() + 64));
|
||||
if ((tList != null) && (!tList.isEmpty())) {
|
||||
tList.removeAll(sUsedDragonCrystalList);
|
||||
if (tList.size() > 0) {
|
||||
|
@ -146,14 +158,14 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
|
|||
}
|
||||
}
|
||||
|
||||
//Absorb entchantments
|
||||
// Absorb entchantments and TC essentia
|
||||
try {
|
||||
if ((this.mInventory[0] != null) && (this.mInventory[1] == null)) {
|
||||
if (isThaumcraftLoaded && this.mInventory[0].getItem() instanceof IEssentiaContainerItem) {
|
||||
AspectList tAspect = ((IEssentiaContainerItem) this.mInventory[0].getItem()).getAspects(this.mInventory[0]);
|
||||
TC_Aspects tValue = TC_Aspects.valueOf(tAspect.getAspects()[0].getTag().toUpperCase());
|
||||
int tEU = (tValue.mValue * tAspect.getAmount((Aspect) tValue.mAspect) * 100);
|
||||
getBaseMetaTileEntity().increaseStoredEnergyUnits(tEU, true);
|
||||
getBaseMetaTileEntity().increaseStoredEnergyUnits(tEU * getEfficiency() / 100, true);
|
||||
ItemStack tStack = this.mInventory[0].copy();
|
||||
tStack.setTagCompound(null);
|
||||
tStack.setItemDamage(0);
|
||||
|
@ -174,7 +186,8 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
|
|||
if ((tID > -1) && (tID < Enchantment.enchantmentsList.length)) {
|
||||
Enchantment tEnchantment = Enchantment.enchantmentsList[tID];
|
||||
if (tEnchantment != null) {
|
||||
getBaseMetaTileEntity().increaseStoredEnergyUnits(1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
|
||||
getBaseMetaTileEntity().increaseStoredEnergyUnits(
|
||||
1000000 * getEfficiency() * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight() * 100), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -186,10 +199,11 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
|
|||
for (int i = 0; i < tEnchantments.tagCount(); i++) {
|
||||
short tID = ((NBTTagCompound) tEnchantments.getCompoundTagAt(i)).getShort("id");
|
||||
short tLevel = ((NBTTagCompound) tEnchantments.getCompoundTagAt(i)).getShort("lvl");
|
||||
if ((tID > -1) && (tID < Enchantment.enchantmentsBookList.length)) {
|
||||
Enchantment tEnchantment = Enchantment.enchantmentsBookList[tID];
|
||||
if ((tID > -1) && (tID < Enchantment.enchantmentsList.length)) {
|
||||
Enchantment tEnchantment = Enchantment.enchantmentsList[tID];
|
||||
if (tEnchantment != null) {
|
||||
getBaseMetaTileEntity().increaseStoredEnergyUnits(1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
|
||||
getBaseMetaTileEntity().increaseStoredEnergyUnits(
|
||||
1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -219,17 +233,18 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
|
|||
return Blocks.dragon_egg == above || above.getUnlocalizedName().equals("tile.dragonEgg");
|
||||
}
|
||||
|
||||
public int getEfficiency() {
|
||||
return this.mEfficiency;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxEUStore() {
|
||||
return Math.max(getEUVar(), V[mTier] * 16000 + getMinimumStoredEU());
|
||||
}
|
||||
|
||||
public int getEfficiency() {
|
||||
return this.mEfficiency;
|
||||
}
|
||||
|
||||
public ITexture[] getFront(byte aColor) {
|
||||
return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
|
||||
return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC),
|
||||
Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
|
||||
}
|
||||
|
||||
public ITexture[] getBack(byte aColor) {
|
||||
|
@ -249,7 +264,8 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
|
|||
}
|
||||
|
||||
public ITexture[] getFrontActive(byte aColor) {
|
||||
return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
|
||||
return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE),
|
||||
Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
|
||||
}
|
||||
|
||||
public ITexture[] getBackActive(byte aColor) {
|
||||
|
|
|
@ -12,8 +12,7 @@ import gregtech.api.util.GT_ModHandler;
|
|||
import gregtech.api.util.GT_Recipe;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
public class GT_MetaTileEntity_SteamTurbine
|
||||
extends GT_MetaTileEntity_BasicGenerator {
|
||||
public class GT_MetaTileEntity_SteamTurbine extends GT_MetaTileEntity_BasicGenerator {
|
||||
|
||||
public int mEfficiency;
|
||||
|
||||
|
@ -39,12 +38,17 @@ public class GT_MetaTileEntity_SteamTurbine
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getDescription() {
|
||||
return new String[]{mDescription, "Fuel Efficiency: " + (600 / getEfficiency()) + "%"};
|
||||
}
|
||||
|
||||
public int getCapacity() {
|
||||
return 24000 * this.mTier;
|
||||
}
|
||||
|
||||
public void onConfigLoad() {
|
||||
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "SteamTurbine.efficiency.tier." + this.mTier, (200 / consumedFluidPerOperation(GT_ModHandler.getSteam(1L))));
|
||||
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "SteamTurbine.efficiency.tier." + this.mTier, 6 + this.mTier);
|
||||
}
|
||||
|
||||
public int getEfficiency() {
|
||||
|
@ -52,15 +56,16 @@ public class GT_MetaTileEntity_SteamTurbine
|
|||
}
|
||||
|
||||
public int getFuelValue(FluidStack aLiquid) {
|
||||
return GT_ModHandler.isSteam(aLiquid) ? 1 : 0;
|
||||
return GT_ModHandler.isSteam(aLiquid) ? 3 : 0;
|
||||
}
|
||||
|
||||
public int consumedFluidPerOperation(FluidStack aLiquid) {
|
||||
return 2 + this.mTier;
|
||||
return this.mEfficiency;
|
||||
}
|
||||
|
||||
public ITexture[] getFront(byte aColor) {
|
||||
return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_FRONT), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
|
||||
return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_FRONT),
|
||||
Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
|
||||
}
|
||||
|
||||
public ITexture[] getBack(byte aColor) {
|
||||
|
@ -80,7 +85,8 @@ public class GT_MetaTileEntity_SteamTurbine
|
|||
}
|
||||
|
||||
public ITexture[] getFrontActive(byte aColor) {
|
||||
return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_FRONT_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
|
||||
return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_FRONT_ACTIVE),
|
||||
Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
|
||||
}
|
||||
|
||||
public ITexture[] getBackActive(byte aColor) {
|
||||
|
|
|
@ -30,7 +30,6 @@ public class GT_MetaTileEntity_Disassembler
|
|||
if (tNBT != null) {
|
||||
tNBT = tNBT.getCompoundTag("GT.CraftingComponents");
|
||||
if (tNBT != null) {
|
||||
getInputAt(0).stackSize -= 1;
|
||||
this.mEUt = (16 * (1 << this.mTier - 1) * (1 << this.mTier - 1));
|
||||
this.mMaxProgresstime = 80;
|
||||
for (int i = 0; i < this.mOutputItems.length; i++) {
|
||||
|
@ -41,6 +40,10 @@ public class GT_MetaTileEntity_Disassembler
|
|||
}
|
||||
}
|
||||
}
|
||||
if(mMaxProgresstime==80){
|
||||
return 0;
|
||||
}
|
||||
getInputAt(0).stackSize -= 1;
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,8 @@ import gregtech.api.objects.GT_RenderedTexture;
|
|||
import gregtech.api.util.GT_Config;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
import static gregtech.api.enums.GT_Values.V;
|
||||
|
||||
public class GT_MetaTileEntity_Massfabricator
|
||||
extends GT_MetaTileEntity_BasicMachine {
|
||||
public static int sUUAperUUM = 1;
|
||||
|
@ -40,11 +42,21 @@ public class GT_MetaTileEntity_Massfabricator
|
|||
Materials.UUAmplifier.mChemicalFormula = ("Mass Fabricator Eff/Speed Bonus: x" + sUUASpeedBonus);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxAmperesIn() {
|
||||
return 10;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxEUStore() {
|
||||
return V[mTier] * 512;
|
||||
}
|
||||
|
||||
public int checkRecipe() {
|
||||
FluidStack tFluid = getDrainableStack();
|
||||
if ((tFluid == null) || (tFluid.amount < getCapacity())) {
|
||||
this.mOutputFluid = Materials.UUMatter.getFluid(1L);
|
||||
this.mEUt = ((int) gregtech.api.enums.GT_Values.V[this.mTier]);
|
||||
this.mEUt = (((int) gregtech.api.enums.GT_Values.V[1]) * (int)Math.pow(2, this.mTier + 2));
|
||||
this.mMaxProgresstime = (sDurationMultiplier / (1 << this.mTier - 1));
|
||||
if (((tFluid = getFillableStack()) != null) && (tFluid.amount >= sUUAperUUM) && (tFluid.isFluidEqual(Materials.UUAmplifier.getFluid(1L)))) {
|
||||
tFluid.amount -= sUUAperUUM;
|
||||
|
|
|
@ -17,7 +17,7 @@ public class GT_MetaTileEntity_MonsterRepellent extends GT_MetaTileEntity_Tiered
|
|||
public int mRange = 16;
|
||||
|
||||
public GT_MetaTileEntity_MonsterRepellent(int aID, String aName, String aNameRegional, int aTier) {
|
||||
super(aID, aName, aNameRegional, aTier, 0, "Reprells nasty Creatures. Range: " + (4 + (12 * aTier)) + " unpowered / " + (16 + (48 * aTier)) + " powered");
|
||||
super(aID, aName, aNameRegional, aTier, 0, "Repels nasty Creatures. Range: " + (4 + (12 * aTier)) + " unpowered / " + (16 + (48 * aTier)) + " powered");
|
||||
}
|
||||
|
||||
public GT_MetaTileEntity_MonsterRepellent(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
|
||||
|
|
|
@ -203,7 +203,6 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
|
|||
getBaseMetaTileEntity().getWorld().setBlock(getBaseMetaTileEntity().getXCoord(), y, getBaseMetaTileEntity().getZCoord(),
|
||||
GT_Utility.getBlockFromStack(GT_ModHandler.getIC2Item("miningPipeTip", 1L)));
|
||||
getBaseMetaTileEntity().decrStackSize(0, 1);
|
||||
|
||||
}
|
||||
return y;
|
||||
}
|
||||
|
|
|
@ -134,6 +134,20 @@ public class GT_MetaTileEntity_Scanner
|
|||
return 2;
|
||||
}
|
||||
}
|
||||
if (getSpecialSlot() == null && ItemList.Tool_DataStick.isStackEqual(aStack, false, true)) {
|
||||
if (GT_Utility.ItemNBT.getBookTitle(aStack).equals("Raw Prospection Data")) {
|
||||
GT_Utility.ItemNBT.setBookTitle(aStack, "Analyzed Prospection Data");
|
||||
GT_Utility.ItemNBT.convertProspectionData(aStack);
|
||||
aStack.stackSize -= 1;
|
||||
|
||||
this.mOutputItems[0] = GT_Utility.copyAmount(1L, new Object[]{aStack});
|
||||
this.mMaxProgresstime = (1000 / (1 << this.mTier - 1));
|
||||
this.mEUt = (32 * (1 << this.mTier - 1) * (1 << this.mTier - 1));
|
||||
return 2;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -160,7 +160,7 @@ public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
|
|||
public boolean isGivingInformation() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String[] getInfoData() {
|
||||
return new String[]{"Coordinates:", "X: " + this.mTargetX, "Y: " + this.mTargetY, "Z: " + this.mTargetZ, "Dimension: " + this.mTargetD};
|
||||
|
@ -431,4 +431,4 @@ public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
|
|||
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,8 +36,7 @@ public class GT_MetaTileEntity_AssemblyLine
|
|||
public String[] getDescription() {
|
||||
return new String[]{"Assembly line",
|
||||
"Size: 3x(2-16)x4, variable length",
|
||||
"Bottom: Steel Casing(or Maintenance or Input Hatch), +",
|
||||
"Input Bus(Last Output Bus), Steel Casing",
|
||||
"Bottom: Steel Casing(or Maintenance or Input Hatch), Input Bus(Last Output Bus), Steel Casing",
|
||||
"Middle: Reinforced Glass, Assembling Line, Reinforced Glass",
|
||||
"UpMiddle: Grate Casing(or Controller), Assembling Casing, Grate Casing",
|
||||
"Top: Steel Casing(or Energy Hatch)",
|
||||
|
@ -228,4 +227,4 @@ public class GT_MetaTileEntity_AssemblyLine
|
|||
public boolean explodesOnComponentBreak(ItemStack aStack) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -43,7 +43,11 @@ public class GT_MetaTileEntity_BronzeBlastFurnace
|
|||
}
|
||||
|
||||
public String[] getDescription() {
|
||||
return new String[]{"To get your first Steel", "Multiblock: 3x3x4 hollow with opening on top", "32 Bronze Plated Bricks required"};
|
||||
return new String[]{
|
||||
"Controller Block for the Bronze Blast Furnace",
|
||||
"How to get your first Steel",
|
||||
"Size(WxHxD): 3x4x3 (Hollow, with opening on top)",
|
||||
"Bronze Plated Bricks for the rest (32 at least!)"};
|
||||
}
|
||||
|
||||
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
|
||||
|
@ -338,4 +342,4 @@ public class GT_MetaTileEntity_BronzeBlastFurnace
|
|||
public byte getTileEntityBaseType() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,10 @@
|
|||
package gregtech.common.tileentities.machines.multi;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.Textures;
|
||||
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
|
||||
|
@ -36,11 +41,12 @@ public class GT_MetaTileEntity_DistillationTower
|
|||
public String[] getDescription() {
|
||||
return new String[]{
|
||||
"Controller Block for the Distillation Tower",
|
||||
"Size: 3x3x6 (Hollow)", "Controller (front bottom)",
|
||||
"1x Input Hatch (bottom)",
|
||||
"5x Output Hatch (one each height level besides botton)",
|
||||
"1x Output Bus (Botton)", "1x Energy Hatch (anywhere)",
|
||||
"1x Maintenance Hatch (anywhere)",
|
||||
"Size(WxHxD): 3x6x3 (Hollow), Controller (Front bottom)",
|
||||
"1x Input Hatch (Any bottom layer casing)",
|
||||
"5x Output Hatch (Any casing besides bottom layer)",
|
||||
"1x Output Bus (Any bottom layer casing)",
|
||||
"1x Maintenance Hatch (Any casing)",
|
||||
"1x Energy Hatch (Any casing)",
|
||||
"Clean Stainless Steel Casings for the rest (26 at least!)"};
|
||||
}
|
||||
|
||||
|
@ -69,12 +75,28 @@ public class GT_MetaTileEntity_DistillationTower
|
|||
|
||||
public boolean checkRecipe(ItemStack aStack) {
|
||||
|
||||
ArrayList<FluidStack> tFluidList = getStoredFluids();
|
||||
for (int i = 0; i < tFluidList.size() - 1; i++) {
|
||||
for (int j = i + 1; j < tFluidList.size(); j++) {
|
||||
if (GT_Utility.areFluidsEqual((FluidStack) tFluidList.get(i), (FluidStack) tFluidList.get(j))) {
|
||||
if (((FluidStack) tFluidList.get(i)).amount >= ((FluidStack) tFluidList.get(j)).amount) {
|
||||
tFluidList.remove(j--);
|
||||
} else {
|
||||
tFluidList.remove(i--);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
long tVoltage = getMaxInputVoltage();
|
||||
byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
|
||||
if (this.mInputHatches.size() > 0 && this.mInputHatches.get(0) != null && this.mInputHatches.get(0).mFluid != null && this.mInputHatches.get(0).mFluid.amount > 0) {
|
||||
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sDistillationRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[]{this.mInputHatches.get(0).mFluid}, new ItemStack[]{});
|
||||
FluidStack[] tFluids = (FluidStack[]) Arrays.copyOfRange(tFluidList.toArray(new FluidStack[tFluidList.size()]), 0, tFluidList.size());
|
||||
if (tFluids.length > 0) {
|
||||
for(int i = 0;i<tFluids.length;i++){
|
||||
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sDistillationRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[]{tFluids[i]}, new ItemStack[]{});
|
||||
if (tRecipe != null) {
|
||||
if (tRecipe.isRecipeInputEqual(true, new FluidStack[]{this.mInputHatches.get(0).mFluid}, new ItemStack[]{})) {
|
||||
if (tRecipe.isRecipeInputEqual(true, tFluids, new ItemStack[]{})) {
|
||||
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
|
||||
this.mEfficiencyIncrease = 10000;
|
||||
if (tRecipe.mEUt <= 16) {
|
||||
|
@ -93,9 +115,11 @@ public class GT_MetaTileEntity_DistillationTower
|
|||
}
|
||||
this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
|
||||
this.mOutputItems = new ItemStack[]{tRecipe.getOutput(0)};
|
||||
this.mOutputFluids = tRecipe.mFluidOutputs;
|
||||
this.mOutputFluids = tRecipe.mFluidOutputs.clone();
|
||||
ArrayUtils.reverse(mOutputFluids);
|
||||
updateSlots();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -130,7 +154,7 @@ public class GT_MetaTileEntity_DistillationTower
|
|||
}
|
||||
}
|
||||
}
|
||||
if (this.mInputHatches.size() != 1 || this.mOutputBusses.size() != 1 || this.mInputBusses.size() != 0 || this.mOutputHatches.size() != 5) {
|
||||
if (this.mOutputBusses.size() != 1 || this.mInputBusses.size() != 0 || this.mOutputHatches.size() != 5) {
|
||||
return false;
|
||||
}
|
||||
int height = this.getBaseMetaTileEntity().getYCoord();
|
||||
|
@ -179,4 +203,4 @@ public class GT_MetaTileEntity_DistillationTower
|
|||
public boolean explodesOnComponentBreak(ItemStack aStack) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -35,7 +35,16 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
|
|||
}
|
||||
|
||||
public String[] getDescription() {
|
||||
return new String[]{"Controller Block for the Blast Furnace", "Size: 3x3x4 (Hollow)", "Controller (front middle at bottom)", "16x Heating Coils (two middle Layers, hollow)", "1x Input (one of bottom)", "1x Output (one of bottom)", "1x Energy Hatch (one of bottom)", "1x Maintenance Hatch (one of bottom)", "1x Muffler Hatch (top middle)", "Heat Proof Machine Casings for the rest"};
|
||||
return new String[]{
|
||||
"Controller Block for the Blast Furnace",
|
||||
"Size(WxHxD): 3x4x3 (Hollow), Controller (Front middle bottom)",
|
||||
"16x Heating Coils (Two middle Layers, hollow)",
|
||||
"1x Input (Any bottom layer casing)",
|
||||
"1x Output (Any bottom layer casing)",
|
||||
"1x Energy Hatch (Any bottom layer casing)",
|
||||
"1x Maintenance Hatch (Any bottom layer casing)",
|
||||
"1x Muffler Hatch (Top middle)",
|
||||
"Heat Proof Machine Casings for the rest"};
|
||||
}
|
||||
|
||||
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
|
||||
|
@ -121,7 +130,7 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
|
|||
return false;
|
||||
}
|
||||
|
||||
private boolean checkMachineFunction(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
|
||||
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
|
||||
int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
|
||||
int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
|
||||
|
||||
|
@ -145,9 +154,6 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
|
|||
case 14:
|
||||
this.mHeatingCapacity = 3600;
|
||||
break;
|
||||
case 15:
|
||||
this.mHeatingCapacity = 9000;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -194,12 +200,6 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
|
|||
return true;
|
||||
}
|
||||
|
||||
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack){
|
||||
boolean result= this.checkMachineFunction(aBaseMetaTileEntity,aStack);
|
||||
if (!result) this.mHeatingCapacity=0;
|
||||
return result;
|
||||
}
|
||||
|
||||
public int getMaxEfficiency(ItemStack aStack) {
|
||||
return 10000;
|
||||
}
|
||||
|
@ -219,11 +219,4 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
|
|||
public boolean explodesOnComponentBreak(ItemStack aStack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String[] getInfoData() {
|
||||
return new String[]{"Heating Capacity: " + (this.mHeatingCapacity) + "K", "Progress:", (mProgresstime / 20) + " secs", (mMaxProgresstime / 20) + " secs", "Efficiency: " + (mEfficiency / 100.0F) + "%", "Problems: " + (getIdealStatus() - getRepairStatus())};
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -440,4 +440,28 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity
|
|||
public boolean explodesOnComponentBreak(ItemStack aStack) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getInfoData() {
|
||||
String tier = tier() == 6 ? "I" : tier() == 7 ? "II" : "III";
|
||||
float plasmaOut = 0;
|
||||
int powerRequired = 0;
|
||||
if (this.mLastRecipe != null) {
|
||||
powerRequired = this.mLastRecipe.mEUt;
|
||||
if (this.mLastRecipe.getFluidOutput(0) != null) {
|
||||
plasmaOut = (float)this.mLastRecipe.getFluidOutput(0).amount / (float)this.mLastRecipe.mDuration;
|
||||
}
|
||||
}
|
||||
|
||||
return new String[]{
|
||||
"Fusion Reactor MK "+tier,
|
||||
"EU Required: "+powerRequired+"EU/t",
|
||||
"Stored EU: "+mEUStore+" / "+maxEUStore(),
|
||||
"Plasma Output: "+plasmaOut+"L/t"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGivingInformation() {
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -38,15 +38,14 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc
|
|||
public String[] getDescription() {
|
||||
return new String[]{
|
||||
"Controller Block for the Heat Exchanger",
|
||||
"Size: 3x3x4",
|
||||
"Controller (front middle at bottom)",
|
||||
"Size(WxHxD): 3x4x3, Controller (Front middle at bottom)",
|
||||
"3x3x4 of Stable Titanium Casing (hollow, Min 24!)",
|
||||
"2 Titanium Pipe Casing Blocks inside the Hollow Casing",
|
||||
"1x Distillated Water Input (one of the Casings)",
|
||||
"min 1 Steam Output (one of the Casings)",
|
||||
"1x Maintenance Hatch (one of the Casings)",
|
||||
"1x Hot Fluid Input (botton Center)",
|
||||
"1x Cold Fluid Output (top Center)"};
|
||||
"2 Titanium Pipe Casing Blocks (Inside the Hollow Casing)",
|
||||
"1x Distillated Water Input (Any casing)",
|
||||
"min 1 Steam Output (Any casing)",
|
||||
"1x Hot Fluid Input (Bottom center)",
|
||||
"1x Cold Fluid Output (Top Center)",
|
||||
"1x Maintenance Hatch (Any casing)"};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -288,4 +287,4 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc
|
|||
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
||||
return new GT_MetaTileEntity_HeatExchanger(this.mName);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -33,7 +33,15 @@ public class GT_MetaTileEntity_ImplosionCompressor
|
|||
}
|
||||
|
||||
public String[] getDescription() {
|
||||
return new String[]{"Controller Block for the Implosion Compressor", "Size: 3x3x3 (Hollow)", "Controller (front centered)", "1x Input (anywhere)", "1x Output (anywhere)", "1x Energy Hatch (anywhere)", "1x Maintenance Hatch (anywhere)", "1x Muffler Hatch (anywhere)", "Solid Steel Casings for the rest (16 at least!)"};
|
||||
return new String[]{
|
||||
"Controller Block for the Implosion Compressor",
|
||||
"Size(WxHxD): 3x3x3 (Hollow), Controller (Front centered)",
|
||||
"1x Input Bus (Any casing)",
|
||||
"1x Output Bus (Any casing)",
|
||||
"1x Maintenance Hatch (Any casing)",
|
||||
"1x Muffler Hatch (Any casing)",
|
||||
"1x Energy Hatch (Any casing)",
|
||||
"Solid Steel Casings for the rest (16 at least!)"};
|
||||
}
|
||||
|
||||
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
|
||||
|
@ -144,4 +152,4 @@ public class GT_MetaTileEntity_ImplosionCompressor
|
|||
public boolean explodesOnComponentBreak(ItemStack aStack) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue