Stats

9
Projects
89
Devlogs
138
Votes
7
Ships

Coding Time

All Time: 198h 5m
Today: 0h 0m

Member Since

June 16, 2025

Badges

2
🚢
Maiden Voyage
you shipped your first project! the journey begins...
Ballot Stuffer
vote 100 times.

Projects

9
Fonts

Fonts

Shipped
3 devlogs • 14 days ago
🚀
0 devlogs • 24 days ago
C Calculator
2 devlogs • about 2 months ago
NameColor

NameColor

Shipped
2 devlogs • 2 months ago
CartCommands Framework
6 devlogs • 2 months ago
Enchanted Happy Ghast Harnesses
5 devlogs • 2 months ago
Karatasi | Command Line Web Browser
28 devlogs • 3 months ago
🚀
1 devlog • 3 months ago
Strings

Strings

Shipped
42 devlogs • 3 months ago

Activity

Chris
Chris worked on Strings
8m • 9 days ago

This devlog is work I did upading the DiscordSRV project to support my plugin. I wrote a hook that hooks in to Strings, and allows the Channel system to work with Strings.

PR open here https://github.com/DiscordSRV/DiscordSRV/pull/1831

Update attachment
Chris
Chris worked on Strings
2h 22m • 10 days ago

I didn't realize how messed up the maven structure was, so I went in and fixed that, added some things to support DiscordSRV and fixed some bugs. I also set up a maven repo so its not a pain to import the api to external projects, hosted on aws s3

Update attachment
Earned sticker
Chris
Chris worked on Strings
2h 8m • 10 days ago

Wrapped up the main functionality of the /emoji command. Still considering if I want to add a few things to it but this is the gist. Clicking on any of the emojis will have you copy the text representation (like :metal: in the image)

Update attachment
Chris
Chris worked on Strings
3h 57m • 11 days ago

Not as pretty of a milestone, but the Modrinth API integration to download the texture pack is now done. In chat emojis are looking great, and I just started working on a /emoji command to provide emojis to copy and paste.
https://modrinth.com/resourcepack/allure-emoji-pack

Update attachment
Earned sticker
Chris
Chris worked on Strings
3h 59m • 12 days ago

Emojis! Unicode was very finicky so this took a long time. Added emoji mappings like discord has (:cowboy: -> 🤠) Using a texture pack (Allure on Modrinth). Need to improve logic for prompting players to use the pack next.

Update attachment
Chris
Chris worked on Fonts
2h 19m • 12 days ago

Finished work for 1.2
Rewrote the /font (not /fonts) command, which means all commands have been rewritten. Added a list and reset subcommands to /font. Added more customizable messages, and added a way to set custom default fonts.

Update attachment
Earned sticker
Chris
Chris worked on Fonts
49m • 12 days ago

Updated the UserUtil system to align more with the way I now do it in my other plugins. It used to have a old style I used with a UserMap class which was just bloat

Update attachment
Chris
Chris worked on Strings
42m • 12 days ago

Made some small changes, tested some things to make sure the plugin works with CMI. Added a isNew() method to the User class to tell if it's the first time a player has joined.

Update attachment
Chris
Chris worked on Fonts
1h 7m • 14 days ago

Moved the /fonts command to my Command Framework which was recently updated

Update attachment

I realized another limitation of having to build the tree in the call to the super class constructor is that you can't retrieve objects other than those passed into the main constructor, so I added the Workbench which lets you run any code, and store/retrieve Objects from within the constructor. After fighting with Maven central for what feels like YEARS, this is getting deployed.

Update attachment
Chris
Chris created a project
14d ago

Fonts

Brings convenient use of unicode fonts to Minecraft chat. Customizable with custom fonts if you use your own texture pack.

Fonts
3 devlogs 0 followers Shipped

Some of this devlog is from like a month ago. What I've done most recently is start unifying handlers for pages bc it seems kinda pointless to have very similar classes do almost the exact same thing. Also moved over to a config system I designed for my Minecraft plugins, its more clean.

Update attachment
Chris
Chris worked on Strings
28m • 15 days ago

These minutes were done a few days ago, I think they have to do with Discord account linking. I want to take a break from this project, so while theres some things that aren't exactly where I want them, theres a lot of new stuff so I'm shipping it. This project just kind of becomes a time sink because of how large it is, I'm getting kind of tired of it right now.

Update attachment

Did some refactoring, reworked the messenger system, added the /ghasts command

Update attachment
Chris
Chris worked on NameColor
1h 31m • 15 days ago

Updated the /namecolor tab completer to not suggest colors players don't have permissions for. Added the /color command which shows color codes.

Update attachment
Chris
Chris worked on Strings
2h • 18 days ago

Moved another listener to kotlin, added a discord user id field which im gonna change again, other work too.

Update attachment
Chris
Chris worked on Strings
1h 20m • 21 days ago

Moved the player join quit listener to kotlin

Update attachment
Chris
Chris worked on Strings
2h 8m • 22 days ago

