tpwalke2 / BlueMapSignMarkers

Fabric plugin for BlueMap that displays markers based on in-game signs
MIT License
2 stars 1 forks source link

Ignore markers that are out of bounds for the current map #67

Open elboletaire opened 3 weeks ago

elboletaire commented 3 weeks ago

I have a map configured to render my nether roof, and I realized that the markers below the min-y configured height are also being imported to that map.

imatge Hard to see in the picture but all four markers in the bottom are below the configured min-y of 126

Not really sure if this is an issue with your extension or with bluemap itself, let me know if I'm wrong and I'll open an issue upstream.

tpwalke2 commented 3 weeks ago

If you manually configure a marker in Bluemap's settings below the min-y value, does Bluemap.show it?

This plugin only tells Bluemap about new markers and then delegates the rendering back to Bluemap.

I'd have to check if Bluemap even makes that setting available in the API.

elboletaire commented 3 weeks ago

If you manually configure a marker in Bluemap's settings below the min-y value, does Bluemap.show it?

This plugin only tells Bluemap about new markers and then delegates the rendering back to Bluemap.

I guess so, but the markers are configured in a per map basis, so if I had to configure them I simply won't for that one.

I'd have to check if Bluemap even makes that setting available in the API.

That would make sense, and if it's not exposed, it maybe should be since, as said, markers are added per map.

If you can check the configuration of the map, simply avoid to add markers that are outside of the defined bounds, from the config file:

min-x: -4000

max-x: 4000

min-z: -4000

max-z: 4000

min-y: 126

max-y: 90

(copy-pasted from my actual nether roof map definition)

elboletaire commented 2 weeks ago

I do now realize that, from the two nether renders I have, I only have markers on the roof one, but not on the other.

Here are the config files for each nether map:

