Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POI support for DynMap #320

Closed
sshipway opened this issue Oct 9, 2015 · 11 comments
Closed

POI support for DynMap #320

sshipway opened this issue Oct 9, 2015 · 11 comments

Comments

@sshipway
Copy link
Contributor

sshipway commented Oct 9, 2015

I'm working on extending the genpoi support. A --naked flag to output only the POI definitions (and not the surrounding configuration code); also a --dynmap flag to output in the correct formay for the Bukkit 'DynMap' plugin.

The difference is pretty small - Dynmap uses a JSON format rather than python - but they both need the same data. We're using DynMap on the family server here so it's useful, and since we're already suporting regions format for WorldGuard under Bukkit it makes sense to add this one.

I have a working code at the moment but it needs to be tidied up before I can submit a pull request.

@JiFish
Copy link
Collaborator

JiFish commented Oct 9, 2015

Is this a continuation of #305?

@sshipway
Copy link
Contributor Author

sshipway commented Oct 9, 2015

D'oh! Yes, it is. I'd completely forgotten about that post from back in August and had come up with the need to do this independently. Anyway, I have a rough patch for this now, but just need to tidy it up for a pull request (and probably synch my repo here with the current dev trunk as well)

@JiFish
Copy link
Collaborator

JiFish commented Nov 3, 2015

When you add the pull request, I'll make it a milestone.

@sshipway
Copy link
Contributor Author

sshipway commented Nov 3, 2015

I just haven't been able to find any time to work on this for weeks. It's not a big change but I need to synch my dev environment to the current dev branch before sending a pull request, and tidy it up. Hopefully this week :(

@JiFish
Copy link
Collaborator

JiFish commented Nov 3, 2015

I wouldn't hurry yourself. I doubt this will be ready for some time.

@sshipway
Copy link
Contributor Author

After a think, I feel the best way to handle this is with a Dynmap Bukkit plugin, rather than MCDungeon exporting to a static config file.

It should be relatively easy to make a Bukkit plugin that interfaces with the Dynmap API, and on startup, loads in the MCDungeon cache and updates the Markerset. I'm having a go at doing this now.

Whether or not you'd want to distribute the Bukkit plugin with MCDungeon, or as a separate linked project, is up to you (and of course, it assumes that I ever get to finish it ... )

@sshipway
Copy link
Contributor Author

... the mcdungeon Dungeon cache file format is the most awkward I have ever tried to read. Reading this from Java... pickled NBT inside objects in lists in hashes in a pickle file...

Sob... why couldn't you have used YAML ... :(

@orphu
Copy link
Owner

orphu commented Feb 24, 2016

Yeah, sorry. Too lazy to write a dumper and parser from YAML to the internal NBT object format. Didn't design for external access. :)

@sshipway
Copy link
Contributor Author

My first attempt at a Bukkit plugin!
http://dev.bukkit.org/bukkit-plugins/dynmap-mcdungeon/
This exposes MCDungeon objects as markers in Dynmap; an easier way to manage than exporting to a config file. SOurce code available here: https://github.com/sshipway/dynmap-mcdungeon

Yeah, parsing Pickle files is painful, especially when they have non-base types in them. I had to hook in the Jython library to do it in the end adding 30+MB to the 14K plugin size! Still, it works, and I now have all MCDungeon dungeons appearing via Dynmap (no treasure hunts yet, they're even harder to unpickle)

@orphu
Copy link
Owner

orphu commented Feb 25, 2016

Neat!

@JiFish
Copy link
Collaborator

JiFish commented Mar 3, 2017

Closing as dupe of #305

@JiFish JiFish closed this as completed Mar 3, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants