summaryrefslogtreecommitdiff
path: root/src/main/java/com/sosnitzka
diff options
context:
space:
mode:
authorGiovanni Harting <539@idlegandalf.com>2016-05-13 16:02:05 +0200
committerGiovanni Harting <539@idlegandalf.com>2016-05-13 16:02:05 +0200
commitbf2ef7969231f198255931da2a34d757be5d20be (patch)
tree0022bbf1dec61be4f5ad9f1ddba8ba74b7a97b60 /src/main/java/com/sosnitzka
parentbf6fbd1061933885a4f6a28788b157c181be43f6 (diff)
fixed crash with reflection
Diffstat (limited to 'src/main/java/com/sosnitzka')
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/Blocks.java11
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/Fluids.java72
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/Items.java14
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOre.java4
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/generic/BasicItem.java6
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/util/Utils.java3
6 files changed, 61 insertions, 49 deletions
diff --git a/src/main/java/com/sosnitzka/ztic_addon/Blocks.java b/src/main/java/com/sosnitzka/ztic_addon/Blocks.java
index 8c6fd94..510b09e 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/Blocks.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/Blocks.java
@@ -43,15 +43,14 @@ public class Blocks {
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
Class<?> targetType = field.getType();
try {
- Object newInstance = targetType.newInstance();
- BasicBlockOre block = (BasicBlockOre) field.get(newInstance);
+ Block block = (Block) field.get(targetType);
Utils.registerBlockWithItem(block);
- if (block.isOreDict()) {
- OreDictionary.registerOre(block.oreDictName, block);
+ if (block instanceof BasicBlockOre) {
+ if (((BasicBlockOre) block).isOreDict()) {
+ OreDictionary.registerOre(((BasicBlockOre) block).getOreDictName(), block);
+ }
}
- } catch (InstantiationException e) {
- e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/Fluids.java b/src/main/java/com/sosnitzka/ztic_addon/Fluids.java
index 5fc3bb9..e6c647a 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/Fluids.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/Fluids.java
@@ -3,46 +3,45 @@ package com.sosnitzka.ztic_addon;
import com.sosnitzka.ztic_addon.generic.BasicTinkerFluid;
import com.sosnitzka.ztic_addon.util.Utils;
-import net.minecraftforge.fluids.Fluid;
import org.apache.commons.lang3.StringUtils;
import java.lang.reflect.Field;
public class Fluids {
- public static Fluid arcaniteFluid = new BasicTinkerFluid("arcaniteFluid", 0xFF272354, true, 200, 10, 4000);
- public static Fluid aardiumFluid = new BasicTinkerFluid("aardiumFluid", 0xFFC3F93D, true, 200, 10, 4000);
- public static Fluid adamantiteFluid = new BasicTinkerFluid("adamantiteFluid", 0xFFc45c82, true, 200, 10, 4000);
- public static Fluid axiidianFluid = new BasicTinkerFluid("axiidianFluid", 0xFF77a19a, true, 200, 10, 4000);
- public static Fluid bismuthFluid = new BasicTinkerFluid("bismuthFluid", 0xFF555555, true, 200, 10, 4000);
- public static Fluid eterniteFluid = new BasicTinkerFluid("eterniteFluid", 0xFFfafa98, true, 200, 10, 4000);
- public static Fluid ignititeFluid = new BasicTinkerFluid("ignititeFluid", 0xFFd29453, true, 200, 10, 4000);
- public static Fluid karmesineFluid = new BasicTinkerFluid("karmesineFluid", 0xFFc16d6d, true, 200, 10, 4000);
- public static Fluid meteoriteFluid = new BasicTinkerFluid("meteoriteFluid", 0xFF6e6a62, true, 200, 10, 4000);
- public static Fluid mindoriteFluid = new BasicTinkerFluid("mindoriteFluid", 0xFF6bbbbf, true, 200, 10, 4000);
- public static Fluid mythrilFluid = new BasicTinkerFluid("mythrilFluid", 0xFFa8c0ba, true, 200, 10, 4000);
- public static Fluid palladiumFluid = new BasicTinkerFluid("palladiumFluid", 0xFFfe5c05, true, 200, 10, 4000);
- public static Fluid prometheumFluid = new BasicTinkerFluid("prometheumFluid", 0xFF2b282f, true, 200, 10, 4000);
- public static Fluid tiberiumFluid = new BasicTinkerFluid("tiberiumFluid", 0xFF86bd5a, true, 200, 10, 4000);
- public static Fluid vibraniumFluid = new BasicTinkerFluid("vibraniumFluid", 0xFFb6bba8, true, 200, 10, 4000);
- public static Fluid yrdeanFluid = new BasicTinkerFluid("yrdeanFluid", 0xFF3e3c6f, true, 200, 10, 4000);
-
- public static Fluid astriumFluid = new BasicTinkerFluid("astriumFluid", 0xFF7a3b74, true, 200, 10, 4000);
- public static Fluid instableNitroniteFluid = new BasicTinkerFluid("instableNitroniteFluid", 0xFF659933, true, 200, 10, 4000);
- public static Fluid proxideumFluid = new BasicTinkerFluid("proxideumFluid", 0xFF416565, true, 200, 10, 4000);
- public static Fluid instablePolyniumFluid = new BasicTinkerFluid("instablePolyniumFluid", 0xFF6c6aa3, true, 200, 10, 4000);
- public static Fluid imperomiteFluid = new BasicTinkerFluid("imperomiteFluid", 0xFF339966, true, 200, 10, 4000);
- public static Fluid cryptogenFluid = new BasicTinkerFluid("cryptogenFluid", 0xFF9f8a4a, true, 200, 10, 4000);
- public static Fluid fractoryteFluid = new BasicTinkerFluid("fractoryteFluid", 0xFFb44a14, true, 200, 10, 4000);
- public static Fluid seismodiumFluid = new BasicTinkerFluid("seismodiumFluid", 0xFF46131D, true, 200, 10, 4000);
- public static Fluid terramiteFluid = new BasicTinkerFluid("terramiteFluid", 0xFFa6b27a, true, 200, 10, 4000);
- public static Fluid instablePrysociteFluid = new BasicTinkerFluid("instablePrysociteFluid", 0xFFbde398, true, 200, 10, 4000);
- public static Fluid blazingXylititeFluid = new BasicTinkerFluid("blazingXylititeFluid", 0xFFffc81d, true, 200, 10, 4000);
- public static Fluid instableDyoniteFluid = new BasicTinkerFluid("instableDyoniteFluid", 0xFFff6743, true, 200, 10, 4000);
- public static Fluid ultraniteFluid = new BasicTinkerFluid("ultraniteFluid", 0xFFfff69b, true, 200, 10, 4000);
- public static Fluid radiantPliniumFluid = new BasicTinkerFluid("radiantPliniumFluid", 0xFFc1ff68, true, 200, 10, 4000);
- public static Fluid dysprosaniumFluid = new BasicTinkerFluid("dysprosaniumFluid", 0xFFb7a2bd, true, 200, 10, 4000);
- public static Fluid refractiveBysmuidFluid = new BasicTinkerFluid("refractiveBysmuidFluid", 0xFF7b97b0, true, 200, 10, 4000);
+ public static BasicTinkerFluid arcaniteFluid = new BasicTinkerFluid("arcaniteFluid", 0xFF272354, true, 200, 10, 4000);
+ public static BasicTinkerFluid aardiumFluid = new BasicTinkerFluid("aardiumFluid", 0xFFC3F93D, true, 200, 10, 4000);
+ public static BasicTinkerFluid adamantiteFluid = new BasicTinkerFluid("adamantiteFluid", 0xFFc45c82, true, 200, 10, 4000);
+ public static BasicTinkerFluid axiidianFluid = new BasicTinkerFluid("axiidianFluid", 0xFF77a19a, true, 200, 10, 4000);
+ public static BasicTinkerFluid bismuthFluid = new BasicTinkerFluid("bismuthFluid", 0xFF555555, true, 200, 10, 4000);
+ public static BasicTinkerFluid eterniteFluid = new BasicTinkerFluid("eterniteFluid", 0xFFfafa98, true, 200, 10, 4000);
+ public static BasicTinkerFluid ignititeFluid = new BasicTinkerFluid("ignititeFluid", 0xFFd29453, true, 200, 10, 4000);
+ public static BasicTinkerFluid karmesineFluid = new BasicTinkerFluid("karmesineFluid", 0xFFc16d6d, true, 200, 10, 4000);
+ public static BasicTinkerFluid meteoriteFluid = new BasicTinkerFluid("meteoriteFluid", 0xFF6e6a62, true, 200, 10, 4000);
+ public static BasicTinkerFluid mindoriteFluid = new BasicTinkerFluid("mindoriteFluid", 0xFF6bbbbf, true, 200, 10, 4000);
+ public static BasicTinkerFluid mythrilFluid = new BasicTinkerFluid("mythrilFluid", 0xFFa8c0ba, true, 200, 10, 4000);
+ public static BasicTinkerFluid palladiumFluid = new BasicTinkerFluid("palladiumFluid", 0xFFfe5c05, true, 200, 10, 4000);
+ public static BasicTinkerFluid prometheumFluid = new BasicTinkerFluid("prometheumFluid", 0xFF2b282f, true, 200, 10, 4000);
+ public static BasicTinkerFluid tiberiumFluid = new BasicTinkerFluid("tiberiumFluid", 0xFF86bd5a, true, 200, 10, 4000);
+ public static BasicTinkerFluid vibraniumFluid = new BasicTinkerFluid("vibraniumFluid", 0xFFb6bba8, true, 200, 10, 4000);
+ public static BasicTinkerFluid yrdeanFluid = new BasicTinkerFluid("yrdeanFluid", 0xFF3e3c6f, true, 200, 10, 4000);
+
+ public static BasicTinkerFluid astriumFluid = new BasicTinkerFluid("astriumFluid", 0xFF7a3b74, true, 200, 10, 4000);
+ public static BasicTinkerFluid instableNitroniteFluid = new BasicTinkerFluid("instableNitroniteFluid", 0xFF659933, true, 200, 10, 4000);
+ public static BasicTinkerFluid proxideumFluid = new BasicTinkerFluid("proxideumFluid", 0xFF416565, true, 200, 10, 4000);
+ public static BasicTinkerFluid instablePolyniumFluid = new BasicTinkerFluid("instablePolyniumFluid", 0xFF6c6aa3, true, 200, 10, 4000);
+ public static BasicTinkerFluid imperomiteFluid = new BasicTinkerFluid("imperomiteFluid", 0xFF339966, true, 200, 10, 4000);
+ public static BasicTinkerFluid cryptogenFluid = new BasicTinkerFluid("cryptogenFluid", 0xFF9f8a4a, true, 200, 10, 4000);
+ public static BasicTinkerFluid fractoryteFluid = new BasicTinkerFluid("fractoryteFluid", 0xFFb44a14, true, 200, 10, 4000);
+ public static BasicTinkerFluid seismodiumFluid = new BasicTinkerFluid("seismodiumFluid", 0xFF46131D, true, 200, 10, 4000);
+ public static BasicTinkerFluid terramiteFluid = new BasicTinkerFluid("terramiteFluid", 0xFFa6b27a, true, 200, 10, 4000);
+ public static BasicTinkerFluid instablePrysociteFluid = new BasicTinkerFluid("instablePrysociteFluid", 0xFFbde398, true, 200, 10, 4000);
+ public static BasicTinkerFluid blazingXylititeFluid = new BasicTinkerFluid("blazingXylititeFluid", 0xFFffc81d, true, 200, 10, 4000);
+ public static BasicTinkerFluid instableDyoniteFluid = new BasicTinkerFluid("instableDyoniteFluid", 0xFFff6743, true, 200, 10, 4000);
+ public static BasicTinkerFluid ultraniteFluid = new BasicTinkerFluid("ultraniteFluid", 0xFFfff69b, true, 200, 10, 4000);
+ public static BasicTinkerFluid radiantPliniumFluid = new BasicTinkerFluid("radiantPliniumFluid", 0xFFc1ff68, true, 200, 10, 4000);
+ public static BasicTinkerFluid dysprosaniumFluid = new BasicTinkerFluid("dysprosaniumFluid", 0xFFb7a2bd, true, 200, 10, 4000);
+ public static BasicTinkerFluid refractiveBysmuidFluid = new BasicTinkerFluid("refractiveBysmuidFluid", 0xFF7b97b0, true, 200, 10, 4000);
static void register() {
@@ -51,11 +50,8 @@ public class Fluids {
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
Class<?> targetType = field.getType();
try {
- Object newInstance = targetType.newInstance();
- BasicTinkerFluid fluid = (BasicTinkerFluid) field.get(newInstance);
+ BasicTinkerFluid fluid = (BasicTinkerFluid) field.get(targetType);
Utils.registerTinkerFluid(StringUtils.capitalize(field.getName().replace("Fluid", "")), fluid, fluid.isToolForge());
- } catch (InstantiationException e) {
- e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/Items.java b/src/main/java/com/sosnitzka/ztic_addon/Items.java
index 0c10bfa..b8a053e 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/Items.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/Items.java
@@ -8,6 +8,7 @@ import com.sosnitzka.ztic_addon.items.ItemSlaggoldIngot;
import com.sosnitzka.ztic_addon.items.ItemSlagironIngot;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;
+import net.minecraftforge.oredict.OreDictionary;
import java.lang.reflect.Field;
@@ -61,10 +62,15 @@ public class Items {
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
Class<?> targetType = field.getType();
try {
- Object newInstance = targetType.newInstance();
- GameRegistry.register(((Item) field.get(newInstance)));
- } catch (InstantiationException e) {
- e.printStackTrace();
+ Item item = (Item) field.get(targetType);
+
+ GameRegistry.register(item);
+
+ if (item instanceof BasicItem) {
+ if (((BasicItem) item).isOreDict()) {
+ OreDictionary.registerOre(((BasicItem) item).getOreDictName(), item);
+ }
+ }
} catch (IllegalAccessException e) {
e.printStackTrace();
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOre.java b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOre.java
index edf835e..34a4c57 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOre.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOre.java
@@ -19,4 +19,8 @@ public class BasicBlockOre extends Block {
public boolean isOreDict() {
return this.oreDictName != null;
}
+
+ public String getOreDictName() {
+ return oreDictName;
+ }
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicItem.java b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicItem.java
index 0d2a32d..7b63de9 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicItem.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicItem.java
@@ -3,7 +3,7 @@ package com.sosnitzka.ztic_addon.generic;
import net.minecraft.item.Item;
public class BasicItem extends Item {
- public String oreDictName;
+ private String oreDictName;
public BasicItem(String name, String oreDictName) {
setUnlocalizedName(name);
@@ -18,4 +18,8 @@ public class BasicItem extends Item {
public boolean isOreDict() {
return this.oreDictName != null;
}
+
+ public String getOreDictName() {
+ return oreDictName;
+ }
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java b/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java
index 143ac66..6cdf4a6 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java
@@ -12,12 +12,15 @@ import net.minecraftforge.fml.common.registry.GameRegistry;
public class Utils {
public static void registerBlockWithItem(Block block) {
+ System.out.println(String.format("Register Block: %s", block.getUnlocalizedName()));
GameRegistry.register(block);
GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
+ System.out.println(String.format("Registered: %s", block));
}
public static void registerTinkerFluid(String oreDictSuffix, Fluid fluid, boolean toolForge) {
+ System.out.println(String.format("Register TinkerFluid with oreDictSuffix: %s", oreDictSuffix));
registerFluid(fluid);
NBTTagCompound tag = new NBTTagCompound();