grandline_the_nether.conf ~~~conf ## ## ## BlueMap ## ## Map-Config ## ## ## # The path to the save-folder of the world to render. # (If this is not defined (commented out or removed), the map will be only registered to the web-server and the web-app # but not rendered or loaded by BlueMap. This can be used to display a map that has been rendered somewhere else.) world: "grandline" # The dimension of the world. Can be "minecraft:overworld", "minecraft:the_nether", "minecraft:the_end" # or any dimension-key introduced by a mod or datapack. dimension: "minecraft:the_nether" # The display-name of this map -> how this map will be named on the webapp. # You can change this at any time. # Default is the id of this map name: "Grand Line (the nether)" # A lower value makes the map sorted first (in lists and menus), a higher value makes it sorted later. # The value needs to be an integer but it can be negative. # You can change this at any time. # Default is 0 sorting: 150 # The position on the world where the map will be centered if you open it. # You can change this at any time. # This defaults to the world-spawn if you don't set it. #start-pos: {x:500, z:-820} # The color of the sky as a hex-color # You can change this at any time. # Default is "#7dabff" sky-color: "#290000" # The color of the void as a hex-color # You can change this at any time. # Default is "#000000" void-color: "#150000" # Defines the ambient light-strength that every block is receiving, regardless of the sunlight/blocklight. # 0 is no ambient light, 1 is fully lighted. # You can change this at any time. # Default is 0 ambient-light: 0.6 # BlueMap tries to omit all blocks that are below this Y-level and are not visible from above-ground. # More specific: Block-Faces that have a sunlight/skylight value of 0 are removed. # This improves the performance of the map on slower devices by a lot, but might cause some blocks to disappear that should normally be visible. # Changing this value requires a re-render of the map. # Set to a very high value to remove caves everywhere (e.g. 10000) # Set to a very low value to remove nothing and render all caves (e.g. -10000) # Default is 55 (slightly below water-level) remove-caves-below-y: -10000 # This is the amount of blocks relative to the "ocean-floor" heightmap that the cave-detection will start at. # Everything above that (heightmap-relative) y-level will not be removed. # Comment or set to a very high value to disable using the ocean-floor heightmap for cave-detection. # Changing this value requires a re-render of the map. # Defaults to 10000 (disabled) cave-detection-ocean-floor: -5 # With this value set to true, BlueMap also uses the block-light value (additionally to the sky-light) to "detect caves". # (See: remove-caves-below-y) # Changing this value requires a re-render of the map. # Default is false cave-detection-uses-block-light: false # With the below values you can limit the map-render. # This can be used to ignore the nethers ceiling or render only a certain part of a world. # If you change these values, bluemap automatically tries to update the map, # including deleting map-tiles which are outside the new limits. # Default is no min or max value (= infinite bounds) #min-x: -4000 #max-x: 4000 #min-z: -4000 #max-z: 4000 #min-y: 50 max-y: 90 # The minimum "inhabitedTime" value that a chunk must have to be rendered. # If you set this to a value greater than 0, bluemap will only render chunks that players have visited already. # Default is 0 min-inhabited-time: 0 # Using this, BlueMap pretends that every Block out of the defined render-bounds is AIR, # this means you can see the blocks where the world is cut (instead of having a see-through/xray view). # This has only an effect if you set some render-bounds above. # Changing this value requires a re-render of the map. # Default is true render-edges: true # Whether the hires-layer will be saved to the storage. # Disabling this will speed up rendering and reduce the size of the map-files a lot. # But you will not be able to see the full 3d-models if you zoom in on the map. # Changing this to false will not remove any existing tiles, existing tiles just won't get updated anymore. # Changing this to true will require a re-render of the map. # Default is true save-hires-layer: true # This defines the storage-config that will be used to save this map. # You can find your storage configs next to this config file in the 'storages'-folder. # Changing this value requires a re-render of the map. The map in the old storage will not be deleted. # Default is "file" storage: "file" # Normally BlueMap detects if a chunk has not yet generated it's light-data and omits rendering those chunks. # If this is set to true BlueMap will render Chunks even if there is no light-data! # This can be useful for example if some mod prevents light-data from being saved correctly. # However, this also has a few drawbacks: # - For those chunks, every block will always be fully lit # - Night-mode might not work correctly # - Caves will always be rendered (ignoring the 'renderCaves' setting) # Default is false ignore-missing-light-data: false # Here you can define any static marker-sets with markers that should be displayed on the map. # You can change this at any time. # If you need dynamic markers, you can use any plugin that integrates with BlueMap's API. # Here is a list: https://bluemap.bluecolored.de/community/3rdPartySupport.html marker-sets: { # Please check out the wiki for information on how to configure this: # https://bluemap.bluecolored.de/wiki/customization/Markers.html } ~~~
grandline_the_nether_roof.conf ~~~conf ## ## ## BlueMap ## ## Map-Config ## ## ## # The path to the save-folder of the world to render. # (If this is not defined (commented out or removed), the map will be only registered to the web-server and the web-app # but not rendered or loaded by BlueMap. This can be used to display a map that has been rendered somewhere else.) world: "grandline" # The dimension of the world. Can be "minecraft:overworld", "minecraft:the_nether", "minecraft:the_end" # or any dimension-key introduced by a mod or datapack. dimension: "minecraft:the_nether" # The display-name of this map -> how this map will be named on the webapp. # You can change this at any time. # Default is the id of this map name: "Grand Line (the nether roof)" # A lower value makes the map sorted first (in lists and menus), a higher value makes it sorted later. # The value needs to be an integer but it can be negative. # You can change this at any time. # Default is 0 sorting: 100 # The position on the world where the map will be centered if you open it. # You can change this at any time. # This defaults to the world-spawn if you don't set it. #start-pos: {x:500, z:-820} # The color of the sky as a hex-color # You can change this at any time. # Default is "#7dabff" sky-color: "#290000" # The color of the void as a hex-color # You can change this at any time. # Default is "#000000" void-color: "#150000" # Defines the ambient light-strength that every block is receiving, regardless of the sunlight/blocklight. # 0 is no ambient light, 1 is fully lighted. # You can change this at any time. # Default is 0 ambient-light: 0.6 # BlueMap tries to omit all blocks that are below this Y-level and are not visible from above-ground. # More specific: Block-Faces that have a sunlight/skylight value of 0 are removed. # This improves the performance of the map on slower devices by a lot, but might cause some blocks to disappear that should normally be visible. # Changing this value requires a re-render of the map. # Set to a very high value to remove caves everywhere (e.g. 10000) # Set to a very low value to remove nothing and render all caves (e.g. -10000) # Default is 55 (slightly below water-level) remove-caves-below-y: -10000 # This is the amount of blocks relative to the "ocean-floor" heightmap that the cave-detection will start at. # Everything above that (heightmap-relative) y-level will not be removed. # Comment or set to a very high value to disable using the ocean-floor heightmap for cave-detection. # Changing this value requires a re-render of the map. # Defaults to 10000 (disabled) cave-detection-ocean-floor: -5 # With this value set to true, BlueMap also uses the block-light value (additionally to the sky-light) to "detect caves". # (See: remove-caves-below-y) # Changing this value requires a re-render of the map. # Default is false cave-detection-uses-block-light: false # With the below values you can limit the map-render. # This can be used to ignore the nethers ceiling or render only a certain part of a world. # If you change these values, bluemap automatically tries to update the map, # including deleting map-tiles which are outside the new limits. # Default is no min or max value (= infinite bounds) #min-x: -4000 #max-x: 4000 #min-z: -4000 #max-z: 4000 min-y: 126 #max-y: 90 # The minimum "inhabitedTime" value that a chunk must have to be rendered. # If you set this to a value greater than 0, bluemap will only render chunks that players have visited already. # Default is 0 min-inhabited-time: 60 # Using this, BlueMap pretends that every Block out of the defined render-bounds is AIR, # this means you can see the blocks where the world is cut (instead of having a see-through/xray view). # This has only an effect if you set some render-bounds above. # Changing this value requires a re-render of the map. # Default is true render-edges: true # Whether the hires-layer will be saved to the storage. # Disabling this will speed up rendering and reduce the size of the map-files a lot. # But you will not be able to see the full 3d-models if you zoom in on the map. # Changing this to false will not remove any existing tiles, existing tiles just won't get updated anymore. # Changing this to true will require a re-render of the map. # Default is true save-hires-layer: true # This defines the storage-config that will be used to save this map. # You can find your storage configs next to this config file in the 'storages'-folder. # Changing this value requires a re-render of the map. The map in the old storage will not be deleted. # Default is "file" storage: "file" # Normally BlueMap detects if a chunk has not yet generated it's light-data and omits rendering those chunks. # If this is set to true BlueMap will render Chunks even if there is no light-data! # This can be useful for example if some mod prevents light-data from being saved correctly. # However, this also has a few drawbacks: # - For those chunks, every block will always be fully lit # - Night-mode might not work correctly # - Caves will always be rendered (ignoring the 'renderCaves' setting) # Default is false ignore-missing-light-data: false # Here you can define any static marker-sets with markers that should be displayed on the map. # You can change this at any time. # If you need dynamic markers, you can use any plugin that integrates with BlueMap's API. # Here is a list: https://bluemap.bluecolored.de/community/3rdPartySupport.html marker-sets: { # Please check out the wiki for information on how to configure this: # https://bluemap.bluecolored.de/wiki/customization/Markers.html } ~~~

