Become a premium member to remove ads

CU Updates #43 - Durite 2.0, 1.19, Future Plans

1 post in this topic

Howdy, folks! Today is an exciting day for a couple reasons. Most immediately...


Durite 2.0

After being inaccessible since the 1.18 reset, Durite is finally obtainable again - with some changes. While the original Durite was cool - it needed some refinements before its return.


Previously, Durite was found in craters placed on the surface of the overworld. This was in large part because at the time, we had no way to reliably hook into world generation. This was fine for the most part, but had a couple critical issues:

  • Craters had to be hand-placed by Moderators or Admins, resulting in an uneven distribution of the ore
  • With all craters on the surface, it was easy for Donators to fly around the world, collecting the majority of available Durite


Obviously, this had to be changed. Initially there was consideration to placing Durite underground in the overworld, but as part of discussions for both RPG and from a pure gameplay standpoint, the decision was made to have it generate as a normal ore - in the End.


Now, Durite is generated automatically with the world. Some of it will be visible on the surface if you're lucky - but the majority of it is buried within the End Stone itself. With it being naturally generating (and generating underground), there shouldn't be any more issues with players being able to have a monopoly on Durite. And for those of you with WorldEdit - don't even bother trying. The custom blocks don't play nicely with WorldEdit and you'll end up turning them into Note Blocks.


But wait, what? What do Note Blocks have to do with Durite? Well - that's where we get into why this whole thing took so long. Before we get into that, however, there are a couple other changes with Durite that you'll run into:

  • The /durite extrabreak command is no longer functional - instead, extra-break is now per-item. You can toggle it for a specific tool by holding that tool in your hand, and then right-clicking while sneaking
  • Durite Hoppers are no longer craftable or usable, due to limited interest (old world had exactly 0 hoppers :lmao:)
  • Most Durite item textures have been given a minor facelift


And with that, let's move on to those Note Blocks - and why you'll notice that Durite Blocks and Ore now have actual block textures now.


The Quest for Custom Blocks - CUCraftingPlus

The idea of having custom blocks was discussed as far back as when the original Durite was created. Back then, we didn't know of any method to do this - and so we settled for having particle effects on an existing block in order to distinguish them.


However, as it turns out, there was always a way to have custom blocks - with custom textures. Not only that, but they'd work without OptiFine. In fact, it turned out that not even the items needed to use OptiFine. We learned about the CustomModelData NBT tag.


This NBT tag is why that as of v2.0.0 of the resource pack, OptiFine isn't needed at all - excluding custom armor and elytra. This tag has been around for quite some time, and is able to do everything that the old OptiFine CIT method could - but better. Now, we dont have to hamfist ugly lore tags into an item for it to have a specific function or appearance. Custom items can be fully masked, and display as genuinely unique items. The only giveaway is if you have debug tooltips enabled, you can see the real material underneath. Other than that - nothing. It may as well be a real item.


However, that's only half the story. The biggest breakthrough was custom blocks - using Note Blocks. It turns out, you can override many block models based on specific states. Any block which has extra metadata for things such as orientation, powered/unpowered, and so on can be overridden - including Note Blocks. You can override the block model based on any combination of instrument and note - giving us around 400 possible custom blocks we can create. If we really wanted to, we could override based on redstone power state as well to get 800, but this didn't really play nicely from the technical aspect of things - so we settled at 400. This should be more than sufficient, as we also introduced another type of custom block we can create, all based around item frames. Since we can specify the position of a model when placed in an item frame - and since we can now have invisible item frames - we can use this as an alternative custom block method for cases where we might want transparent blocks.


All of this knowledge resulted in CUCraftingPlus - a plugin that actually started off based on a very different approach for custom blocks, but evolved into a plugin that acts as the single home for all custom content going forward. This plugin was designed to make adding new content as easy as possible. That way, when an idea strikes - once we decide whether or not it's a solid addition, the process of introducing it is quick and painless. Creating this surrounding infrastructure is part of why this took so long - while I was spending a lot of time trying to piece my finances back together after losing Dad last August, all while also managing a job and dealing with the continuous background stress of knowing that money is uncomfortably tight - getting this massive system for managing custom content just wasn't something that was going to come easy.


But now, outside of any bugfixes that will inevitably have to happen now that the plugin is out in the wild, it's done. It's ready for use - and as such, adding new content in the future should be relatively painless.



The plugin does have a few limitations that are virtually unavoidable - this pretty much only impacts donators as they have to do with WorldEdit and item spawning respectively.


First off - none of the custom items will be spawnable. Not even by Chaotic. This is because tracking custom blocks/items is a lot more challenging than normal blocks (which itself has its own troubles). Additionally, not all of the items that have been setup through CUCraftingPlus are intended to be public. In fact, most of what CUCraftingPlus is aware of isn't public. Almost every custom item the server has had thus far - Durite, MagicStuff, etc - are present, though in some cases without full functionality. We wanted to make sure everything was accounted for initially as, in time, we'd like to start bringing some of this content back. Plus, with the continued work on RPG, many of those items will be only obtained via quests - so being able to spawn them in kind of defeats the purpose.


Additionally - as I hinted at before, WorldEdit fundamentally breaks custom blocks. There is a potential solution to this - and could end up being a requirement depending on if any bug reports come in - but part of how the plugin was designed was to minimize the amount of data we have to store. For most custom blocks, the only data stored is within the state of the Note Block itself. WorldEdit will cause the instrument to change as the material below it changes - and as such, the block will effectively change its material - permanently. Even with the aforementioned potential solution, copy/pasting custom blocks would remain impossible.


This should not happen during normal gameplay - if it does, you should report it as a bug ASAP so that I can get it fixed (and give you back the proper materials).


1.19 Survival/Semi-Vanilla Reset

Just a quick note on 1.19 - at this time, we do not plan to do a world reset after the update happens. Instead, we'll be expanding the world border to allow for discovery of new terrain. Our current worlds haven't had quite enough time in the limelight, and we really don't want to make a habit of resetting so often.


The Future

The future overall looks quite bright. We feel that this is a strong first step towards the future of the Minecraft server - and that as we continue to grow our custom content offerings, it'll help us finally have a reason to stand out in an ocean of other servers.


Keep your eyes and ears peeled for new additions as the year goes on. For now - have fun with Durite again! As per usual with any new feature, if you run into any issues (particularly cases where custom blocks lose their identity), let me know as soon as possible!

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now