EliteMobs 7.3.4-SNAPSHOT-3, EliteStructures & more
Added 2021-07-12 03:23:46 +0000 UTCSo I've been quiet lately and you might've assumed that I have been hanging out at the beach, cool drink in hand, default dancing with my friends and spending all of my patreon money on supreme bricks to build my streamer house.
You fools! I've actually been locked away in my office for the past few weeks working on EliteMobs and EliteStructures (and learning Unity)!
I have just now released EliteMobs 7.3.4-SNAPSHOT-3. This introduces critical fixes for all of the Minecraft 1.17 and 1.17.1 issues, admin bypasses for soulbind, fixes a few other things but most of all it introduces the most complex and most invisible feature I have ever worked on: a new implementation for the configuration system.
I won't bore you with the details, and if you are actually interested in seeing how the code works it is as always available on GitHub, so I will condense it down here to a few words.
EliteMobs has a lot of configuration files. The past two updates have introduced two new configuration folders, and I plan on adding quite a bit more default content to the plugin by introducing what will hopefully be dozens of new random custom events using what I've been working on these past few updates.
This means that the configuration system for EliteMobs should ideally be fairly robust. However, it simply is not. Creating your own good configuration system is a rabbit hole with no end. It should handle errors no matter how they are presented, read often times complex data and interpret it as something valid and try to not lock up the entire plugin when something goes wrong.
To that end, I have spend around 50 hours working on a new configuration system that uses generic types and reflections to create something that can actually scale decently as the plugin grows. Of this new system, I will simply say that creating new configuration folders just went from an error-prone task that could take around 1 hour to fully do, to something that can be done in less than 5 minutes and is very hard to mess up. Additionally, all configurations using this new system come with built-in error handling, which will make everyone's life much easier. Finally, and no less important, it makes creating default files much, much easier - as a matter of fact, it is possible to create default files in under 15 seconds when using it.
This last one is really important as I have come to realize that the default EliteMobs experience has become a bit barren when compared to the Lairs and Minidungeons. I will be working on content that improves the overworld experience outside of Lairs and Dungeons as I work through Custom Events and Custom Quests, and this felt like the right time to try to approach this system.
Additionally, this system is also going to be used in the EliteStructures plugin 69OzCanOfBepis and I are working on. I think all players like the concept of structures in Minecraft - mineshafts, mansions, villages, temples - but for a game that is pushing 10 years, it has very few structures - about 20 in total, across all world types.
I believe that Minecraft should have enough buildings that it would be hard to find one of each even after a fairly long playtime. After a long talk with Bepis at 7:20 am, we came to the conclusion that it is something we can fix by working together.
To this end, we have begun working on a plugin that we are currently calling EliteStructures. First off, since this seems to be the first thing everyone assumes, this is not an EliteMobs extension. The first version of this plugin will not have any buildings that spawn Elites, and a few builds with temporary regional bosses will be introduced later into the development cycle.
The primary goal of EliteStructures is to simply introduce new structures to Minecraft. The way it is planned to work is to initially aim for 100 builds built in exactly the same style as vanilla Minecraft, in a way that feels like it belongs to the base game. This would be the base "vanilla" build pack in the plugin.
The next 100 builds are planned to be what we are calling "faithful" builds, where they are built in a style similar to Minecraft, but the builds look better (let's be honest, Mojang aren't exactly the best Minecraft builders). Since the concept for this pack is to have an augmented Minecraft experience, it would make sense to put EliteMobs compatibility in some of these builds.
Finally, after that, we will release thematic build packs. There are no specific plans yet, but we are planning to aim for things such as "gothic", "japanese", "steampunk" and so on for build pack themes.
Similar to EliteMobs, the base content will be free, the faithful pack will also be free, but some packages beyond those ~200 builds will be premium.
I don't think expanding here on the design document for the EliteStructures plugin would interest too many people, so I will simply state that this will be compatible with any world gen plugin, will be highly customizable (shares the same configuration system as EliteMobs). You will be able to create your own structures or modify existing structures at will and should be very, very light on performance requirements.
Finally, it is worth mentioning that I will be adding EliteStructures builds on Patreon first and then on the tester channels a week later before the first public release, under the $5 tier.
That's all I have for you for now, for those who read through this wall of text leave your thoughts on both what has been done and what I plan to do in the near future. I will be back very soon with more releases for you, this time far more visible ones.
- MagmaGuy
Comments
Busy, Busy, Busy! I definitely will be looking forward to the release of EliteStructures!
Adelando
2021-07-12 13:31:42 +0000 UTC