And the signs file, hoping something can be seen there:

signs.json ~~~json {"version":"V3","data":"[{\"key\":{\"x\":17,\"y\":73,\"z\":110,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Smiley Factory\",\"detail\":\"Smiley Factory\\nRecolection\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":43,\"y\":130,\"z\":-76,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Loguetown\",\"detail\":\"Loguetown\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-304,\"y\":131,\"z\":-89,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Porkchop\",\"detail\":\"Porkchop\\nStop\\n(Hoglins)\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":79,\"y\":129,\"z\":60,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"GOLD D.\",\"detail\":\"GOLD D.\\nRoger\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-926,\"y\":30,\"z\":-1656,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Rain Dinners\",\"detail\":\"Rain Dinners\\nSand Dupper\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":182,\"y\":-57,\"z\":111,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Smiley\",\"detail\":\"Smiley\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":428,\"y\":129,\"z\":-302,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Castillo Blinho\",\"detail\":\"Castillo Blinho\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":321,\"y\":60,\"z\":-649,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"mine\",\"label\":\"Loguetown\",\"detail\":\"Loguetown\\nMine\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":901,\"y\":65,\"z\":-1392,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Azaleas\",\"detail\":\"Azaleas\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-5808,\"y\":163,\"z\":-2450,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Granotes\",\"detail\":\"Granotes\\nMarrons\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-1241,\"y\":24,\"z\":-898,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"location\",\"label\":\"GIO DA\",\"detail\":\"GIO DA\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-222,\"y\":64,\"z\":-806,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"location\",\"label\":\"Ohara\",\"detail\":\"Ohara\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":99,\"y\":70,\"z\":-286,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"PORTAL\",\"label\":\"BOSQUE VERDE\",\"detail\":\"BOSQUE VERDE\\n\\u0026 ROJO\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-100,\"y\":130,\"z\":145,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Shulker\",\"detail\":\"Shulker\\nFarm\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":327,\"y\":63,\"z\":-657,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"location\",\"label\":\"Loguetown\",\"detail\":\"Loguetown\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-185,\"y\":128,\"z\":-165,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"No me GEODAs\",\"detail\":\"No me GEODAs\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-5,\"y\":134,\"z\":-34,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"location\",\"label\":\"Pawn Shop\",\"detail\":\"Pawn Shop\\nBartering Office\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-448,\"y\":40,\"z\":-1486,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Esqueletos de\",\"detail\":\"Esqueletos de\\nla ETA\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-386,\"y\":128,\"z\":-319,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"TRES DENTS\",\"detail\":\"TRES DENTS\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-108,\"y\":130,\"z\":-713,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Concrete maker\",\"detail\":\"Concrete maker\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-130,\"y\":128,\"z\":-121,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Old Lighthouse/\",\"detail\":\"Old Lighthouse/\\nEl viejo faro\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-725,\"y\":128,\"z\":-307,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"MANGLAR\",\"detail\":\"MANGLAR\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-117,\"y\":129,\"z\":-208,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Falling Block\",\"detail\":\"Falling Block\\nDuper\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":840,\"y\":60,\"z\":-951,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Blazing Hell\",\"detail\":\"Blazing Hell\\nFurnaces\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":2249,\"y\":128,\"z\":-257,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"BLACK SKELETON\",\"detail\":\"BLACK SKELETON\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":18398,\"y\":66,\"z\":-1747,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Wither Skeleton\",\"detail\":\"Wither Skeleton\\n(requires AFK in\\nnether roof)\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":240,\"y\":129,\"z\":-919,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"D10S\",\"detail\":\"D10S\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-1499,\"y\":25,\"z\":-1323,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"mine\",\"label\":\"No me GEODAs\",\"detail\":\"No me GEODAs\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-1325,\"y\":79,\"z\":-254,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"FLOREH, FLOREH\",\"detail\":\"FLOREH, FLOREH\\nQUEREMOH\\nFLOREH, FLOREH\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":16,\"y\":129,\"z\":-242,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"PORTAL\",\"label\":\"Cal Mame\",\"detail\":\"Cal Mame\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-1264,\"y\":61,\"z\":-495,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Oveja arco iris\",\"detail\":\"Oveja arco iris\\netérea de la\\nmuerte mortal\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-150,\"y\":63,\"z\":-840,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"location\",\"label\":\"Zenchi\",\"detail\":\"Zenchi\\nno Ki\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-1544,\"y\":135,\"z\":-5,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"El Castillo\",\"detail\":\"El Castillo\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":3316,\"y\":105,\"z\":-2349,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"location\",\"label\":\"Castillo Blinho\",\"detail\":\"Castillo Blinho\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-1148,\"y\":61,\"z\":-1413,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"PICKLE JOE\",\"detail\":\"PICKLE JOE\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-48,\"y\":129,\"z\":-191,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Esqueletos\",\"detail\":\"Esqueletos\\nde la ETA\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":72,\"y\":127,\"z\":-1969,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"poi\",\"label\":\"Cal Mame\",\"detail\":\"Cal Mame\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-9,\"y\":129,\"z\":12,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"To Slime\",\"detail\":\"To Slime\\nFactory Hole\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":174,\"y\":62,\"z\":-116,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"EverBlazing\",\"detail\":\"EverBlazing\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":20,\"y\":128,\"z\":13,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Smiley\",\"detail\":\"Smiley\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":22,\"y\":68,\"z\":-210,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"PORTAL\",\"label\":\"BOSQUE\",\"detail\":\"BOSQUE\\nVERDE\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-3092,\"y\":214,\"z\":-2548,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Tresdents\",\"detail\":\"Tresdents\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":304,\"y\":64,\"z\":-613,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Roof Hub\",\"detail\":\"Roof Hub\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-226,\"y\":130,\"z\":-80,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"SHALA\",\"detail\":\"SHALA\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":137,\"y\":129,\"z\":-87,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"PORTAL\",\"label\":\"PLAZA DEL AGUA\",\"detail\":\"PLAZA DEL AGUA\\nCON VISTAS AL\\nTENNIS\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-598,\"y\":3,\"z\":633,\"parentMap\":\"minecraft:the_end\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Ender pearls\",\"detail\":\"Ender pearls\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":848,\"y\":129,\"z\":-350,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Magma\",\"detail\":\"Magma\\nCream \\u0026 Block\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":104,\"y\":16,\"z\":-179,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"Location\",\"label\":\"COMPRO ORO\",\"detail\":\"COMPRO ORO\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":1501,\"y\":198,\"z\":30,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"MOB grinder\",\"detail\":\"MOB grinder\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":900,\"y\":66,\"z\":-1407,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Azalea\",\"detail\":\"Azalea\\n(and sticks,\\nmoss carpet, etc)\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-222,\"y\":64,\"z\":-731,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"location\",\"label\":\"Librarian\",\"detail\":\"Librarian\\nRefugee\\nCamp\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":18016,\"y\":90,\"z\":-2077,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"BLACK SKELETON\",\"detail\":\"BLACK SKELETON\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":158,\"y\":131,\"z\":-87,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Monkey D.\",\"detail\":\"Monkey D.\\nGarpdians\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":110,\"y\":129,\"z\":-174,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Azaleas Farm\",\"detail\":\"Azaleas Farm\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":1411,\"y\":58,\"z\":-688,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"location\",\"label\":\"HAPPY\",\"detail\":\"HAPPY\\nTREE\\nFRIENDS\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-6990,\"y\":98,\"z\":-1570,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"mine\",\"label\":\"Terracota\",\"detail\":\"Terracota\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":695,\"y\":65,\"z\":-902,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Iron-Iron\",\"detail\":\"Iron-Iron\\nno Mi\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-876,\"y\":128,\"z\":-196,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Terracota\",\"detail\":\"Terracota\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-3094,\"y\":191,\"z\":-2559,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"TRES DENTS\",\"detail\":\"TRES DENTS\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-76,\"y\":130,\"z\":149,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"SHULKER FARM\",\"detail\":\"SHULKER FARM\\n¡PUAGH!\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":153,\"y\":131,\"z\":296,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Magma Cube\",\"detail\":\"Magma Cube\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":256,\"y\":129,\"z\":-537,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Raid Farm\",\"detail\":\"Raid Farm\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":264,\"y\":129,\"z\":12,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Stronghold\",\"detail\":\"Stronghold\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":91,\"y\":130,\"z\":-118,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Iron and\",\"detail\":\"Iron and\\nfurnaces\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-207,\"y\":64,\"z\":-777,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Breeder\",\"detail\":\"Breeder\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":482,\"y\":130,\"z\":-116,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"CAL NIETO\",\"detail\":\"CAL NIETO\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-1723,\"y\":128,\"z\":-156,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"e6e37230-4ff0-45ff-9d42-afc1bda0e409\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"La garra\",\"detail\":\"La garra\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-8,\"y\":29,\"z\":-114,\"parentMap\":\"minecraft:the_end\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"factory\",\"label\":\"Beehave\",\"detail\":\"Beehave\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":-1335,\"y\":63,\"z\":-1224,\"parentMap\":\"minecraft:overworld\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"mine\",\"label\":\"DI\",\"detail\":\"DI\\nOLD\\nMINE\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}},{\"key\":{\"x\":147,\"y\":129,\"z\":294,\"parentMap\":\"minecraft:the_nether\"},\"playerId\":\"unknown\",\"frontText\":{\"prefix\":\"portal\",\"label\":\"Greenotes\",\"detail\":\"Greenotes\"},\"backText\":{\"label\":\"\",\"detail\":\"\"}}]"} ~~~
tpwalke2 commented 2 weeks ago

