Poster on map plugin minecraft3/21/2024 But the main server thread should be blocked for as little time as possible. Real maps are generated on the main server thread as they need access to the block grid to generate the default vanilla map. Therefore, it is crucial to solve this problem, to be able to use maps without having to think about the incurred cost of ID exhaustion. Once all IDs are spent, existing maps will just be overridden, colliding with real, player-created maps that cannot just be regenerated. This holds to be especially true, when it comes to individual displays, that only some players can see. Although the ID is now using an integer, if they are regularly used for dynamic things like HUDs, they will be quickly consumed. That leads to quick exhaustion of the available IDs. Permitted players would then see those zones on any map they would look at.īecause this post is more about the design of our new API than about the downsides of the Bukkit API, I'll only briefly explain each of the factors, sometimes simplifying the underlying problem and grouping related problems together.Įvery time a new map view is allocated, a new map ID is allocated, regardless of whether it is used. It allowed you to select zones and mark them with color. This particular screenshot is from a plugin called "Map Marker", which I released as a premium plugin in 2016. One of the few use cases that are covered by the Bukkit API for maps. While there can be many additional factors, that may be problematic, we've compiled a list of all the reasons, why we could not just use the Bukkit API and what we considered during the design of our own API for maps. So to properly implement our own API, we first needed to get an overview of the exact problems associated with the current solution, so that we won't end up with the same flaws. Anything that involves the artificial generation of maps, using them for dedicated displays, scoreboards, textures, or about anything else, that is not just some "enhanced markers" on the default vanilla map. There are a few aspects that make the API unnecessarily hard to use, limited, and – generally speaking – unfit for anything that is not based on the initial purpose of maps. The Problems with the Bukkit Map APIīukkit's API regarding maps is very shallow. So while maps initially look like an easy way to implement flexible textures and interactive displays within Minecraft, we sadly came to realize, that it won't be quite as easy, as it seems. This means that maps can now be used as HUDs and overlays, which otherwise would not be possible. The Invisible tag does not only reduce the offset from the attached face of the block but also allows to let the block face look through in transparent areas of the map. The introduction of the Invisible entity tag and the use of transparency within the image lifted maps to a whole new level and made it almost mandatory to utilize them in some way or another. With Minecraft 1.16 they became even better. They offer a canvas of 128x128 pixels that can be flexibly drawn and changed as often as desired. One of the best ways to display a huge amount of data inside of Minecraft within very limited spaces is using maps. Although they are static, there are still many advantages in using our map API for more control over how the content is rendered, when it is sent, and how it can be interacted with. 23 min read The "MISSING" posters on the hub server of JustChunks are one of the many use cases for our new map API.
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |