Skip to content

Commit

Permalink
Merge pull request #8 from dercodeKoenig/1.12
Browse files Browse the repository at this point in the history
Many bugfixes, so many that I can not even list them all + terraforming update #1
  • Loading branch information
dercodeKoenig committed Jun 3, 2024
2 parents 5cb55c9 + 00aede2 commit a4e0b2a
Show file tree
Hide file tree
Showing 22 changed files with 877 additions and 300 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,4 @@ refresh.bat
AdvancedRocketry.txt
changelog.html
lasthash.txt
libs
*.bak
108 changes: 22 additions & 86 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,95 +1,31 @@
# AdvancedRocketry
Advanced Rocketry is a mod about space, exploration, and resources
This is a fork of Advanced Rocketry where I fix all the bugs of the mod because the devs don't do it.

<b>Advanced Rocketry does not support anything other than Forge at this point - be it Fabric or Sponge </b>
You can download the new mod from curseforge: https://www.curseforge.com/minecraft/mc-mods/advanced-rocketry-2

<b>Please be aware Sponge compatibility issues may never be fixed.</b>
Check out Towards Rocket Science - the modpack all about Advanced Rocketry and Immersive Engineering: https://www.curseforge.com/minecraft/modpacks/towardsrocketscience
(Quests, Tech, Beginner-friendly)

Discord link: https://discord.gg/BbBUmbX
original github repo: https://github.com/Advanced-Rocketry/AdvancedRocketry

Current Features:
old documentation: http://arwiki.dmodoomsirius.me/


Current bugfixes:
- satellites disconnect on server restart fixed
- biome remote crash fixed
- warp fuel displays incorrect fixed
- rocket stuck in orbit 25 secs (fixed)
- biome changer energy consumption system fixed
- asteroid field available as custom Icon: customIcon="asteroid"
- improved planetary map
- space elevator fixed
- void miner fixed (void miner does not actually break blocks on planet)
- gas mining: gas selection not updating fixed
- solar panels crash near stars fixed

- Rockets that can travel between planets & moons
- Rockets can be configured to use or not use fuel (use fuel by default)
- Can be built from almost any block
- Can be upgraded with different propulsion options
- Basic autogenerated planets
- Generated randomly from planet temperature & atmosphere
- Mix of gas giants and rocky planets
- Advanced XML options for custom planet creation
- Features all Advanced Rocketry options
- Allows mapping other mods dimensions to Advanced Rocketry planets
- Black holes that you can use for power
- Space stations
- Can orbit any planet or moon
- Can choose they amount of light the station gets contstantly by rotation
- Warp ships, capable of going outside planet/moon and sun/planet systems
- Planet Selection Guidance
- Research system that allows for undiscovered planets
- Requires data and artifact to be able to find planets
- Active beacons also make planets visible
- Basic machinery
- Many types of hazardous atmospheres
- High-Pressure atmospheres
- Very High Pressure atmospheres
- Hot atmospheres
- Superheated atmospheres
- Vacuum
- Low-Oxygen atmospheres
- Data collection of planets (not currently fully featured)
- Gravity generators for space stations
- Gravity generators for local areas on planets
- Satellite system
- Data collection satellites
- Can collect three types of data
- Data is used for planetary discovery & asteroid mining
- Oribtal solar power satellites
- Used with the microwave reciever multiblock for power
- Ore Scanning Satellite
- Biome changing satellites
- Asteroid mining
- Automated Harvesting
- Research System
- Random asteroid parameters (size, composition, richness)
- Research can be done to determine properties
- Manual Harvesting
- Player can select as a destination
- temporary dim in created, destroyed when last player leaves
- Gas Giant gas/fluid mining
- Railguns to transfer goods between planets and stations
- Support GTEU, EU, FE, Tesla, and RF as power supplies
- Terraforming
Improvements:




Future Features:

