You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.
You should upgrade or use an alternative browser.
VIP Plugins ✯ Custom Enchantments 3 - RPG ✯ [1.16-1.21.11] [ALL IN ONE PUGIN][PREMIUM]
Version: 1.7.1
Likely safe
- Author ArteffCods
- Creation date
-
- Tags
- 3.0 custom enchantments
Update 1.7.1 Hi guys. Security patch. I sat down and read through the plugin looking for ways a player could get something they should not, and for work the server was doing for no reason. Found a few of both. This release is those fixes and nothing else. No new enchantments, no new treasures. Still 159 enchantments and 149 treasure items and none of them changed. No new config keys. Tested on Minecraft 26.2. Please back up your plugins/CustomEnchantments3 folder before updating, as always. ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Read this first Update this one. Two of the fixes below close off ways to make RACO and enchantment books out of nothing. If you run an economy, do not sit on this. Your config carries over, and this time it actually does. On the first start after updating the plugin rewrites config.yml and saves the old one as config.yml.old, same as before. The difference is what it keeps. Details in the config section, but the short version is: if you ever set ShopGUIBackColor, CustomEnchantsWorld or one of the RACO priced enchantments like BlackHole: 750C and found them back at the default after an update, that was the plugin, not you. Set them once more after this update and they will stay set. Nothing else changed. Player data, RACO balances, shop listings, quests, the resource pack, every enchantment and every price are untouched. The resource pack does not need re-downloading. ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Security RACO shop listings with a negative price. /ce shop sell took any number, including a negative one. A listing at a negative price paid the buyer instead of charging them, and pushed the seller below zero. With a second account that is RACO from nothing, as much as you want. The price now has to be a whole number from 1 up to the currency supply, and a listing already saved with a bad price cannot be bought by anyone. The owner can still take it down. Enchantment books that were not used up. Right-click a book, then right-click the item, and the book is supposed to be consumed. It was only removed if it was still sitting where the plugin expected, and there were a few ways to move it somewhere else in the fifteen seconds between the two clicks without the plugin noticing. The enchantment still applied. One book, as many items as you liked. The book now has to be in your inventory at the moment the enchantment is applied, and exactly one is taken from it. If it is not there, nothing happens and you get a message saying so. Heist was minting coin. A level 3 Heist steals 6 RACO. Against a player holding 1, it took the 1 and still paid the attacker 6. It takes what the victim has now, and nothing more. /ce currency pay with zero or a negative amount told both players a payment went through when nothing had moved, and paying yourself was a real buy and sell against the market for no reason. Both are refused now, with a message. Same for the admin add and deduct. Skill points spent from the wrong screen. Any item named after a skill, clicked in any inventory, spent a point. An anvil and a chest was all it took. Purchases only count from the skill tree now. Dragging items into plugin screens. Clicks were always cancelled in the shop, exchange, skill tree and class screens, but a drag was not. Drag a stack onto an empty slot of a shop page and it went into the page, which is one shared screen for the whole server, and stayed there. Drags into any plugin screen are cancelled now. The disenchant screen still accepts your item, it is the one that is supposed to. Broken enchantment data on an item threw an error out of every listener that looked at the item, which on a sword meant every hit. It takes one NBT edit to make one. Bad data now reads as no enchantments. Two small ones. The admin name check against authorization.yml was case sensitive in one of the two places it is done and not in the other. And the update check an op gets on join was started fresh every time they joined and never stopped, so a busy admin was running a stack of them. ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Config.yml The updater used to read your old config.yml one line at a time and guess the type of each value. It knew numbers and true/false. A word like white, a list like the CustomEnchantsWorld worlds, or a price like 750C did not fit either, so the value was skipped and the fresh default was left in place, while the log said the config had been updated. Every update since that code was written has been quietly resetting those three kinds of settings. I checked this on a live 26.2 server before writing it here: 1.7.0 kept an EnchantLimit of 7 across the update and reset a black shop background, a two world list and a 999C Black Hole to defaults. 1.7.1 keeps all of them. The updater now reads the old file as YAML, writes the new one, and copies every setting across with its type intact. Comments in the file are kept. The version line always comes from the new file. Nothing is guessed. If you customised one of those three kinds of settings in the past and lost it, it is not coming back on its own, the old value is gone. Open config.yml.old from the last update you did if you want to see what you had. ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Optimizations None of this changes a number a player sees. The mana loop was running for every player who had ever joined. Once a second, the plugin walked its whole player file, every account it had ever seen, worked out their regen, and asked the server whether each one was online. On a server that has been up for a year that is thousands of lookups a second for people who are not there. It walks the online list now. Players still get the mana they would have regenerated while logged out, it is added the moment they log back in instead of a bit at a time while they are gone. Every inventory click was building a currency exchange screen. The click handler for the exchange asked for the player's exchange screen to see if the click belonged to it, and asking created one if they did not have it, along with a once a second refresh task that redraws the wallet, the price and the candlestick chart. Open a chest once and you had that task for the rest of your session. It only looks now, and only builds the screen when you actually open the exchange. Enchantment data is parsed once per item, not once per read. The enchantments on an item are stored as a small piece of text, and that text was parsed fresh every time anything looked at the item: every armour piece every second, every inventory scan, every hit. Parsed results are kept and reused. Across a whole server there are only as many distinct texts as there are enchantment combinations. RACO transfers were a loop. Paying 5,000 RACO moved the price and wrote the balance 5,000 times. It is one calculation now, and it lands on exactly the same price the loop did, there is a test that pins that. The boundary preview drew the inside of the box. /ce settings protection add shows the boundary in particles. It got the six faces by visiting every block in the volume and checking which face it was on, eleven times. A spawn sized boundary was tens of millions of checks on the main thread. It visits the faces now, and thins out the particles on a huge box so it costs the same whatever the size. The tutorial timer moved off its own thread. It was reading a list the main thread writes to, from another thread. That is the kind of thing that works for months and then throws once, at the worst time. ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Compatibility - No NMS, still 1.16.4 through 26.2 - No new config keys, no player data, shop, quest or resource pack changes - Every 1.7.0 enchantment, treasure, price and setting is untouched - Lite gets every fix in this post - Four new messages in lang.yml, added on first start, your translations are kept
Update 1.6.0 Hi guys. 1.5.0 was the release that filled the plugin up. This one is about the economy: Custom Enchantments 3 now works alongside Kumandra's Economy, so RACO and Kumandra currency can be spent on each other, plus there are 25 new enchantments and 15 new treasure items. Enchantments go from 134 to 159. Treasure items go from 134 to 149. Tested on Minecraft 26.2. Please back up your plugins/CustomEnchantments3 folder before updating, and let me know if anything acts up in the discussions page. Read this first Your config carries over. On the first start after updating, the plugin rewrites config.yml with the new keys and keeps every value you had set, saving the old file as config.yml.old. Prices, rates and toggles all survive. You do not need Kumandra's Economy. Custom Enchantments 3 is still standalone and runs exactly as it did in 1.5.0 without it. Everything in the next section only turns on when both plugins are installed. If you do not want it even then, set KumandraEconomySupport: false. Kumandra's Economy 2.1 or newer is recommended. 2.0 works and is what this was built and tested against. Anything older than 2.0 is detected and the integration stays off, because the older API cannot pay an offline seller safely. Nothing about RACO changed. The supply, the price curve, the CLVL exchange and every existing shop all behave exactly as they did. Kumandra's Economy support If you run both plugins, your players can now pay for RACO priced things with Kumandra currency, and swap between the two currencies. The important part: Kd never becomes RACO out of thin air. RACO has a hard supply cap of 1,250,000 and Kumandra money does not have a cap at all, so the two cannot just be added together. When somebody pays with Kd, the plugin buys RACO for them out of the same circulating supply the CLVL exchange draws on, and then spends that RACO the normal way. Which means:
Where Kd can be spent:
- If your RACO supply has run dry, the Kd payment is refused and the Kd is given back. Your currency does not inflate.
- Somebody selling in the RACO shop gets paid in RACO, whatever the buyer paid with.
- Your existing economy numbers still mean what they always meant.
A player holding enough RACO always spends the RACO. Kd is a fallback, never the default. Nobody's Kumandra balance gets quietly spent while they were sitting on the plugin's own currency. The settings:
- The RACO shop, when the buyer is short on RACO
- Enchantment books you have priced in RACO (the ones ending in C)
- The new conversion buttons in the currency exchange screen
- Cofferguard, the new chestplate enchantment that spends a coin to soak a hit
Code (Text):
KumandraEconomySupport: true # master switch KumandraExchangeRate: 25.0 # Kd per 1 RACO KumandraConversionFee: 0.05 # 5% KumandraShopPayment: true KumandraEnchantPayment: true KumandraConversionEnabled: true
The fee comes off the proceeds when converting RACO to Kd, and goes on top as a surcharge when paying with Kd, so holding RACO is always slightly better than paying in the foreign currency. Set it to 0 if you would rather it were a straight rate. The currency exchange screen has a new bottom row: buy 1, 5 or 10 RACO with Kd on the left, sell the same amounts on the right, and the live rate and fee in the middle. 25 new enchantments 7 for weapons, 2 for tridents, 3 for bows, 4 for wands, 6 for armor, 3 for tools. A few of them to give you the shape of it: Tallyscar (sword, spear) marks the enemy rather than tracking your streak, so the marks stay on them if you look away, several people can pile them onto the same target, and the fifth mark bursts the whole tally at once. Ledgerburn (sword, mace) hits harder the more health you are missing, topping out at 70% missing so you do not have to sit on one heart to get anything from it. Knucklebone (mace) is a gamble every swing. Most rolls are a small bonus, about one in twelve is a big one, and a low roll takes a quarter off the hit. It comes out ahead on average at every level. Voidtithe (wand) takes a slice of the target's current health, so it is at its best as an opener and weakest as a finisher. A third of it comes back to you as mana. Capped at 12 magic damage so it cannot delete a boss in one cast. Cofferguard (chestplate) spends one RACO to absorb up to 60% of a heavy hit. It only fires on hits worth paying for, so it will not empty your wallet on chip damage in a mob farm, and an empty wallet just means an ordinary chestplate. Vaultskin (any armor) takes a flat amount off every hit instead of a percentage. Tank and Magic Resist are what you want against one enormous blow; this is what you want when you are being pecked to death. Coinvein (pickaxe), Titherow (hoe) and Dredgeline (fishing rod) pay out in coin as you work. They move currency out of the supply rather than creating it, so they cannot inflate your economy, and they stop paying if the supply runs dry. Titherow only counts fully grown crops, so nobody can farm seedlings for money. The rest: Coinbite, Gallowswing, Rimefang, Saltspine, Harpoonwake, Brinelash, Tollshot, Ravenquill, Splintervolley, Embertoll, Starvein, Glyphwrack, Ironvow, Paleward, Tombstride and Wardenknot. All of them are priced in config.yml like everything else, and any of them can be disabled by setting the price to 0. 15 new treasure items Pirate flavoured, and they slot into the same weighted drop table 1.5.0 introduced. Doubloon of the Drowned Mate, Bosun's Cracked Whistle, Krakenbone Fishhook, Marooner's Split Compass, Powder Monkey's Tinderbox, Gibbet Cage Key, Salt Rimed Spyglass, Quartermaster's Short Straw, Bilge Rat Skull, Letter of Marque (Unsigned), Scuttler's Auger, Wreckwood Splinter, Cutthroat's Wedding Ring, Dead Man's Chest Hasp, and the Black Spot Token, which is Legendary and correspondingly rare. The treasure catalogue has a sixth page for them. Resource pack Updated, with 15 new textures. Please re-download it if you use it, otherwise the new treasures show as plain gold nuggets and coal. Same six client range downloads as before, 1.16 through 26.2. One thing worth knowing, and it is not new: the 1.16 to 1.19 packs cannot show treasures added in 1.5.0 or 1.6.0, because those client versions use an older model format the pack does not carry for them. They show as their base vanilla item instead. Everything from 1.21 up is fine. Fixes You can take your own RACO shop listing back down again. Before this, if you listed an item and then spent your RACO, the shop told you that you could not afford your own item. Taking a listing down was never supposed to cost anything and now it does not.
Optimization
PlayerData modification, added caching to reduce lag from being re-created on load
Move/Attacking/Join Event is optimized, implemented data caching for faster load
Note: Please save a copy of the files inside CustomEnchantments3 before installing the update.
Bug Fixes
- Fixed issue where skills were not disabled in other worlds [again]
- Fixed TNTError spam in console, this happens when it fails to detect the source entity
Set CustomEnchantsWorld to empty array [], which means that the plugin enables all its effects on all world registered in the server. This should fix the "This enchant doesn't allow you to use in this world" issue. If you wish to only let the plugin take effect on a specific world, then follow the steps below:
1. Turn off server
2. Locate the config.yml in plugins/CustomEnchantments3
3. Enter your world in CustomEnchantsWorld section
Example:
- CustomEnchantsWorld: [ "private_world", "arena_world" ]
4. Save the config file
5. Start the server
- Security Patch
- Added EnableAuthorizationYML in the config.yml with a default value of 'false' to reduce the hassle of users setting up in aternos, but it's highly recommended to set it to true if you want a specific player to access the plugin admin commands. If 'false' then players with OP role can use the plugin admin commands, otherwise if true, then only the players that are listed inside the Authorization.yml can use the plugin admin commands.
- Fix Issue #2 - Paper 1.21.1-132 Start Problem
- Fixed Attribute issues on 1.21.1 [Health and PotionEffects]
- Modified Version Checking Logic
- Generic Enchantments can now be applied to MACE
Cooldown Modification:
- Cooldown chat messages can now be disabled through config.yml [EnableCooldownMessage]
- When disabled, it will play an EXP ORB sound instead [1.19+]
Fix and Modifications:
- Companion Healing will now apply to wolf armor
- Auto Repair can now be applied to wolf armor
New Enchantment
- Companion Thorns (10 levels)
applies thorn effect with slowness debuff to enemy
TRADING MODIFICATIONS:
- Added Market Capitalization and Circulation Supply
- Default Max Raco Supply is 1_250_000 (Can be adjusted in config.yml)
- Default Price for Raco is 0.1 CLVL (Can be adjusted in TradeData.yml)
- Buy/Sell adjustment factor is 0.008%. Selling too much burns a portion of CLVL (to avoid spam buy/sell)
- Earning Raco from Mob kill, Give command, P2P Payment, Quest rewards, Buy and Sell Exchanges, Heist Enchant, and Treasure bonus will also adjust the total circulation supply