Whisp's TimTheEnchanter icon

Whisp's TimTheEnchanter -----

An updated version of TimTheEnchanter by mbaxter/kitteh




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.
----------, Jan 29, 2025

So, I haven't really worked on this plugin much in the past half a year. School has kept me pretty busy, and I've been dedicating most of my free time to the development of Universes. That, and, if I'm honest, I don't like working on this plugin as much. Working with enchantments is bit of a pain and often frustrating. But I don't want to abandon this project because a lot of people do use and enjoy it. And there were some things here just really needed fixing, so here's an update.


This is the 2.1 release. Changes include:
  • /enchant all safe has been readded
  • Major bug fixes in fancy text display including proper coloration of curses, words appearing and appearing in the proper order, and enchantments appearing with their common names instead of internal names
  • Changes so that several enchantments with internal names (names in code) not matching their common names (names visible in game) are now usable by typing the common name
Important things to note:
  • Support for the legacy version is, as of this update, dropped. I do not have time to work on both versions of the plugin.
----------, Nov 5, 2020

The TimTheEnchanter rewrite is finally complete! You will notice that the download links are now external and hosted on GitHub. This was the best way, at current, that I had to store the two different versions.

There is now TimTheEnchanter and TimTheEnchanter Legacy. TimTheEnchanter should be used with Minecraft versions 1.13 and later. TimTheEnchanter Legacy should be used with Minecraft versions 1.12 and earlier. official support only extends back to 1.8.8, however. So, if you are on 1.7.10 and something goes awry, don't expect a fix to come.

With the rewrite, any bugs you may have seen in Tim 1.4 (of which there were several big ones), have been eliminated. This release is completely stable.

Two features have not yet been reintroduced.
/enchant all safe,
and curse enchantments designed to look like the default appearance when fancy text is enabled.
These will be introduced soon.

And, there are some new features too. There is now a config.yml file to offer more versatility.
- With fancy-text set to true, your enchantments will look like "Sharpness 1000" instead of "Sharpness enchantment.level.1000." Also, with the newer fancy-text system in place, if your item had previous enchantments from an enchantment table, those enchantments will still be listed. (Previously, this was not the case).
- With enchant-all-gives-unbreakable enabled, using /enchant all will also make the item unbreakable (denoted by the word "Unbreakable" at the very bottom of the item description in blue).

I hope you all enjoy!
----------, Apr 21, 2020

This is a smallish update to fix a couple of issues...or to try to.

All of the 1.15 enchants should be usable now. There is also a config file now that provides the option to use the fancier display ("Sharpness 1000") or to turn it off ("Sharpness enchantment.level.1000"). The enchantment display will no longer be weirdly italicized.

However, this was my first plugin, and as to be expected, a lot of the code was absolutely terrible. So, I'm going to completely rewrite the code so I can actually maintain it properly. It will probably take a while though. Hopefully this small update will suffice until then.
----------, Apr 6, 2020

The plugin now supports 1.14. Please note, the plugin will set the level for the crossbow quick charge enchant to 5 if the level given is above that, as having it any level higher will prevent the crossbow from being able to be loaded.

Added features:
- 1.14 support
- ability to add only safe enchantments to an item
----------, Jul 4, 2019

This update adds support for versions 1.10 through 1.12
----------, May 8, 2019

There was a minor glitch in the quote output that was created by one of the new things I added. It has been fixed.
----------, May 1, 2019

Main updates:
- This update brings in the nicer looking enchantments when enchanting above level 10.
- This update also adds in the ability to pick a level when using /enchant all
----------, May 1, 2019

Resource Information
Author:
----------
Total Downloads: 14,857
First Release: Apr 27, 2019
Last Update: Jan 29, 2025
Category: ---------------
All-Time Rating:
15 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings