Activity

Nuan

That was a productive 10-hour session!
First off, I finally added compatibility for players leaving while a game is running. It was a bit of a headache, but the system handles it smoothly now without breaking the game flow. It works by adding the Hearts of the Left Player to another player of his team. Once that was stable, I dove back into the snowball physics. I’ve optimized the drops so they actually reflect off surfaces they hit and you can now hit other snowballs that are dropped to push them away.
Also now, when you get hit, you’re reset to one of three specific respawn positions, these switch after each hit shown by the redstone lamps. For the teams, I’ve made sure dead players are moved to a completely different section of the arena so they’re separated from the spectators. I even added dedicated tunnels so teammates can head straight back toward the field.
Additionally there is now a bell at the back of each side. You can’t get closer than 5 blocks to it, but if a player manages to snip it with a snowball, that team automatically loses. I might make it even harder to hit later.
It’s all coming together way faster than I expected. Yeey!

0
Nuan

That was a massive amount of work, but the plugin is now completely translated! Everything from titles and chat messages down to item names is covered—well, except for some upcoming features, of course.
Once that milestone was checked off, I sat down to map out the ‘must-haves’ for the first release. Honestly? I’m still a bit skeptical if the Web Dashboard is going to make the cut. Anyways, I also gave the Tie-Breaker a much-needed rework, and guess what? It actually works now!
I also finally finished the automatic map switch system, so the maps can now change by command.
On top of some general bug fixing, the Bonus Snowball system now uses a dropper to dispense items. It feels way cooler than just having them magically spawn in. Yeey!

Attachment
0
Nuan

Well, like always, these 10 hours went by like nothing. So, what did I actually do? Multilanguage signs now work - I hope. It took quite a bit of trying around, but now it’s functional. It works by intercepting the sign packets sent to players and translating them on the fly.

I also wrote the helper classes for the implementation of translated messages in the chat, titles, and bossbars. So now it’s just the “writing work” left, which I’ve already started, by the way.

In the process, I fixed up my commands because they were honestly just a mess. Every command now has proper checks with error messages, and the team command now allows for adding random teams. Yeey.

Attachment
1

Comments

oggythebuilder01

THATS AMAZING

Nuan

Wow, the last few hours went by fast! Here’s what I’ve been up to:

First of all, all relevant game data is now managed via Redis (yeey!). This is huge because the dashboard will be able to easily access everything in real-time (dashboard coming soon).

I also moved permanent player data over to PostgreSQL. For now, only the player’s language is saved, but that’s the backbone for the new Multi-language Feature. It’s currently just English and German, but once it’s fully integrated, adding more languages will be a breeze. (And for video recordings and the later demo, English will definitely be available!)

But before that, I need to figure out how to handle Multi-language Signs – I’m sure AI will definitely find some ways, but more on that to follow!

Attachment
Attachment
0
Nuan

Sooo, we now have cool signs that show the state of the gates, and side-specific control of the gates. That was actually quite a lot of work, especially because there was a bug I just couldn’t figure out. But now it’s fixed, it works, and I’m happy ^_^. Then I added Bezel as a monitoring tool, nothing fancy, just to see what I maybe shouldn’t do. After I cleaned up my code a bit again, I began testing a method of centralizing the game data so the dashboard can also access it. I decided on a Redis DB and PostgreSQL. Then I wrote - with a bit too many tips from AI - a fancy helper class to make access and saving as easy and performant as I could. And it seems it works!

0
Nuan

That were some 10 hours of work. My first job is getting this Plugin clean, working effectively and reliably. So I almost rewrote the entire main class. Removing doubled code, making code easier to follow and understand and also making my 600 lined main class smaller by putting code in more smaller classes. Also I added well needed testing features. Like a better team managing cmd and a hard reset cmd etc. Also some new features where added the gates are now unlocked and opened by pressure plates to prevent plays from being locked inside, and there’s now a way bigger arena because the other one just was too small and couldn’t house that big teams, the rebuild of the arena is still work in progress and will be continued later. I also started writing all my messages in yml files and translating them to make this plugin German and English, so all hackclub users can understand the plugin.

Attachment
Attachment
0
Nuan

Soo, I’m setting up the basics for my projects. I created a container for my Minecraft Server on my server. I made a workspace in vs code with the three parts of my projects separate from each other (fronted, backend, minecraft-plugin). Then I set up a test project for NestJS and tested Redis. And then the big work began. I dug up my 2 year old snowballmatch plugin and started upgrading it to version 1.21.11 and on the way actually punched out some bugs (because they were pretty annoying). Now the Countdown System works kinda probably. But there’s still a long way till I get this thing running without problems.

Attachment
Attachment
0