June 16, 2025
Updated the ChannelBuilder system to not rely on Bukkit bc Im trying to make it platform agnostic. Its a whole parameterized mess but itll get the job done. Added the bukkit adventure adapter so I can support spigot and bukkit while allowing for adventure components to be sent to players. Updated README.md, and did other misc. work.
Finished the project. input is parsed into Tokens, and tokens are used to calculate the result.
Basic functionality is working, but only accepts single digit numbers and is kind of finicky.
A basic calculator to help me learn C. Reads input into Tokens, which are then used to calculate the result. I have experience with Java, so this has been a pretty good way for me to do some coding thats not OOP AI lightly used to help me learn the nuances of C. Ive seen how the static analysis is pretty poor as compared to a Java project
Published the project to maven central, though not all planned things are added, its in a workable state.
Though the framework is not quite complete yet, moved over the /strings command to my new command framework (https://summer.hackclub.com/projects/7178). Shouldn't break as I continue to flesh out the framework.
Lots of work (I don't remember all bc this was over multiple days), but one of the things I did was start moving the API to be more platform agnostic so maybe I can implement this plugin on Fabric, & changing the bukkit implementation to work with the more platform agnostic API. Still a WIP in that regard.
Implemented an Exception that can show the path the CommandTree took to the exception node-wise like ROOT/join/silent. Wrote a Junit test to test it and it works.
Did some more work and changed stuff to get rid of some design flaws. Still a lot to be done, but this is starting to take shape. Updated command construction attatched
Most of the foundations are here, wrote a builder class, wrote a node implementation & wrote a test.
A command framework for my Minecraft plugins. Models Commands like Trees, similar to Brigadier, but simple and works for all Bukkit derivatives.
Did some documentation, minor changes to code. Ready to ship.
The improved renderer still needs a lot of work, but I'm going to save that for next ship. Did some work, renamed the browser to Karatasi (meaning paper in Swahili), and preparing to ship.
Small fixes
I'll probably update this project further later on, but this is ready for an initial ship. The enchantment is available through enchantment tables for both books & harnesses, and varies based on how many shelves you have.
Worked on the /ghasts command. Still need to implement higher args amounts, but making progress. The plugin may be ready to ship in the next devlog
Finished the enchantment configuration. Decided supporting reloads wouldn't make sense bc Minecraft registries cannot be modified at runtime, which would allow for a weird state where Minecraft and the plugin think different enchantments exist
Added the enchantment in game, implemented the speed boosts. Need to program the reload command and a few other minor things.
Minecraft Happy Ghasts are slow. This plugin allows enchanting harnesses in Minecraft to increase their speed & allows setting default riding & idle speeds. Might add more enchantments too.
Did some basic refactoring, including setting the new SimpleRenderer background to white instead of gray. Eventually I'll try to set background colors based off page CSS.
This doesn't look pretty but it's some progress. I added (working for the most part) hyperlinks. I did some more work with scrolling-now you cant scroll down forever, and you cant scroll over the top of the page. I need to work on making all Components render at their fullsize no matter the window size, in the screenshot they're still not even in their full size.
Spent a lot of time working on a second way of rendering things, which would make the browser much more usable. Wrote some renderers for certain elements. Panels, which is what all page content is displayed arent scrollable normally, so thats been a problem. Ive worked on making a scrollable version, and Ive got something going so far. Its not perfect, but its a start.
Got the config editor working fully, file saving, loading & all. Had to fix some issues with the Configuration class.
Finished most config implementation, still need to write the editor for it though. Moved logic for the back and forward buttons in the toolbar to a separate class to declutter the Screen class, probably going to move more things out of the Screen class too.
Started work on making a configuration, which will be editable in the browser. Worked on writing classes for it, and started on the file itself.
Wrote some more Handlers for files stored in the JAR. Not much to see really.
Implemented different Handlers for filetypes over the web, and added HTML support for files that are stored on the jar. Made the home page be one thats on the jar locally, so it can still load w/o internet
Did some refactoring with pages, added html support for jar files, working on moving over to a new system so less sites are blocked from loading by cloudflare
Among other things, reworked loading documents and added a way to load files that are stored in the jar, with jar:/ just like https://. Planning on adding file:/ to browse local files next. Also started reworking error page loading, so I wrote a new Exception that all Destinations will throw if they can't be loaded.
Worked on various things, including a way to size images based off window size.
Messed around with the ASCII image library, figured out sizing, might look at adding small images to webpages. For now, if a user enters an address to a image file the ASCII image converter will be used.
Tried adding image rendering w/ an ASCII image generator lib I found on GitHub, but the images were too large. Might make it so that the generator is used if you enter a link to an actual image. Added true element nesting w/ recursion, and I worked on changing some specific elements so it works better w/ the nesting & boxing.
Moved page loading to a different thread so the whole application doesnt hang if a website is slow or not responding, added a Loading Page with a progress bar.
Added a specific page for 404 errors, got an ASCII text generator library for heading tags
Various small changes, added full boxing around text elements like , , etc. Need to work on nesting now
Fixed image tags, added link rendering, other work, attempted to add a progress bar but the page loads too fast
Did some additional formatting work, got to implement formatting for more tag types, and figure out nesting
Worked on implementing the PrimitiveTextBoxRenderer - a solely text based renderer, so I can better understand jsoup. Formatting doesnt really work right now. Also wrote a html page on my website to act as the landing page when you launch the application
Worked on an error message page, updated code for the main browser screen
Worked on a main browser page, wrote a tool bar and just setup the web page so it would print out the html code, no processing
Did some work with message dialogs
Worked w/ Maven so I can compile & test outside of my IDE, changed a few things for the url entry UI, and wrote a method to normalize urls so more urls wont throw exceptions
Worked on taking the input from the text input page and processing it, for now just printing it out.
Wrote initial code, getting to understand the Laterna library
A terminal-based web browser, written with Java, using Lanterna & Jsoup. Settings configurable in-browser. To be added: Local file browsing Basic text editing Audio playing (maybe)
Initial work, start working on manager classes, User classes, project setup, etc.
Lightweight version of my main chat plugin, Strings stripped down to the more basic features.
Refactored some Logging things & commands
https://github.com/Wiicart/Strings/commit/57ac990ce99513c42443aa7317d65d37f8712503
Rewrote the ChannelFileReader, which reads all Channels from channels.yml, for improved logic flow, cleaner code.
https://github.com/Wiicart/Strings/commit/f711959f54ab43224b7d4d34a23a6371c2304698
This was widely regarded as a great move by everyone.