Skip to content

Commit d31473d

Browse files
committed
Deep Space - WIP 2.
1 parent 9ff5c56 commit d31473d

11 files changed

+722
-201
lines changed

src/main/java/micdoodle8/mods/galacticraft/core/client/gui/screen/GuiCelestialSelection.java

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.ibm.icu.text.ArabicShaping;
66
import com.ibm.icu.text.ArabicShapingException;
77
import com.ibm.icu.text.Bidi;
8+
89
import micdoodle8.mods.galacticraft.api.GalacticraftRegistry;
910
import micdoodle8.mods.galacticraft.api.event.client.CelestialBodyRenderEvent;
1011
import micdoodle8.mods.galacticraft.api.galaxies.*;
@@ -17,6 +18,7 @@
1718
import micdoodle8.mods.galacticraft.core.proxy.ClientProxyCore;
1819
import micdoodle8.mods.galacticraft.core.tick.KeyHandlerClient;
1920
import micdoodle8.mods.galacticraft.core.util.*;
21+
import micdoodle8.mods.galacticraft.planets.deepspace.DeepSpaceModule;
2022
import net.minecraft.client.Minecraft;
2123
import net.minecraft.client.gui.Gui;
2224
import net.minecraft.client.gui.GuiScreen;
@@ -32,6 +34,7 @@
3234
import net.minecraft.world.WorldProvider;
3335
import net.minecraftforge.common.MinecraftForge;
3436
import net.minecraftforge.fml.client.FMLClientHandler;
37+
3538
import org.lwjgl.BufferUtils;
3639
import org.lwjgl.input.Keyboard;
3740
import org.lwjgl.input.Mouse;
@@ -141,6 +144,7 @@ public void initGui()
141144
{
142145
this.celestialBodyTicks.put(satellite, 0);
143146
}
147+
DeepSpaceModule.stationDeepSpace.setParentPlanet(GalacticraftCore.planetJupiter);
144148

145149
GuiCelestialSelection.BORDER_SIZE = this.width / 65;
146150
GuiCelestialSelection.BORDER_EDGE_SIZE = GuiCelestialSelection.BORDER_SIZE / 4;

src/main/java/micdoodle8/mods/galacticraft/core/util/WorldUtil.java

+17-1
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@
5656
import net.minecraftforge.fml.common.FMLCommonHandler;
5757
import net.minecraftforge.fml.relauncher.Side;
5858
import net.minecraftforge.fml.relauncher.SideOnly;
59-
6059
import net.minecraftforge.server.permission.PermissionAPI;
60+
6161
import org.apache.commons.lang3.ArrayUtils;
6262

6363
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
@@ -305,6 +305,22 @@ public static CelestialBody getReachableCelestialBodiesForName(String name)
305305
return null;
306306
}
307307

