diff options
Diffstat (limited to 'src/Java/gtPlusPlus/xmod')
11 files changed, 245 insertions, 21 deletions
diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GC.java b/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java index 9e55f3cc90..d964f8e731 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GC.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java @@ -2,11 +2,12 @@ package gtPlusPlus.xmod.galacticraft; import java.util.HashMap; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.LoadedMods; -import gtPlusPlus.xmod.galacticraft.system.BaseSolarSystem; +import gtPlusPlus.xmod.galacticraft.system.core.space.BaseSolarSystem; import gtPlusPlus.xmod.galacticraft.system.hd10180.SystemHD10180; -public class HANDLER_GC { +public class HANDLER_GalactiCraft { private static final HashMap<String, BaseSolarSystem> mSystemsCache = new HashMap<String, BaseSolarSystem>(); @@ -17,14 +18,16 @@ public class HANDLER_GC { 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(){ + public static void init(){ if (LoadedMods.GalacticraftCore){ for (BaseSolarSystem solar : mSystemsCache.values()) { + Logger.SPACE("Running 'init' for "+solar.mSystemName); solar.init(); } } 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<? extends IChunkProvider> 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/BaseGalacticDimension.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseGalacticDimension.java index cb02fa0e31..c0283604e8 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseGalacticDimension.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseGalacticDimension.java @@ -1,4 +1,4 @@ -package gtPlusPlus.xmod.galacticraft.system; +package gtPlusPlus.xmod.galacticraft.system.core.space; import java.util.Random; diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseSolarSystem.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseSolarSystem.java index 36e5ce8979..cb629f211f 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseSolarSystem.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/core/space/BaseSolarSystem.java @@ -1,4 +1,4 @@ -package gtPlusPlus.xmod.galacticraft.system; +package gtPlusPlus.xmod.galacticraft.system.core.space; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; @@ -14,6 +14,7 @@ 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 { @@ -70,6 +71,7 @@ public abstract class BaseSolarSystem { 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) { @@ -86,18 +88,20 @@ public abstract class BaseSolarSystem { 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")); + aStar.setBodyIcon(getGalacticTexture(aStarName)); return aStar; } - public PlanetGenerator createPlanet(String aPlanetName, float[] aRingRGB, float aPhaseShift, float aRelativeDistanceFromCentMin, float aRelativeDistanceFromCentMax, float aRelativeOrbitTime, IPlanetBlockRegister aPlanetBlocks) { + 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(new ResourceLocation(CORE.MODID, "textures/space/planets/"+aPlanetName.toLowerCase()+"/"+aPlanetName+".png")); + 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; } @@ -105,7 +109,17 @@ public abstract class BaseSolarSystem { 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."); + 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; } 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<Integer, Block> mBlocks = new LinkedHashMap<Integer, Block>(); + private static AutoMap<Block> mBlocksToRegister = new AutoMap<Block>(); + + public static void initialize() { + //mBlocksToRegister.put(new TCetiEBlocks()); + //mBlocksToRegister.put(new TCetiEBlockDandelions()); + } + + @Override + public Map<Integer, Block> 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<Integer, Block> mBlocks = new LinkedHashMap<Integer, Block>(); + private static AutoMap<Block> mBlocksToRegister = new AutoMap<Block>(); + + public static void initialize() { + //mBlocksToRegister.put(new TCetiEBlocks()); + //mBlocksToRegister.put(new TCetiEBlockDandelions()); + } + + @Override + public Map<Integer, Block> 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<Integer, Pair<String, Block>>(); for (int i=0;i<4;i++) { Block b = aBlockRegistrationTask.getBlocks().get(i); + if (b != null) mPlanetBlocks.put(i, new Pair<String, Block>(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); } } |