The Aether

The Aether

35M Downloads

Enhancement: Improve the block banning system in the Aether.

bconlon1 opened this issue ยท 3 comments

commented

There are a lot of aspects to it that are currently distributed across multiple issues:

PlacementBanRecipe

  • PlacementBanRecipe; a recipe type that'll allow for a DimensionType or DimensionType tag field, as well as an optional bypass field which would take a Block or Block tag (this will be important for fire placement rules).
  • The Aether's usage of this will be through these recipes being dependent on a DimensionType tag #ultracold, which contains the Aether's DimensionType. Any DimensionType in this tag will have its dimension allow Aether's placement ban recipes in it as well.
  • Lava -> Aerogel will be included in this, which will result in the deletion of #freezable_to_aerogel.
  • The general switch to this system will involve the deletion of #banned_in_aether as everything in it will use recipes now.
  • New blocks such as Campfires will also use this system for more complex conversions (see: #80).
  • If the result of a placement ban recipe is air, it should spawn the smoke particles.
  • Soul Fire-related blocks will be exempt from this banning; any regular equivalents of these blocks in turn will be banned.

Fire Placement Rules

  • #aether:infiniburn tag. Likely will only contain netherrack like the Overworld.
  • #aether:allowed_flammables tag, which will contain #aether:infiniburn as well as other blocks that should be able to allow for fire placement in the Aether for consistency, such as Hellfire Stone and also Soul Sand and Soul Soil (because Soul Fire). This tag will be important for the PlacementBanRecipes for anything that places fire for the bypass field.
  • Fire should be automatically extinguished in the Aether if it is not on a block contained in #allowed_flammables.

In general, this system has to be looked into both design-wise and code-wise for both maintaining as much legacy consistency as possible while also adapting to new Minecraft features.

commented

DimensionType tags will likely not be used in this system by release, see: #531.

commented

DimensionType tags are going to be usable, but it should be noted that custom ones may not work as only the Aether's have proper syncing unless we expand this syncing fix system.

commented

DimensionType tags are going to be usable, but it should be noted that custom ones may not work as only the Aether's have proper syncing unless we expand this syncing fix system.

This should be fixable by #587, any tag under the Aether namespace will be synchable.