aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-10-24 03:34:43 +0100
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-10-24 03:34:43 +0100
commitf32d154550c102e32a24fcda5970b8119d9d97f2 (patch)
tree5e65179260d49d2eb4ff9878ff2d14eadeb5875a /src/Java
parent5856a6623641697349a112ff75b74296358361a0 (diff)
downloadGT5-Unofficial-f32d154550c102e32a24fcda5970b8119d9d97f2.tar.gz
GT5-Unofficial-f32d154550c102e32a24fcda5970b8119d9d97f2.tar.bz2
GT5-Unofficial-f32d154550c102e32a24fcda5970b8119d9d97f2.zip
% More work on Planets.
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/api/objects/Logger.java4
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GC.java39
-rw-r--r--src/Java/gtPlusPlus/xmod/galacticraft/system/BaseSolarSystem.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/SystemHD10180.java30
-rw-r--r--src/Java/gtPlusPlus/xmod/galacticraft/system/hd10180/planets/b/blocks/BlockRegistrationHD10180B.java62
-rw-r--r--src/Java/gtPlusPlus/xmod/galacticraft/system/objects/IPlanetBlockRegister.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/galacticraft/system/objects/PlanetGenerator.java13
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;
}