June 17, 2025
I guess everything that's left to do is manually enter products by their EAN codes
Added store info (address, city and a link to google maps) in a dropdown in the prices list table. Unfortunately it was not really easy to make only one dropdown at the same time (so opening a new one closes the previous one) and avoid choppy animations, it always looked bad and not consistent on different browsers.
A neat trick: letting map builders create the map on one server, then when it's ready, zip it up and unpack it into a fresh new folder every time the server is launched. This way, we have consistent restore just in case someone manages to break the map, and builders do not have to worry either because they work on the map on a completely separate server
Added the ability to filter stores based on selected location and distance
Finally managed to center elements while handling both cases if a scrollbar is visible or not, without exaggerating css transforms.
A neat trick for CSS: calc(100% - 100vw) on a full-width element equals the width of scrollbar, or zero if scrollbar is not visible
Also, docker works much better than systemd :)
Random image because I can't really showcase it better
Storing partially completed quests is so tricky
Implemented per-island challenges. Hope no bugs will come out of this
Implemented tracking block collections
Also learned that WorldGuard is not ideal for managing co-op mates permissions :(
The image shows how the island is saved inside MongoDB for now. It's important to keep it under 16 MiB, the BSON document limit
My completely different approach to decompiling Python code :) (CPython 3.9 for now)
Implemented the generating block and a protection system using WorldGuard regions. In the video the other player is a visitor and not a member of this island and he cannot pick items up from the ground. Today was easy and I'm satisfied with the progress so far :)
Finally done messing with concurrency and CompletableFutures to implement a safe island saving and loading system. It survived massive spam calling (stress testing). Thanks to FastAsyncWorldEdit for supporting asynchronous world operations like it's nothing!
A Minecraft plugin, for Paper servers, that implements the famous OneBlock minigame Not open source until I make it functional with basic gameplay mechanics
A website for listing and comparing prices published by Croatian stores, as required by local law since 15th May 2025. cijene = 'prices' in Croatian Note: you may want to translate the page to your language in your browser since it's all in Croatian
This was widely regarded as a great move by everyone.