Hey everyone! It’s your friendly neighborhood red panda again. In this article, I’ll be diving into how CraftersMC works behind the scenes and what we do on the technical side of things.
Maintaining of Lux, our server software
Some of you might already know that since the server’s launch, we’ve been using our own fork of PowerNukkit (which itself is a fork of Nukkit) as the server software for CraftersMC. The server software we use was supposed to be maintained by the authors and public contributors, to leave us with less to work on the technical side of things, such as seamless new version support, and focus on content development.As time passed, development of PowerNukkit has slowed down and version updates started to delay, and finally not even arrive at all. At that point, we decided to get the strings in our hands, rename it (to Lux) and completely maintain it by ourselves. This obviously was not an easy feet, but we did many changes and improvements on the software to get it to a better condition and make updating it to newer versions easier and faster. Here is a brief list of what we've done:
- Added custom blocks
- Added custom items
- Added custom entities
- Added multi-version support
- Added entity, item and block tags for filtering/grouping them easily
- Added ability to send fake items (primarily used for Enchanted Blocks and items)
- Added a custom level format (called Wool - your islands are stored using it!)
- Added support for loading LevelDB worlds
- Implemented extended chunks (-64 to 320)
- Implemented 3D biomes
- Implemented functionality of some new version items and blocks (F.e. ability to type on back faces of signs)
- Cleaned up old legacy code
- Added a lot of new server events
- Switched to Java 17
- Switched to the new movement system
- Done a lot of bug fixes
- Refactored large parts of the code
- Achieved significant performance improvements
- Most importantly, nearly fully switched to CloudburstMC Protocol (more on this later)
- And more…
Here's a Gource visualization of Lux's development over the past 3 years:
Switching to CloudburstMC Protocol
Packets system PowerNukkit uses is Nukkit’s own implementation, and requires manual maintenance of every packet when there’s an update or a change. This makes multi-version support - and even just new version support - a headache. Unlike Nukkit’s implementation, CloudburstMC Protocol is a constantly-updated and maintained library. That’s why we’ve decided to switch to CloudburstMC’s library. As you can guess (or not?), it’s not as simple as it sounds. Below is a single commit containing some of these changes as an example, and there are many more like this one.As an example, Nukkit’s item packets use its internal
Item class, but CloudburstMC expects an ItemData object. Converting between them (especially with NBT) would kill performance, so we’re migrating all our NBT code to CloudburstMC’s format. It’s a big task (Nukkit’s CompoundTag is everywhere in Lux, SkyBlock, and the rest) so we’re rewriting all those parts. We started with block entities (chests, etc.) and it went off without a hitch; next up are entities. This process should have no runtime performance impact on the server.Enough nerd talk for today! For the stuff you’ve been waiting to see, I’m passing the mic to Phyruss. Cya!
Ahem, ahem. Okay, 3... 2... wait, is this thing on?
Hello y’all! Phyruss here. It’s actually been a lot of time since we’ve given you some new content spoilers. Today we’ll share some parts of what we’ve been working on for the past few months. But first, let’s talk about what we’ve done in the past.
Over the years, we’ve released many game updates. Our plan and priority was always “quality over quantity”, and we’re determined to keep that. Alongside this, we always preferred to add our own touch to the game contents, even if the base thing we’re working on is dependent on Hypixel SkyBlock.
Looking ahead, 2025 will be a big year for CraftersMC. Our approach to content drops will be changed, hopefully resulting in more frequent drops as you all have always wanted. We have cool contents planned for SkyBlock and beyond. First, let’s talk about SkyInvasion!
SkyInvasion
We announced SkyInvasion back in January. It was originally planned to be a small-sized temporary event that would reward players with participation rewards on SkyBlock.On the development side of things, we were hoping to get it ready alongside the 200th Year of SkyBlock. As we continued development, SkyInvasion started to feel more like a “tech demo” with more potential than we’ve predicted. We’ve worked with a lot of experimental things we’ve never done before. This kind of a multiplayer experience on Minecraft was never made before (as we’re aware of). We wanted it to have its own time and care in development and started focusing on the gameplay part more, possibly making it a persistent game experience with infinite roguelite gameplay.
Our priority while developing SkyInvasion was never to increase income or server population, but to create an enjoyable, high-quality game for everyone who plays it. As time passed, we decided it would be more plausible for both the community and us to work on some SkyBlock content we’ve planned before continuing working on SkyInvasion, and slowed things down on it. With a single developer working on the server, this would be the better approach.
We’ve noticed some of you saying, “skyinvasion isn’t real!” Actually, it is real, and we’ve been playing it extensively during development. While it’s not yet perfect or fully finished, it’s already fun. So, let’s talk about the gameplay!
SkyInvasion is a wave-based top-down view game where you try to slay as many mobs as you can, to be stronger.
As you level up, you choose new weapons, accessories, and perks. With a wide variety of items and perks, you can experience a different combat style each time you play. The game fits into a genre called “Bullet Heaven” — the opposite of a “Bullet Hell.”
SkyInvasion features a mostly automatic combat system: You automatically attack the nearest target using your weapons and accessories. The weapons and acessories are based on SkyBlock but have all been revamped to fit SkyInvasion’s gameplay style. Let’s check out some examples with actual gameplay footage!
One of the weapons in SkyInvasion is the Emerald Blade. Base attacks of it perform a sword hit, causing the target to bleed. Every 6 attacks, its special ability activates, throwing 8 blades that bounce off targets up to 3 times each.
And here's an accessory, Village Affinity Talisman. It grants a percentage chance to convert the mobs you kill to a villager decoys that distract the nearby mobs. The footage also features the Artisanal Shortbow, a straightforward yet effective weapon perfect for piercing, rapid shots.
Another weapon is the Ethereal Scythe. One of your favorite SkyBlock weapons, pretty much self-explanatory!
A different weapon, the Frozen Scythe, fires piercing frozen bolts. Its special ability fires a charged frozen bolt that explodes on impact with targets, dealing heavy area damage.
The footage also features the Experience Artifact, which stacks the XP orbs above the player. After stacking 3, the orbs get launched at the nearby enemies, causing explosions.
Rogue Sword is also featured in SkyInvasion. What would we do without it?
Its rapid base attacks grant a small movement speed boost for 1 second, and its special ability unleashes a shockwave that grants a significant movement speed increase to your entire team.
The footage also includes the Red Claw Artifact. When equipped, killing a mob spawns a claw that spins around you, dealing damage to nearby targets for 5 seconds. You can stack up to 5 spinning claws simultaneously.
As you level up and improve your gear, you progress through phases where mob variety and difficulty scale with your level. Along the way, you'll face challenges and quests presented by SkyBlock's Finest.
After the final phase, you face the episode’s boss. You need to defeat it to unlock the next episode. Each episode features unique mobs and different item types to choose from.
Episodes are set in SkyBlock worlds like Skyline Village, The Park, and Deep Caverns. Since the game isn’t a fully open-world experience, only select areas of these worlds are included in the gameplay.
All the footage you’ve seen highlights just a little parts of the game elements individually. Now imagine the chaos when they all come together in gameplay—this is what makes SkyInvasion truly exciting!
Almost forgot: Here's a mishap footage, a developer logs classic!
We’ll keep developing SkyInvasion and release it once it fully matches our vision. Stay tuned! And now, let’s dive into SkyBlock!
SkyBlock
We’ve made great progress on the upcoming contents planned for SkyBlock. While we can’t reveal everything just yet, we’re excited to share some footage with you!Here's a little friend that'll be arriving in SkyBlock with the next drop: Panda! It has three unique abilities depending on the rarity of it just like the other pets. More details on our little friend will be available with the update!
Here's another friendly thing that will take it's place in Skyline Village in the next drop! Packed with highly efficient items you’ll surely love, it’s almost ready to serve. The logistics crew is still working on getting its shelves set up and fully stocked.
As we’ve been teasing for some time, an intense cold has been creeping into SkyBlock…
That's all for now! We’re just getting started, and today was only a taste of what’s coming. Big things are on the horizon, and you won’t want to miss them. See you in the next one!