Devlog [#2] - Let's make a mod to enhance SRP experience!
Same deal with last post: the best thing should be at the front, so let's see if I can keep you reading now that you've clicked on my post!
SchoolRP can use a few quality of life (QoL) features to make our life easier. A few things on the top of my head!
- Chat focus (when you right click on someone), it will make you only receive text from them
- Make /lay great again
- Option to disable /looc and friend join messages
- Make attributes be shown somewhere on screen like a nice lil window
I would like to quickly preface that this is not a dig at the current developers. It's much easier to make mods than manage actual server stuff and fix or add these features. I am doing this as a fun hobby and to give back to the community.
Do those potential fixes interest you? Awesome! Let's get to see how we can make this a reality. This devlog will be focusing on making attributes being an overlay on your screen
If you don't want to read through things and would like to see what's made so far, click here!
Acknowledgements and personal notes
Before we get to the actual devlog, I would like to dedicate a section to say how grateful I am to how welcoming and warm this community is. In my last devlog, I received extremely kind words from so many people. I have a bit of a cold feet when it comes to actually responding to stuff actively, but here is a response to everyone present in my last post!
More nerd incoming, hope you get to see this one!
Love you pooks
More CS stuff for you! This is very CS-y, actually, Java classes and OpenGL seems like something out of the 90s
I still haven't gotten around to implement that. I'll go back to it.. soon.. #TODO
Thank you for the kind words!
That is really flattering, it made me really happy to see that there are people that enjoy going through what I write. I'll definitely consider it!
Uh....
there's light mode?
I don't mean that as a joke, I don't think I added light mode-
there's light mode?
I don't mean that as a joke, I don't think I added light mode-
Thank you!!!
With more experienced rpers, I can see why it would be easier to work without, but thank you for the kind words!
No more fluff, let's get to modding!
The devlog from here and onward will not be technical, as I am neither experienced enough to go in-detail with how to do things, and that I am not sure if a forum post is exactly a place for detailed technical mumbo jumbo. Anyway, let's see what we are working with!
Attribute overlay
First, we need to.. make a cool background location for our overlay
Perfect! Just like every good mod, black with some opacity. (I am creatively bankrupt).
You might be thinking that this must be easy to make, just some rounded squares. I kid you not, I have spent a solid 6-7 hours on making this.
No, I am not kidding, here is an extensive list of nonsense I had to go through:
- OpenGL deciding to be a sassy and thought it would be funny to not render my rounded rectangle "just because"
- Calling up my 8th grade teacher on what a sine and cosine is to make these circles
- Going through the most random mods to steal different part of code because NO ONE writes about how to do this
- Setting up the most random settings just to make this work. If I didn't know better I'd think I was doing sorcery
Alright. Enough whining, let's get back to the next part: actually putting the attribute values there
Oh my god, it's.. absolutely hideous. Okay, so two things are wrong with it, aside from being ugly as sin
- The text box needs to be scaled up to be larger
- We are missing the values on the side. Got to figure that out
It looks way too cramped, let's.. fix that again
It's.. it's beautiful. That, or I am way too tired to make any more adjustments. Anyway, good enough! Now let's make it to where you can actually move this thing. Time to add configurations.. (with the option to disable this if you don't want it!).
We want to make sure that you can
- Move the attribute box around
- Disable the attribute display in case you don't want it
And.. the moment of truth...
Let's check if it plays nice if you screen becomes small:
Seems good enough to me!
Closing thoughts
For the next devlog, I am planning on tackling making these attributes actually work and adding chat focus back onto your client side. Thank you for sticking around, feel very free to leave feature suggestions, thoughts, or anything down below -- I'll do my best to respond!
Questions you might ask:
Q: Will this be open source?
A: Absolutely, and I'll make it available on Modrinth as well!
Q: Will you release this?
A: Yes! Just not for a few weeks, I want to make sure I get enough features in before I do!
Q: What versions will this be on, and will it be on fabric/forge/neoforge?
A: I am currently targeting 1.21.1 and only for fabric. I will open-source this, so any competent modders can port it to other versions or forge if they'd like!
Q: Will this work with feather?
A: Resounding yes!
Q: I think feature X would be nice to add
A: Feel free to leave them in the forum replies, I'll put it on my note of todo if it looks fun to make!