The Lost Cities

The Lost Cities

59M Downloads

[Feature Request] Rotation Block Request

TqLxQuanZ opened this issue ยท 0 comments

commented

Currently, I am doing a city building with my architecture friend and realized it is possible to add the buildings into the mod and generate them, but I am facing several issues with decoration blocks that consist of other data (Facing, axis, etc).

I dug into the source code and found that the rotatable blocks are actually hardcoded (Stairs, Torches), so I was thinking if it is possible to set the RotatableChars able to read from a JSON file which allows people to add the blocks that they want to rotate? Or the same method that you use for torches, adding a meta that modifies the facing.

BlockFormat does work with the rotation/direction (e.g minecraft:oak_fence[facing=west]), but it didn't sync with the buildings/parts/highways since it is a direct set of rotation.

Aside from that, a config that allows/disallow the generation of the door would be really great because some custom building doesn't need the door to be generated on the ground floor or the other building's roof.

Current version: 1.16-4.0.9-beta

From LostCitiesTerrainGenerator.java 162

public static Set<Character> getRotatableChars() {       
      if (rotatableChars == null) {            
              rotatableChars = new HashSet&lt;&gt;();            
              addStates(Blocks.ACACIA_STAIRS, rotatableChars);            
              addStates(Blocks.BIRCH_STAIRS, rotatableChars);            
              addStates(Blocks.BRICK_STAIRS, rotatableChars);            
              addStates(Blocks.QUARTZ_STAIRS, rotatableChars);            
              addStates(Blocks.STONE_BRICK_STAIRS, rotatableChars);            
              addStates(Blocks.DARK_OAK_STAIRS, rotatableChars);            
              addStates(Blocks.JUNGLE_STAIRS, rotatableChars);            
              addStates(Blocks.NETHER_BRICK_STAIRS, rotatableChars);            
              addStates(Blocks.OAK_STAIRS, rotatableChars);            
              addStates(Blocks.PURPUR_STAIRS, rotatableChars);           
              addStates(Blocks.RED_SANDSTONE_STAIRS, rotatableChars);            
              addStates(Blocks.SANDSTONE_STAIRS, rotatableChars);           
              addStates(Blocks.SPRUCE_STAIRS, rotatableChars);            
              addStates(Blocks.STONE_STAIRS, rotatableChars);            
              addStates(Blocks.LADDER, rotatableChars);
             }        
             return rotatableChars;   
 }