From 6dcd02dadeacc93d3aec7343ca320da0dd036e9b Mon Sep 17 00:00:00 2001 From: Alkalus <3060479+draknyte1@users.noreply.github.com> Date: Wed, 24 Oct 2018 12:54:34 +0100 Subject: + Added 2 more planets to HD10180. $ Fixed GC Packet Decoding ASM. --- src/Java/gtPlusPlus/api/objects/Logger.java | 8 +- .../core/handler/COMPAT_IntermodStaging.java | 7 +- .../ClassTransformer_GC_EntityAutoRocket.java | 465 +++++++++++---------- .../gtPlusPlus/xmod/galacticraft/HANDLER_GC.java | 39 -- .../xmod/galacticraft/HANDLER_GalactiCraft.java | 42 ++ .../galacticraft/system/BaseGalacticDimension.java | 304 -------------- .../xmod/galacticraft/system/BaseSolarSystem.java | 112 ----- .../system/core/dim/BaseWorldProviderGalactic.java | 14 +- .../system/core/space/BaseGalacticDimension.java | 304 ++++++++++++++ .../system/core/space/BaseSolarSystem.java | 126 ++++++ .../galacticraft/system/hd10180/SystemHD10180.java | 30 +- .../c/blocks/BlockRegistrationHD10180C.java | 62 +++ .../planets/c/dim/WorldProviderHD10180C.java | 13 + .../d/blocks/BlockRegistrationHD10180D.java | 62 +++ .../planets/d/dim/WorldProviderHD10180D.java | 13 + .../system/objects/PlanetGenerator.java | 1 + .../xmod/galacticraft/util/GalacticUtils.java | 36 +- 17 files changed, 941 insertions(+), 697 deletions(-) delete mode 100644 src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GC.java create mode 100644 src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java delete mode 100644 src/Java/gtPlusPlus/xmod/galacticraft/system/BaseGalacticDimension.java delete mode 100644 src/Java/gtPlusPlus/xmod/galacticraft/system/BaseSolarSystem.java create mode 100644 src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseGalacticDimension.java create mode 100644 src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseSolarSystem.java create mode 100644 src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/c/blocks/BlockRegistrationHD10180C.java create mode 100644 src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/c/dim/WorldProviderHD10180C.java create mode 100644 src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/d/blocks/BlockRegistrationHD10180D.java create mode 100644 src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/d/dim/WorldProviderHD10180D.java (limited to 'src/Java') diff --git a/src/Java/gtPlusPlus/api/objects/Logger.java b/src/Java/gtPlusPlus/api/objects/Logger.java index f994c40b52..8cb165ccb2 100644 --- a/src/Java/gtPlusPlus/api/objects/Logger.java +++ b/src/Java/gtPlusPlus/api/objects/Logger.java @@ -112,15 +112,15 @@ public class Logger { * Special Logger for Materials related content */ public static void MATERIALS(final String s) { - if (CORE.DEVENV || CORE.DEBUG) - modLogger.info("[Materials] "+s); + /*if (CORE.DEVENV || CORE.DEBUG) + modLogger.info("[Materials] "+s);*/ } /** * Special Logger for Debugging Materials related content */ public static void DEBUG_MATERIALS(final String s) { - if (CORE.DEVENV || CORE.DEBUG) - modLogger.info("[Debug][Materials] "+s); + /*if (CORE.DEVENV || CORE.DEBUG) + modLogger.info("[Debug][Materials] "+s);*/ } /** diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java b/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java index b5c51dfe21..79a2d2a6c0 100644 --- a/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java +++ b/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java @@ -4,6 +4,7 @@ import cpw.mods.fml.common.event.FMLLoadCompleteEvent; import gtPlusPlus.xmod.bop.HANDLER_BiomesOPlenty; import gtPlusPlus.xmod.computronics.HANDLER_Computronics; import gtPlusPlus.xmod.forestry.HANDLER_FR; +import gtPlusPlus.xmod.galacticraft.HANDLER_GalactiCraft; import gtPlusPlus.xmod.gregtech.HANDLER_GT; import gtPlusPlus.xmod.growthcraft.HANDLER_GC; import gtPlusPlus.xmod.ic2.HANDLER_IC2; @@ -26,7 +27,7 @@ public class COMPAT_IntermodStaging { HANDLER_Thaumcraft.preInit(); HANDLER_Tinkers.preInit(); HANDLER_SC2.preInit(); - HANDLER_GC.preInit(); + HANDLER_GalactiCraft.preInit(); } public static void init(){ @@ -41,7 +42,7 @@ public class COMPAT_IntermodStaging { HANDLER_Thaumcraft.init(); HANDLER_Tinkers.init(); HANDLER_SC2.init(); - HANDLER_GC.init(); + HANDLER_GalactiCraft.init(); } public static void postInit(){ @@ -56,7 +57,7 @@ public class COMPAT_IntermodStaging { HANDLER_Thaumcraft.postInit(); HANDLER_Tinkers.postInit(); HANDLER_SC2.postInit(); - HANDLER_GC.postInit(); + HANDLER_GalactiCraft.postInit(); } public static void onLoadComplete(FMLLoadCompleteEvent event) { diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java index 0e43d8a1b9..5cc6bb8aa9 100644 --- a/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java +++ b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java @@ -67,7 +67,7 @@ public class ClassTransformer_GC_EntityAutoRocket { } public void injectMethod() { - + String aEntityPlayer = isObfuscated ? DevHelper.getObfuscated("net/minecraft/entity/player/EntityPlayer") : "net/minecraft/entity/player/EntityPlayer"; String aEntityPlayerMP = isObfuscated ? DevHelper.getObfuscated("net/minecraft/entity/player/EntityPlayerMP") : "net/minecraft/entity/player/EntityPlayerMP"; String aWorld = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/World") : "net/minecraft/world/World"; @@ -77,11 +77,13 @@ public class ClassTransformer_GC_EntityAutoRocket { String aDifficultyEnum = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/EnumDifficulty") : "net/minecraft/world/EnumDifficulty"; String aWorldInfo = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/storage/WorldInfo") : "net/minecraft/world/storage/WorldInfo"; String aItemInWorldManager = isObfuscated ? DevHelper.getObfuscated("net/minecraft/server/management/ItemInWorldManager") : "net/minecraft/server/management/ItemInWorldManager"; - + String aWorldType = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/WorldType") : "net/minecraft/world/WorldType"; + String aGameType = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/WorldSettings$GameType") : "net/minecraft/world/WorldSettings$GameType"; + if (isValidTransformer()) { FMLRelaunchLog.log("[GT++ ASM] Galacticraft EntityAutoRocket Patch", Level.INFO, "Injecting decodePacketdata into "+className+"."); MethodVisitor mv = getWriter().visitMethod(ACC_PUBLIC, "decodePacketdata", "(Lio/netty/buffer/ByteBuf;)V", null, null); - + mv.visitCode(); Label l0 = new Label(); mv.visitLabel(l0); @@ -91,52 +93,67 @@ public class ClassTransformer_GC_EntityAutoRocket { mv.visitMethodInsn(INVOKESPECIAL, "micdoodle8/mods/galacticraft/api/prefab/entity/EntitySpaceshipBase", "decodePacketdata", "(Lio/netty/buffer/ByteBuf;)V", false); Label l1 = new Label(); mv.visitLabel(l1); - mv.visitLineNumber(1028, l1); - mv.visitTypeInsn(NEW, "net/minecraftforge/fluids/FluidStack"); - mv.visitInsn(DUP); + mv.visitLineNumber(1029, l1); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKESTATIC, "gtPlusPlus/xmod/galacticraft/util/GalacticUtils", "getValidFuelForTier", "(L"+aEntity+";)Lnet/minecraftforge/fluids/FluidStack;", false); - mv.visitVarInsn(ALOAD, 1); - mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false); - mv.visitMethodInsn(INVOKESPECIAL, "net/minecraftforge/fluids/FluidStack", "", "(Lnet/minecraftforge/fluids/FluidStack;I)V", false); mv.visitVarInsn(ASTORE, 2); Label l2 = new Label(); mv.visitLabel(l2); - mv.visitLineNumber(1029, l2); - mv.visitVarInsn(ALOAD, 2); + mv.visitLineNumber(1030, l2); + mv.visitVarInsn(ALOAD, 1); + mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false); + mv.visitVarInsn(ISTORE, 3); Label l3 = new Label(); - mv.visitJumpInsn(IFNULL, l3); + mv.visitLabel(l3); + mv.visitLineNumber(1031, l3); + mv.visitVarInsn(ALOAD, 2); Label l4 = new Label(); - mv.visitLabel(l4); - mv.visitLineNumber(1030, l4); + mv.visitJumpInsn(IFNULL, l4); + Label l5 = new Label(); + mv.visitLabel(l5); + mv.visitLineNumber(1032, l5); + mv.visitTypeInsn(NEW, "net/minecraftforge/fluids/FluidStack"); + mv.visitInsn(DUP); + mv.visitVarInsn(ALOAD, 2); + mv.visitVarInsn(ILOAD, 3); + mv.visitMethodInsn(INVOKESPECIAL, "net/minecraftforge/fluids/FluidStack", "", "(Lnet/minecraftforge/fluids/FluidStack;I)V", false); + mv.visitVarInsn(ASTORE, 4); + Label l6 = new Label(); + mv.visitLabel(l6); + mv.visitLineNumber(1033, l6); + mv.visitVarInsn(ALOAD, 4); + mv.visitJumpInsn(IFNULL, l4); + Label l7 = new Label(); + mv.visitLabel(l7); + mv.visitLineNumber(1034, l7); mv.visitVarInsn(ALOAD, 0); mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "fuelTank", "Lnet/minecraftforge/fluids/FluidTank;"); - mv.visitVarInsn(ALOAD, 2); + mv.visitVarInsn(ALOAD, 4); mv.visitMethodInsn(INVOKEVIRTUAL, "net/minecraftforge/fluids/FluidTank", "setFluid", "(Lnet/minecraftforge/fluids/FluidStack;)V", false); - mv.visitLabel(l3); - mv.visitLineNumber(1032, l3); - mv.visitFrame(F_APPEND,1, new Object[] {"net/minecraftforge/fluids/FluidStack"}, 0, null); + mv.visitLabel(l4); + mv.visitLineNumber(1038, l4); + mv.visitFrame(F_APPEND,2, new Object[] {"net/minecraftforge/fluids/FluidStack", INTEGER}, 0, null); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readBoolean", "()Z", false); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "landing", "Z"); - Label l5 = new Label(); - mv.visitLabel(l5); - mv.visitLineNumber(1033, l5); + Label l8 = new Label(); + mv.visitLabel(l8); + mv.visitLineNumber(1039, l8); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "destinationFrequency", "I"); - Label l6 = new Label(); - mv.visitLabel(l6); - mv.visitLineNumber(1035, l6); + Label l9 = new Label(); + mv.visitLabel(l9); + mv.visitLineNumber(1041, l9); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readBoolean", "()Z", false); - Label l7 = new Label(); - mv.visitJumpInsn(IFEQ, l7); - Label l8 = new Label(); - mv.visitLabel(l8); - mv.visitLineNumber(1037, l8); + Label l10 = new Label(); + mv.visitJumpInsn(IFEQ, l10); + Label l11 = new Label(); + mv.visitLabel(l11); + mv.visitLineNumber(1043, l11); mv.visitVarInsn(ALOAD, 0); mv.visitTypeInsn(NEW, "micdoodle8/mods/galacticraft/api/vector/BlockVec3"); mv.visitInsn(DUP); @@ -148,8 +165,8 @@ public class ClassTransformer_GC_EntityAutoRocket { mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false); mv.visitMethodInsn(INVOKESPECIAL, "micdoodle8/mods/galacticraft/api/vector/BlockVec3", "", "(III)V", false); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "targetVec", "Lmicdoodle8/mods/galacticraft/api/vector/BlockVec3;"); - mv.visitLabel(l7); - mv.visitLineNumber(1040, l7); + mv.visitLabel(l10); + mv.visitLineNumber(1046, l10); mv.visitFrame(F_SAME, 0, null, 0, null); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); @@ -157,333 +174,335 @@ public class ClassTransformer_GC_EntityAutoRocket { mv.visitLdcInsn(new Double("8000.0")); mv.visitInsn(DDIV); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "motionX", "D"); - Label l9 = new Label(); - mv.visitLabel(l9); - mv.visitLineNumber(1041, l9); + Label l12 = new Label(); + mv.visitLabel(l12); + mv.visitLineNumber(1047, l12); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readDouble", "()D", false); mv.visitLdcInsn(new Double("8000.0")); mv.visitInsn(DDIV); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "motionY", "D"); - Label l10 = new Label(); - mv.visitLabel(l10); - mv.visitLineNumber(1042, l10); + Label l13 = new Label(); + mv.visitLabel(l13); + mv.visitLineNumber(1048, l13); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readDouble", "()D", false); mv.visitLdcInsn(new Double("8000.0")); mv.visitInsn(DDIV); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "motionZ", "D"); - Label l11 = new Label(); - mv.visitLabel(l11); - mv.visitLineNumber(1043, l11); + Label l14 = new Label(); + mv.visitLabel(l14); + mv.visitLineNumber(1049, l14); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readDouble", "()D", false); mv.visitLdcInsn(new Double("8000.0")); mv.visitInsn(DDIV); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "lastMotionY", "D"); - Label l12 = new Label(); - mv.visitLabel(l12); - mv.visitLineNumber(1044, l12); + Label l15 = new Label(); + mv.visitLabel(l15); + mv.visitLineNumber(1050, l15); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readDouble", "()D", false); mv.visitLdcInsn(new Double("8000.0")); mv.visitInsn(DDIV); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "lastLastMotionY", "D"); - Label l13 = new Label(); - mv.visitLabel(l13); - mv.visitLineNumber(1046, l13); + Label l16 = new Label(); + mv.visitLabel(l16); + mv.visitLineNumber(1052, l16); mv.visitVarInsn(ALOAD, 0); mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "cargoItems", "[L"+aItemStack+";"); - Label l14 = new Label(); - mv.visitJumpInsn(IFNONNULL, l14); - Label l15 = new Label(); - mv.visitLabel(l15); - mv.visitLineNumber(1048, l15); + Label l17 = new Label(); + mv.visitJumpInsn(IFNONNULL, l17); + Label l18 = new Label(); + mv.visitLabel(l18); + mv.visitLineNumber(1054, l18); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKEVIRTUAL, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "getSizeInventory", "()I", false); - mv.visitTypeInsn(ANEWARRAY, ""+aItemStack+""); + mv.visitTypeInsn(ANEWARRAY, aItemStack); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "cargoItems", "[L"+aItemStack+";"); - mv.visitLabel(l14); - mv.visitLineNumber(1051, l14); + mv.visitLabel(l17); + mv.visitLineNumber(1057, l17); mv.visitFrame(F_SAME, 0, null, 0, null); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readBoolean", "()Z", false); mv.visitMethodInsn(INVOKEVIRTUAL, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "setWaitForPlayer", "(Z)V", false); - Label l16 = new Label(); - mv.visitLabel(l16); - mv.visitLineNumber(1053, l16); + Label l19 = new Label(); + mv.visitLabel(l19); + mv.visitLineNumber(1059, l19); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKESTATIC, "cpw/mods/fml/common/network/ByteBufUtils", "readUTF8String", "(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;", false); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "statusMessage", "Ljava/lang/String;"); - Label l17 = new Label(); - mv.visitLabel(l17); - mv.visitLineNumber(1054, l17); + Label l20 = new Label(); + mv.visitLabel(l20); + mv.visitLineNumber(1060, l20); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 0); mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "statusMessage", "Ljava/lang/String;"); mv.visitLdcInsn(""); mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/String", "equals", "(Ljava/lang/Object;)Z", false); - Label l18 = new Label(); - mv.visitJumpInsn(IFEQ, l18); + Label l21 = new Label(); + mv.visitJumpInsn(IFEQ, l21); mv.visitInsn(ACONST_NULL); - Label l19 = new Label(); - mv.visitJumpInsn(GOTO, l19); - mv.visitLabel(l18); + Label l22 = new Label(); + mv.visitJumpInsn(GOTO, l22); + mv.visitLabel(l21); mv.visitFrame(F_SAME1, 0, null, 1, new Object[] {"micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket"}); mv.visitVarInsn(ALOAD, 0); mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "statusMessage", "Ljava/lang/String;"); - mv.visitLabel(l19); - mv.visitFrame(F_FULL, 3, new Object[] {"micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "io/netty/buffer/ByteBuf", "net/minecraftforge/fluids/FluidStack"}, 2, new Object[] {"micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "java/lang/String"}); + mv.visitLabel(l22); + mv.visitFrame(F_FULL, 4, new Object[] {"micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "io/netty/buffer/ByteBuf", "net/minecraftforge/fluids/FluidStack", INTEGER}, 2, new Object[] {"micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "java/lang/String"}); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "statusMessage", "Ljava/lang/String;"); - Label l20 = new Label(); - mv.visitLabel(l20); - mv.visitLineNumber(1055, l20); + Label l23 = new Label(); + mv.visitLabel(l23); + mv.visitLineNumber(1061, l23); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "statusMessageCooldown", "I"); - Label l21 = new Label(); - mv.visitLabel(l21); - mv.visitLineNumber(1056, l21); + Label l24 = new Label(); + mv.visitLabel(l24); + mv.visitLineNumber(1062, l24); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "lastStatusMessageCooldown", "I"); - Label l22 = new Label(); - mv.visitLabel(l22); - mv.visitLineNumber(1057, l22); + Label l25 = new Label(); + mv.visitLabel(l25); + mv.visitLineNumber(1063, l25); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readBoolean", "()Z", false); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "statusValid", "Z"); - Label l23 = new Label(); - mv.visitLabel(l23); - mv.visitLineNumber(1060, l23); - mv.visitVarInsn(ALOAD, 0); - mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "worldObj", "L"+aWorld+";"); - mv.visitFieldInsn(GETFIELD, ""+aWorld+"", "isRemote", "Z"); - Label l24 = new Label(); - mv.visitJumpInsn(IFEQ, l24); - Label l25 = new Label(); - mv.visitLabel(l25); - mv.visitLineNumber(1062, l25); - mv.visitVarInsn(ALOAD, 1); - mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false); - mv.visitVarInsn(ISTORE, 3); Label l26 = new Label(); mv.visitLabel(l26); - mv.visitLineNumber(1063, l26); + mv.visitLineNumber(1066, l26); mv.visitVarInsn(ALOAD, 0); - mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "riddenByEntity", "L"+aEntity+";"); + mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "worldObj", "L"+aWorld+";"); + mv.visitFieldInsn(GETFIELD, aWorld, "isRemote", "Z"); Label l27 = new Label(); - mv.visitJumpInsn(IFNONNULL, l27); + mv.visitJumpInsn(IFEQ, l27); Label l28 = new Label(); mv.visitLabel(l28); - mv.visitLineNumber(1065, l28); - mv.visitVarInsn(ILOAD, 3); - mv.visitInsn(ICONST_M1); - mv.visitJumpInsn(IF_ICMPLE, l24); + mv.visitLineNumber(1068, l28); + mv.visitVarInsn(ALOAD, 1); + mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false); + mv.visitVarInsn(ISTORE, 4); Label l29 = new Label(); mv.visitLabel(l29); - mv.visitLineNumber(1067, l29); - mv.visitMethodInsn(INVOKESTATIC, "cpw/mods/fml/client/FMLClientHandler", "instance", "()Lcpw/mods/fml/client/FMLClientHandler;", false); - mv.visitMethodInsn(INVOKEVIRTUAL, "cpw/mods/fml/client/FMLClientHandler", "getWorldClient", "()L"+aWorldClient+";", false); - mv.visitVarInsn(ILOAD, 3); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorldClient+"", "getEntityByID", "(I)L"+aEntity+";", false); - mv.visitVarInsn(ASTORE, 4); + mv.visitLineNumber(1069, l29); + mv.visitVarInsn(ALOAD, 0); + mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "riddenByEntity", "L"+aEntity+";"); Label l30 = new Label(); - mv.visitLabel(l30); - mv.visitLineNumber(1068, l30); - mv.visitVarInsn(ALOAD, 4); - mv.visitJumpInsn(IFNULL, l24); + mv.visitJumpInsn(IFNONNULL, l30); Label l31 = new Label(); mv.visitLabel(l31); - mv.visitLineNumber(1070, l31); - mv.visitVarInsn(ALOAD, 4); - mv.visitFieldInsn(GETFIELD, ""+aEntity+"", "dimension", "I"); - mv.visitVarInsn(ALOAD, 0); - mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "dimension", "I"); + mv.visitLineNumber(1071, l31); + mv.visitVarInsn(ILOAD, 4); + mv.visitInsn(ICONST_M1); + mv.visitJumpInsn(IF_ICMPLE, l27); Label l32 = new Label(); - mv.visitJumpInsn(IF_ICMPEQ, l32); + mv.visitLabel(l32); + mv.visitLineNumber(1073, l32); + mv.visitMethodInsn(INVOKESTATIC, "cpw/mods/fml/client/FMLClientHandler", "instance", "()Lcpw/mods/fml/client/FMLClientHandler;", false); + mv.visitMethodInsn(INVOKEVIRTUAL, "cpw/mods/fml/client/FMLClientHandler", "getWorldClient", "()L"+aWorldClient+";", false); + mv.visitVarInsn(ILOAD, 4); + mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorldClient+"", "getEntityByID", "(I)L"+aEntity+";", false); + mv.visitVarInsn(ASTORE, 5); Label l33 = new Label(); mv.visitLabel(l33); - mv.visitLineNumber(1072, l33); - mv.visitVarInsn(ALOAD, 4); - mv.visitTypeInsn(INSTANCEOF, ""+aEntityPlayer+""); - mv.visitJumpInsn(IFEQ, l24); + mv.visitLineNumber(1074, l33); + mv.visitVarInsn(ALOAD, 5); + mv.visitJumpInsn(IFNULL, l27); Label l34 = new Label(); mv.visitLabel(l34); - mv.visitLineNumber(1074, l34); + mv.visitLineNumber(1076, l34); + mv.visitVarInsn(ALOAD, 5); + mv.visitFieldInsn(GETFIELD, ""+aEntity+"", "dimension", "I"); mv.visitVarInsn(ALOAD, 0); mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "dimension", "I"); - mv.visitVarInsn(ALOAD, 4); + Label l35 = new Label(); + mv.visitJumpInsn(IF_ICMPEQ, l35); + Label l36 = new Label(); + mv.visitLabel(l36); + mv.visitLineNumber(1078, l36); + mv.visitVarInsn(ALOAD, 5); + mv.visitTypeInsn(INSTANCEOF, ""+aEntityPlayer+""); + mv.visitJumpInsn(IFEQ, l27); + Label l37 = new Label(); + mv.visitLabel(l37); + mv.visitLineNumber(1080, l37); + mv.visitVarInsn(ALOAD, 0); + mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "dimension", "I"); + mv.visitVarInsn(ALOAD, 5); mv.visitFieldInsn(GETFIELD, ""+aEntity+"", "worldObj", "L"+aWorld+";"); - mv.visitFieldInsn(GETFIELD, ""+aWorld+"", "difficultySetting", "L"+aDifficultyEnum+";"); + mv.visitFieldInsn(GETFIELD, aWorld, "difficultySetting", "L"+aDifficultyEnum+";"); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aDifficultyEnum+"", "getDifficultyId", "()I", false); - mv.visitVarInsn(ALOAD, 4); + mv.visitVarInsn(ALOAD, 5); mv.visitFieldInsn(GETFIELD, ""+aEntity+"", "worldObj", "L"+aWorld+";"); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorld+"", "getWorldInfo", "()L"+aWorldInfo+";", false); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorldInfo+"", "getTerrainType", "()L"+aWorld+"Type;", false); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorld+"Type", "getWorldTypeName", "()Ljava/lang/String;", false); - mv.visitVarInsn(ALOAD, 4); + mv.visitMethodInsn(INVOKEVIRTUAL, aWorld, "getWorldInfo", "()L"+aWorldInfo+";", false); + mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorldInfo+"", "getTerrainType", "()L"+aWorldType+";", false); + mv.visitMethodInsn(INVOKEVIRTUAL, aWorldType, "getWorldTypeName", "()Ljava/lang/String;", false); + mv.visitVarInsn(ALOAD, 5); mv.visitTypeInsn(CHECKCAST, ""+aEntityPlayerMP+""); mv.visitFieldInsn(GETFIELD, ""+aEntityPlayerMP+"", "theItemInWorldManager", "L"+aItemInWorldManager+";"); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aItemInWorldManager+"", "getGameType", "()L"+aWorld+"Settings$GameType;", false); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorld+"Settings$GameType", "getID", "()I", false); + mv.visitMethodInsn(INVOKEVIRTUAL, ""+aItemInWorldManager+"", "getGameType", "()L"+aGameType+";", false); + mv.visitMethodInsn(INVOKEVIRTUAL, ""+aGameType+"", "getID", "()I", false); mv.visitMethodInsn(INVOKESTATIC, "micdoodle8/mods/galacticraft/core/util/WorldUtil", "forceRespawnClient", "(IILjava/lang/String;I)L"+aEntityPlayer+";", false); - mv.visitVarInsn(ASTORE, 4); - Label l35 = new Label(); - mv.visitLabel(l35); - mv.visitLineNumber(1075, l35); - mv.visitVarInsn(ALOAD, 4); + mv.visitVarInsn(ASTORE, 5); + Label l38 = new Label(); + mv.visitLabel(l38); + mv.visitLineNumber(1081, l38); + mv.visitVarInsn(ALOAD, 5); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aEntity+"", "mountEntity", "(L"+aEntity+";)V", false); - Label l36 = new Label(); - mv.visitLabel(l36); - mv.visitLineNumber(1077, l36); - mv.visitJumpInsn(GOTO, l24); - mv.visitLabel(l32); - mv.visitLineNumber(1079, l32); + Label l39 = new Label(); + mv.visitLabel(l39); + mv.visitLineNumber(1083, l39); + mv.visitJumpInsn(GOTO, l27); + mv.visitLabel(l35); + mv.visitLineNumber(1085, l35); mv.visitFrame(F_APPEND,2, new Object[] {INTEGER, ""+aEntity+""}, 0, null); - mv.visitVarInsn(ALOAD, 4); + mv.visitVarInsn(ALOAD, 5); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aEntity+"", "mountEntity", "(L"+aEntity+";)V", false); - Label l37 = new Label(); - mv.visitLabel(l37); - mv.visitLineNumber(1082, l37); - mv.visitJumpInsn(GOTO, l24); - mv.visitLabel(l27); - mv.visitLineNumber(1083, l27); + Label l40 = new Label(); + mv.visitLabel(l40); + mv.visitLineNumber(1088, l40); + mv.visitJumpInsn(GOTO, l27); + mv.visitLabel(l30); + mv.visitLineNumber(1089, l30); mv.visitFrame(F_CHOP,1, null, 0, null); mv.visitVarInsn(ALOAD, 0); mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "riddenByEntity", "L"+aEntity+";"); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aEntity+"", "getEntityId", "()I", false); - mv.visitVarInsn(ILOAD, 3); - mv.visitJumpInsn(IF_ICMPEQ, l24); - Label l38 = new Label(); - mv.visitLabel(l38); - mv.visitLineNumber(1085, l38); - mv.visitVarInsn(ILOAD, 3); + mv.visitVarInsn(ILOAD, 4); + mv.visitJumpInsn(IF_ICMPEQ, l27); + Label l41 = new Label(); + mv.visitLabel(l41); + mv.visitLineNumber(1091, l41); + mv.visitVarInsn(ILOAD, 4); mv.visitInsn(ICONST_M1); - Label l39 = new Label(); - mv.visitJumpInsn(IF_ICMPNE, l39); - Label l40 = new Label(); - mv.visitLabel(l40); - mv.visitLineNumber(1087, l40); + Label l42 = new Label(); + mv.visitJumpInsn(IF_ICMPNE, l42); + Label l43 = new Label(); + mv.visitLabel(l43); + mv.visitLineNumber(1093, l43); mv.visitVarInsn(ALOAD, 0); mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "riddenByEntity", "L"+aEntity+";"); mv.visitInsn(ACONST_NULL); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aEntity+"", "mountEntity", "(L"+aEntity+";)V", false); - Label l41 = new Label(); - mv.visitLabel(l41); - mv.visitLineNumber(1088, l41); - mv.visitJumpInsn(GOTO, l24); - mv.visitLabel(l39); - mv.visitLineNumber(1091, l39); + Label l44 = new Label(); + mv.visitLabel(l44); + mv.visitLineNumber(1094, l44); + mv.visitJumpInsn(GOTO, l27); + mv.visitLabel(l42); + mv.visitLineNumber(1097, l42); mv.visitFrame(F_SAME, 0, null, 0, null); mv.visitMethodInsn(INVOKESTATIC, "cpw/mods/fml/client/FMLClientHandler", "instance", "()Lcpw/mods/fml/client/FMLClientHandler;", false); mv.visitMethodInsn(INVOKEVIRTUAL, "cpw/mods/fml/client/FMLClientHandler", "getWorldClient", "()L"+aWorldClient+";", false); - mv.visitVarInsn(ILOAD, 3); + mv.visitVarInsn(ILOAD, 4); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorldClient+"", "getEntityByID", "(I)L"+aEntity+";", false); - mv.visitVarInsn(ASTORE, 4); - Label l42 = new Label(); - mv.visitLabel(l42); - mv.visitLineNumber(1092, l42); - mv.visitVarInsn(ALOAD, 4); - mv.visitJumpInsn(IFNULL, l24); - Label l43 = new Label(); - mv.visitLabel(l43); - mv.visitLineNumber(1094, l43); - mv.visitVarInsn(ALOAD, 4); - mv.visitFieldInsn(GETFIELD, ""+aEntity+"", "dimension", "I"); - mv.visitVarInsn(ALOAD, 0); - mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "dimension", "I"); - Label l44 = new Label(); - mv.visitJumpInsn(IF_ICMPEQ, l44); + mv.visitVarInsn(ASTORE, 5); Label l45 = new Label(); mv.visitLabel(l45); - mv.visitLineNumber(1096, l45); - mv.visitVarInsn(ALOAD, 4); - mv.visitTypeInsn(INSTANCEOF, ""+aEntityPlayer+""); - mv.visitJumpInsn(IFEQ, l24); + mv.visitLineNumber(1098, l45); + mv.visitVarInsn(ALOAD, 5); + mv.visitJumpInsn(IFNULL, l27); Label l46 = new Label(); mv.visitLabel(l46); - mv.visitLineNumber(1098, l46); + mv.visitLineNumber(1100, l46); + mv.visitVarInsn(ALOAD, 5); + mv.visitFieldInsn(GETFIELD, ""+aEntity+"", "dimension", "I"); mv.visitVarInsn(ALOAD, 0); mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "dimension", "I"); - mv.visitVarInsn(ALOAD, 4); + Label l47 = new Label(); + mv.visitJumpInsn(IF_ICMPEQ, l47); + Label l48 = new Label(); + mv.visitLabel(l48); + mv.visitLineNumber(1102, l48); + mv.visitVarInsn(ALOAD, 5); + mv.visitTypeInsn(INSTANCEOF, ""+aEntityPlayer+""); + mv.visitJumpInsn(IFEQ, l27); + Label l49 = new Label(); + mv.visitLabel(l49); + mv.visitLineNumber(1104, l49); + mv.visitVarInsn(ALOAD, 0); + mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "dimension", "I"); + mv.visitVarInsn(ALOAD, 5); mv.visitFieldInsn(GETFIELD, ""+aEntity+"", "worldObj", "L"+aWorld+";"); - mv.visitFieldInsn(GETFIELD, ""+aWorld+"", "difficultySetting", "L"+aDifficultyEnum+";"); + mv.visitFieldInsn(GETFIELD, aWorld, "difficultySetting", "L"+aDifficultyEnum+";"); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aDifficultyEnum+"", "getDifficultyId", "()I", false); - mv.visitVarInsn(ALOAD, 4); + mv.visitVarInsn(ALOAD, 5); mv.visitFieldInsn(GETFIELD, ""+aEntity+"", "worldObj", "L"+aWorld+";"); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorld+"", "getWorldInfo", "()L"+aWorldInfo+";", false); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorldInfo+"", "getTerrainType", "()L"+aWorld+"Type;", false); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorld+"Type", "getWorldTypeName", "()Ljava/lang/String;", false); - mv.visitVarInsn(ALOAD, 4); + mv.visitMethodInsn(INVOKEVIRTUAL, aWorld, "getWorldInfo", "()L"+aWorldInfo+";", false); + mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorldInfo+"", "getTerrainType", "()L"+aWorldType+";", false); + mv.visitMethodInsn(INVOKEVIRTUAL, aWorldType, "getWorldTypeName", "()Ljava/lang/String;", false); + mv.visitVarInsn(ALOAD, 5); mv.visitTypeInsn(CHECKCAST, ""+aEntityPlayerMP+""); mv.visitFieldInsn(GETFIELD, ""+aEntityPlayerMP+"", "theItemInWorldManager", "L"+aItemInWorldManager+";"); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aItemInWorldManager+"", "getGameType", "()L"+aWorld+"Settings$GameType;", false); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorld+"Settings$GameType", "getID", "()I", false); + mv.visitMethodInsn(INVOKEVIRTUAL, ""+aItemInWorldManager+"", "getGameType", "()L"+aGameType+";", false); + mv.visitMethodInsn(INVOKEVIRTUAL, ""+aGameType+"", "getID", "()I", false); mv.visitMethodInsn(INVOKESTATIC, "micdoodle8/mods/galacticraft/core/util/WorldUtil", "forceRespawnClient", "(IILjava/lang/String;I)L"+aEntityPlayer+";", false); - mv.visitVarInsn(ASTORE, 4); - Label l47 = new Label(); - mv.visitLabel(l47); - mv.visitLineNumber(1099, l47); - mv.visitVarInsn(ALOAD, 4); + mv.visitVarInsn(ASTORE, 5); + Label l50 = new Label(); + mv.visitLabel(l50); + mv.visitLineNumber(1105, l50); + mv.visitVarInsn(ALOAD, 5); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aEntity+"", "mountEntity", "(L"+aEntity+";)V", false); - Label l48 = new Label(); - mv.visitLabel(l48); - mv.visitLineNumber(1101, l48); - mv.visitJumpInsn(GOTO, l24); - mv.visitLabel(l44); - mv.visitLineNumber(1103, l44); + Label l51 = new Label(); + mv.visitLabel(l51); + mv.visitLineNumber(1107, l51); + mv.visitJumpInsn(GOTO, l27); + mv.visitLabel(l47); + mv.visitLineNumber(1109, l47); mv.visitFrame(F_APPEND,1, new Object[] {""+aEntity+""}, 0, null); - mv.visitVarInsn(ALOAD, 4); + mv.visitVarInsn(ALOAD, 5); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aEntity+"", "mountEntity", "(L"+aEntity+";)V", false); - mv.visitLabel(l24); - mv.visitLineNumber(1108, l24); + mv.visitLabel(l27); + mv.visitLineNumber(1114, l27); mv.visitFrame(F_CHOP,2, null, 0, null); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKESTATIC, "cpw/mods/fml/common/network/ByteBufUtils", "readUTF8String", "(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;", false); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "statusColour", "Ljava/lang/String;"); - Label l49 = new Label(); - mv.visitLabel(l49); - mv.visitLineNumber(1109, l49); + Label l52 = new Label(); + mv.visitLabel(l52); + mv.visitLineNumber(1115, l52); mv.visitVarInsn(ALOAD, 0); mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "statusColour", "Ljava/lang/String;"); mv.visitLdcInsn(""); mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/String", "equals", "(Ljava/lang/Object;)Z", false); - Label l50 = new Label(); - mv.visitJumpInsn(IFEQ, l50); + Label l53 = new Label(); + mv.visitJumpInsn(IFEQ, l53); mv.visitVarInsn(ALOAD, 0); mv.visitInsn(ACONST_NULL); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "statusColour", "Ljava/lang/String;"); - mv.visitLabel(l50); - mv.visitLineNumber(1110, l50); + mv.visitLabel(l53); + mv.visitLineNumber(1116, l53); mv.visitFrame(F_SAME, 0, null, 0, null); mv.visitInsn(RETURN); - Label l51 = new Label(); - mv.visitLabel(l51); - mv.visitLocalVariable("this", "Lmicdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket;", null, l0, l51, 0); - mv.visitLocalVariable("buffer", "Lio/netty/buffer/ByteBuf;", null, l0, l51, 1); - mv.visitLocalVariable("s", "Lnet/minecraftforge/fluids/FluidStack;", null, l2, l51, 2); - mv.visitLocalVariable("shouldBeMountedId", "I", null, l26, l24, 3); - mv.visitLocalVariable("e", "L"+aEntity+";", null, l30, l37, 4); - mv.visitLocalVariable("e", "L"+aEntity+";", null, l42, l24, 4); - mv.visitMaxs(6, 5); + Label l54 = new Label(); + mv.visitLabel(l54); + mv.visitLocalVariable("this", "Lmicdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket;", null, l0, l54, 0); + mv.visitLocalVariable("buffer", "Lio/netty/buffer/ByteBuf;", null, l0, l54, 1); + mv.visitLocalVariable("g", "Lnet/minecraftforge/fluids/FluidStack;", null, l2, l54, 2); + mv.visitLocalVariable("aBufferData", "I", null, l3, l54, 3); + mv.visitLocalVariable("s", "Lnet/minecraftforge/fluids/FluidStack;", null, l6, l4, 4); + mv.visitLocalVariable("shouldBeMountedId", "I", null, l29, l27, 4); + mv.visitLocalVariable("e", "L"+aEntity+";", null, l33, l40, 5); + mv.visitLocalVariable("e", "L"+aEntity+";", null, l45, l27, 5); + mv.visitMaxs(6, 6); mv.visitEnd(); - + } } diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GC.java b/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GC.java deleted file mode 100644 index 9e55f3cc90..0000000000 --- a/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GC.java +++ /dev/null @@ -1,39 +0,0 @@ -package gtPlusPlus.xmod.galacticraft; - -import java.util.HashMap; - -import gtPlusPlus.core.lib.LoadedMods; -import gtPlusPlus.xmod.galacticraft.system.BaseSolarSystem; -import gtPlusPlus.xmod.galacticraft.system.hd10180.SystemHD10180; - -public class HANDLER_GC { - - private static final HashMap mSystemsCache = new HashMap(); - - static { - mSystemsCache.put("HD10180", new SystemHD10180()); - } - - public static void preInit(){ - if (LoadedMods.GalacticraftCore){ - for (BaseSolarSystem solar : mSystemsCache.values()) { - solar.preInit(); - } - } - } - - public static void Init(){ - if (LoadedMods.GalacticraftCore){ - for (BaseSolarSystem solar : mSystemsCache.values()) { - solar.init(); - } - } - } - - public static void postInit(){ - if (LoadedMods.GalacticraftCore){ - - } - } - -} diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java b/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java new file mode 100644 index 0000000000..d964f8e731 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java @@ -0,0 +1,42 @@ +package gtPlusPlus.xmod.galacticraft; + +import java.util.HashMap; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.xmod.galacticraft.system.core.space.BaseSolarSystem; +import gtPlusPlus.xmod.galacticraft.system.hd10180.SystemHD10180; + +public class HANDLER_GalactiCraft { + + private static final HashMap mSystemsCache = new HashMap(); + + static { + mSystemsCache.put("HD10180", new SystemHD10180()); + } + + public static void preInit(){ + if (LoadedMods.GalacticraftCore){ + for (BaseSolarSystem solar : mSystemsCache.values()) { + Logger.SPACE("Running 'pre-init' for "+solar.mSystemName); + solar.preInit(); + } + } + } + + public static void init(){ + if (LoadedMods.GalacticraftCore){ + for (BaseSolarSystem solar : mSystemsCache.values()) { + Logger.SPACE("Running 'init' for "+solar.mSystemName); + solar.init(); + } + } + } + + public static void postInit(){ + if (LoadedMods.GalacticraftCore){ + + } + } + +} diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseGalacticDimension.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseGalacticDimension.java deleted file mode 100644 index cb02fa0e31..0000000000 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseGalacticDimension.java +++ /dev/null @@ -1,304 +0,0 @@ -package gtPlusPlus.xmod.galacticraft.system; - -import java.util.Random; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.xmod.galacticraft.system.objects.DimensionSettings; -import gtPlusPlus.xmod.galacticraft.system.objects.PlanetGenerator; -import micdoodle8.mods.galacticraft.api.galaxies.CelestialBody; -import micdoodle8.mods.galacticraft.api.prefab.world.gen.WorldChunkManagerSpace; -import micdoodle8.mods.galacticraft.api.prefab.world.gen.WorldProviderSpace; -import micdoodle8.mods.galacticraft.api.vector.Vector3; -import micdoodle8.mods.galacticraft.api.world.IExitHeight; -import micdoodle8.mods.galacticraft.api.world.ISolarLevel; -import micdoodle8.mods.galacticraft.api.world.ITeleportType; -import micdoodle8.mods.galacticraft.core.entities.player.GCPlayerStats; -import micdoodle8.mods.galacticraft.core.util.ConfigManagerCore; -import micdoodle8.mods.galacticraft.planets.mars.entities.EntityLandingBalloons; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.WorldServer; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.chunk.IChunkProvider; - -public class BaseGalacticDimension { - - private final WorldChunkManagerGalactic mGlobalChunkManager; - private final WorldProviderGalactic mWorldProvider; - private final Class mChunkProvider; - private final PlanetGenerator mPlanet; - - public BaseGalacticDimension(PlanetGenerator aPlanet, BiomeGenBase aBiomeForDim, Class aChunkProvider, DimensionSettings aSettings) { - mPlanet = aPlanet; - mGlobalChunkManager = new WorldChunkManagerGalactic(aBiomeForDim); - mChunkProvider = aChunkProvider; - mWorldProvider = new WorldProviderGalactic(aSettings); - } - - public class WorldChunkManagerGalactic extends WorldChunkManagerSpace { - private final BiomeGenBase mBiome; - - public WorldChunkManagerGalactic(BiomeGenBase aDimBiome) { - mBiome = aDimBiome; - } - - public BiomeGenBase getBiome() { - return mBiome; - } - } - - public class WorldProviderGalactic extends WorldProviderSpace implements IExitHeight, ISolarLevel, ITeleportType { - - private final int mTierRequirement; - private final PlanetGenerator mPlanet; - private final boolean mAtmosphere; - private final int mPressure; - private final boolean mSolarRadiation; - private final float mCloudHeight; - private final float mGravity; - private final float mMeteorFreq; - private final boolean mCanRainOrSnow; - private final long mDayLength; - private final Class mChunkProvider; - - public WorldProviderGalactic(DimensionSettings aSettings) { - mPlanet = aSettings.getPlanet(); - mTierRequirement = aSettings.getTierRequirement(); - mAtmosphere = aSettings.hasAtmosphere(); - mPressure = aSettings.getPressure(); - mSolarRadiation = aSettings.hasSolarRadiation(); - mCloudHeight = aSettings.getCloudHeight(); - mGravity = aSettings.getGravity(); - mMeteorFreq = aSettings.getMeteorFreq(); - mCanRainOrSnow = aSettings.hasRainOrSnow(); - mDayLength = aSettings.getDayLength(); - mChunkProvider = aSettings.getChunkProvider(); - } - - public WorldProviderGalactic(PlanetGenerator aPlanet, Class aChunkProvider, int aTierRequirement, boolean aHasBreathableAtmo, - int aPressure, boolean aSolarRadiation, float aCloudHeight, float aGravity, float aMeteorFreq, boolean aCanRainOrSnow, long aDayLength) { - mPlanet = aPlanet; - mTierRequirement = aTierRequirement; - mAtmosphere = aHasBreathableAtmo; - mPressure = aPressure; - mSolarRadiation = aSolarRadiation; - mCloudHeight = aCloudHeight; - mGravity = aGravity; - mMeteorFreq = aMeteorFreq; - mCanRainOrSnow = aCanRainOrSnow; - mDayLength = aDayLength; - mChunkProvider = aChunkProvider; - } - - public boolean canSpaceshipTierPass(int tier) { - return tier >= mTierRequirement; - } - - @SideOnly(Side.CLIENT) - public float getCloudHeight() { - return mCloudHeight; - } - - public double getHorizon() { - return 44.0D; - } - - public float getFallDamageModifier() { - return 0.16F; - } - - public double getFuelUsageMultiplier() { - return 0.8D; - } - - public float getGravity() { - return mGravity; - } - - public double getMeteorFrequency() { - return mMeteorFreq; - } - - public float getSoundVolReductionAmount() { - return Float.MAX_VALUE; - } - - public float getThermalLevelModifier() { - return 0.0F; - } - - public float getWindLevel() { - return 0.6F; - } - - public boolean canRainOrSnow() { - return mCanRainOrSnow; - } - - public boolean canBlockFreeze(int x, int y, int z, boolean byWater) { - return false; - } - - public CelestialBody getCelestialBody() { - return mPlanet.getPlanet(); - } - - public Class getChunkProviderClass() { - return mChunkProvider; - } - - public long getDayLength() { - return mDayLength; - } - - public boolean hasBreathableAtmosphere() { - return mAtmosphere; - } - - public Vector3 getFogColor() { - float f = 1.0F - this.getStarBrightness(1.0F); - return new Vector3((double) (0.65882355F * f), (double) (0.84705883F * f), (double) (1.0F * f)); - } - - public Vector3 getSkyColor() { - float f = 1.0F - this.getStarBrightness(1.0F); - return new Vector3((double) (0.25882354F * f), (double) (0.6666667F * f), (double) (1.0F * f)); - } - - public boolean isSkyColored() { - return true; - } - - public Class getWorldChunkManagerClass() { - return WorldChunkManagerGalactic.class; - } - - public boolean hasSunset() { - return false; - } - - public boolean shouldForceRespawn() { - return !ConfigManagerCore.forceOverworldRespawn; - } - - public double getSolarEnergyMultiplier() { - return 0.8D; - } - - public double getYCoordinateToTeleport() { - return 800.0D; - } - - public Vector3 getEntitySpawnLocation(WorldServer arg0, Entity arg1) { - return new Vector3(arg1.posX, ConfigManagerCore.disableLander ? 250.0D : 900.0D, arg1.posZ); - } - - public Vector3 getParaChestSpawnLocation(WorldServer arg0, EntityPlayerMP arg1, Random arg2) { - if (ConfigManagerCore.disableLander) { - double x = (arg2.nextDouble() * 2.0D - 1.0D) * 5.0D; - double z = (arg2.nextDouble() * 2.0D - 1.0D) * 5.0D; - return new Vector3(x, 220.0D, z); - } else { - return null; - } - } - - public Vector3 getPlayerSpawnLocation(WorldServer arg0, EntityPlayerMP arg1) { - if (arg1 != null) { - GCPlayerStats stats = GCPlayerStats.get(arg1); - return new Vector3(stats.coordsTeleportedFromX, ConfigManagerCore.disableLander ? 250.0D : 900.0D, - stats.coordsTeleportedFromZ); - } else { - return null; - } - } - - public void onSpaceDimensionChanged(World arg0, EntityPlayerMP player, boolean arg2) { - if (player != null && GCPlayerStats.get(player).teleportCooldown <= 0) { - if (player.capabilities.isFlying) { - player.capabilities.isFlying = false; - } - - EntityLandingBalloons lander = new EntityLandingBalloons(player); - if (!arg0.isRemote) { - arg0.spawnEntityInWorld(lander); - } - - GCPlayerStats.get(player).teleportCooldown = 10; - } - - } - - public boolean useParachute() { - return ConfigManagerCore.disableLander; - } - - @SideOnly(Side.CLIENT) - public float getStarBrightness(float par1) { - float var2 = this.worldObj.getCelestialAngle(par1); - float var3 = 1.0F - (MathHelper.cos(var2 * 3.1415927F * 2.0F) * 2.0F + 0.25F); - if (var3 < 0.0F) { - var3 = 0.0F; - } - - if (var3 > 1.0F) { - var3 = 1.0F; - } - - return var3 * var3 * 0.5F + 0.3F; - } - - @SideOnly(Side.CLIENT) - public float getSunBrightness(float par1) { - float f1 = this.worldObj.getCelestialAngle(1.0F); - float f2 = 1.25F - (MathHelper.cos(f1 * 3.1415927F * 2.0F) * 2.0F + 0.2F); - if (f2 < 0.0F) { - f2 = 0.0F; - } - - if (f2 > 1.0F) { - f2 = 1.0F; - } - - f2 = 1.2F - f2; - return f2 * 0.2F; - } - - public void setupAdventureSpawn(EntityPlayerMP player) { - } - - public int AtmosphericPressure() { - return mPressure; - } - - public boolean SolarRadiation() { - return mSolarRadiation; - } - } - - public synchronized final WorldChunkManagerGalactic getGlobalChunkManager() { - return mGlobalChunkManager; - } - - public synchronized final WorldProviderGalactic getWorldProvider() { - return mWorldProvider; - } - - public synchronized final Class getWorldProviderClass() { - return mWorldProvider.getClass(); - } - - public synchronized final Class getChunkProvider() { - return mChunkProvider; - } - - public synchronized final PlanetGenerator getPlanet() { - return mPlanet; - } - - - -} diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseSolarSystem.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseSolarSystem.java deleted file mode 100644 index 36e5ce8979..0000000000 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseSolarSystem.java +++ /dev/null @@ -1,112 +0,0 @@ -package gtPlusPlus.xmod.galacticraft.system; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.galacticraft.system.objects.IPlanetBlockRegister; -import gtPlusPlus.xmod.galacticraft.system.objects.PlanetGenerator; -import micdoodle8.mods.galacticraft.api.GalacticraftRegistry; -import micdoodle8.mods.galacticraft.api.galaxies.GalaxyRegistry; -import micdoodle8.mods.galacticraft.api.galaxies.Planet; -import micdoodle8.mods.galacticraft.api.galaxies.SolarSystem; -import micdoodle8.mods.galacticraft.api.galaxies.Star; -import micdoodle8.mods.galacticraft.api.prefab.world.gen.WorldProviderSpace; -import micdoodle8.mods.galacticraft.api.galaxies.CelestialBody.ScalableDistance; -import micdoodle8.mods.galacticraft.api.vector.Vector3; -import micdoodle8.mods.galacticraft.api.world.ITeleportType; -import net.minecraft.util.ResourceLocation; - -public abstract class BaseSolarSystem { - - public final String mSystemName; - private SolarSystem mSolarSystem; - private Star mStar; - private AutoMap mPlanetMap = new AutoMap(); - - - public BaseSolarSystem(String aSystemName) { - mSystemName = aSystemName; - Logger.SPACE("Creating new Solar System: "+aSystemName); - } - - public SolarSystem getSystem() { - return mSolarSystem; - } - - public Star getStar() { - return mStar; - } - - public AutoMap getPlanets(){ - return mPlanetMap; - } - - public abstract void preInit(); - - public final void init() { - Logger.SPACE("Initialising planetary masses within "+mSystemName); - initSolarSystem(); - } - - public abstract void initSolarSystem(); - - public static void registryteleport(Class aWorldProvider, ITeleportType aWorldProviderInstance) { - Logger.SPACE("Registering world teleporter for "+aWorldProvider.getName()); - GalacticraftRegistry.registerTeleportType(aWorldProvider, aWorldProviderInstance); - } - - public boolean registerSolarSystem(SolarSystem aSystem) { - this.mSolarSystem = aSystem; - Logger.SPACE("Registering "+mSystemName); - return GalaxyRegistry.registerSolarSystem(aSystem); - } - - public boolean registerPlanet(BaseGalacticDimension aDimension) { - return registerPlanet(aDimension.getPlanet().getPlanet(), aDimension.getWorldProviderClass(), aDimension.getWorldProvider()); - } - public boolean registerPlanet(Planet aPlanet, Class aWorldProvider, ITeleportType aWorldProviderInstance) { - try { - Logger.SPACE("Registering "+aPlanet.getLocalizedName()); - mPlanetMap.put(aPlanet); - GalaxyRegistry.registerPlanet(aPlanet); - registryteleport(aWorldProvider, aWorldProviderInstance); - return true; - } - catch(Throwable t) { - return false; - } - } - - public SolarSystem createSolarSystem(String aSystemName, String aParentGalaxyName, Vector3 aMapPosition) { - Logger.SPACE("Creating Solar System in GC using information from "+mSystemName); - SolarSystem aSolarSystem = (new SolarSystem(aSystemName, aParentGalaxyName)).setMapPosition(aMapPosition); - return aSolarSystem; - } - - public Star createStar(String aStarName, int aTierRequired) { - Logger.SPACE("Creating new Star named "+aStarName); - Star aStar = (Star) (new Star(aStarName)).setParentSolarSystem(getSystem()).setTierRequired(aTierRequired); - aStar.setBodyIcon(new ResourceLocation(CORE.MODID, "textures/space/planets/"+aStarName.toLowerCase()+"/"+aStarName+".png")); - return aStar; - } - - public PlanetGenerator createPlanet(String aPlanetName, float[] aRingRGB, float aPhaseShift, float aRelativeDistanceFromCentMin, float aRelativeDistanceFromCentMax, float aRelativeOrbitTime, IPlanetBlockRegister aPlanetBlocks) { - Logger.SPACE("Creating "+aPlanetName); - Planet aNewPlanet = (new Planet(aPlanetName)).setParentSolarSystem(getSystem()); - aNewPlanet.setRingColorRGB(aRingRGB[0], aRingRGB[1], aRingRGB[2]); - aNewPlanet.setPhaseShift(aPhaseShift); - aNewPlanet.setBodyIcon(new ResourceLocation(CORE.MODID, "textures/space/planets/"+aPlanetName.toLowerCase()+"/"+aPlanetName+".png")); - aNewPlanet.setRelativeDistanceFromCenter(new ScalableDistance(aRelativeDistanceFromCentMin, aRelativeDistanceFromCentMax)); - aNewPlanet.setRelativeOrbitTime(aRelativeOrbitTime); - PlanetGenerator aPlanet = new PlanetGenerator(aNewPlanet, aPlanetBlocks); - return aPlanet; - } - - public void setMainStarForSolarSystem(Star aStar) { - this.mStar = aStar; - getSystem().setMainStar(aStar); - Logger.SPACE("Setting "+aStar.getLocalizedName()+" as main Star for "+getSystem().getLocalizedName()+" within the "+getSystem().getLocalizedParentGalaxyName()+" Galaxy."); - } - - -} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/core/dim/BaseWorldProviderGalactic.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/core/dim/BaseWorldProviderGalactic.java index 01180f913c..6b15b388cd 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/core/dim/BaseWorldProviderGalactic.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/core/dim/BaseWorldProviderGalactic.java @@ -2,8 +2,9 @@ package gtPlusPlus.xmod.galacticraft.system.core.dim; import java.util.Random; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.random.XSTR; -import gtPlusPlus.xmod.galacticraft.system.BaseGalacticDimension; +import gtPlusPlus.xmod.galacticraft.system.core.space.BaseGalacticDimension; import gtPlusPlus.xmod.galacticraft.system.core.world.gen.GalacticBiomeGenBase; import gtPlusPlus.xmod.galacticraft.system.objects.BiomeSettings; import gtPlusPlus.xmod.galacticraft.system.objects.DimensionSettings; @@ -14,7 +15,6 @@ import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.BiomeDictionary.Type; @@ -37,9 +37,15 @@ public class BaseWorldProviderGalactic { private BaseWorldProviderGalactic(PlanetGenerator b, DimensionSettings aDimSettings, BiomeSettings aBiomeSettings) { mThisPlanet = b; - Class aCP = aDimSettings.getChunkProvider(); mBiome = tryCreateBiome(aBiomeSettings); - mDim = new BaseGalacticDimension(b, mBiome, aCP, aDimSettings); + if (mBiome != null) { + Logger.SPACE("Created Biome for "+b.getPlanet().getLocalizedName()+"."); + mDim = new BaseGalacticDimension(b, mBiome, aDimSettings.getChunkProvider(), aDimSettings); + } + else { + Logger.SPACE("Failed to Create Biome for "+b.getPlanet().getLocalizedName()+", Using Deep Ocean as fallback."); + mDim = new BaseGalacticDimension(b, BiomeGenBase.deepOcean, aDimSettings.getChunkProvider(), aDimSettings); + } } public synchronized final BaseGalacticDimension getDim() { diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseGalacticDimension.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseGalacticDimension.java new file mode 100644 index 0000000000..c0283604e8 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseGalacticDimension.java @@ -0,0 +1,304 @@ +package gtPlusPlus.xmod.galacticraft.system.core.space; + +import java.util.Random; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gtPlusPlus.xmod.galacticraft.system.objects.DimensionSettings; +import gtPlusPlus.xmod.galacticraft.system.objects.PlanetGenerator; +import micdoodle8.mods.galacticraft.api.galaxies.CelestialBody; +import micdoodle8.mods.galacticraft.api.prefab.world.gen.WorldChunkManagerSpace; +import micdoodle8.mods.galacticraft.api.prefab.world.gen.WorldProviderSpace; +import micdoodle8.mods.galacticraft.api.vector.Vector3; +import micdoodle8.mods.galacticraft.api.world.IExitHeight; +import micdoodle8.mods.galacticraft.api.world.ISolarLevel; +import micdoodle8.mods.galacticraft.api.world.ITeleportType; +import micdoodle8.mods.galacticraft.core.entities.player.GCPlayerStats; +import micdoodle8.mods.galacticraft.core.util.ConfigManagerCore; +import micdoodle8.mods.galacticraft.planets.mars.entities.EntityLandingBalloons; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.chunk.IChunkProvider; + +public class BaseGalacticDimension { + + private final WorldChunkManagerGalactic mGlobalChunkManager; + private final WorldProviderGalactic mWorldProvider; + private final Class mChunkProvider; + private final PlanetGenerator mPlanet; + + public BaseGalacticDimension(PlanetGenerator aPlanet, BiomeGenBase aBiomeForDim, Class aChunkProvider, DimensionSettings aSettings) { + mPlanet = aPlanet; + mGlobalChunkManager = new WorldChunkManagerGalactic(aBiomeForDim); + mChunkProvider = aChunkProvider; + mWorldProvider = new WorldProviderGalactic(aSettings); + } + + public class WorldChunkManagerGalactic extends WorldChunkManagerSpace { + private final BiomeGenBase mBiome; + + public WorldChunkManagerGalactic(BiomeGenBase aDimBiome) { + mBiome = aDimBiome; + } + + public BiomeGenBase getBiome() { + return mBiome; + } + } + + public class WorldProviderGalactic extends WorldProviderSpace implements IExitHeight, ISolarLevel, ITeleportType { + + private final int mTierRequirement; + private final PlanetGenerator mPlanet; + private final boolean mAtmosphere; + private final int mPressure; + private final boolean mSolarRadiation; + private final float mCloudHeight; + private final float mGravity; + private final float mMeteorFreq; + private final boolean mCanRainOrSnow; + private final long mDayLength; + private final Class mChunkProvider; + + public WorldProviderGalactic(DimensionSettings aSettings) { + mPlanet = aSettings.getPlanet(); + mTierRequirement = aSettings.getTierRequirement(); + mAtmosphere = aSettings.hasAtmosphere(); + mPressure = aSettings.getPressure(); + mSolarRadiation = aSettings.hasSolarRadiation(); + mCloudHeight = aSettings.getCloudHeight(); + mGravity = aSettings.getGravity(); + mMeteorFreq = aSettings.getMeteorFreq(); + mCanRainOrSnow = aSettings.hasRainOrSnow(); + mDayLength = aSettings.getDayLength(); + mChunkProvider = aSettings.getChunkProvider(); + } + + public WorldProviderGalactic(PlanetGenerator aPlanet, Class aChunkProvider, int aTierRequirement, boolean aHasBreathableAtmo, + int aPressure, boolean aSolarRadiation, float aCloudHeight, float aGravity, float aMeteorFreq, boolean aCanRainOrSnow, long aDayLength) { + mPlanet = aPlanet; + mTierRequirement = aTierRequirement; + mAtmosphere = aHasBreathableAtmo; + mPressure = aPressure; + mSolarRadiation = aSolarRadiation; + mCloudHeight = aCloudHeight; + mGravity = aGravity; + mMeteorFreq = aMeteorFreq; + mCanRainOrSnow = aCanRainOrSnow; + mDayLength = aDayLength; + mChunkProvider = aChunkProvider; + } + + public boolean canSpaceshipTierPass(int tier) { + return tier >= mTierRequirement; + } + + @SideOnly(Side.CLIENT) + public float getCloudHeight() { + return mCloudHeight; + } + + public double getHorizon() { + return 44.0D; + } + + public float getFallDamageModifier() { + return 0.16F; + } + + public double getFuelUsageMultiplier() { + return 0.8D; + } + + public float getGravity() { + return mGravity; + } + + public double getMeteorFrequency() { + return mMeteorFreq; + } + + public float getSoundVolReductionAmount() { + return Float.MAX_VALUE; + } + + public float getThermalLevelModifier() { + return 0.0F; + } + + public float getWindLevel() { + return 0.6F; + } + + public boolean canRainOrSnow() { + return mCanRainOrSnow; + } + + public boolean canBlockFreeze(int x, int y, int z, boolean byWater) { + return false; + } + + public CelestialBody getCelestialBody() { + return mPlanet.getPlanet(); + } + + public Class getChunkProviderClass() { + return mChunkProvider; + } + + public long getDayLength() { + return mDayLength; + } + + public boolean hasBreathableAtmosphere() { + return mAtmosphere; + } + + public Vector3 getFogColor() { + float f = 1.0F - this.getStarBrightness(1.0F); + return new Vector3((double) (0.65882355F * f), (double) (0.84705883F * f), (double) (1.0F * f)); + } + + public Vector3 getSkyColor() { + float f = 1.0F - this.getStarBrightness(1.0F); + return new Vector3((double) (0.25882354F * f), (double) (0.6666667F * f), (double) (1.0F * f)); + } + + public boolean isSkyColored() { + return true; + } + + public Class getWorldChunkManagerClass() { + return WorldChunkManagerGalactic.class; + } + + public boolean hasSunset() { + return false; + } + + public boolean shouldForceRespawn() { + return !ConfigManagerCore.forceOverworldRespawn; + } + + public double getSolarEnergyMultiplier() { + return 0.8D; + } + + public double getYCoordinateToTeleport() { + return 800.0D; + } + + public Vector3 getEntitySpawnLocation(WorldServer arg0, Entity arg1) { + return new Vector3(arg1.posX, ConfigManagerCore.disableLander ? 250.0D : 900.0D, arg1.posZ); + } + + public Vector3 getParaChestSpawnLocation(WorldServer arg0, EntityPlayerMP arg1, Random arg2) { + if (ConfigManagerCore.disableLander) { + double x = (arg2.nextDouble() * 2.0D - 1.0D) * 5.0D; + double z = (arg2.nextDouble() * 2.0D - 1.0D) * 5.0D; + return new Vector3(x, 220.0D, z); + } else { + return null; + } + } + + public Vector3 getPlayerSpawnLocation(WorldServer arg0, EntityPlayerMP arg1) { + if (arg1 != null) { + GCPlayerStats stats = GCPlayerStats.get(arg1); + return new Vector3(stats.coordsTeleportedFromX, ConfigManagerCore.disableLander ? 250.0D : 900.0D, + stats.coordsTeleportedFromZ); + } else { + return null; + } + } + + public void onSpaceDimensionChanged(World arg0, EntityPlayerMP player, boolean arg2) { + if (player != null && GCPlayerStats.get(player).teleportCooldown <= 0) { + if (player.capabilities.isFlying) { + player.capabilities.isFlying = false; + } + + EntityLandingBalloons lander = new EntityLandingBalloons(player); + if (!arg0.isRemote) { + arg0.spawnEntityInWorld(lander); + } + + GCPlayerStats.get(player).teleportCooldown = 10; + } + + } + + public boolean useParachute() { + return ConfigManagerCore.disableLander; + } + + @SideOnly(Side.CLIENT) + public float getStarBrightness(float par1) { + float var2 = this.worldObj.getCelestialAngle(par1); + float var3 = 1.0F - (MathHelper.cos(var2 * 3.1415927F * 2.0F) * 2.0F + 0.25F); + if (var3 < 0.0F) { + var3 = 0.0F; + } + + if (var3 > 1.0F) { + var3 = 1.0F; + } + + return var3 * var3 * 0.5F + 0.3F; + } + + @SideOnly(Side.CLIENT) + public float getSunBrightness(float par1) { + float f1 = this.worldObj.getCelestialAngle(1.0F); + float f2 = 1.25F - (MathHelper.cos(f1 * 3.1415927F * 2.0F) * 2.0F + 0.2F); + if (f2 < 0.0F) { + f2 = 0.0F; + } + + if (f2 > 1.0F) { + f2 = 1.0F; + } + + f2 = 1.2F - f2; + return f2 * 0.2F; + } + + public void setupAdventureSpawn(EntityPlayerMP player) { + } + + public int AtmosphericPressure() { + return mPressure; + } + + public boolean SolarRadiation() { + return mSolarRadiation; + } + } + + public synchronized final WorldChunkManagerGalactic getGlobalChunkManager() { + return mGlobalChunkManager; + } + + public synchronized final WorldProviderGalactic getWorldProvider() { + return mWorldProvider; + } + + public synchronized final Class getWorldProviderClass() { + return mWorldProvider.getClass(); + } + + public synchronized final Class getChunkProvider() { + return mChunkProvider; + } + + public synchronized final PlanetGenerator getPlanet() { + return mPlanet; + } + + + +} diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseSolarSystem.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseSolarSystem.java new file mode 100644 index 0000000000..cb629f211f --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseSolarSystem.java @@ -0,0 +1,126 @@ +package gtPlusPlus.xmod.galacticraft.system.core.space; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.xmod.galacticraft.system.objects.IPlanetBlockRegister; +import gtPlusPlus.xmod.galacticraft.system.objects.PlanetGenerator; +import micdoodle8.mods.galacticraft.api.GalacticraftRegistry; +import micdoodle8.mods.galacticraft.api.galaxies.GalaxyRegistry; +import micdoodle8.mods.galacticraft.api.galaxies.Planet; +import micdoodle8.mods.galacticraft.api.galaxies.SolarSystem; +import micdoodle8.mods.galacticraft.api.galaxies.Star; +import micdoodle8.mods.galacticraft.api.prefab.world.gen.WorldProviderSpace; +import micdoodle8.mods.galacticraft.api.galaxies.CelestialBody.ScalableDistance; +import micdoodle8.mods.galacticraft.api.vector.Vector3; +import micdoodle8.mods.galacticraft.api.world.ITeleportType; +import micdoodle8.mods.galacticraft.planets.mars.dimension.WorldProviderMars; +import net.minecraft.util.ResourceLocation; + +public abstract class BaseSolarSystem { + + public final String mSystemName; + private SolarSystem mSolarSystem; + private Star mStar; + private AutoMap mPlanetMap = new AutoMap(); + + + public BaseSolarSystem(String aSystemName) { + mSystemName = aSystemName; + Logger.SPACE("Creating new Solar System: "+aSystemName); + } + + public SolarSystem getSystem() { + return mSolarSystem; + } + + public Star getStar() { + return mStar; + } + + public AutoMap getPlanets(){ + return mPlanetMap; + } + + public abstract void preInit(); + + public final void init() { + Logger.SPACE("Initialising planetary masses within "+mSystemName); + initSolarSystem(); + } + + public abstract void initSolarSystem(); + + public static void registryteleport(Class aWorldProvider, ITeleportType aWorldProviderInstance) { + Logger.SPACE("Registering world teleporter for "+aWorldProvider.getName()); + GalacticraftRegistry.registerTeleportType(aWorldProvider, aWorldProviderInstance); + } + + public boolean registerSolarSystem(SolarSystem aSystem) { + this.mSolarSystem = aSystem; + Logger.SPACE("Registering "+mSystemName); + return GalaxyRegistry.registerSolarSystem(aSystem); + } + + public boolean registerPlanet(BaseGalacticDimension aDimension) { + return registerPlanet(aDimension.getPlanet().getPlanet(), aDimension.getWorldProviderClass(), aDimension.getWorldProvider()); + } + public boolean registerPlanet(Planet aPlanet, Class aWorldProvider, ITeleportType aWorldProviderInstance) { + try { + Logger.SPACE("Registering "+aPlanet.getLocalizedName()); + mPlanetMap.put(aPlanet); + GalaxyRegistry.registerPlanet(aPlanet); + registryteleport(aWorldProvider, aWorldProviderInstance); + GalacticraftRegistry.registerRocketGui(aWorldProvider, new ResourceLocation(CORE.MODID, "textures/space/RocketGui.png")); + return true; + } + catch(Throwable t) { + return false; + } + } + + public SolarSystem createSolarSystem(String aSystemName, String aParentGalaxyName, Vector3 aMapPosition) { + Logger.SPACE("Creating Solar System in GC using information from "+mSystemName); + SolarSystem aSolarSystem = (new SolarSystem(aSystemName, aParentGalaxyName)).setMapPosition(aMapPosition); + return aSolarSystem; + } + + public Star createStar(String aStarName, int aTierRequired) { + Logger.SPACE("Creating new Star named "+aStarName); + Star aStar = (Star) (new Star(aStarName)).setParentSolarSystem(getSystem()).setTierRequired(aTierRequired); + aStar.setBodyIcon(getGalacticTexture(aStarName)); + return aStar; + } + + public PlanetGenerator createPlanet(String aPlanetName, int aTier, float[] aRingRGB, float aPhaseShift, float aRelativeDistanceFromCentMin, float aRelativeDistanceFromCentMax, float aRelativeOrbitTime, IPlanetBlockRegister aPlanetBlocks) { + Logger.SPACE("Creating "+aPlanetName); + Planet aNewPlanet = (new Planet(aPlanetName)).setParentSolarSystem(getSystem()); + aNewPlanet.setRingColorRGB(aRingRGB[0], aRingRGB[1], aRingRGB[2]); + aNewPlanet.setPhaseShift(aPhaseShift); + aNewPlanet.setBodyIcon(getGalacticTexture(aPlanetName)); + aNewPlanet.setRelativeDistanceFromCenter(new ScalableDistance(aRelativeDistanceFromCentMin, aRelativeDistanceFromCentMax)); + aNewPlanet.setRelativeOrbitTime(aRelativeOrbitTime); + if (aTier > 0) + aNewPlanet.setTierRequired(aTier); + PlanetGenerator aPlanet = new PlanetGenerator(aNewPlanet, aPlanetBlocks); + return aPlanet; + } + + public void setMainStarForSolarSystem(Star aStar) { + this.mStar = aStar; + getSystem().setMainStar(aStar); + Logger.SPACE("Setting "+aStar.getName()+" as main Star for "+getSystem().getName()+" within the "+getSystem().getLocalizedParentGalaxyName()+" Galaxy."); + } + + private ResourceLocation getGalacticTexture(String aName) { + String aText = getSystem().getUnlocalizedName(); + aText = aText.replace("solarsystem.", ""); + aName = aName.replace(aText+"-", ""); + + ResourceLocation aVal = new ResourceLocation(CORE.MODID, "textures/space/"+aText.toLowerCase()+"/"+aName+".png"); + Logger.SPACE("Trying to obtain ResourceLocation for "+aVal.toString()); + return aVal; + } + + +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/SystemHD10180.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/SystemHD10180.java index 585634bc07..a6f51255db 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/SystemHD10180.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/SystemHD10180.java @@ -1,9 +1,14 @@ package gtPlusPlus.xmod.galacticraft.system.hd10180; -import gtPlusPlus.xmod.galacticraft.system.BaseSolarSystem; +import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.galacticraft.system.core.dim.BasicChunkProviderGalactic; +import gtPlusPlus.xmod.galacticraft.system.core.space.BaseSolarSystem; import gtPlusPlus.xmod.galacticraft.system.hd10180.planets.b.blocks.BlockRegistrationHD10180B; import gtPlusPlus.xmod.galacticraft.system.hd10180.planets.b.dim.WorldProviderHD10180B; +import gtPlusPlus.xmod.galacticraft.system.hd10180.planets.c.blocks.BlockRegistrationHD10180C; +import gtPlusPlus.xmod.galacticraft.system.hd10180.planets.c.dim.WorldProviderHD10180C; +import gtPlusPlus.xmod.galacticraft.system.hd10180.planets.d.blocks.BlockRegistrationHD10180D; +import gtPlusPlus.xmod.galacticraft.system.hd10180.planets.d.dim.WorldProviderHD10180D; import gtPlusPlus.xmod.galacticraft.system.objects.BiomeSettings; import gtPlusPlus.xmod.galacticraft.system.objects.DimensionSettings; import gtPlusPlus.xmod.galacticraft.system.objects.PlanetGenerator; @@ -26,15 +31,28 @@ public class SystemHD10180 extends BaseSolarSystem { @Override public void initSolarSystem() { //Lets pick a nice place - SolarSystem aSystemHD10180 = createSolarSystem(mSystemName, "hydrus", new Vector3(2.0D, -1.0D, 2.0D)); + SolarSystem aSystemHD10180 = createSolarSystem(mSystemName, "milkyWay", new Vector3(-1.2D, 0.0D, 0.0D)); this.registerSolarSystem(aSystemHD10180); //turn the lights on - Star aMainStar = this.createStar(mSystemName+"-A", -1); + Star aMainStar = this.createStar(mSystemName+"-A",3); this.setMainStarForSolarSystem(aMainStar); + //Planet B - PlanetGenerator B = this.createPlanet(mSystemName+"-B", new float[] {0.2f, 0.2f, 0.2f}, 3.1415927F, 1f, 2f, 11.861994F, new BlockRegistrationHD10180B()); - DimensionSettings Planet_B_Settings = new DimensionSettings(B, BasicChunkProviderGalactic.class, 5, true, 1, false, 240f, 0.1f, 0.2f, false, 48000L); + PlanetGenerator B = this.createPlanet(mSystemName+"-B", 5, new float[] {0.2f, 0.2f, 0.2f}, CORE.PI/2, 0.3f, 0.3f, 0.24096386F, new BlockRegistrationHD10180B()); + DimensionSettings Planet_B_Settings = new DimensionSettings(B, BasicChunkProviderGalactic.class, 5, false, 1, false, 240f, 0.1f, 0.2f, false, 12000L); BiomeSettings Planet_B_Biome = new BiomeSettings(mSystemName+"-B", 255, 0.1f, 0.2f); - this.registerPlanet(new WorldProviderHD10180B(new WorldProviderSettings(Planet_B_Settings, Planet_B_Biome)).getDim()); + this.registerPlanet(new WorldProviderHD10180B(new WorldProviderSettings(Planet_B_Settings, Planet_B_Biome)).getDim()); + + //Planet C + PlanetGenerator C = this.createPlanet(mSystemName+"-C", 4, new float[] {0.2f, 0.2f, 0.8f}, CORE.PI/2+0.45f, 0.5f, 0.5f, 2.861994F, new BlockRegistrationHD10180C()); + DimensionSettings Planet_C_Settings = new DimensionSettings(C, BasicChunkProviderGalactic.class, 4, true, 1, false, 120f, 2f, 2f, false, 24000L); + BiomeSettings Planet_C_Biome = new BiomeSettings(mSystemName+"-C", 255, 0.1f, 0.5f); + this.registerPlanet(new WorldProviderHD10180C(new WorldProviderSettings(Planet_C_Settings, Planet_C_Biome)).getDim()); + + //Planet D + PlanetGenerator D = this.createPlanet(mSystemName+"-D", 3, new float[] {0.2f, 0.2f, 0.2f}, CORE.PI-0.55f, 1.2f, 1.2f, 16.861994F, new BlockRegistrationHD10180D()); + DimensionSettings Planet_D_Settings = new DimensionSettings(D, BasicChunkProviderGalactic.class, 3, true, 1, false, 240f, 1f, 0.0f, false, 48000L); + BiomeSettings Planet_D_Biome = new BiomeSettings(mSystemName+"-D", 255, 0.2f, 0.4f); + this.registerPlanet(new WorldProviderHD10180D(new WorldProviderSettings(Planet_D_Settings, Planet_D_Biome)).getDim()); } } \ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/c/blocks/BlockRegistrationHD10180C.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/c/blocks/BlockRegistrationHD10180C.java new file mode 100644 index 0000000000..8cf401be40 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/c/blocks/BlockRegistrationHD10180C.java @@ -0,0 +1,62 @@ +package gtPlusPlus.xmod.galacticraft.system.hd10180.planets.c.blocks; + +import java.util.LinkedHashMap; +import java.util.Map; + +import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.xmod.galacticraft.system.objects.IPlanetBlockRegister; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; + +public class BlockRegistrationHD10180C implements IPlanetBlockRegister { + + private Map mBlocks = new LinkedHashMap(); + private static AutoMap mBlocksToRegister = new AutoMap(); + + public static void initialize() { + //mBlocksToRegister.put(new TCetiEBlocks()); + //mBlocksToRegister.put(new TCetiEBlockDandelions()); + } + + @Override + public Map getBlocks() { + return mBlocks; + } + + @Override + public Block getTopLayer() { + return mBlocks.get(0); + } + + @Override + public Block getSoil() { + return mBlocks.get(1); + } + + @Override + public Block getSoil2() { + return mBlocks.get(2); + } + + @Override + public Block getStone() { + return mBlocks.get(3); + } + + @Override + public Block getWaterBlock() { + return mBlocks.get(4); + } + + @Override + public void register() { + //Register Blocks, Add to List + mBlocks.put(0, Blocks.grass); + mBlocks.put(1, Blocks.dirt); + mBlocks.put(2, Blocks.gravel); + mBlocks.put(3, Blocks.stone); + mBlocks.put(4, Blocks.lava); + + } + +} diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/c/dim/WorldProviderHD10180C.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/c/dim/WorldProviderHD10180C.java new file mode 100644 index 0000000000..05d2a7155d --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/c/dim/WorldProviderHD10180C.java @@ -0,0 +1,13 @@ +package gtPlusPlus.xmod.galacticraft.system.hd10180.planets.c.dim; + +import gtPlusPlus.xmod.galacticraft.system.core.dim.BaseWorldProviderGalactic; +import gtPlusPlus.xmod.galacticraft.system.objects.WorldProviderSettings; + +public class WorldProviderHD10180C extends BaseWorldProviderGalactic { + + public WorldProviderHD10180C(WorldProviderSettings b) { + super(b); + } + + +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/d/blocks/BlockRegistrationHD10180D.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/d/blocks/BlockRegistrationHD10180D.java new file mode 100644 index 0000000000..e577d2bf6f --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/d/blocks/BlockRegistrationHD10180D.java @@ -0,0 +1,62 @@ +package gtPlusPlus.xmod.galacticraft.system.hd10180.planets.d.blocks; + +import java.util.LinkedHashMap; +import java.util.Map; + +import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.xmod.galacticraft.system.objects.IPlanetBlockRegister; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; + +public class BlockRegistrationHD10180D implements IPlanetBlockRegister { + + private Map mBlocks = new LinkedHashMap(); + private static AutoMap mBlocksToRegister = new AutoMap(); + + public static void initialize() { + //mBlocksToRegister.put(new TCetiEBlocks()); + //mBlocksToRegister.put(new TCetiEBlockDandelions()); + } + + @Override + public Map getBlocks() { + return mBlocks; + } + + @Override + public Block getTopLayer() { + return mBlocks.get(0); + } + + @Override + public Block getSoil() { + return mBlocks.get(1); + } + + @Override + public Block getSoil2() { + return mBlocks.get(2); + } + + @Override + public Block getStone() { + return mBlocks.get(3); + } + + @Override + public Block getWaterBlock() { + return mBlocks.get(4); + } + + @Override + public void register() { + //Register Blocks, Add to List + mBlocks.put(0, Blocks.grass); + mBlocks.put(1, Blocks.dirt); + mBlocks.put(2, Blocks.gravel); + mBlocks.put(3, Blocks.stone); + mBlocks.put(4, Blocks.lava); + + } + +} diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/d/dim/WorldProviderHD10180D.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/d/dim/WorldProviderHD10180D.java new file mode 100644 index 0000000000..67bb43369d --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/d/dim/WorldProviderHD10180D.java @@ -0,0 +1,13 @@ +package gtPlusPlus.xmod.galacticraft.system.hd10180.planets.d.dim; + +import gtPlusPlus.xmod.galacticraft.system.core.dim.BaseWorldProviderGalactic; +import gtPlusPlus.xmod.galacticraft.system.objects.WorldProviderSettings; + +public class WorldProviderHD10180D extends BaseWorldProviderGalactic { + + public WorldProviderHD10180D(WorldProviderSettings b) { + super(b); + } + + +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/PlanetGenerator.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/PlanetGenerator.java index 4f3642a2f0..fad40e5f41 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/PlanetGenerator.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/PlanetGenerator.java @@ -23,6 +23,7 @@ public class PlanetGenerator { mPlanetBlocks = new LinkedHashMap>(); for (int i=0;i<4;i++) { Block b = aBlockRegistrationTask.getBlocks().get(i); + if (b != null) mPlanetBlocks.put(i, new Pair(b.getUnlocalizedName(), b)); } if (mGlobalPlanetCache.get(mPlanet.getName().toUpperCase()) == null) { diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/util/GalacticUtils.java b/src/Java/gtPlusPlus/xmod/galacticraft/util/GalacticUtils.java index df8521be9d..94dc2d0cc0 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/util/GalacticUtils.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/util/GalacticUtils.java @@ -4,6 +4,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import gregtech.api.enums.Materials; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.item.chemistry.RocketFuels; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; @@ -51,7 +52,37 @@ public class GalacticUtils { aIFuelable = a5; getRocketTier = m1; getRocket = m2; - getBuggy = m3; + getBuggy = m3; + if (a1 != null && a2 != null && a3 != null && a4 != null && a5 != null && m1 != null && m2 != null && m3 != null) { + Logger.SPACE("Successfully relfected into 5 classes and 3 methods."); + } + else { + Logger.SPACE("Failed to relfect into Galacticraft classes and methods."); + if (a1 == null) { + Logger.SPACE("micdoodle8.mods.galacticraft.api.prefab.entity.EntityTieredRocket was null.."); + } + if (a2 == null) { + Logger.SPACE("micdoodle8.mods.galacticraft.core.tile.TileEntityLandingPad was null.."); + } + if (a3 == null) { + Logger.SPACE("micdoodle8.mods.galacticraft.core.tile.TileEntityBuggyFueler was null.."); + } + if (a4 == null) { + Logger.SPACE("micdoodle8.mods.galacticraft.api.entity.IDockable was null.."); + } + if (a5 == null) { + Logger.SPACE("micdoodle8.mods.galacticraft.api.entity.IFuelable was null.."); + } + if (m1 == null) { + Logger.SPACE("getRocketTier was null.."); + } + if (m2 == null) { + Logger.SPACE("getDockedEntity was null.."); + } + if (m3 == null) { + Logger.SPACE("getDockedEntity(buggy) was null.."); + } + } } @@ -108,7 +139,8 @@ public class GalacticUtils { return getValidFuelForTier(getRocketTier(aEntity)); } else { - return null; + Logger.SPACE("Failed to get valid rocket fuel for "+aEntity.getClass().getCanonicalName()); + return getValidFuelForTier(0); } } -- cgit