Random Chitchat 2012-2016
Converted the MACROS in ManualBindings.cpp to templates, this allows placing breakpoints and automagic declaration of functionsBig Grin yay~
I feel like I'm finally getting the hang of templates
Thanks given by:
Nice! Finally the code is getting pretty again. I knew it could be done with templates, but was too lazy to try do it myself. Congratulations.
Thanks given by:
I'm currently busy with another side-project to MCServer. It's called BiomeVisualiser, and you can quite guess what it will do Smile
It will be a cross between Minutor and AMIDST. It will be able to display a map of biomes either as generated by MCServer generators or as stored in an Anvil world. Since it is a GUI app, I'm not planning on writing it cross-platform, it will be Windows-only.
Thanks given by:
Sad Why don't you just use a GUI toolkit that works cross-platform, like QT?
Thanks given by:
Because why bother? I'll be the only one using this tool regularly, anyway. Using a toolkit would mean I'd first have to learn that, that's too much of an investment for a minor task like this.
Thanks given by:
So, I'd like to add a few things to the API, so that plugins can be made more powerful. For starters, I think some generator injecting could be useful, so that plugins may enhance the generated world using the OnChunkGenerating() or OnChunkGenerated() hooks. But for that to work, two things are essential:
- cChunkDesc must be able to have a cBlockArea written to it
- cBlockArea needs file IO, so that "models" can be loaded and saved from files
Also, useful stuff:
- cBlockArea:Crop() to crop along either of the axes
- cBlockArea:Expand() to expand itself in either of the axes
- cBlockArea:RotateCW() and RotateCCW() to rotate by 90 degrees along the vertical axis
- cBlockArea:MirrorX(), MirrorY(), MirrorZ() to mirror by the specified axis

I started by cBlockArea:Crop(), just to get the feel of the things. And I discovered quite a nasty bug in cBlockArea::MakeIndex that could have caused weird memory overwrite bugs.
Thanks given by:
Whew, .schematic file support was a pain. But it's half-done now. Loading works and is also exported as an API to the plugins as the cBlockArea:LoadFromSchematicFile() function.

One thing I've noticed, though - if there are many block changes per chunk (hundreds), MineCraft really stops to a crawl if we send it via a MultiBlockChange packet. We should probably detect this and send the entire chunk anew instead. I tried inserting a 200x170x200 block schematic and the client just froze, I had to kill it.
Thanks given by:
Writing .schematic files is done.
Note, though, that only block types and block metas are saved. Neither then Entities nor the BlockEntities (or in schematic-speak, TileEntities) are saved, meaning that signs will be blank, chest will lose their contents etc. I don't think I'll be adding support for that anytime soon, unless there's an uproar of plugin authors wanting to use it.
Thanks given by:
I thought about making a plugin for saving, loading and pasting areas myself :-D but this is so much better! I'll look into this, could be fun to mess around, making wells and towers and whatsoever :-) as soon as I'm back from Moscow
Thanks given by:
My laptop died Sad

Three years ago it got soaked in some rain, and today it realized? So slowTongue

Still, couldn't have come at a worse time. I'm at home on a sick leave and was using the laptop in bed; well, not anymore. And tomorrow I'm going to visit my parents, five hours on a train, and instead of coding MCServer I'll have to find something else to do. And we cannot play minecraft together with my wife now Sad
Thanks given by:




Users browsing this thread: 6 Guest(s)