308+
public static Planet getPlanetByName(String name, SolarSystem system)
309+
{
310+
for (CelestialBody body : GalaxyRegistry.getRegisteredPlanets().values())
311+
{
312+
if (body instanceof Planet && name.equals(body.getName()))
313+
{
314+
if (((Planet) body).getParentSolarSystem() == system)
315+
{
316+
return (Planet) body;
317+
}
318+
}
319+
}
320+
321+
return null;
322+
}
323+
308324
/**
309325
* CAUTION: this loads the dimension if it is not already loaded. This can cause
310326
* server load if used too frequently or with a list of multiple dimensions.

src/main/java/micdoodle8/mods/galacticraft/planets/GCPlanetDimensions.java

+1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ public class GCPlanetDimensions
77
public static DimensionType ASTEROIDS;
88
public static DimensionType MARS;
99
public static DimensionType VENUS;
10+
public static DimensionType DEEP_SPACE;
1011
}

src/main/java/micdoodle8/mods/galacticraft/planets/GalacticraftPlanets.java

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import micdoodle8.mods.galacticraft.planets.asteroids.AsteroidsModule;
1111
import micdoodle8.mods.galacticraft.planets.asteroids.ConfigManagerAsteroids;
1212
import micdoodle8.mods.galacticraft.planets.asteroids.world.gen.BiomeAsteroids;
13+
import micdoodle8.mods.galacticraft.planets.deepspace.ConfigManagerDeepSpace;
1314
import micdoodle8.mods.galacticraft.planets.deepspace.DeepSpaceModule;
1415
import micdoodle8.mods.galacticraft.planets.mars.ConfigManagerMars;
1516
import micdoodle8.mods.galacticraft.planets.mars.MarsModule;
@@ -82,6 +83,7 @@ public void preInit(FMLPreInitializationEvent event)
8283
new ConfigManagerMars(newPlanetsConf, update);
8384
new ConfigManagerAsteroids(new File(event.getModConfigurationDirectory(), "Galacticraft/asteroids.conf"));
8485
new ConfigManagerVenus(new File(event.getModConfigurationDirectory(), "Galacticraft/venus.conf"));
86+
new ConfigManagerDeepSpace(new File(event.getModConfigurationDirectory(), "Galacticraft/deep_space.conf"));
8587
this.configSyncEnd(true);
8688

8789
GalacticraftPlanets.commonModules.add(new MarsModule());

src/main/java/micdoodle8/mods/galacticraft/planets/deepspace/ConfigManagerDeepSpace.java

+6-87
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,7 @@ public ConfigManagerDeepSpace(File file)
3737
}
3838

3939
// DIMENSIONS
40-
public static int dimensionIDAsteroids;
41-
42-
// GUI
43-
44-
// SCHEMATIC
45-
public static int idSchematicRocketT3;
46-
47-
// GENERAL
48-
public static boolean disableGalacticraftHelium;
49-
public static int astroMinerMax;
50-
51-
public static boolean disableIlmeniteGen;
52-
public static boolean disableIronGen;
53-
public static boolean disableAluminumGen;
40+
public static int dimensionIDDeepSpace;
5441

5542
public static void syncConfig(boolean load, boolean update)
5643
{
@@ -67,89 +54,21 @@ public static void syncConfig(boolean load, boolean update)
6754
}
6855
}
6956

70-
prop = config.get(Constants.CONFIG_CATEGORY_DIMENSIONS, "dimensionIDAsteroids", -30);
71-
prop.setComment("Dimension ID for Asteroids");
72-
prop.setLanguageKey("gc.configgui.dimension_id_asteroids").setRequiresMcRestart(true);
57+
prop = config.get(Constants.CONFIG_CATEGORY_DIMENSIONS, "dimensionIDDeepSpace", -32);
58+
prop.setComment("Dimension ID for Deep Space Station");
59+
prop.setLanguageKey("gc.configgui.dimension_id_deep_space").setRequiresMcRestart(true);
7360
if (update)
7461
{
7562
propCopy = ConfigManagerMars.config.get(Constants.CONFIG_CATEGORY_DIMENSIONS, prop.getName(), prop.getInt(), prop.getComment());
7663
propCopy.setLanguageKey(prop.getLanguageKey());
7764
propCopy.setRequiresMcRestart(prop.requiresMcRestart());
7865
}
79-
dimensionIDAsteroids = prop.getInt();
66+
dimensionIDDeepSpace = prop.getInt();
8067
GalacticraftPlanets.finishProp(prop, Constants.CONFIG_CATEGORY_DIMENSIONS);
81-
82-
//
83-
84-
prop = config.get(Constants.CONFIG_CATEGORY_SCHEMATIC, "idSchematicRocketT3", 4);
85-
prop.setComment("Schematic ID for Tier 3 Rocket, must be unique.");
86-
prop.setLanguageKey("gc.configgui.id_schematic_rocket_t3");
87-
if (update)
88-
{
89-
propCopy = ConfigManagerMars.config.get(Constants.CONFIG_CATEGORY_SCHEMATIC, prop.getName(), prop.getInt(), prop.getComment());
90-
propCopy.setLanguageKey(prop.getLanguageKey());
91-
}
92-
idSchematicRocketT3 = prop.getInt(4);
93-
GalacticraftPlanets.finishProp(prop, Constants.CONFIG_CATEGORY_SCHEMATIC);
94-
95-
prop = config.get(Constants.CONFIG_CATEGORY_GENERAL, "disableGalacticraftHelium", false);
96-
prop.setComment("Option to disable Helium gas in Galacticraft (because it will be registered by another mod eg GregTech).");
97-
prop.setLanguageKey("gc.configgui.disable_galacticraft_helium");
98-
if (update)
99-
{
100-
propCopy = ConfigManagerMars.config.get(Constants.CONFIG_CATEGORY_GENERAL, prop.getName(), prop.getBoolean(), prop.getComment());
101-
propCopy.setLanguageKey(prop.getLanguageKey());
102-
}
103-
disableGalacticraftHelium = prop.getBoolean(false);
104-
GalacticraftPlanets.finishProp(prop, Constants.CONFIG_CATEGORY_GENERAL);
105-
106-
prop = config.get(Constants.CONFIG_CATEGORY_GENERAL, "maximumAstroMiners", 6);
107-
prop.setComment("Maximum number of Astro Miners each player is allowed to have active (default 6).");
108-
prop.setLanguageKey("gc.configgui.astro_miners_max");
109-
if (update)
110-
{
111-
propCopy = ConfigManagerMars.config.get(Constants.CONFIG_CATEGORY_GENERAL, prop.getName(), prop.getInt(), prop.getComment());
112-
propCopy.setLanguageKey(prop.getLanguageKey());
113-
}
114-
astroMinerMax = prop.getInt(6);
115-
GalacticraftPlanets.finishProp(prop, Constants.CONFIG_CATEGORY_GENERAL);
116-
117-
prop = config.get(update ? Constants.CONFIG_CATEGORY_GENERAL : Constants.CONFIG_CATEGORY_WORLDGEN, "Disable Iron Ore Gen on Asteroids", false);
118-
prop.setComment("Disable Iron Ore Gen on Asteroids.");
119-
prop.setLanguageKey("gc.configgui.disable_iron_gen_asteroids");
120-
if (update)
121-
{
122-
propCopy = ConfigManagerMars.config.get(Constants.CONFIG_CATEGORY_WORLDGEN, prop.getName(), prop.getBoolean(), prop.getComment());
123-
propCopy.setLanguageKey(prop.getLanguageKey());
124-
}
125-
disableIronGen = prop.getBoolean(false);
126-
GalacticraftPlanets.finishProp(prop, Constants.CONFIG_CATEGORY_WORLDGEN);
127-
128-
prop = config.get(update ? Constants.CONFIG_CATEGORY_GENERAL : Constants.CONFIG_CATEGORY_WORLDGEN, "Disable Aluminum Ore Gen on Asteroids", false);
129-
prop.setComment("Disable Aluminum Ore Gen on Asteroids.");
130-
prop.setLanguageKey("gc.configgui.disable_aluminum_gen_asteroids");
131-
if (update)
132-
{
133-
propCopy = ConfigManagerMars.config.get(Constants.CONFIG_CATEGORY_WORLDGEN, prop.getName(), prop.getBoolean(), prop.getComment());
134-
propCopy.setLanguageKey(prop.getLanguageKey());
135-
}
136-
disableAluminumGen = prop.getBoolean(false);
137-
GalacticraftPlanets.finishProp(prop, Constants.CONFIG_CATEGORY_WORLDGEN);
138-
139-
prop = config.get(update ? Constants.CONFIG_CATEGORY_GENERAL : Constants.CONFIG_CATEGORY_WORLDGEN, "Disable Ilmenite Ore Gen on Asteroids", false);
140-
prop.setComment("Disable Ilmenite Ore Gen on Asteroids.");
141-
prop.setLanguageKey("gc.configgui.disable_ilmenite_gen_asteroids");
142-
if (update)
143-
{
144-
propCopy = ConfigManagerMars.config.get(Constants.CONFIG_CATEGORY_WORLDGEN, prop.getName(), prop.getBoolean(), prop.getComment());
145-
propCopy.setLanguageKey(prop.getLanguageKey());
146-
}
147-
disableIlmeniteGen = prop.getBoolean(false);
148-
GalacticraftPlanets.finishProp(prop, Constants.CONFIG_CATEGORY_WORLDGEN);
14968
}
15069
catch (final Exception e)
15170
{
152-
FMLLog.log(Level.ERROR, e, "Galacticraft Asteroids (Planets) has a problem loading its config");
71+
FMLLog.log(Level.ERROR, e, "Galacticraft Deep Space (Planets) has a problem loading its config");
15372
}
15473
}
15574
}

src/main/java/micdoodle8/mods/galacticraft/planets/deepspace/DeepSpaceModule.java

+9-4
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
import micdoodle8.mods.galacticraft.api.world.AtmosphereInfo;
88
import micdoodle8.mods.galacticraft.core.Constants;
99
import micdoodle8.mods.galacticraft.core.GalacticraftCore;
10-
import micdoodle8.mods.galacticraft.core.util.ConfigManagerCore;
10+
import micdoodle8.mods.galacticraft.core.dimension.TeleportTypeSpaceStation;
11+
import micdoodle8.mods.galacticraft.core.util.WorldUtil;
12+
import micdoodle8.mods.galacticraft.planets.GCPlanetDimensions;
1113
import micdoodle8.mods.galacticraft.planets.IPlanetsModule;
1214
import micdoodle8.mods.galacticraft.planets.deepspace.dimension.WorldProviderDeepSpace;
1315
import micdoodle8.mods.galacticraft.planets.deepspace.tile.TileEntityDeepStructure;
@@ -42,20 +44,23 @@ public void init(FMLInitializationEvent event)
4244

4345
// RecipeManagerDeepSpace.loadRecipes();
4446

45-
DeepSpaceModule.stationDeepSpace = new Moon("deep_space").setParentPlanet(GalacticraftCore.planetJupiter);
47+
// That's no moon!
48+
DeepSpaceModule.stationDeepSpace = new Moon("deep_space");
4649
DeepSpaceModule.stationDeepSpace.setRelativeSize(0.2667F).setRelativeDistanceFromCenter(new CelestialBody.ScalableDistance(23.5F, 23.5F)).setRelativeOrbitTime(1 / 0.02F);
47-
DeepSpaceModule.stationDeepSpace.setDimensionInfo(ConfigManagerCore.idDimensionOverworldOrbitStatic, WorldProviderDeepSpace.class).setTierRequired(3);
50+
DeepSpaceModule.stationDeepSpace.setDimensionInfo(ConfigManagerDeepSpace.dimensionIDDeepSpace, WorldProviderDeepSpace.class).setTierRequired(3);
4851
DeepSpaceModule.stationDeepSpace.setBodyIcon(new ResourceLocation(Constants.ASSET_PREFIX, "textures/gui/celestialbodies/space_station.png"));
4952
DeepSpaceModule.stationDeepSpace.setAtmosphere(new AtmosphereInfo(false, false, false, 0.0F, 0.1F, 0.02F));
5053
GalaxyRegistry.registerMoon(DeepSpaceModule.stationDeepSpace);
51-
// GalacticraftRegistry.registerTeleportType(WorldProviderAsteroids.class, new TeleportTypeAsteroids());
5254

55+
GalacticraftRegistry.registerTeleportType(WorldProviderDeepSpace.class, new TeleportTypeSpaceStation());
5356
GalacticraftRegistry.registerRocketGui(WorldProviderDeepSpace.class, new ResourceLocation(Constants.ASSET_PREFIX, "textures/gui/overworld_rocket_gui.png"));
5457
}
5558

5659
@Override
5760
public void postInit(FMLPostInitializationEvent event)
5861
{
62+
DeepSpaceModule.stationDeepSpace.setParentPlanet(WorldUtil.getPlanetByName("jupiter", GalacticraftCore.solarSystemSol));
63+
GCPlanetDimensions.DEEP_SPACE = WorldUtil.getDimensionTypeById(ConfigManagerDeepSpace.dimensionIDDeepSpace);
5964
}
6065

6166
@Override

0 commit comments

Comments
 (0)