aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/material
diff options
context:
space:
mode:
author‭huajijam <strhuaji@gmail.com>2019-03-18 20:52:30 +0800
committer‭huajijam <strhuaji@gmail.com>2019-03-18 20:52:30 +0800
commit8b090e1fd20eb4c301996b5e1dfeb78353e595e4 (patch)
tree52152dd767d195c76baa8fd8bacb14b105aaa146 /src/Java/gtPlusPlus/core/material
parent40d7e5da9f5b84213e2c3e4596fdc69b94bd523e (diff)
downloadGT5-Unofficial-8b090e1fd20eb4c301996b5e1dfeb78353e595e4.tar.gz
GT5-Unofficial-8b090e1fd20eb4c301996b5e1dfeb78353e595e4.tar.bz2
GT5-Unofficial-8b090e1fd20eb4c301996b5e1dfeb78353e595e4.zip
fix a bug
Diffstat (limited to 'src/Java/gtPlusPlus/core/material')
-rw-r--r--src/Java/gtPlusPlus/core/material/ALLOY.java6
-rw-r--r--src/Java/gtPlusPlus/core/material/ELEMENT.java6
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java50
-rw-r--r--src/Java/gtPlusPlus/core/material/ORES.java16
4 files changed, 40 insertions, 38 deletions
diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java
index c7397962ad..4edd36c51f 100644
--- a/src/Java/gtPlusPlus/core/material/ALLOY.java
+++ b/src/Java/gtPlusPlus/core/material/ALLOY.java
@@ -524,11 +524,11 @@ public final class ALLOY {
"Zirconium Carbide", //Material Name
MaterialState.SOLID, //State
new short[]{222, 202, 180, 0}, //Material Colour
- 1855, //Melting Point in C
+ 1555, //Melting Point in C
-1,
-1,
-1,
- true, //Uses Blast furnace?
+ false, //Uses Blast furnace?
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 50),
@@ -787,7 +787,7 @@ public final class ALLOY {
new MaterialStack(ELEMENT.getInstance().CERIUM, 6),
new MaterialStack(ELEMENT.getInstance().ANTIMONY, 4),
new MaterialStack(ELEMENT.getInstance().PLATINUM, 4),
- new MaterialStack(ELEMENT.getInstance().YTTERBIUM, 2),
+ new MaterialStack(ELEMENT.getInstance().YTTRIUM, 2),
new MaterialStack(ALLOY.TUNGSTENSTEEL, 8)
});
diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java
index 99bc37444e..62e1163a39 100644
--- a/src/Java/gtPlusPlus/core/material/ELEMENT.java
+++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java
@@ -11,6 +11,8 @@ import gtPlusPlus.core.util.minecraft.MaterialUtils;
public final class ELEMENT {
+ public static final String[] NAMES = new String[]{"Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminum", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttrium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Cesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium", "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium", "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium", "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Nihonium", "Flerovium", "Moscovium", "Livermorium", "Tennessine", "Oganesson"};
+
//First 50 Elements
public final Material HYDROGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Hydrogen);
public final Material HELIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Helium);
@@ -148,8 +150,8 @@ public final class ELEMENT {
public final Material AMERICIUM241 = new Material("Americium-241", MaterialState.SOLID, TextureSets.NUCLEAR.get(), Materials.Americium.mDurability, Materials.Americium.mRGBa, Materials.Americium.mMeltingPoint, Materials.Americium.mBlastFurnaceTemp, 95, 146, false, StringUtils.superscript("241Am"), 2, false);//Not a GT Inherited Material
public final Material MAGIC = MaterialUtils.generateMaterialFromGtENUM(Materials.Magic, new short[] {10, 185, 140});
- public final Material THAUMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Thaumium);
-
+ public final Material THAUMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Thaumium);
+
static {
Logger.MATERIALS("Initialising Base Elements.");
}
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index 03e50aa7dd..58a7f68afe 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -1,6 +1,7 @@
package gtPlusPlus.core.material;
import static gregtech.api.enums.GT_Values.M;
+import static gtPlusPlus.core.util.math.MathUtils.safeCast_LongToInt;
import java.util.ArrayList;
import java.util.HashMap;
@@ -14,6 +15,7 @@ import gregtech.api.enums.TextureSet;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.item.base.cell.BaseItemCell;
+import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.data.StringUtils;
@@ -21,7 +23,8 @@ import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
-import gtPlusPlus.xmod.thaumcraft.aspect.GTPP_Aspects;
+import gtPlusPlus.xmod.thaumcraft.objects.wrapper.aspect.TC_Aspect_Wrapper;
+import gtPlusPlus.xmod.tinkers.material.BaseTinkersMaterial;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
@@ -75,7 +78,9 @@ public class Material {
public int vToolQuality;
public int vHarvestLevel;
- private GTPP_Aspects[] vAspects;
+ private TC_Aspect_Wrapper[] vAspects;
+
+ public BaseTinkersMaterial vTiConHandler;
public static AutoMap<Materials> invalidMaterials = new AutoMap<Materials>();
@@ -317,28 +322,13 @@ public class Material {
this.vDurability = durability;
}
else {
- if (inputs != null){
- long durabilityTemp = 0;
- int counterTemp = 0;
- for (final MaterialStack m : inputs){
- if (m.getStackMaterial() != null){
- if (m.getStackMaterial().vDurability != 0){
- durabilityTemp = (durabilityTemp+m.getStackMaterial().vDurability);
- counterTemp++;
-
- }
- }
- }
- if ((durabilityTemp != 0) && (counterTemp != 0)){
- this.vDurability = (durabilityTemp/counterTemp);
- }
- else {
- this.vDurability = 8196;
+ long aTempDura = 0;
+ for (MaterialStack g : this.getComposites()) {
+ if (g != null) {
+ aTempDura += safeCast_LongToInt(g.getStackMaterial().getMass() * 2000);
}
}
- else {
- this.vDurability = 0;
- }
+ this.vDurability = aTempDura > 0 ? aTempDura : (this.getComposites().isEmpty() ? 51200 : 32000 * this.getComposites().size());
}
if ((this.vDurability >= 0) && (this.vDurability < 64000)){
@@ -362,8 +352,8 @@ public class Material {
this.vHarvestLevel = 4;
}
else {
- this.vToolQuality = 0;
- this.vHarvestLevel = 0;
+ this.vToolQuality = 1;
+ this.vHarvestLevel = 1;
}
//Sets the Rad level
@@ -506,6 +496,12 @@ public class Material {
}
this.textureSet = setTextureSet(set, vTier);
+
+ if (LoadedMods.TiCon && this.materialState == MaterialState.SOLID) {
+ if (this.getProtons() >= 98 || this.getComposites().size() > 1 || this.getMeltingPointC() >= 3600) {
+ this.vTiConHandler = new BaseTinkersMaterial(this);
+ }
+ }
Logger.MATERIALS("Creating a Material instance for "+materialName);
Logger.MATERIALS("Formula: "+this.vChemicalFormula + " Smallest Stack: "+this.smallestStackSizeWhenProcessing+" Smallest Ratio:"+ratio);
@@ -759,7 +755,11 @@ public class Material {
}
final public Block getBlock(){
- return Block.getBlockFromItem(getBlock(1).getItem());
+ Block b = Block.getBlockFromItem(getBlock(1).getItem());
+ if (b == null) {
+ Logger.INFO("[ERROR] Tried to get invalid block for "+this.getLocalizedName()+", returning debug block instead.");
+ }
+ return b != null ? b : Blocks.lit_furnace;
}
public final ItemStack getBlock(final int stacksize){
diff --git a/src/Java/gtPlusPlus/core/material/ORES.java b/src/Java/gtPlusPlus/core/material/ORES.java
index a8b86a142c..801e4924b3 100644
--- a/src/Java/gtPlusPlus/core/material/ORES.java
+++ b/src/Java/gtPlusPlus/core/material/ORES.java
@@ -807,15 +807,15 @@ public final class ORES {
-1,
4, //Radiation
new MaterialStack[]{// Na3AlF6
- new MaterialStack(ELEMENT.getInstance().RADON, 3),
- new MaterialStack(ELEMENT.getInstance().RADIUM, 2),
+ new MaterialStack(ELEMENT.getInstance().RADON, 2),
+ new MaterialStack(ELEMENT.getInstance().RADIUM, 1),
new MaterialStack(ELEMENT.getInstance().URANIUM235, 1),
- new MaterialStack(ELEMENT.getInstance().URANIUM238, 13),
- new MaterialStack(ELEMENT.getInstance().THORIUM, 28),
- new MaterialStack(ELEMENT.getInstance().THORIUM232, 5),
- new MaterialStack(FLUORCAPHITE, 4),
- new MaterialStack(SAMARSKITE_Y, 6),
- new MaterialStack(TITANITE, 2)
+ new MaterialStack(ELEMENT.getInstance().URANIUM238, 10),
+ new MaterialStack(ELEMENT.getInstance().THORIUM, 25),
+ new MaterialStack(ELEMENT.getInstance().THORIUM232, 4),
+ new MaterialStack(FLUORCAPHITE, 6),
+ new MaterialStack(SAMARSKITE_Y, 8),
+ new MaterialStack(TITANITE, 4)
});