FloorIsLava Minecraft Plugin banner

FloorIsLava Minecraft Plugin

2 devlogs
10h 58m 7s

A simple survival game where lava gradually rises over time in Minecraft.

Features:
Singleplayer and Multiplayer Support
Bossbar Countdown: A bossbar is generated for the grace period and the time it takes for lava to rise.
Match Saving: If …

A simple survival game where lava gradually rises over time in Minecraft.

Features:
Singleplayer and Multiplayer Support
Bossbar Countdown: A bossbar is generated for the grace period and the time it takes for lava to rise.
Match Saving: If the server stops or the plugin gets disabled, the match will be saved and can be loaded using /fl load.
Customizable Settings: Adjust the speed, block type, and rise amount at which the lava rises to suit your difficulty.

Demo Repository

Loading README...

james

Apparently, I released two versions of the plugin that were just completely unplayable 🥲. The main issues were the grace period progress and border reduction. When I playtested with friends, the border wasn’t working. So I worked on fixing it by tweaking the TimeUnits in 26 and in 1.21. However, I didn’t really playtest after that because I was more concerned about the world border not behaving. Instead, I forgot to manage when the border reduction should be triggered at the three possible instances: after game start (if no grace period), after the grace period, or after game load (if no grace period). The main issue was after the grace period, since I changed how the progress was calculated every tick. But instead of handling it in intervals of seconds as intended, I set it to minutes because I forgot to look at my config and how I set it up 💀. Additionally, I had to fix how player deaths were triggered because the grace period used to track progress as a percent, but now it tracks by the ticks that have passed. But finally, the world border wasn’t running because I left the runnable to be async. In order for the size to change, it must be on the main thread. In other words, I made very careless mistakes in my code and didn’t just do quick playtests when I had time. But I do have to say, Minecraft 26 is a pain in the ass because of how the border works. I could run the border async in 1.21 for some reason, which is why I didn’t notice it at first. It should work now! And if it doesn’t, I’m rewriting the whole code 🫩

Attachment
0
james

Optimized the asynchronous block placements into chunks (4 seperate sections of the block layer should be rendered at the same time)
Border Reduction (This was annoying because Minecraft 26+ broke border expansions & reductions / lowkey spent hours trying to find out why the border wasn’t moving on the new versions 🥲)
Added Fireworks + Sound Effects (Makes the game more engaging with stakes)
Replaced event messages with titles (More visible!)
Smoother bossbars (Each is changed in one tick intervals instead of 20)
Squashed some bugs 🐛 (Mainly titles being repeated and tick events continuing even when the game was over)

In other words, some quality of life changes. I mainly took feedback from YouTube videos that used my plugin.

Attachment
0