diff --git a/src/generated/resources/data/create/tags/item/pressurized_air_sources.json b/src/generated/resources/data/create/tags/item/pressurized_air_sources.json new file mode 100644 index 00000000..affca8d5 --- /dev/null +++ b/src/generated/resources/data/create/tags/item/pressurized_air_sources.json @@ -0,0 +1,6 @@ +{ + "values": [ + "creatingspace:copper_oxygen_backtank", + "creatingspace:netherite_oxygen_backtank" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/earth_orbit.json b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/earth_orbit.json new file mode 100644 index 00000000..15d543a7 --- /dev/null +++ b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/earth_orbit.json @@ -0,0 +1,22 @@ +{ + "adjacentDimensions": { + "creatingspace:mars_orbit": { + "deltaV": 1000 + }, + "creatingspace:moon_orbit": { + "deltaV": 600 + }, + "creatingspace:venus": { + "arrivalHeight": 200, + "deltaV": 2200 + }, + "minecraft:overworld": { + "arrivalHeight": 200, + "deltaV": 200 + } + }, + "arrivalHeight": 64, + "distanceToOrbitingBody": 100, + "gravity": 0.0, + "orbitedBody": "minecraft:overworld" +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/mars.json b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/mars.json new file mode 100644 index 00000000..fd43dc4a --- /dev/null +++ b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/mars.json @@ -0,0 +1,11 @@ +{ + "adjacentDimensions": { + "creatingspace:mars_orbit": { + "deltaV": 400 + } + }, + "arrivalHeight": 200, + "distanceToOrbitingBody": 2000, + "gravity": 3.71, + "orbitedBody": "creatingspace:sun" +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/mars_orbit.json b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/mars_orbit.json new file mode 100644 index 00000000..af72b11d --- /dev/null +++ b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/mars_orbit.json @@ -0,0 +1,18 @@ +{ + "adjacentDimensions": { + "creatingspace:earth_orbit": { + "deltaV": 500 + }, + "creatingspace:mars": { + "arrivalHeight": 200, + "deltaV": 300 + }, + "creatingspace:moon_orbit": { + "deltaV": 300 + } + }, + "arrivalHeight": 64, + "distanceToOrbitingBody": 100, + "gravity": 0.0, + "orbitedBody": "creatingspace:mars" +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/moon_orbit.json b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/moon_orbit.json new file mode 100644 index 00000000..e69e47bb --- /dev/null +++ b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/moon_orbit.json @@ -0,0 +1,22 @@ +{ + "adjacentDimensions": { + "creatingspace:earth_orbit": { + "deltaV": 200 + }, + "creatingspace:mars_orbit": { + "deltaV": 1000 + }, + "creatingspace:the_moon": { + "arrivalHeight": 200, + "deltaV": 300 + }, + "creatingspace:venus": { + "arrivalHeight": 200, + "deltaV": 2200 + } + }, + "arrivalHeight": 64, + "distanceToOrbitingBody": 100, + "gravity": 0.0, + "orbitedBody": "creatingspace:the_moon" +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/the_moon.json b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/the_moon.json new file mode 100644 index 00000000..0cefa114 --- /dev/null +++ b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/the_moon.json @@ -0,0 +1,11 @@ +{ + "adjacentDimensions": { + "creatingspace:moon_orbit": { + "deltaV": 300 + } + }, + "arrivalHeight": 64, + "distanceToOrbitingBody": 400, + "gravity": 1.6, + "orbitedBody": "minecraft:overworld" +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/venus.json b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/venus.json new file mode 100644 index 00000000..63b35730 --- /dev/null +++ b/src/generated/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/venus.json @@ -0,0 +1,14 @@ +{ + "adjacentDimensions": { + "creatingspace:earth_orbit": { + "deltaV": 1800 + }, + "creatingspace:moon_orbit": { + "deltaV": 2000 + } + }, + "arrivalHeight": 200, + "distanceToOrbitingBody": 400, + "gravity": 1.6, + "orbitedBody": "creatingspace:sun" +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension/earth_orbit.json b/src/generated/resources/data/creatingspace/dimension/earth_orbit.json new file mode 100644 index 00000000..d50ea496 --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension/earth_orbit.json @@ -0,0 +1,12 @@ +{ + "type": "creatingspace:earth_orbit", + "generator": { + "type": "minecraft:flat", + "settings": { + "biome": "creatingspace:space", + "features": false, + "lakes": false, + "layers": [] + } + } +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension/mars.json b/src/generated/resources/data/creatingspace/dimension/mars.json new file mode 100644 index 00000000..60e062ed --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension/mars.json @@ -0,0 +1,69 @@ +{ + "type": "creatingspace:mars", + "generator": { + "type": "minecraft:noise", + "biome_source": { + "type": "minecraft:multi_noise", + "biomes": [ + { + "biome": "creatingspace:mars_plains", + "parameters": { + "continentalness": [ + -1.0, + 1.0 + ], + "depth": 0.0, + "erosion": [ + -1.0, + 1.0 + ], + "humidity": [ + -1.0, + 1.0 + ], + "offset": 0.0, + "temperature": [ + -1.0, + 1.0 + ], + "weirdness": [ + -1.0, + 1.0 + ] + } + }, + { + "biome": "creatingspace:mars_cave", + "parameters": { + "continentalness": [ + -1.0, + 1.0 + ], + "depth": [ + 0.2, + 0.9 + ], + "erosion": [ + -1.0, + 1.0 + ], + "humidity": [ + -1.0, + 1.0 + ], + "offset": 0.0, + "temperature": [ + -1.0, + 1.0 + ], + "weirdness": [ + -1.0, + 1.0 + ] + } + } + ] + }, + "settings": "creatingspace:mars_noise" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension/mars_orbit.json b/src/generated/resources/data/creatingspace/dimension/mars_orbit.json new file mode 100644 index 00000000..3b67f47a --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension/mars_orbit.json @@ -0,0 +1,12 @@ +{ + "type": "creatingspace:mars_orbit", + "generator": { + "type": "minecraft:flat", + "settings": { + "biome": "creatingspace:space", + "features": false, + "lakes": false, + "layers": [] + } + } +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension/moon_orbit.json b/src/generated/resources/data/creatingspace/dimension/moon_orbit.json new file mode 100644 index 00000000..ba882af9 --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension/moon_orbit.json @@ -0,0 +1,12 @@ +{ + "type": "creatingspace:moon_orbit", + "generator": { + "type": "minecraft:flat", + "settings": { + "biome": "creatingspace:space", + "features": false, + "lakes": false, + "layers": [] + } + } +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension/the_moon.json b/src/generated/resources/data/creatingspace/dimension/the_moon.json new file mode 100644 index 00000000..bf9db3a4 --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension/the_moon.json @@ -0,0 +1,69 @@ +{ + "type": "creatingspace:the_moon", + "generator": { + "type": "minecraft:noise", + "biome_source": { + "type": "minecraft:multi_noise", + "biomes": [ + { + "biome": "creatingspace:moon_plains", + "parameters": { + "continentalness": [ + -1.0, + 1.0 + ], + "depth": 0.0, + "erosion": [ + -1.0, + 1.0 + ], + "humidity": [ + -1.0, + 1.0 + ], + "offset": 0.0, + "temperature": [ + -1.0, + 1.0 + ], + "weirdness": [ + -1.0, + 1.0 + ] + } + }, + { + "biome": "creatingspace:moon_cave", + "parameters": { + "continentalness": [ + -1.0, + 1.0 + ], + "depth": [ + 0.2, + 0.9 + ], + "erosion": [ + -1.0, + 1.0 + ], + "humidity": [ + -1.0, + 1.0 + ], + "offset": 0.0, + "temperature": [ + -1.0, + 1.0 + ], + "weirdness": [ + -1.0, + 1.0 + ] + } + } + ] + }, + "settings": "creatingspace:moon_noise" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension/venus.json b/src/generated/resources/data/creatingspace/dimension/venus.json new file mode 100644 index 00000000..0453505e --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension/venus.json @@ -0,0 +1,36 @@ +{ + "type": "creatingspace:venus", + "generator": { + "type": "minecraft:noise", + "biome_source": { + "type": "minecraft:multi_noise", + "biomes": [ + { + "biome": "creatingspace:venus", + "parameters": { + "continentalness": 1.0, + "depth": 0.0, + "erosion": 0.0, + "humidity": 0.0, + "offset": 0.0, + "temperature": 0.0, + "weirdness": 0.0 + } + }, + { + "biome": "creatingspace:venus_hellground", + "parameters": { + "continentalness": 0.0, + "depth": 0.0, + "erosion": 1.0, + "humidity": 0.0, + "offset": 0.0, + "temperature": 0.0, + "weirdness": 1.0 + } + } + ] + }, + "settings": "creatingspace:venus" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension_type/earth_orbit.json b/src/generated/resources/data/creatingspace/dimension_type/earth_orbit.json new file mode 100644 index 00000000..8f77bf03 --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension_type/earth_orbit.json @@ -0,0 +1,19 @@ +{ + "ambient_light": 0.0, + "bed_works": true, + "coordinate_scale": 1.0, + "effects": "creatingspace:earth_orbit", + "has_ceiling": false, + "has_raids": false, + "has_skylight": true, + "height": 384, + "infiniburn": "#minecraft:infiniburn_overworld", + "logical_height": 384, + "min_y": -64, + "monster_spawn_block_light_limit": 7, + "monster_spawn_light_level": 0, + "natural": true, + "piglin_safe": true, + "respawn_anchor_works": true, + "ultrawarm": false +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension_type/mars.json b/src/generated/resources/data/creatingspace/dimension_type/mars.json new file mode 100644 index 00000000..9920b5e9 --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension_type/mars.json @@ -0,0 +1,19 @@ +{ + "ambient_light": 0.0, + "bed_works": true, + "coordinate_scale": 1.0, + "effects": "creatingspace:mars", + "has_ceiling": false, + "has_raids": false, + "has_skylight": true, + "height": 384, + "infiniburn": "#minecraft:infiniburn_overworld", + "logical_height": 384, + "min_y": -64, + "monster_spawn_block_light_limit": 7, + "monster_spawn_light_level": 0, + "natural": true, + "piglin_safe": true, + "respawn_anchor_works": true, + "ultrawarm": false +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension_type/mars_orbit.json b/src/generated/resources/data/creatingspace/dimension_type/mars_orbit.json new file mode 100644 index 00000000..27c6adf6 --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension_type/mars_orbit.json @@ -0,0 +1,19 @@ +{ + "ambient_light": 0.0, + "bed_works": true, + "coordinate_scale": 1.0, + "effects": "creatingspace:mars_orbit", + "has_ceiling": false, + "has_raids": false, + "has_skylight": true, + "height": 384, + "infiniburn": "#minecraft:infiniburn_overworld", + "logical_height": 384, + "min_y": -64, + "monster_spawn_block_light_limit": 7, + "monster_spawn_light_level": 0, + "natural": true, + "piglin_safe": true, + "respawn_anchor_works": true, + "ultrawarm": false +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension_type/moon_orbit.json b/src/generated/resources/data/creatingspace/dimension_type/moon_orbit.json new file mode 100644 index 00000000..4118a7be --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension_type/moon_orbit.json @@ -0,0 +1,19 @@ +{ + "ambient_light": 0.0, + "bed_works": true, + "coordinate_scale": 1.0, + "effects": "creatingspace:moon_orbit", + "has_ceiling": false, + "has_raids": false, + "has_skylight": true, + "height": 384, + "infiniburn": "#minecraft:infiniburn_overworld", + "logical_height": 384, + "min_y": -64, + "monster_spawn_block_light_limit": 7, + "monster_spawn_light_level": 0, + "natural": true, + "piglin_safe": true, + "respawn_anchor_works": true, + "ultrawarm": false +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension_type/the_moon.json b/src/generated/resources/data/creatingspace/dimension_type/the_moon.json new file mode 100644 index 00000000..b84ff263 --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension_type/the_moon.json @@ -0,0 +1,19 @@ +{ + "ambient_light": 0.0, + "bed_works": true, + "coordinate_scale": 1.0, + "effects": "creatingspace:the_moon", + "has_ceiling": false, + "has_raids": false, + "has_skylight": true, + "height": 384, + "infiniburn": "#minecraft:infiniburn_overworld", + "logical_height": 384, + "min_y": -64, + "monster_spawn_block_light_limit": 7, + "monster_spawn_light_level": 0, + "natural": true, + "piglin_safe": true, + "respawn_anchor_works": true, + "ultrawarm": false +} \ No newline at end of file diff --git a/src/generated/resources/data/creatingspace/dimension_type/venus.json b/src/generated/resources/data/creatingspace/dimension_type/venus.json new file mode 100644 index 00000000..f8fdaa6d --- /dev/null +++ b/src/generated/resources/data/creatingspace/dimension_type/venus.json @@ -0,0 +1,19 @@ +{ + "ambient_light": 0.0, + "bed_works": true, + "coordinate_scale": 1.0, + "effects": "creatingspace:venus", + "has_ceiling": false, + "has_raids": false, + "has_skylight": true, + "height": 384, + "infiniburn": "#minecraft:infiniburn_overworld", + "logical_height": 384, + "min_y": -64, + "monster_spawn_block_light_limit": 7, + "monster_spawn_light_level": 0, + "natural": true, + "piglin_safe": true, + "respawn_anchor_works": true, + "ultrawarm": false +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json index ed7eab6b..a3c88428 100644 --- a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json @@ -25,6 +25,7 @@ "creatingspace:moon_nickel_ore", "creatingspace:raw_nickel_block", "creatingspace:nickel_block", + "creatingspace:ladder_nickel", "creatingspace:moon_cobalt_ore", "creatingspace:raw_cobalt_block", "creatingspace:moon_aluminum_ore", diff --git a/src/main/java/com/rae/creatingspace/PrintClassInfo.java b/src/main/java/com/rae/creatingspace/PrintClassInfo.java new file mode 100644 index 00000000..e3fdb4f1 --- /dev/null +++ b/src/main/java/com/rae/creatingspace/PrintClassInfo.java @@ -0,0 +1,22 @@ +package com.rae.creatingspace; + +import java.lang.reflect.*; + +public class PrintClassInfo { + public static void main(String[] args) { + printClass("com.simibubi.create.content.processing.sequenced.SequencedAssemblyRecipeBuilder"); + } + + private static void printClass(String className) { + try { + Class clazz = Class.forName(className); + System.out.println("=== CLASS: " + clazz.getName() + " ==="); + System.out.println("Fields:"); + for (Field f : clazz.getDeclaredFields()) { + System.out.println(" " + Modifier.toString(f.getModifiers()) + " " + f.getType().getName() + " " + f.getName()); + } + } catch (Exception e) { + System.out.println("Failed to print class " + className + ": " + e.getMessage()); + } + } +} diff --git a/src/main/java/com/rae/creatingspace/content/datagen/CSDatagen.java b/src/main/java/com/rae/creatingspace/content/datagen/CSDatagen.java index 29b4b370..0e4461d2 100644 --- a/src/main/java/com/rae/creatingspace/content/datagen/CSDatagen.java +++ b/src/main/java/com/rae/creatingspace/content/datagen/CSDatagen.java @@ -8,6 +8,7 @@ import com.simibubi.create.Create; import com.simibubi.create.foundation.utility.FilesHelper; import com.tterrag.registrate.providers.ProviderType; +import com.tterrag.registrate.providers.RegistrateDataProvider; import net.minecraft.core.HolderLookup; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; @@ -18,6 +19,8 @@ import java.util.concurrent.CompletableFuture; import java.util.function.BiConsumer; +import static com.rae.creatingspace.CreatingSpace.REGISTRATE; + public class CSDatagen { public static void gatherDataHighPriority(GatherDataEvent event) { if (event.getMods().contains(CreatingSpace.MODID)) @@ -52,6 +55,7 @@ public static void gatherData(GatherDataEvent event) { //generator.addProvider(true, new EngineSequencedAssemblyProvider(output)); // it doesn't quite work. the output is wrong right now and it's missing some of it + generator.addProvider(true, new CSWorldGenProvider(output, lookupProvider)); // event.getGenerator().addProvider(true, new RegistrateDataProvider(REGISTRATE, CreatingSpace.MODID, event)); } diff --git a/src/main/java/com/rae/creatingspace/content/datagen/CSWorldGenProvider.java b/src/main/java/com/rae/creatingspace/content/datagen/CSWorldGenProvider.java new file mode 100644 index 00000000..6869e728 --- /dev/null +++ b/src/main/java/com/rae/creatingspace/content/datagen/CSWorldGenProvider.java @@ -0,0 +1,26 @@ +package com.rae.creatingspace.content.datagen; + +import com.rae.creatingspace.CreatingSpace; +import com.rae.creatingspace.api.planets.RocketAccessibleDimension; +import com.rae.creatingspace.content.datagen.worldgen.CSDimensionGen; +import com.rae.creatingspace.content.datagen.worldgen.CSDimensionTypeGen; +import com.rae.creatingspace.content.datagen.worldgen.CSRocketAccessibleDimensionGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.RegistrySetBuilder; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.PackOutput; +import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; + +import java.util.Set; +import java.util.concurrent.CompletableFuture; + +public class CSWorldGenProvider extends DatapackBuiltinEntriesProvider { + public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder() + .add(Registries.DIMENSION_TYPE, CSDimensionTypeGen::bootstrap) + .add(Registries.LEVEL_STEM, CSDimensionGen::bootstrap) + .add(RocketAccessibleDimension.REGISTRY_KEY, CSRocketAccessibleDimensionGen::bootstrap); + + public CSWorldGenProvider(PackOutput output, CompletableFuture registries) { + super(output, registries, BUILDER, Set.of(CreatingSpace.MODID)); + } +} \ No newline at end of file diff --git a/src/main/java/com/rae/creatingspace/content/datagen/worldgen/CSDimensionGen.java b/src/main/java/com/rae/creatingspace/content/datagen/worldgen/CSDimensionGen.java new file mode 100644 index 00000000..c47d2239 --- /dev/null +++ b/src/main/java/com/rae/creatingspace/content/datagen/worldgen/CSDimensionGen.java @@ -0,0 +1,158 @@ +package com.rae.creatingspace.content.datagen.worldgen; + +import com.mojang.datafixers.util.Pair; +import net.minecraft.core.Holder; +import net.minecraft.core.HolderGetter; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.biome.FixedBiomeSource; +import net.minecraft.world.level.biome.MultiNoiseBiomeSource; +import net.minecraft.world.level.biome.Climate; +import net.minecraft.world.level.dimension.DimensionType; +import net.minecraft.world.level.dimension.LevelStem; +import net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator; +import net.minecraft.world.level.levelgen.NoiseGeneratorSettings; +import net.minecraft.world.level.levelgen.FlatLevelSource; +import net.minecraft.world.level.levelgen.flat.FlatLevelGeneratorSettings; + +import java.util.List; +import java.util.Optional; + +import static com.rae.creatingspace.CreatingSpace.resource; +import static com.rae.creatingspace.init.worldgen.DimensionInit.*; + +record BiomeParams( + String name, + float tempMin, float tempMax, + float humidMin, float humidMax, + float contMin, float contMax, + float erosionMin, float erosionMax, + float weirdMin, float weirdMax, + float depthMin, float depthMax, + float offset +) { + public Climate.ParameterPoint toParameterPoint() { + return Climate.parameters( + Climate.Parameter.span(tempMin, tempMax), + Climate.Parameter.span(humidMin, humidMax), + Climate.Parameter.span(contMin, contMax), + Climate.Parameter.span(erosionMin, erosionMax), + Climate.Parameter.span(depthMin, depthMax), + Climate.Parameter.span(weirdMin, weirdMax), + offset + ); + } +} + +public class CSDimensionGen { + + private static ResourceKey key(String name) { + return ResourceKey.create(Registries.LEVEL_STEM, resource(name)); + } + + public static void bootstrap(BootstrapContext context) { + HolderGetter dimTypeGetter = context.lookup(Registries.DIMENSION_TYPE); + HolderGetter noiseGetter = context.lookup(Registries.NOISE_SETTINGS); + HolderGetter biomeGetter = context.lookup(Registries.BIOME); + + // Orbits (flat) + registerFlatOrbit(context, EARTH_ORBIT_STEM_KEY, EARTH_ORBIT_TYPE, biomeGetter); + registerFlatOrbit(context, MARS_ORBIT_STEM_KEY, MARS_ORBIT_TYPE, biomeGetter); + registerFlatOrbit(context, MOON_ORBIT_STEM_KEY, MOON_ORBIT_TYPE, biomeGetter); +// registerFlatOrbit(context, VENUS_ORBIT_STEM_KEY, VENUS_ORBIT_TYPE, biomeGetter); + + // Terrain worlds (noise-based) + registerMultiNoiseWorld(context, MARS_STEM_KEY, MARS_TYPE, "mars_noise", + List.of( + new BiomeParams("mars_plains",-1F, 1F, -1F, 1F, -1F, 1F, -1F, 1F, -1F, 1F, 0.0F, 0.0F, 0.0F), + new BiomeParams("mars_cave",-1F, 1F, -1F, 1F, -1F, 1F, -1F, 1F, -1F, 1F, 0.2F, 0.9F, 0.0F) + ), + noiseGetter, biomeGetter); + registerMultiNoiseWorld(context, MOON_STEM_KEY, MOON_TYPE, "moon_noise", + List.of( + new BiomeParams("moon_plains", -1F, 1F, -1F, 1F, -1F, 1F, -1F, 1F, -1F, 1F, 0.0F, 0.0F, 0.0F), + new BiomeParams("moon_cave", -1F, 1F, -1F, 1F, -1F, 1F, -1F, 1F, -1F, 1F, 0.2F, 0.9F, 0.0F) + ), + noiseGetter, biomeGetter); + registerMultiNoiseWorld(context, VENUS_STEM_KEY, VENUS_TYPE, "venus", + List.of( + new BiomeParams("venus", 0.0F, 0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F), + new BiomeParams("venus_hellground", 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, 1.0F, 0.0F, 0.0F, 0.0F) + ), + noiseGetter, biomeGetter); + } + + private static void registerFlatOrbit(BootstrapContext context, + ResourceKey stemKey, + ResourceKey typeKey, + HolderGetter biomeGetter) { + + var biomeHolder = biomeGetter.getOrThrow(ResourceKey.create(Registries.BIOME, resource("space"))); + + // --- Create an empty flat world (no structures, no layers, no features) --- + var flatSettings = new FlatLevelGeneratorSettings( + Optional.empty(), // no structures + biomeHolder, // space biome + List.of() // no layers + ); + + var flatGenerator = new FlatLevelSource(flatSettings); + + context.register(stemKey, new LevelStem( + context.lookup(Registries.DIMENSION_TYPE).getOrThrow(typeKey), + flatGenerator + )); + } + + private static void registerFixedNoiseWorld(BootstrapContext context, + ResourceKey stemKey, + ResourceKey typeKey, + String noise, String biomeName, + HolderGetter noiseGetter, + HolderGetter biomeGetter) { + var biomeSource = new FixedBiomeSource( + biomeGetter.getOrThrow(ResourceKey.create(Registries.BIOME, resource(biomeName))) + ); + + context.register(stemKey, new LevelStem( + context.lookup(Registries.DIMENSION_TYPE).getOrThrow(typeKey), + new NoiseBasedChunkGenerator( + biomeSource, + noiseGetter.getOrThrow(ResourceKey.create(Registries.NOISE_SETTINGS, resource(noise))) + ) + )); + } + + private static void registerMultiNoiseWorld( + BootstrapContext context, + ResourceKey stemKey, + ResourceKey typeKey, + String noise, + List biomeParams, + HolderGetter noiseGetter, + HolderGetter biomeGetter) { + + var biomeEntries = biomeParams.stream() + .map(params -> { + var biomeKey = ResourceKey.create(Registries.BIOME, resource(params.name())); + var biomeHolder = biomeGetter.getOrThrow(biomeKey); + return Pair.of(params.toParameterPoint(), biomeHolder); + }) + .toList(); + + var parameterList = new Climate.ParameterList>( + biomeEntries.stream() + .map(entry -> Pair.of(entry.getFirst(), (Holder) entry.getSecond())) + .toList() + ); + var biomeSource = MultiNoiseBiomeSource.createFromList(parameterList); + var noiseSettings = noiseGetter.getOrThrow(ResourceKey.create(Registries.NOISE_SETTINGS, resource(noise))); + + context.register(stemKey, new LevelStem( + context.lookup(Registries.DIMENSION_TYPE).getOrThrow(typeKey), + new NoiseBasedChunkGenerator(biomeSource, noiseSettings) + )); + } +} \ No newline at end of file diff --git a/src/main/java/com/rae/creatingspace/content/datagen/worldgen/CSDimensionTypeGen.java b/src/main/java/com/rae/creatingspace/content/datagen/worldgen/CSDimensionTypeGen.java new file mode 100644 index 00000000..6e2ab06a --- /dev/null +++ b/src/main/java/com/rae/creatingspace/content/datagen/worldgen/CSDimensionTypeGen.java @@ -0,0 +1,145 @@ +package com.rae.creatingspace.content.datagen.worldgen; + +import net.minecraft.tags.BlockTags; +import net.minecraft.world.level.dimension.DimensionType; +import net.minecraft.data.worldgen.BootstrapContext; + +import java.util.OptionalLong; + +import static com.rae.creatingspace.CreatingSpace.resource; +import static com.rae.creatingspace.init.worldgen.DimensionInit.*; + +public class CSDimensionTypeGen { + private static final int minY = -64; + private static final int dimHeight = 384; + private static final int dimLogicalHeight = 384; + + public static DimensionType earthOrbit() { + return new DimensionType( + OptionalLong.empty(), // normal day/night cycle + true, // has skylight + false, // no ceiling + false, // not ultrawarm (Nether-like) + true, // natural + 1.0, // coordinate scale + true, // beds work + true, // respawn anchor works + minY, // minY + dimHeight, // height + dimLogicalHeight, // logical height + BlockTags.INFINIBURN_OVERWORLD, + resource("earth_orbit"), + 0, + new DimensionType.MonsterSettings(true, false, net.minecraft.util.valueproviders.ConstantInt.of(0), 7) + ); + } + + public static DimensionType mars() { + return new DimensionType( + OptionalLong.empty(), // normal day/night cycle + true, // has skylight + false, // no ceiling + false, // not ultrawarm (Nether-like) + true, // natural + 1.0, // coordinate scale + true, // beds work + true, // respawn anchor works + minY, // minY + dimHeight, // height + dimLogicalHeight, // logical height + BlockTags.INFINIBURN_OVERWORLD, + resource("mars"), + 0, + new DimensionType.MonsterSettings(true, false, net.minecraft.util.valueproviders.ConstantInt.of(0), 7) + ); + } + + public static DimensionType marsOrbit() { + return new DimensionType( + OptionalLong.empty(), // normal day/night cycle + true, // has skylight + false, // no ceiling + false, // not ultrawarm (Nether-like) + true, // natural + 1.0, // coordinate scale + true, // beds work + true, // respawn anchor works + minY, // minY + dimHeight, // height + dimLogicalHeight, // logical height + BlockTags.INFINIBURN_OVERWORLD, + resource("mars_orbit"), + 0, + new DimensionType.MonsterSettings(true, false, net.minecraft.util.valueproviders.ConstantInt.of(0), 7) + ); + } + + public static DimensionType moonOrbit() { + return new DimensionType( + OptionalLong.empty(), // normal day/night cycle + true, // has skylight + false, // no ceiling + false, // not ultrawarm (Nether-like) + true, // natural + 1.0, // coordinate scale + true, // beds work + true, // respawn anchor works + minY, // minY + dimHeight, // height + dimLogicalHeight, // logical height + BlockTags.INFINIBURN_OVERWORLD, + resource("moon_orbit"), + 0, + new DimensionType.MonsterSettings(true, false, net.minecraft.util.valueproviders.ConstantInt.of(0), 7) + ); + } + + public static DimensionType theMoon() { + return new DimensionType( + OptionalLong.empty(), // normal day/night cycle + true, // has skylight + false, // no ceiling + false, // not ultrawarm (Nether-like) + true, // natural + 1.0, // coordinate scale + true, // beds work + true, // respawn anchor works + minY, // minY + dimHeight, // height + dimLogicalHeight, // logical height + BlockTags.INFINIBURN_OVERWORLD, + resource("the_moon"), + 0, + new DimensionType.MonsterSettings(true, false, net.minecraft.util.valueproviders.ConstantInt.of(0), 7) + ); + } + + public static DimensionType venus() { + return new DimensionType( + OptionalLong.empty(), // normal day/night cycle + true, // has skylight + false, // no ceiling + false, // not ultrawarm (Nether-like) + true, // natural + 1.0, // coordinate scale + true, // beds work + true, // respawn anchor works + minY, // minY + dimHeight, // height + dimLogicalHeight, // logical height + BlockTags.INFINIBURN_OVERWORLD, + resource("venus"), + 0, + new DimensionType.MonsterSettings(true, false, net.minecraft.util.valueproviders.ConstantInt.of(0), 7) + ); + } + + public static void bootstrap(BootstrapContext context) { + context.register(EARTH_ORBIT_TYPE, earthOrbit()); + context.register(MARS_TYPE, mars()); + context.register(MARS_ORBIT_TYPE, marsOrbit()); + context.register(MOON_ORBIT_TYPE, moonOrbit()); + context.register(MOON_TYPE, theMoon()); + context.register(VENUS_TYPE, venus()); + } +} diff --git a/src/main/java/com/rae/creatingspace/content/datagen/worldgen/CSRocketAccessibleDimensionGen.java b/src/main/java/com/rae/creatingspace/content/datagen/worldgen/CSRocketAccessibleDimensionGen.java new file mode 100644 index 00000000..1320dca9 --- /dev/null +++ b/src/main/java/com/rae/creatingspace/content/datagen/worldgen/CSRocketAccessibleDimensionGen.java @@ -0,0 +1,108 @@ +package com.rae.creatingspace.content.datagen.worldgen; + +import com.rae.creatingspace.api.planets.RocketAccessibleDimension; +import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; + +import java.util.Map; + +import static com.rae.creatingspace.CreatingSpace.resource; + +public class CSRocketAccessibleDimensionGen { + + public static void bootstrap(BootstrapContext context) { + // --- Earth Orbit --- + context.register( + ResourceKey.create(RocketAccessibleDimension.REGISTRY_KEY, resource("earth_orbit")), + new RocketAccessibleDimension( + 100, + ResourceLocation.withDefaultNamespace("overworld"), + 64, + 0f, + Map.of( + resource("moon_orbit"), new RocketAccessibleDimension.AccessibilityParameter(600, 64), + ResourceLocation.withDefaultNamespace("overworld"), new RocketAccessibleDimension.AccessibilityParameter(200, 200), + resource("mars_orbit"), new RocketAccessibleDimension.AccessibilityParameter(1000, 64), + resource("venus"), new RocketAccessibleDimension.AccessibilityParameter(2200, 200) + ) + ) + ); + + // --- The Moon --- + context.register( + ResourceKey.create(RocketAccessibleDimension.REGISTRY_KEY, resource("the_moon")), + new RocketAccessibleDimension( + 400, + ResourceLocation.withDefaultNamespace("overworld"), + 64, + 1.6f, + Map.of( + resource("moon_orbit"), new RocketAccessibleDimension.AccessibilityParameter(300, 64) + ) + ) + ); + + // --- Moon Orbit --- + context.register( + ResourceKey.create(RocketAccessibleDimension.REGISTRY_KEY, resource("moon_orbit")), + new RocketAccessibleDimension( + 100, + resource("the_moon"), + 64, + 0f, + Map.of( + resource("earth_orbit"), new RocketAccessibleDimension.AccessibilityParameter(200, 64), + resource("mars_orbit"), new RocketAccessibleDimension.AccessibilityParameter(1000, 64), + resource("venus"), new RocketAccessibleDimension.AccessibilityParameter(2200, 200), + resource("the_moon"), new RocketAccessibleDimension.AccessibilityParameter(300, 200) + ) + ) + ); + + // --- Mars --- + context.register( + ResourceKey.create(RocketAccessibleDimension.REGISTRY_KEY, resource("mars")), + new RocketAccessibleDimension( + 2000, + resource("sun"), + 200, + 3.71f, + Map.of( + resource("mars_orbit"), new RocketAccessibleDimension.AccessibilityParameter(400, 64) + ) + ) + ); + + // --- Mars Orbit --- + context.register( + ResourceKey.create(RocketAccessibleDimension.REGISTRY_KEY, resource("mars_orbit")), + new RocketAccessibleDimension( + 100, + resource("mars"), + 64, + 0f, + Map.of( + resource("earth_orbit"), new RocketAccessibleDimension.AccessibilityParameter(500, 64), + resource("moon_orbit"), new RocketAccessibleDimension.AccessibilityParameter(300, 64), + resource("mars"), new RocketAccessibleDimension.AccessibilityParameter(300, 200) + ) + ) + ); + + // --- Venus --- + context.register( + ResourceKey.create(RocketAccessibleDimension.REGISTRY_KEY, resource("venus")), + new RocketAccessibleDimension( + 400, + resource("sun"), + 200, + 1.6f, + Map.of( + resource("earth_orbit"), new RocketAccessibleDimension.AccessibilityParameter(1800, 64), + resource("moon_orbit"), new RocketAccessibleDimension.AccessibilityParameter(2000, 64) + ) + ) + ); + } +} \ No newline at end of file diff --git a/src/main/java/com/rae/creatingspace/content/life_support/spacesuit/OxygenBacktankItem.java b/src/main/java/com/rae/creatingspace/content/life_support/spacesuit/OxygenBacktankItem.java index 9dab7e4c..c8d84fc2 100644 --- a/src/main/java/com/rae/creatingspace/content/life_support/spacesuit/OxygenBacktankItem.java +++ b/src/main/java/com/rae/creatingspace/content/life_support/spacesuit/OxygenBacktankItem.java @@ -12,6 +12,8 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.*; import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import org.jetbrains.annotations.NotNull; @@ -56,6 +58,15 @@ public boolean isEnchantable(ItemStack p_77616_1_) { return true; } + @Override + public boolean supportsEnchantment(ItemStack stack, Holder enchantment) { + // Same rule as Create's own BacktankItem: a tank of air/oxygen has nothing to repair + // and no durability to preserve, so these two enchantments make no sense on it. + if (enchantment.is(Enchantments.MENDING) || enchantment.is(Enchantments.UNBREAKING)) + return false; + return super.supportsEnchantment(stack, enchantment); + } + @Override public boolean isBarVisible(ItemStack stack) { return true; diff --git a/src/main/java/com/rae/creatingspace/init/ingameobject/FluidInit.java b/src/main/java/com/rae/creatingspace/init/ingameobject/FluidInit.java index bfb87759..d980b944 100644 --- a/src/main/java/com/rae/creatingspace/init/ingameobject/FluidInit.java +++ b/src/main/java/com/rae/creatingspace/init/ingameobject/FluidInit.java @@ -112,9 +112,9 @@ public static void registerFluidInteractions() { level.setBlockAndUpdate(currentPos, EventHooks.fireFluidPlaceBlockEvent(level, currentPos, currentPos, Blocks.OBSIDIAN.defaultBlockState())); } else{ - if (level.dimension().equals(DimensionInit.MOON_LEVEL)) { + if (level.dimension().equals(DimensionInit.MOON_KEY)) { level.setBlockAndUpdate(currentPos, EventHooks.fireFluidPlaceBlockEvent(level, currentPos, currentPos, BlockInit.MOON_STONE.get().defaultBlockState())); - } else if (level.dimension().equals(DimensionInit.MARS_LEVEL)) { + } else if (level.dimension().equals(DimensionInit.MARS_KEY)) { level.setBlockAndUpdate(currentPos, EventHooks.fireFluidPlaceBlockEvent(level, currentPos, currentPos, BlockInit.MARS_STONE.get().defaultBlockState())); } else { level.setBlockAndUpdate(currentPos, EventHooks.fireFluidPlaceBlockEvent(level, currentPos, currentPos, Blocks.COBBLESTONE.defaultBlockState())); diff --git a/src/main/java/com/rae/creatingspace/init/ingameobject/ItemInit.java b/src/main/java/com/rae/creatingspace/init/ingameobject/ItemInit.java index 4be9f703..8714c38f 100644 --- a/src/main/java/com/rae/creatingspace/init/ingameobject/ItemInit.java +++ b/src/main/java/com/rae/creatingspace/init/ingameobject/ItemInit.java @@ -517,6 +517,7 @@ private static ItemEntry registerSequencedEngineItem(Stri .patternLine(" FWF ") .build(p, resource("mechanical_crafting/armor/" + c.getName()))) .tag(TagsInit.CustomItemTags.OXYGEN_SOURCES.tag) + .tag(AllTags.AllItemTags.PRESSURIZED_AIR_SOURCES.tag) .tag(ItemTags.CHEST_ARMOR) .tag(ItemTags.TRIMMABLE_ARMOR) .tag(TagsInit.CustomItemTags.SPACESUIT.tag) @@ -540,6 +541,7 @@ private static ItemEntry registerSequencedEngineItem(Stri .model((c,p) -> p.withExistingParent("netherite_oxygen_backtank", MODID + ":block/oxygen_backtank/netherite")) .tag(TagsInit.CustomItemTags.OXYGEN_SOURCES.tag) + .tag(AllTags.AllItemTags.PRESSURIZED_AIR_SOURCES.tag) .tag(ItemTags.CHEST_ARMOR) .tag(ItemTags.TRIMMABLE_ARMOR) .tag(TagsInit.CustomItemTags.SPACESUIT.tag) diff --git a/src/main/java/com/rae/creatingspace/init/worldgen/DimensionInit.java b/src/main/java/com/rae/creatingspace/init/worldgen/DimensionInit.java index 38ad4278..c2b47e13 100644 --- a/src/main/java/com/rae/creatingspace/init/worldgen/DimensionInit.java +++ b/src/main/java/com/rae/creatingspace/init/worldgen/DimensionInit.java @@ -1,48 +1,71 @@ package com.rae.creatingspace.init.worldgen; -import com.rae.creatingspace.CreatingSpace; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.Level; import net.minecraft.world.level.dimension.DimensionType; +import net.minecraft.world.level.dimension.LevelStem; + +import static com.rae.creatingspace.CreatingSpace.resource; public class DimensionInit { - public static final ResourceKey EARTH_ORBIT_LEVEL = + public static final ResourceKey EARTH_ORBIT_KEY = ResourceKey.create(Registries.DIMENSION, - CreatingSpace.resource("earth_orbit")); + resource("earth_orbit")); - public static final ResourceKey MOON_ORBIT_LEVEL = + public static final ResourceKey MOON_ORBIT_KEY = ResourceKey.create(Registries.DIMENSION, - CreatingSpace.resource("moon_orbit")); + resource("moon_orbit")); - public static final ResourceKey MOON_LEVEL = + public static final ResourceKey MOON_KEY = ResourceKey.create(Registries.DIMENSION, - CreatingSpace.resource("the_moon")); + resource("the_moon")); - public static final ResourceKey MARS_LEVEL = - ResourceKey.create(Registries.DIMENSION, - CreatingSpace.resource("mars")); + public static final ResourceKey MARS_KEY = + ResourceKey.create(Registries.DIMENSION, + resource("mars")); public static final ResourceKey EARTH_ORBIT_TYPE = ResourceKey.create(Registries.DIMENSION_TYPE, - CreatingSpace.resource("earth_orbit")); - + resource("earth_orbit")); public static final ResourceKey MOON_ORBIT_TYPE = - ResourceKey.create(Registries.DIMENSION_TYPE, - CreatingSpace.resource("moon_orbit")); + ResourceKey.create(Registries.DIMENSION_TYPE, resource("moon_orbit")); public static final ResourceKey MOON_TYPE = ResourceKey.create(Registries.DIMENSION_TYPE, - CreatingSpace.resource("the_moon")); - + resource("the_moon")); public static final ResourceKey MARS_ORBIT_TYPE = ResourceKey.create(Registries.DIMENSION_TYPE, - CreatingSpace.resource("mars_orbit")); - + resource("mars_orbit")); public static final ResourceKey MARS_TYPE = - ResourceKey.create(Registries.DIMENSION_TYPE, - CreatingSpace.resource("mars")); + ResourceKey.create(Registries.DIMENSION_TYPE, resource("mars")); + + public static final ResourceKey VENUS_TYPE = + ResourceKey.create(Registries.DIMENSION_TYPE, resource("venus")); + + //LevelStem Keys (used in DataGen) + public static final ResourceKey EARTH_ORBIT_STEM_KEY = + ResourceKey.create(Registries.LEVEL_STEM, resource("earth_orbit")); + + public static final ResourceKey MOON_ORBIT_STEM_KEY = + ResourceKey.create(Registries.LEVEL_STEM, resource("moon_orbit")); + + public static final ResourceKey MARS_ORBIT_STEM_KEY = + ResourceKey.create(Registries.LEVEL_STEM, resource("mars_orbit")); + + public static final ResourceKey VENUS_ORBIT_STEM_KEY = + ResourceKey.create(Registries.LEVEL_STEM, resource("venus_orbit")); + + public static final ResourceKey MOON_STEM_KEY = + ResourceKey.create(Registries.LEVEL_STEM, resource("the_moon")); + + public static final ResourceKey MARS_STEM_KEY = + ResourceKey.create(Registries.LEVEL_STEM, resource("mars")); + + public static final ResourceKey VENUS_STEM_KEY = + ResourceKey.create(Registries.LEVEL_STEM, resource("venus")); } diff --git a/src/main/java/com/rae/creatingspace/package-info.java b/src/main/java/com/rae/creatingspace/package-info.java new file mode 100644 index 00000000..409036d3 --- /dev/null +++ b/src/main/java/com/rae/creatingspace/package-info.java @@ -0,0 +1,11 @@ +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +package com.rae.creatingspace; + +import net.minecraft.MethodsReturnNonnullByDefault; +import javax.annotation.ParametersAreNonnullByDefault; + +// TODO reduce visibility where it's possible. +// TODO remove unused non api methods on all release branches (unused methods +// are often used for development purposes) +// TODO make some more explicit Javadoc \ No newline at end of file diff --git a/src/main/java/package-info.java b/src/main/java/package-info.java index 82e1d336..59a8a09b 100644 --- a/src/main/java/package-info.java +++ b/src/main/java/package-info.java @@ -1,5 +1,3 @@ -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault package com.rae.creatingspace; import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/earth_orbit.json b/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/earth_orbit.json similarity index 100% rename from src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/earth_orbit.json rename to src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/earth_orbit.json diff --git a/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/mars.json b/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/mars.json similarity index 100% rename from src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/mars.json rename to src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/mars.json diff --git a/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/mars_orbit.json b/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/mars_orbit.json similarity index 100% rename from src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/mars_orbit.json rename to src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/mars_orbit.json diff --git a/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/moon_orbit.json b/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/moon_orbit.json similarity index 100% rename from src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/moon_orbit.json rename to src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/moon_orbit.json diff --git a/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/the_moon.json b/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/the_moon.json similarity index 100% rename from src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/the_moon.json rename to src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/the_moon.json diff --git a/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/venus.json b/src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/venus.json similarity index 100% rename from src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension/venus.json rename to src/main/resources/data/creatingspace/creatingspace/rocket_accessible_dimension-x/venus.json diff --git a/src/main/resources/data/creatingspace/dimension/earth_orbit.json b/src/main/resources/data/creatingspace/dimension-x/earth_orbit.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension/earth_orbit.json rename to src/main/resources/data/creatingspace/dimension-x/earth_orbit.json diff --git a/src/main/resources/data/creatingspace/dimension/mars.json b/src/main/resources/data/creatingspace/dimension-x/mars.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension/mars.json rename to src/main/resources/data/creatingspace/dimension-x/mars.json diff --git a/src/main/resources/data/creatingspace/dimension/mars_orbit.json b/src/main/resources/data/creatingspace/dimension-x/mars_orbit.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension/mars_orbit.json rename to src/main/resources/data/creatingspace/dimension-x/mars_orbit.json diff --git a/src/main/resources/data/creatingspace/dimension/moon_orbit.json b/src/main/resources/data/creatingspace/dimension-x/moon_orbit.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension/moon_orbit.json rename to src/main/resources/data/creatingspace/dimension-x/moon_orbit.json diff --git a/src/main/resources/data/creatingspace/dimension/the_moon.json b/src/main/resources/data/creatingspace/dimension-x/the_moon.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension/the_moon.json rename to src/main/resources/data/creatingspace/dimension-x/the_moon.json diff --git a/src/main/resources/data/creatingspace/dimension/venus.json b/src/main/resources/data/creatingspace/dimension-x/venus.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension/venus.json rename to src/main/resources/data/creatingspace/dimension-x/venus.json diff --git a/src/main/resources/data/creatingspace/dimension_type/earth_orbit.json b/src/main/resources/data/creatingspace/dimension_type-x/earth_orbit.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension_type/earth_orbit.json rename to src/main/resources/data/creatingspace/dimension_type-x/earth_orbit.json diff --git a/src/main/resources/data/creatingspace/dimension_type/mars.json b/src/main/resources/data/creatingspace/dimension_type-x/mars.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension_type/mars.json rename to src/main/resources/data/creatingspace/dimension_type-x/mars.json diff --git a/src/main/resources/data/creatingspace/dimension_type/mars_orbit.json b/src/main/resources/data/creatingspace/dimension_type-x/mars_orbit.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension_type/mars_orbit.json rename to src/main/resources/data/creatingspace/dimension_type-x/mars_orbit.json diff --git a/src/main/resources/data/creatingspace/dimension_type/moon_orbit.json b/src/main/resources/data/creatingspace/dimension_type-x/moon_orbit.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension_type/moon_orbit.json rename to src/main/resources/data/creatingspace/dimension_type-x/moon_orbit.json diff --git a/src/main/resources/data/creatingspace/dimension_type/the_moon.json b/src/main/resources/data/creatingspace/dimension_type-x/the_moon.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension_type/the_moon.json rename to src/main/resources/data/creatingspace/dimension_type-x/the_moon.json diff --git a/src/main/resources/data/creatingspace/dimension_type/venus.json b/src/main/resources/data/creatingspace/dimension_type-x/venus.json similarity index 100% rename from src/main/resources/data/creatingspace/dimension_type/venus.json rename to src/main/resources/data/creatingspace/dimension_type-x/venus.json