I'm back to my main dev computer after being on vacation and have been looking through the BlueMap API classes. Nothing obvious appears with respect to the min/max coordinates.

I've asked about this on the BlueMap discord server, however, to check my assumptions.

I'd like to understand your configuration a bit better in the meantime.

Do you have 2 separate nether map configurations? One for just the roof and one for the under roof?

elboletaire commented 2 weeks ago

Do you have 2 separate nether map configurations? One for just the roof and one for the under roof?

Yeah I do have two nether map configurations, was the only way I could think to have a proper render of the nether roof, while not occluding the "normal nether" render. You can access them here, in case it's useful:

https://minecraft.elboletaire.com/#grandline_the_nether_roof:32:0:-1:656:0:0:0:0:perspective https://minecraft.elboletaire.com/#grandline_the_nether:-48:0:-224:1500:0:0:0:0:perspective

tpwalke2 commented 2 weeks ago

Thanks! That is helpful,

It seems like the primary problem is that you want some markers to be visible on some maps, but not on others. Is that a valid summary?

If that is the case, I'll think about some other ways of making that available through the configuration.

elboletaire commented 2 weeks ago

It seems like the primary problem is that you want some markers to be visible on some maps, but not on others. Is that a valid summary?

Yes, I'd like to have only the markers of the visible bounds in my renders but, as I said yesterday, one of the renders is not loading any markers at all (the "normal nether" one).

If that is the case, I'll think about some other ways of making that available through the configuration.

If there's no other way, that may work. Maybe doing as bluemap, and having a config file for each map too? It could be quite redundant, but at the same time gives a lot of different configuration opportunities. You could be using multiverse and have totally different ways of adding markers to your maps.

edit: or better, a combo... continue using the BMSM-Core.json as the general file, and allow having config files per render.

tpwalke2 commented 1 day ago

@elboletaire, I asked in the BlueMap discord about whether the API offers the min/max settings and it doesn't. The author has tentative plans for updating the min/max config in the future to allow more flexibility and may include a method like isInsideRenderBounds(Vec3) in the API. But this is not guaranteed.

I'm not keen on adding the functionality to read the BlueMap config, since that would inevitably break when the BlueMap config is changed.

I would prefer to leave the min/max calculation up to BlueMap.

Instead of focusing on the min/max configuration, what do you think of a separate feature request where the config will only put certain marker types on certain maps (e.g. [portal] only shows on nether_roof)?

elboletaire commented 21 hours ago

Sounds like an alternative, considering the API does not support it.

BTW I can naswer rn but I won't be able for the next month (I'm about to take a plane. Just so you know in case you tag me again ;)