Hello! It’s been quite a while since this plugin was last updated. I want to take a moment to talk about the status of this project before I get into this alpha build.
This plugin was last updated to support 1.18. When 1.19 came out, some changes were made to enchantments under the hood. They were minor, but they crippled this plugin as it was. I originally wrote it when I was just starting to learn java and programming as a whole. I released the first version 3 months into my first class on Java. In following updates, I build on that. I spent a while trying to get the plugin to work with 1.19 before 1.20 came out. I realized then that the plugin was realistically unmaintainable as it was. I wasn’t sure how to solve the problem, so I put it off a bit. Then I lost the job I had at the time and fell into a big depression. I didn’t do anything between June of 2023 until the beginning of January 2025.
I’ve got a new job now and am on antidepressants and some light ADHD meds that help quite a lot. As I got back into my hobbies, I decided it was time for a complete rewrite of the plugin. So, for the last three weeks, that’s what I’ve been doing. I have created a whole new project and new GitHub repo to start fresh with the new knowledge I have now, six years late (holy crap, I’ve been making plugins for 6 years).
I’ll do my best to put the differences into layman’s terms here:
For the entire enchanting process, the new version is 233 lines of code. The old version was 418 lines.
This new version is far more efficient. The old version had many various loops throughout for various purposes. While this isn’t too particularly noticeable, to represent this difference as a basic math equation, where X is the time (let’s say in milliseconds) it was roughly:
Old: x = n^3 (that’s n cubed)
New: x = 2n
Old: The one onCommand function was 418 lines of code. When there was a problem, figuring out where it was, and accounting for various paths an execution could take was incredibly difficult and time consuming.
New: The one onCommand function is 39 lines of code with spacing to make the parts clear, and most of it is error checking. Most of the work is now done by a new code file (class for my fellow java people), where each part of the process is extrapolated into smaller functions. For the layman, this means finding where a bug is happening will take seconds to maybe a minute instead of 30-60 minutes.
There were 6 for loops. The new version has 1. You won’t really notice much difference here because the number of enchantments is small, but it is a significant improvement from a programming quality standpoint.
The short of it is, this is a huge improvement over the original code, and means this plugin should work well from version to version with a small fix from time to time.
So, why an alpha? This version, 0.3.5 of the redux is quite stable. However, I have not implemented the config.yml yet. So unsafe enchanting is enabled and cannot be disabled. This also means that the “enchant-all-gives-unbreakable” option with not do anything. The next steps will be adding these two items as well as an option to enable or disable the fancy formatting for enchantments beyond level 10. These will be in a new, much more descriptive config.yml.
Also, don’t worry about deleting or doing anything with your config.yml when the time comes. I will be incorporating the file management system that is in my Universes plugin. That means any informative text about the config options will be changed/updated automatically, incorporating your current settings in.
So, if you use this version, keep your config.yml as is. Within a few days to a week, it will be properly implemented.
As a side note, the next full release will be version 3.0. The labeling for this alpha build following my current internal development labeling as the work on the new repo has not been incorporated into a proper release yet. I plan to test this new version on 1.19 up to current for compatibility and plan on supporting as such when the release comes. The versions up to 1.18 will be made legacy and available via links on the overview page for older versions of Minecraft.
Thank you all for using plugins, and I hope you enjoy this major update in its alpha form.
The new repository:
https://github.com/DSlyDog/Whisps-TimTheEnchanter-Redux
It will write a proper readme for this new repo when I have a viable release build.