Moved most StringsDiscord listeners to kotlin, other work.

Update attachment
Chris
Chris worked on Strings
53m • 22 days ago

Got console support working. StringsDiscord is getting there

Update attachment
Chris
Chris worked on Strings
1h 16m • 22 days ago

Finished up adding a public API for StringsDiscord. Worked on registration, impl, etc. and fixed an issue I noticed with registration for StringsDiscord

Update attachment
Chris
Chris worked on Strings
4h 16m • 22 days ago

No new feature is fully complete but its been a while since the last devlog so heres what Ive been working on:
Fuzzy chat filtering (I wrote a trie for this)
Fixed a death message bug
Worked on moving configuration for the Discord module to the new system
Misc. stuff

Update attachment
Chris
Chris created a project
24d ago

Haraka

A basic scripting language

0 devlogs 0 followers
Chris
Chris worked on Strings
2h 27m • 24 days ago

Added sounds for both global broadcasts and Channel broadcasts. This ended up much more complicated than I had anticipated but theres less tech debt than the alternative so thats nice

Update attachment
Chris
Chris worked on Strings
1h 44m • 25 days ago

Added a enum for the ChannelBuilder instead of relying on Strings to determine what Channel type to make. Added methods to the Channel interface for playing sounds when a message is broadcast to the Channel, yet to actually implement this though.

Update attachment
Chris
Chris worked on Strings
4h 40m • 29 days ago

Started adding some things to StringsModeration, and completely reworked the configuration system for the second time. This version utilizes generics and gets rid of lots of boilerplate

Update attachment
Chris
Chris worked on Strings
1h 35m • about 1 month ago

Added PlaceholderAPI support to death messages, added a /rules command
(attatched image is a visualization of the default text, screenshotting in game would be annoying bc MC is open on a separate computer)

Update attachment

Spent some time updating StringsDiscord so it works with some changes to Strings, added support for deleting messages on Discord that were deleted in game

Added a workaround for not being able to pass java's this into a super class constructor

Update attachment
Chris
Chris worked on Strings
1h 27m • about 1 month ago

Converted some of the classes in the Discord module to Kotlin, as well as some other misc. work.

Update attachment
Chris
Chris worked on Strings
3h 12m • about 1 month ago

Added message deletion and refactored the ChatRenderer for Paper to support it and be better organized

Update attachment
Chris
Chris worked on Strings
1h 10m • about 1 month ago

Finished the death messages, finished unignore command and fixed the ignore command

Update attachment
Chris
Chris worked on Strings
4h 31m • about 1 month ago

Worked on updating the death message system to be better, refactored the ignore command and started work on the unignore command. Death message expansion isn't done, but I finished adding a new Collection thats like a buffer to help handle previous damageevents so I can see if the player was damaged by another.

Update attachment
Chris
Chris worked on Strings
53m • about 1 month ago

The longstanding mentioning color issue with my paper implementation is gone...
I think this is finally in a shippable state. Posting this to the plugin's discord if any of them want to test it before I publish it

Update attachment
Chris
Chris worked on Strings
59m • about 1 month ago

Wrapped up death messages to the extent I want to, I think further work on them would have descending returns (messages shown are default but are operated by my plugin)

Update attachment
Chris
Chris worked on Strings
2h 40m • about 1 month ago

Continued work on the death message service. Very tedious, but I want to get this finished tomorrow

Update attachment
Chris
Chris worked on Strings
1h 3m • about 2 months ago

Refactored some things, updated the User class so the dirty flag is always set properly bc I forgot to set it for some new methods I added. Added a way to send messages without prefixes with the Messenger service.

Update attachment
Chris
Chris worked on Strings
4h 37m • about 2 months ago

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.

Update attachment
Chris
Chris worked on NameColor
1h 43m • about 2 months ago

Added fuzzy matching for the nickname blacklist, so server owners can moderate better.

Update attachment

Finished the project. input is parsed into Tokens, and tokens are used to calculate the result.

Update attachment

Basic functionality is working, but only accepts single digit numbers and is kind of finicky.

Update attachment
Chris
Chris created a project
51d ago

C Calculator

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

C Calculator
2 devlogs 0 followers Shipped
Chris
Chris worked on Strings
1h 51m • about 2 months ago

Implemented the /channel list subcommand, added a Message batching method in the Messenger class.

Update attachment
Chris
Chris worked on Strings
4h 58m • about 2 months ago

Moved the /channel command over to my new framework. Rewrote all the subcommands, and it looks much cleaner now. Added functionality for muting and unmuting Channels. Need to make a /channel list subcommand next.

Update attachment

Published the project to maven central, though not all planned things are added, its in a workable state.

Update attachment
Chris
Chris worked on Strings
43m • 2 months ago

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.

Update attachment
Chris
Chris worked on Strings
1h 5m • 2 months ago

Finished moving over to a new configuration system I made, which is better bc it's exposed in the api, and has better type safety

Update attachment
Chris
Chris worked on Strings
3h • 2 months ago

