Comments (10)
The problem with this approach is that Dynmap needs to check whether the tile-file exists every player-move (this is somewhere around 30 times per second). When the world is already fully generated, this 'tile-checking' would be all for nothing and will only cost diskio. I could add this as an option in configuration.txt, but I won't enable it by default.
The plan I had was to support CHUNK_GENERATE event from Bukkit. This makes it possible for Dynmap to render chunks that were just generated in the world. After a full-render with Dynmap, all generated chunks are rendered. When a player walks to a new area, new chunks will be generated and thereby will also be rendered.
from dynmap.
So Bukkit has a CHUCK_GENERATE event? Problem solved then? :)
What (I think) Nima304 meant was of course to render chunks when they are created, not necessarily when you touch them for the first time.
Edit: And sorry for the -1 vote, that's a github bug :)
from dynmap.
Frozen, what about searching in the background for unrendered chunks? Is there any way to be able to do that? I tried a full render a few days ago, and I found that although it did render large parts of the map, a few parts were left unrendered.
from dynmap.
Well, I could also hook CHUNK_LOADED or something. That's being called when a chunk is loaded (or loaded after being generated). Maybe just make a list of hooks in the configuration where you can enable/disable all the different hooks. When you have no hooks enabled in the list, you have disabled runtime-rendering altogether.
from dynmap.
That would be great, actually. Making it more configurable is always better. Probably better to have them disabled on default, though, unless you're going to change the priority of the processes to low.
from dynmap.
I upvoted but not sure GitHub took it. But I too would love this, rendering on load or generation seems to fit the bill.
from dynmap.
Nima304: That would be a waste of resources imo. If you just render chunks the first time they're created, and then update them whenever they're changed, it shouldn't be necessary to keep searching for unrendered chunks.
from dynmap.
Yes, for most things it is a waste of resources once CHUNK_GENERATED is implemented. Though there are some cases where you want to have the option. When there is a forest fire, some people want to keep that up-to-date all the time. Others don't want to overload their server for things like that. That's why I'm still allowing people to choose their render-triggers... (it's also handy for me, because PLAYER_MOVE trigger is a nice way to test heavy rendering).
from dynmap.
We've finally gotten a good CHUNK_GENERATED hook from Bukkit, and we've provided the corresponding render triggers, as of 0.19 (along with optional triggers for other block-altering events, like leaves fading, snow/ice forming, and the like). The new default triggers should do a good job of organically growing a map, without requiring fullrenders for maintenance.
from dynmap.
This is completed, per our intentions - please reopen if there are more comments or items to discuss
from dynmap.
Related Issues (20)
- Option to follow a player HOT 2
- Some chunks not generating? HOT 3
- Ability to add Images/Links to markers HOT 1
- I can't make the Dynmap URL work HOT 1
- Support 1.20.5 HOT 3
- Swapping world make the game crash HOT 1
- Request for a wrong Fabric version HOT 1
- Dynmap Empty when zoomed out. HOT 6
- 'Zhoosh' up the login page HOT 2
- Failed to load resources across mods HOT 1
- Support `unix_socket` authentication and passwordless HOT 1
- Random blocks as black splotches HOT 4
- [Help requested] Some UI similar to maps.fmdx.pl HOT 1
- Feature Request: Add several new icon options to the list.
- dynmap doesn`t listen port
- NeoForge Support 1.20.x/1.21.x ?
- Dynmap fails to load under Spigot 1.21 HOT 2
- Jenkins builds? HOT 6
- Head overlay is improperly merged if there are semi-translucent pixels
- Error loading js/chatbox.js
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dynmap.