Sealed space

From Galacticraft Wiki
Revision as of 01:17, 13 April 2015 by Radfast (talk | contribs) (→‎Tips)
Jump to: navigation, search

In Galacticraft, a sealed space means a room - or other space, it could be a dome for example - which has solid walls on all sides, with no gaps, so that it can hold in air.

The player can fill the sealed space with breathable air using an Oxygen Sealer. A sealed space with a working Oxygen Sealer and no leaks is called 'Sealed'.

If the space is correctly sealed:

  • the player can breath without needing an Oxygen Mask and tanks
  • any mobs which needs air to breath (for example, chickens, pigs) will be able to breath OK
  • torches will light normally
  • an Oxygen Detector will detect oxygen
  • fires can be lit and Flint & Steel will work

If the space is not correctly sealed:

  • the player will be unable to breath without an Oxygen Mask and tanks, if the player runs out of oxygen then the Oxygen Setup Invalid! warning will be shown
  • mobs which need air to breath will start to die
  • torches will go out - see Unlit Torch
  • an Oxygen Detector will fail to detect oxygen
  • fires will go out, and Flint & Steel will not work

Note: in Galacticraft 3, machines which require direct access to a planet's raw atmosphere - for example, the Gas Liquefier with an Atmospheric Valve in its input - will not work correctly in a sealed space.

Sealable and non-sealable blocks

To make a sealed space, every block in the wall (all the blocks you can see!) must be a solid (or "sealable") block. If even one block is not solid, the space will not be sealed.