- Rovers (maybe? planetary exploration?)
- Planetary Mapping System (feasible?)
- More Satellites
- Weather Control Satellite
- Mapping satellite (feasible?)
- Clean Rooms (maybe)
- Stations can be positioned over certain locations on planets
- Telescopes -
- Water Detectors (increases info on %dry) ~ space only
- Chemical Detectors (increases chance of finding planets rich in certain ores) ~ space only
- Atmospheric Detectors (increases info on pressure; when combined with chemical can detect if planet has harvestable/hazardous gasses) ~ ground and space
- Temperature Detector (increases info on planetary temperature) ~ space only
- Star Scanner (increases the likelihood of finding planets orbiting a star; higher level allows for smaller planets) ~ ground and Space
- Radio interferometry (lets you discover black holes and get any data quickly) ~ ground only
- Possibility of rockets requiring life support for the player, without which they die
- Larger rocket engines
- T3 engines for nuclear and bipropellant
- _Possible_ T4 engine that is a mini fusion reactor, but unlikely. Up to discrection
- Warp core rework
- Requires data to function
- More data can be used to speed the travel time, past the minimum (maybe)
- Model redo + possibly some auxilary models for auxilary computation banks required for longer jumps
- Terraformer rework
- Completely redo model and concept
- Split terraformer up into a large center with multiple required buildings
- Up gas costs signficantly
- Terraforming update #1:
- You will use a new block called Terraforming Terminal to program your biome changer satellite to transform the entire planet.
- You can use multiple terminals / satellites to speed up the process!
Binary file added libs/LibVulpes-1.12.2-0.4.2-25-deobf.jar
Binary file not shown.
22 changes: 21 additions & 1 deletion src/main/java/zmaster587/advancedRocketry/AdvancedRocketry.java
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
import zmaster587.advancedRocketry.tile.multiblock.orbitallaserdrill.TileOrbitalLaserDrill;
import zmaster587.advancedRocketry.tile.satellite.TileSatelliteBuilder;
import zmaster587.advancedRocketry.tile.satellite.TileSatelliteTerminal;
import zmaster587.advancedRocketry.tile.satellite.TileTerraformingTerminal;
import zmaster587.advancedRocketry.tile.station.*;
import zmaster587.advancedRocketry.util.*;
import zmaster587.advancedRocketry.world.biome.*;
Expand Down Expand Up @@ -362,6 +363,7 @@ public void preInit(FMLPreInitializationEvent event) {
GameRegistry.registerTileEntity(TileGuidanceComputerAccessHatch.class, "ARguidanceComputerHatch");
GameRegistry.registerTileEntity(TileSatelliteBuilder.class, "ARsatelliteBuilder");
GameRegistry.registerTileEntity(TileSatelliteTerminal.class, "ARTileEntitySatelliteControlCenter");
GameRegistry.registerTileEntity(TileTerraformingTerminal.class, "ARTileEntityTerraformingTerminal");
GameRegistry.registerTileEntity(TileAstrobodyDataProcessor.class, "ARplanetAnalyser");
GameRegistry.registerTileEntity(TileGuidanceComputer.class, "ARguidanceComputer");
GameRegistry.registerTileEntity(TileElectricArcFurnace.class, "ARelectricArcFurnace");
Expand Down Expand Up @@ -667,6 +669,8 @@ public void registerBlocks(RegistryEvent.Register<Block> evt) {
AdvancedRocketryBlocks.blockFuelingStation = new BlockTileRedstoneEmitter(TileFuelingStation.class, GuiHandler.guiId.MODULAR.ordinal()).setUnlocalizedName("fuelStation").setCreativeTab(tabAdvRocketry).setHardness(3f);
AdvancedRocketryBlocks.blockMonitoringStation = new BlockTileNeighborUpdate(TileRocketMonitoringStation.class, GuiHandler.guiId.MODULARNOINV.ordinal()).setCreativeTab(tabAdvRocketry).setHardness(3f).setUnlocalizedName("monitoringstation");
AdvancedRocketryBlocks.blockSatelliteControlCenter = new BlockTile(TileSatelliteTerminal.class, GuiHandler.guiId.MODULAR.ordinal()).setCreativeTab(tabAdvRocketry).setHardness(3f).setUnlocalizedName("satelliteMonitor");
AdvancedRocketryBlocks.blockTerraformingTerminal = new BlockTileTerraformer(TileTerraformingTerminal.class, GuiHandler.guiId.MODULAR.ordinal()).setCreativeTab(tabAdvRocketry).setHardness(3f).setUnlocalizedName("terraformingTerminal");

//Station machines
AdvancedRocketryBlocks.blockWarpShipMonitor = new BlockWarpController(TileWarpController.class, GuiHandler.guiId.MODULARNOINV.ordinal()).setCreativeTab(tabAdvRocketry).setHardness(3f).setUnlocalizedName("stationmonitor");
AdvancedRocketryBlocks.blockOrientationController = new BlockTile(TileStationOrientationController.class, GuiHandler.guiId.MODULAR.ordinal()).setCreativeTab(tabAdvRocketry).setUnlocalizedName("orientationControl").setHardness(3f);
Expand Down Expand Up @@ -835,6 +839,7 @@ public void registerBlocks(RegistryEvent.Register<Block> evt) {
LibVulpesBlocks.registerBlock(AdvancedRocketryBlocks.blockFuelingStation.setRegistryName("fuelingStation"));
LibVulpesBlocks.registerBlock(AdvancedRocketryBlocks.blockMonitoringStation.setRegistryName("monitoringStation"));
LibVulpesBlocks.registerBlock(AdvancedRocketryBlocks.blockSatelliteControlCenter.setRegistryName("satelliteControlCenter"));
LibVulpesBlocks.registerBlock(AdvancedRocketryBlocks.blockTerraformingTerminal.setRegistryName("terraformingTerminal"));
//Station machines
LibVulpesBlocks.registerBlock(AdvancedRocketryBlocks.blockWarpShipMonitor.setRegistryName("warpMonitor"));
LibVulpesBlocks.registerBlock(AdvancedRocketryBlocks.blockOrientationController.setRegistryName("orientationController"));
Expand Down Expand Up @@ -928,7 +933,22 @@ public void load(FMLInitializationEvent event) {

//Biomes --------------------------------------------------------------------------------------

String[] biomeBlackList = config.getStringList("BlacklistedBiomes", "Planet", new String[]{Biomes.RIVER.getRegistryName().toString(), Biomes.SKY.getRegistryName().toString(), Biomes.HELL.getRegistryName().toString(), Biomes.VOID.getRegistryName().toString(), AdvancedRocketryBiomes.alienForest.getRegistryName().toString()}, "List of Biomes to be blacklisted from spawning as BiomeIds, default is: river, sky, hell, void, alienForest");
String[] biomeBlackList = config.getStringList("BlacklistedBiomes", "Planet",
new String[]{
Biomes.RIVER.getRegistryName().toString(),
Biomes.OCEAN.getRegistryName().toString(),
Biomes.DEEP_OCEAN.getRegistryName().toString(),
Biomes.FROZEN_OCEAN.getRegistryName().toString(),
Biomes.BEACH.getRegistryName().toString(),
Biomes.STONE_BEACH.getRegistryName().toString(),
Biomes.COLD_BEACH.getRegistryName().toString(),
Biomes.FROZEN_RIVER.getRegistryName().toString(),
Biomes.MUSHROOM_ISLAND_SHORE.getRegistryName().toString(),
Biomes.SKY.getRegistryName().toString(),
Biomes.HELL.getRegistryName().toString(),
Biomes.VOID.getRegistryName().toString(),
},
"List of Biomes to be blacklisted from spawning as BiomeIds during terraforming - this is important to have only biomes that can not create water sources otherwise water evaporation will fail!!!, use all infinite fluid biomes listed in the water control config");
String[] biomeHighPressure = config.getStringList("HighPressureBiomes", "Planet", new String[]{AdvancedRocketryBiomes.swampDeepBiome.getRegistryName().toString(), AdvancedRocketryBiomes.stormLandsBiome.getRegistryName().toString()}, "Biomes that only spawn on worlds with pressures over 125, will override blacklist. Defaults: StormLands, DeepSwamp");
String[] biomeSingle = config.getStringList("SingleBiomes", "Planet", new String[]{AdvancedRocketryBiomes.volcanicBarren.getRegistryName().toString(), AdvancedRocketryBiomes.swampDeepBiome.getRegistryName().toString(), AdvancedRocketryBiomes.crystalChasms.getRegistryName().toString(), AdvancedRocketryBiomes.alienForest.getRegistryName().toString(), Biomes.DESERT_HILLS.getRegistryName().toString(),
Biomes.MUSHROOM_ISLAND.getRegistryName().toString(), Biomes.EXTREME_HILLS.getRegistryName().toString(), Biomes.ICE_PLAINS.getRegistryName().toString()}, "Some worlds have a chance of spawning single biomes contained in this list. Defaults: deepSwamp, crystalChasms, alienForest, desert hills, mushroom island, extreme hills, ice plains");
Expand Down
13 changes: 2 additions & 11 deletions src/main/java/zmaster587/advancedRocketry/api/ARConfiguration.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,6 @@ public class ARConfiguration {
@ConfigProperty
public double fuelCapacityMultiplier;
@ConfigProperty
public int maxBiomes = 512;
@ConfigProperty
public boolean rocketRequireFuel = true;
@ConfigProperty
public boolean canBeFueledByHand = true;
Expand Down Expand Up @@ -137,10 +135,6 @@ public class ARConfiguration {
@ConfigProperty
public boolean scrubberRequiresCartrige;
@ConfigProperty
public float EUMult;
@ConfigProperty
public float RFMult;
@ConfigProperty
public boolean overrideGCAir;
@ConfigProperty
public int fuelPointsPerDilithium;
Expand Down Expand Up @@ -169,8 +163,6 @@ public class ARConfiguration {
@ConfigProperty
public double gasCollectionMult;
@ConfigProperty
public int terraformingBlockSpeed;
@ConfigProperty
public double terraformSpeed;
@ConfigProperty
public boolean terraformRequiresFluid;
Expand Down Expand Up @@ -358,9 +350,8 @@ public static void loadPreInit() {
arConfig.laserDrillPlanet = config.get(Configuration.CATEGORY_GENERAL, "laserDrillPlanet", false, "If true the orbital laser will actually mine blocks on the planet below (currently not working)").getBoolean();
String[] str = config.getStringList("spaceLaserDimIdBlackList", Configuration.CATEGORY_GENERAL, new String[]{}, "Laser drill will not mine these dimension");
arConfig.enableTerraforming = config.get(Configuration.CATEGORY_GENERAL, "EnableTerraforming", true, "Enables terraforming items and blocks").getBoolean();
arConfig.terraformingBlockSpeed = config.get(Configuration.CATEGORY_GENERAL, "biomeUpdateSpeed", 1, "How many blocks have the biome changed per tick. Large numbers can slow the server down", Integer.MAX_VALUE, 1).getInt();
arConfig.terraformSpeed = config.get(Configuration.CATEGORY_GENERAL, "terraformMult", 1f, "Multplier for atmosphere change speed").getDouble();
arConfig.terraformPlanetSpeed = config.get(Configuration.CATEGORY_GENERAL, "terraformBlockPerTick", 1, "Max number of blocks allowed to be changed per tick").getInt();
//arConfig.terraformPlanetSpeed = config.get(Configuration.CATEGORY_GENERAL, "terraformBlockPerTick", 1, "Max number of blocks allowed to be changed per tick").getInt();
arConfig.terraformRequiresFluid = config.get(Configuration.CATEGORY_GENERAL, "TerraformerRequiresFluids", true, "Whether the Terraformer should consume fluids at all, independent of rate").getBoolean();
arConfig.terraformliquidRate = config.get(Configuration.CATEGORY_GENERAL, "TerraformerFluidConsumeRate", 40, "how many millibuckets/t are required to keep the terraformer running").getInt();
arConfig.allowTerraformNonAR = config.get(Configuration.CATEGORY_GENERAL, "allowTerraformingNonARWorlds", false, "If true dimensions not added by AR can be terraformed, including the overworld").getBoolean();
Expand Down Expand Up @@ -412,7 +403,7 @@ public static void loadPreInit() {
arConfig.canPlayerRespawnInSpace = config.get(PLANET, "allowPlanetRespawn", false, "If true players will respawn near beds on planets IF the spawn location is in a breathable atmosphere").getBoolean();
arConfig.forcePlayerRespawnInSpace = config.get(PLANET, "forcePlanetRespawn", false, "If true players will respawn near beds on planets REGARDLESS of the spawn location being in a non-breathable atmosphere. Requires 'allowPlanetRespawn' being true.").getBoolean();
arConfig.blackListAllVanillaBiomes = config.getBoolean("blackListVanillaBiomes", PLANET, false, "Prevents any vanilla biomes from spawning on planets");
arConfig.maxBiomesPerPlanet = config.get(PLANET, "maxBiomesPerPlanet", 5, "Maximum unique biomes per planet, -1 to disable").getInt();
arConfig.maxBiomesPerPlanet = config.get(PLANET, "maxBiomesPerPlanet", 99, "Maximum unique biomes per planet").getInt();

//Client
arConfig.stationSkyOverride = config.get(CLIENT, "StationSkyOverride", true, "If true, AR will use a custom skybox on space stations").getBoolean();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
* Stores references to Advanced Rocketry's blocks
*/
public class AdvancedRocketryBlocks {
public static Block blockTerraformingTerminal;
public static Block blockNuclearEngine;
public static Block blockSpaceLaser;
public static Block blockPrecisionAssembler;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,11 +154,13 @@ else if (!handler.getAtmosphereType(bpos).allowsCombustion()) {
}
}
//Water blocks should also vaporize and disappear
/* yes but not like this because it crashes the game
if (handler.getAtmosphereType(bpos) == AtmosphereType.SUPERHEATED || handler.getAtmosphereType(bpos) == AtmosphereType.SUPERHEATEDNOO2 || handler.getAtmosphereType(bpos) == AtmosphereType.VERYHOT || handler.getAtmosphereType(bpos) == AtmosphereType.VERYHOTNOO2) {
if (world.getBlockState(bpos).getMaterial() == Material.WATER) {
world.setBlockToAir(bpos);
}
}
*/


List<AreaBlob> nearbyBlobs = handler.getBlobWithinRadius(pos, MAX_BLOB_RADIUS);
Expand Down
Loading

0 comments on commit a4e0b2a

Please sign in to comment.