Vacuum blocks instead of oxygen blocks

StarkRG

Member
Jun 25, 2014
6
0
1
41
On the modded server I frequen they use a space station to welcome new players. Unfortunately they have to use bubble generators at the spawn point instead of sealing it and filling it with oxygen because the invisible oxygen blocks cause issues with spawning there. Those blocks cause other problems too, for example they had trouble using Lanteacraft's stargates because of them.

I propose that the world have regular, breathable, ID-0 air blocks but, unless there's bubble generators or oxygen sealers to remove them, any place that would normally have ID-0 air blocks would be filled with invisible vacuum blocks which would have the same oxygen deprivation effect as being exposed to the current ID-0 atmosphere.

To facilitate upgrading a world to the new system you could add (unless it's already there) a version number to the galacticraft dimensions and anything created by the previous version would have the ID-0 air blocks replaced with the new vacuum blocks, and any galacticraft oxygen blocks replaced with ID-0 air blocks. Alternatively you could have a config option to choose between the current oxygen block method and the new vacuum block method as well as a single-use "vacuumUpgrade=true" option to instantiate this process.
 

StarkRG

Member
Jun 25, 2014
6
0
1
41
Given that there are several multi-block structures which don't work if there are other blocks inside them (such as the lanteacraft stargate I mentioned), I'd say that warrants looking into. Chances are most people aren't going to build these structures outside of an oxygen environment it seems reasonable to have the outside be the thing that contains blocks. That's assuming there has to be some kind of block to facilitate this mechanic)
 
May 17, 2014
239
32
28
23
Given that there are several multi-block structures which don't work if there are other blocks inside them (such as the lanteacraft stargate I mentioned), I'd say that warrants looking into. Chances are most people aren't going to build these structures outside of an oxygen environment it seems reasonable to have the outside be the thing that contains blocks. That's assuming there has to be some kind of block to facilitate this mechanic)
wat. if you need sealeble blocks there is an confiq.
 

StarkRG

Member
Jun 25, 2014
6
0
1
41
I'm not talking about sealable blocks (I am in another thread), I'm talking about the invisible oxygen blocks that inside spaces get filled with when you use an oxygen sealer. Basically the mechanics of the galacticraft dimensions (moon, mars, and space stations) are that you begin to suffocate if one of the following conditions are met: you have oxygen equipment with non-empty oxygen tanks, you're within a certain radius of a bubble generator, or you are inside of the invisible oxygen blocks created by an oxygen sealer. What I'm proposing is that this be changed so that you can breathe unless you're inside an invisible vacuum block without oxygen equipment. The invisible vacuum block would fill every space unless displaced by a bubble generator or oxygen sealer. (Think of it like a world filled with water but you can use old-school sponges to create livable space)

Really the main downside to this (besides retrogenning existing worlds) is that you'd be able to breathe if you got above the world height, but perhaps this could be fixed by adding suffocation above this level, not to mention there aren't many people who would do this.

I realize it's more complicated from a programming perspective, but it will make this mod work better with other mods. I hope micdoodle sees this and understand the need.
 
Jun 14, 2014
42
2
8
23
Given that there are several multi-block structures which don't work if there are other blocks inside them (such as the lanteacraft stargate I mentioned), I'd say that warrants looking into. Chances are most people aren't going to build these structures outside of an oxygen environment it seems reasonable to have the outside be the thing that contains blocks. That's assuming there has to be some kind of block to facilitate this mechanic)
Actually most multi blocks work if you build them before sealing an area
 

Vigilantecow

Member
Oct 5, 2013
440
89
43
Some Place Cold
moonquest.com
I support this idea, I have the same problem myself. When people teleport into my base, they spawn on the outside due to it thinking that the air blocks are solid. I also had problems building multi-block structures (like launchpads) breaking when they are placed in a sealed environment.
 
Jun 14, 2014
42
2
8
23
I support this idea, I have the same problem myself. When people teleport into my base, they spawn on the outside due to it thinking that the air blocks are solid. I also had problems building multi-block structures (like launchpads) breaking when they are placed in a sealed environment.
I will test this and I will try to find workarounds
 

StarkRG

Member
Jun 25, 2014
6
0
1
41
That's assuming the structures themselves are sealed, many are not and have trouble or don't work at all with these oxygen blocks in place. The stargate, as I mentioned, requires some working out. I haven't tried it, but tinker's smeltery might not work since it stops working when blocks are placed inside and MUST remain open on the top. I wouldn't be surprised if ars magica's thing stops working too. It makes far more sense to use vacuum blocks.
 