Quick test: if you can see through the wall to the outside (and it isn't glass) then probably it is not sealed. Also, if a torch cannot be placed on the block, then it probably is not sealed.

Some types of blocks can never be sealed: any block of leaves, gravel, or anything made out of sponge, cloth or wool. These are not the best materials to build your space base out of!

Examples of sealable blocks:

Examples of blocks which are not sealable:

  • Leaves
  • Block of Wool
  • Glowstone Block
  • Buffers in Archimedes Ships mod (they are made of wool)
  • Door
  • Stairs - sealed only on the solid side
  • Slab - sealed only on the solid side
  • Farmland - sealed only on the under side (the other sides all have an air gap)
  • Piston (open position)
  • Aluminum Wire
  • Oxygen Pipe

Working with other mods

In Galacticraft 3 (and the final releases of Galacticraft 2), blocks from other mods should mostly be automatically detected whether they are sealed or unsealed.

For some special types of block, Galacticraft may 'think' they are not sealed, when in fact you want them to be sealed. The most common example is new types of glass from other mods - for example, Clear Glass from Tinker's Construct. Unless set correctly as a sealable block in the config (see below) a base made out of Clear Glass will not be able to seal.

So if a space is not sealing and you think it should be, check whether you are using any special blocks from other mods. (Any block which you cannot place a torch onto, might be a 'special' block.)

Galacticraft's config allows you to add the block IDs of any special blocks - for example Clear Glass or Hardened Glass from other mods which should be sealed. Players (or server owners) with other mods will need to add the block IDs for these blocks to the config: here's how. But blocks from other mods which are made out of leaves, gravel, sponge or wool can never be sealed!

Tips

  • One Oxygen Sealer can normally seal around 1000-1400 blocks by volume - that's a 10 x 10 x 10 space, for example - so larger spaces will need more Oxygen Sealers
  • The walls that enclose the sealed area are counted as part of its volume
  • As long as the Oxygen Sealers are placed close enough to each other that their seals can merge, a large volume of space can be sealed - in testing, spaces of more than 100,000 blocks are easily sealed if you have enough sealers (that's a dome 50 blocks across! it needs 80 Oxygen Sealers to seal it!)
  • Position your sealers in a cluster, each one within a few blocks of the next one so that their seals can merge (exact spacing depends on the height and configuration of your build, see example below)
  • If you are having difficulty sealing a space, try building a smaller space at first - so build walls around your Oxygen Sealer to box it in - then move the walls outward until you find where the problem is. Also try bringing your sealers closer together, for example 5 to 8 blocks apart will always be reliable.

Example of correct sealer spacing

Sealer spacing depends a lot on the exact geometry. In a wide open room, 8 blocks apart (7 blocks between them) should always work, or anything less than that. In a narrow, low, tunnel the sealers can be farther apart and still merge their seals. For an idea of how this works, think about a corridor and count all the blocks around a corridor segment, like this:

  • a 2-block high, 1-block wide mining tunnel has 6 blocks around its edges and 2 air blocks in the middle making 8 in total for the sealer to check for each block of length along the corridor; divide 8 into 1000, and it will give you the maximum sealer spacing of 125 for the sealers to be able to consistently merge their seals (if they are just at the limit of what can be merged, probably they will sometimes merge and sometimes not, so the space will flicker between being sealed and not sealed, which is not good because the flickering can make for a mild amount of lag)
  • a 5-block wide, 6-block high grand corridor in a large base or spawn area has 22 blocks around its edges and 30 air blocks, making 52 blocks for the sealer to check for each 1 block slice of corridor; divide 52 into 1000, and it will give you a maximum sealer spacing of 19 if you want the sealers to merge.

Chunk loading

In practice (especially on servers) you also need to think about chunk loading. A server has a "chunk loading radius" for map chunks around the player and also a smaller loading radius for activating machines and entities in a chunk: that active radius is normally 2 chunks less than the chunk loading radius. (You can test it with a Minecart on a long straight track, in a part of the server where there are no other players - stand still, push the Minecart away from you, and watch how far the Minecart moves along the track before it stops moving. Use F9 to see the chunk boundaries. Depending on your server settings, the Minecart will move maybe 3, 4, 5 or 6 chunks away from you before suddenly seeming to "freeze" although you can still see it. Move closer to it, crossing the chunk boundary, and the Minecart will start moving again, it will move 16 more blocks before "freezing" again. It's all because it moves out of the active chunk radius, but it's still inside the view distance.)

If you want to ensure that sealers can merge, you need to make sure both sealers will be within the chunk loading radius - and you need to think about all possibilities, for example even if a player is standing at the very edge of your sealed space. If this seems overly difficult, go complain to Mojang for how the Minecraft game engine works, or just turn up the chunk loading radius on your server to something like 8 (so that the active chunk radius will be 6, which is a decent number).

Warning

Constant updates between sealing and unsealing

If your sealer setup has "only just" enough oxygen or "only just" enough power to keep the sealers running, then probably some of the time some of the sealers will run out of oxygen or power - in which case obviously they will stop working! If a sealer stops working, then maybe your space will become unsealed. When it becomes unsealed, the sealers stop using so much oxygen, which maybe gives your system enough for all the sealers to start working again and re-seal the space. This is not a good arrangement. It can make for LAG on a server because switching a large room between sealed and unsealed is a lot of work for a server.

It's up to players to make sure that any build with sealers has enough power and oxygen that it works properly. For the future, the developers are looking at ways to penalise builds which do not do this correctly, for example by having the sealers self-disable for a while.

Chunk loading issues

Sealers can only work properly if they, and the power and oxygen systems which feed them, are properly chunk-loaded - meaning inside the "active chunks" radius (see above: normally on servers the active chunks radius is 32 blocks less than the chunk loading view radius).

Some players route their oxygen and power for sealers around the edge of their bases, meaning that the crucial oxygen pipes or power conduits could be on the far side from the player (so maybe not chunk loaded all the time?).

Some other mods power systems are not as well-coded as Galacticraft and do not perform robustly and sensibly when chunks are loaded in a random order. Be especially wary if you are using sealers with power systems from other mods.

A great way to test whether chunk loading issues are affecting your build is to place Infinite Oxygen and Infinite Battery items in every Oxygen Sealer. Test whether the space stays sealed properly as you move around, and leave the area and return. If it does, then the sealers themselves are working properly and it is your power or oxygen delivery systems which need work.

Future possibilities

It has been suggested that Galacticraft should have an item to detect where the leak is, in a space which is not sealing correctly. That's a great idea, but it is hard for the developers to implement and will not be seen in the near future - perhaps in a future version of Galacticraft!