Fully implemented the /ignore system.

Update attachment
Chris
Chris created a project
61d ago

NameColor

A name customization plugin for Minecraft, used on over 500 servers across the globe. Offers gradients, name colors, styles, nicknames, and moderation features.

NameColor
2 devlogs 0 followers Shipped
Chris
Chris worked on Strings
9h 11m • 2 months ago

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.

Update attachment

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.

Update attachment

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

Update attachment

Most of the foundations are here, wrote a builder class, wrote a node implementation & wrote a test.

Update attachment
Chris
Chris created a project
69d ago

CartCommands Framework

A tree-based command framework for my Minecraft plugins. Streamlines making more complex commands.

CartCommands Framework
6 devlogs 0 followers Shipped

Did some documentation, minor changes to code. Ready to ship.

Update attachment

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.

Update attachment

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.

Update attachment

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

Update attachment

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

Update attachment

Added the enchantment in game, implemented the speed boosts. Need to program the reload command and a few other minor things.

Update attachment
Chris
Chris created a project
73d ago

Enchanted Happy Ghast Harnesses

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.

Enchanted Happy Ghast Harnesses
5 devlogs 0 followers Shipped
Chris
Chris worked on Strings
6h 20m • 3 months ago

Did more Discord work. Added messages for advancements and player deaths, implemented the channel-specific manager (which is why I'm making this), and did some other misc. work.

Update attachment
Chris
Chris worked on Strings
1h 31m • 3 months ago

Worked on adding join and leave messages, tinkered around with the embeds. This is pretty similar to discord srv but looks the cleanest

Update attachment
Chris
Chris worked on Strings
7h 7m • 3 months ago

A whole lot of work, mentions are working, maybe theres a few things to tweak there. Fixed some bugs, added customization including for the bot's activity. Many other things too. I also wrote a enum with for the project in Kotlin.

Update attachment
Chris
Chris worked on Strings
5h 2m • 3 months ago

Started working on a Discord expansion, similar to DiscordSRV, but better integrated with my plugin.

Update attachment

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.

Update attachment

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.

Update attachment

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.

Update attachment

Got the config editor working fully, file saving, loading & all. Had to fix some issues with the Configuration class.

Update attachment

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.

Update attachment

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.

Update attachment

Wrote some more Handlers for files stored in the JAR. Not much to see really.

Update attachment

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

Update attachment

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

Update attachment

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.

Update attachment

Worked on various things, including a way to size images based off window size.

Update attachment

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.

Update attachment

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.

Update attachment

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.

Update attachment

Added a specific page for 404 errors, got an ASCII text generator library for heading tags

Update attachment

Various small changes, added full boxing around text elements like , , etc. Need to work on nesting now

Update attachment

Fixed image tags, added link rendering, other work, attempted to add a progress bar but the page loads too fast

Update attachment

Did some additional formatting work, got to implement formatting for more tag types, and figure out nesting

Update attachment

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

Update attachment

Worked on an error message page, updated code for the main browser screen

Update attachment

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

Update attachment

Did some work with message dialogs

Update attachment

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

Update attachment

Worked on taking the input from the text input page and processing it, for now just printing it out.

Update attachment

Wrote initial code, getting to understand the Laterna library

Update attachment
Chris
Chris created a project
101d ago

Karatasi | Command Line Web Browser

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)

Karatasi | Command Line Web Browser
28 devlogs 13 followers Shipped
Chris
Chris worked on Strings
1h 7m • 3 months ago

Lots of refactoring, and minor changes, including moving to LocalDateTime for logging

Update attachment
Chris
Chris worked on Strings Lite
1h 21m • 3 months ago

Initial work, start working on manager classes, User classes, project setup, etc.

Update attachment
Chris
Chris created a project
101d ago

Strings Lite

Lightweight version of my main chat plugin, Strings stripped down to the more basic features.

1 devlog 0 followers
Chris
Chris worked on Strings
1h 29m • 3 months ago

Rewrote the ChannelFileReader, which reads all Channels from channels.yml, for improved logic flow, cleaner code.
https://github.com/Wiicart/Strings/commit/f711959f54ab43224b7d4d34a23a6371c2304698

Update attachment
Chris
Chris worked on Strings
1h 37m • 3 months ago

Fixed chat color parsing in chat, will need to refactor later, but is working

Update attachment
Chris
Chris worked on Strings
2h 23m • 3 months ago

Worked on fixing the adventure-bungee chatcolor integration

Update attachment
Chris
Chris created a project
102d ago

Strings

An extensive chat plugin for Minecraft servers. As of writing, this plugin is in use on over 200 servers across the globe. Features include discord support, various channel types (and an ability to create custom implementations), a public API, formatting, integration w/ other plugins, chat color, custom death messages, and much more. I'm working on two expansion modules right now, StringsDiscord and StringsModeration that expand the plugin even further.

Strings
42 devlogs 1 follower Shipped
Chris
Chris joined Summer of Making
102d ago

This was widely regarded as a great move by everyone.