Jun 14, 2014
42
2
8
23
That's assuming the structures themselves are sealed, many are not and have trouble or don't work at all with these oxygen blocks in place. The stargate, as I mentioned, requires some working out. I haven't tried it, but tinker's smeltery might not work since it stops working when blocks are placed inside and MUST remain open on the top. I wouldn't be surprised if ars magica's thing stops working too. It makes far more sense to use vacuum blocks.
Actually I have a smelter and ars magica spell creator in one of my space stations
 

radfast

Member
Staff member
Apr 27, 2014
1,118
339
83
I don't really see how this suggestion will provide a solution, as if the roles of the blocks were reversed, then there would be exactly the same issues when trying to place multiblock structures in 'vacuum', as the other mods would not recognise the vacuum blocks as air. It would also create a lot of problems with world conversion when people upgrade Galacticraft versions.

What is really needed is to fix each specific issue of cross-mod incompatibility. In the case of the issues described here, it will need the other mods to fix their code - this will also help them to be compatible with quite a few other mods which have special types of air block or invisible block, for example Railcraft has a hidden block to mark trails, SecretRooms mod has solid air, and I think some other mods have air blocks which can do logic or control structures.

So in Minecraft 1.6.4, if a mod needs to check whether it has enough space around a tile, instead of searching for blockID 0 (which is air/vacuum in vanilla Minecraft) the better approach is to test for block.isAirBlock(). Likewise Bukkit plugins should test for Block.isEmpty() - see discussion here: https://github.com/MinecraftPortCentral/MCPC-Plus-Legacy/issues/1284

In Minecraft 1.7.2, this is going to become more of a problem as Galacticraft3 introduces a second type of invisible/air block for lighting purposes. On the other hand, things may be a little easier due to the way things are dealt with in 1.7.2. by block instead of by ID. For compatibility with special air blocks, the other mod authors should test for air by testing "block instanceof BlockAir" instead of the more common approach of testing whether "block == Blocks.air".

So, if you are seeing incompatibilities currently, I'm afraid you will need to raise the issue with those other mod authors. I am happy if you want to link to the suggestions in this thread, though most mod authors will be aware of these coding approaches already is my guess.

Based on this thread currently, the only tested incompatibility is LanteaCraft's Stargate
. From another thread, I am also aware of the Herblore Hookah. Are there any others?

UPDATE: LanteaCraft updated their code already (7 April 2014), I would think all recent builds should therefore be compatible with Galacticraft .
 
Last edited:
May 17, 2014
239
32
28
23
I don't really see how this suggestion will provide a solution, as if the roles of the blocks were reversed, then there would be exactly the same issues when trying to place multiblock structures in 'vacuum', as the other mods would not recognise the vacuum blocks as air. It would also create a lot of problems with world conversion when people upgrade Galacticraft versions.

What is really needed is to fix each specific issue of cross-mod incompatibility. In the case of the issues described here, it will need the other mods to fix their code - this will also help them to be compatible with quite a few other mods which have special types of air block or invisible block, for example Railcraft has a hidden block to mark trails, SecretRooms mod has solid air, and I think some other mods have air blocks which can do logic or control structures.

So in Minecraft 1.6.4, if a mod needs to check whether it has enough space around a tile, instead of searching for blockID 0 (which is air/vacuum in vanilla Minecraft) the better approach is to test for block.isAirBlock(). Likewise Bukkit plugins should test for Block.isEmpty() - see discussion here: https://github.com/MinecraftPortCentral/MCPC-Plus-Legacy/issues/1284

In Minecraft 1.7.2, things will be a little easier due to the way things are dealt with by block instead of by ID. For compatibility with special air blocks, the other mod authors should ideally test for air by testing "block instanceof BlockAir" instead of the more common approach of testing whether "block == Blocks.air".

So, if you are seeing incompatibilities currently, I'm afraid you will need to raise the issue with those other mod authors. I am happy if you want to link to the suggestions in this thread, though most mod authors will be aware of these coding approaches already is my guess.
wow ok.
 

radfast

Member
Staff member
Apr 27, 2014
1,118
339
83
If the server is running Bukkit plugins, I guess one of those plugins (maybe Essentials?) is handling the spawning. Like I said in my post above, to find empty blocks for spawning the plugin should be coded to use Bukkit's block.isEmpty() feature. If the plugin is not doing that, that is definitely an issue which should be raised with the plugin author. Give them the link to agaricusb's explanation here if it helps: https://github.com/MinecraftPortCentral/MCPC-Plus-Legacy/issues/1284
 

Share this page