diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-10-24 03:34:43 +0100 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-10-24 03:34:43 +0100 |
commit | f32d154550c102e32a24fcda5970b8119d9d97f2 (patch) | |
tree | 5e65179260d49d2eb4ff9878ff2d14eadeb5875a /src/Java | |
parent | 5856a6623641697349a112ff75b74296358361a0 (diff) | |
download | GT5-Unofficial-f32d154550c102e32a24fcda5970b8119d9d97f2.tar.gz GT5-Unofficial-f32d154550c102e32a24fcda5970b8119d9d97f2.tar.bz2 GT5-Unofficial-f32d154550c102e32a24fcda5970b8119d9d97f2.zip |
% More work on Planets.
Diffstat (limited to 'src/Java')
8 files changed, 151 insertions, 21 deletions
diff --git a/src/Java/gtPlusPlus/api/objects/Logger.java b/src/Java/gtPlusPlus/api/objects/Logger.java index 188c8fa9d2..f994c40b52 100644 --- a/src/Java/gtPlusPlus/api/objects/Logger.java +++ b/src/Java/gtPlusPlus/api/objects/Logger.java @@ -143,6 +143,10 @@ public class Logger { public static void RECIPE(String string) { if (/*CORE.DEVENV || */CORE.DEBUG) modLogger.info("[Recipe] "+string); + } + + public static void SPACE(final String s) { + modLogger.info("[Space] "+s); } diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java b/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java index 4b17d89070..b5c51dfe21 100644 --- a/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java +++ b/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java @@ -26,6 +26,7 @@ public class COMPAT_IntermodStaging { HANDLER_Thaumcraft.preInit(); HANDLER_Tinkers.preInit(); HANDLER_SC2.preInit(); + HANDLER_GC.preInit(); } public static void init(){ @@ -40,6 +41,7 @@ public class COMPAT_IntermodStaging { HANDLER_Thaumcraft.init(); HANDLER_Tinkers.init(); HANDLER_SC2.init(); + HANDLER_GC.init(); } public static void postInit(){ @@ -54,6 +56,7 @@ public class COMPAT_IntermodStaging { HANDLER_Thaumcraft.postInit(); HANDLER_Tinkers.postInit(); HANDLER_SC2.postInit(); + HANDLER_GC.postInit(); } public static void onLoadComplete(FMLLoadCompleteEvent event) { diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GC.java b/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GC.java new file mode 100644 index 0000000000..9e55f3cc90 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GC.java @@ -0,0 +1,39 @@ +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<String, BaseSolarSystem> mSystemsCache = new HashMap<String, BaseSolarSystem>(); + + 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/system/BaseSolarSystem.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseSolarSystem.java index 96148c0cdb..36e5ce8979 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseSolarSystem.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/BaseSolarSystem.java @@ -1,5 +1,6 @@ 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; @@ -16,10 +17,18 @@ 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<Planet> mPlanetMap = new AutoMap<Planet>(); + + public BaseSolarSystem(String aSystemName) { + mSystemName = aSystemName; + Logger.SPACE("Creating new Solar System: "+aSystemName); + } + public SolarSystem getSystem() { return mSolarSystem; } @@ -35,17 +44,20 @@ public abstract class BaseSolarSystem { 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<? extends WorldProviderSpace> 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); } @@ -54,6 +66,7 @@ public abstract class BaseSolarSystem { } public boolean registerPlanet(Planet aPlanet, Class<? extends WorldProviderSpace> aWorldProvider, ITeleportType aWorldProviderInstance) { try { + Logger.SPACE("Registering "+aPlanet.getLocalizedName()); mPlanetMap.put(aPlanet); GalaxyRegistry.registerPlanet(aPlanet); registryteleport(aWorldProvider, aWorldProviderInstance); @@ -65,17 +78,20 @@ public abstract class BaseSolarSystem { } 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); @@ -89,6 +105,7 @@ 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."); } diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/SystemHD10180.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/SystemHD10180.java index 6a1bb52204..585634bc07 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/SystemHD10180.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/SystemHD10180.java @@ -2,6 +2,7 @@ package gtPlusPlus.xmod.galacticraft.system.hd10180; import gtPlusPlus.xmod.galacticraft.system.BaseSolarSystem; import gtPlusPlus.xmod.galacticraft.system.core.dim.BasicChunkProviderGalactic; +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.objects.BiomeSettings; import gtPlusPlus.xmod.galacticraft.system.objects.DimensionSettings; @@ -13,28 +14,27 @@ import micdoodle8.mods.galacticraft.api.vector.Vector3; public class SystemHD10180 extends BaseSolarSystem { - public void preInit() { - //TCBlocks.initialize(); + public SystemHD10180() { + super("HD10180"); } - public void registrycelestial() { - - } + public void preInit() { + //Init Blocks + BlockRegistrationHD10180B.initialize(); + } @Override - public void initSolarSystem() { - - SolarSystem aSystemHD10180 = createSolarSystem("HD10180", "hydrus", new Vector3(2.0D, -1.0D, 2.0D)); + public void initSolarSystem() { + //Lets pick a nice place + SolarSystem aSystemHD10180 = createSolarSystem(mSystemName, "hydrus", new Vector3(2.0D, -1.0D, 2.0D)); this.registerSolarSystem(aSystemHD10180); - - Star aMainStar = this.createStar("HD10180-A", -1); + //turn the lights on + Star aMainStar = this.createStar(mSystemName+"-A", -1); this.setMainStarForSolarSystem(aMainStar); - //Planet B - PlanetGenerator B = this.createPlanet("HD10180-B", new float[] {0.2f, 0.2f, 0.2f}, 3.1415927F, 1f, 2f, 11.861994F, null); + 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); - BiomeSettings Planet_B_Biome = new BiomeSettings("HD10180-B", 255, 0.1f, 0.2f); - this.registerPlanet(new WorldProviderHD10180B(new WorldProviderSettings(Planet_B_Settings, Planet_B_Biome)).getDim()); - + 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()); } }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/b/blocks/BlockRegistrationHD10180B.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/b/blocks/BlockRegistrationHD10180B.java new file mode 100644 index 0000000000..d79b5f47ce --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/b/blocks/BlockRegistrationHD10180B.java @@ -0,0 +1,62 @@ +package gtPlusPlus.xmod.galacticraft.system.hd10180.planets.b.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 BlockRegistrationHD10180B 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/objects/IPlanetBlockRegister.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/IPlanetBlockRegister.java index e8349d8553..60199406a7 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/IPlanetBlockRegister.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/IPlanetBlockRegister.java @@ -1,11 +1,13 @@ package gtPlusPlus.xmod.galacticraft.system.objects; +import java.util.Map; + import gtPlusPlus.api.objects.data.AutoMap; import net.minecraft.block.Block; public interface IPlanetBlockRegister extends Runnable { - public abstract AutoMap<Block> getBlocksToRegister(); + public abstract Map<Integer, Block> getBlocks(); public abstract Block getWaterBlock(); diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/PlanetGenerator.java b/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/PlanetGenerator.java index 7f59baa47a..4f3642a2f0 100644 --- a/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/PlanetGenerator.java +++ b/src/Java/gtPlusPlus/xmod/galacticraft/system/objects/PlanetGenerator.java @@ -1,8 +1,10 @@ package gtPlusPlus.xmod.galacticraft.system.objects; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; +import gtPlusPlus.api.objects.data.Pair; import micdoodle8.mods.galacticraft.api.galaxies.Planet; import net.minecraft.block.Block; @@ -10,7 +12,7 @@ public class PlanetGenerator { private final Planet mPlanet; private final IPlanetBlockRegister mTask; - private final Map<String, Block> mPlanetBlocks; + private final Map<Integer, Pair<String, Block>> mPlanetBlocks; private final Thread mTaskThread; public static final Map<String, PlanetGenerator> mGlobalPlanetCache = new HashMap<String, PlanetGenerator>(); @@ -18,9 +20,10 @@ public class PlanetGenerator { public PlanetGenerator(Planet aPlanet, IPlanetBlockRegister aBlockRegistrationTask) { mPlanet = aPlanet; mTask = aBlockRegistrationTask; - mPlanetBlocks = new HashMap<String, Block>(); - for (Block b : aBlockRegistrationTask.getBlocksToRegister()) { - mPlanetBlocks.put(b.getUnlocalizedName(), b); + mPlanetBlocks = new LinkedHashMap<Integer, Pair<String, Block>>(); + for (int i=0;i<4;i++) { + Block b = aBlockRegistrationTask.getBlocks().get(i); + mPlanetBlocks.put(i, new Pair<String, Block>(b.getUnlocalizedName(), b)); } if (mGlobalPlanetCache.get(mPlanet.getName().toUpperCase()) == null) { mGlobalPlanetCache.put(mPlanet.getName().toUpperCase(), this); @@ -43,7 +46,7 @@ public class PlanetGenerator { return mTask; } - public synchronized final Map<String, Block> getPlanetBlocks() { + public synchronized final Map<Integer, Pair<String, Block>> getPlanetBlocks() { return mPlanetBlocks; } |