Commit Graph

111 Commits

Author SHA1 Message Date
Pim van der Loos
c859d555b2
Drop support for MC <1.15 2020-11-23 09:52:08 +01:00
Pim van der Loos
dd30f02aa2
Drop Minecraft 1.9 support 2020-11-23 09:18:49 +01:00
Pim van der Loos
bd57ea0728
Remove auto updater
- Removed the auto updater because Spiget is too unreliable these days.
2020-11-23 09:14:19 +01:00
Pim van der Loos
2f57f0df59
Fix incorrect armored elytra creation
- No longer making "armored elytra"s out of non-elytra items.
2020-08-04 14:25:53 +02:00
Pim van der Loos
163e6d22a2
Improve 1.16 support
- Netherite Armored Elytras now have 3 armor toughness to match netherite chestplates.
- Fixed missing "netherite" in the list of supported tiers in the translation file.
2020-06-30 15:10:15 +02:00
Pim van der Loos
b29477fe4a
Blacklist Spigot-758abbe
- Blacklisted version 758abbe of Spigot. This version contained an NBT-related bug that caused some serious issues. When loading the plugin on this version, the intialization process is aborted and you won't be able to craft or otherwise obtain any new ArmoredElytras.
2020-06-29 13:51:47 +02:00
Pim van der Loos
e3efdfd83b
Clean up 2020-06-29 13:04:25 +02:00
Pim van der Loos
9ddc4f9f61
Add support for Netherite, improve tier retrieval
- Added support for creation and general usage of NETHERITE ArmoredElytras.
- Improved ArmorTier retrieval on 1.16+. A PersistentDataContainer is now stored in the item meta to keep track of the armortier of an item. Instead of using the armorvalue of an item to figure out which armortier an item is (which is how it was done before), this container is used instead. This is not only simpler (and probably more reliable), but it also solves the issue where armor values caused collisions between two types (e.g. gold and chain or diamond and netherite).
- Added Netherite tier to translation system.
2020-06-27 15:40:41 +02:00
Pim van der Loos
3fc27ca1fc
Add initial 1.16+ support
- Added initial 1.16+ support. This basically means that all the old functions are supposed to work, but none of the new ones are implemented yet (netherite, crafting in smithy). The '+' part refers to the fact that the NBTEditor has a new 1.16+ implementation that uses the Spigot API, which means that it should work just fine in newer versions.
- Using .equals() instead of == for some Integer/Double comparisons.
2020-06-27 12:59:17 +02:00
Pim van der Loos
1053e17b1d
Fix updater, compilation, and improve translation
- Fixed the updater thinking a result of UP_TO_DATE meant that the plugin was outdated. This happened because this system is used like this in BigDoors in case the active BD version is a dev-build. However, AE doesn't used dev-builds.
- Fixed resources being placed in the jar twice.
- When the provided text file includes ".txt" in the config, the plugin won't add another ".txt" to the filename (ending up as "filename.txt.txt"). This is a bit more user-friendly.
- Bumped version number to 2.4.13
2020-05-25 17:28:16 +02:00
Pim van der Loos
93bc2a3072
Cleanup
- Removed old updater class that no longer serves a purpose.
- Removed debug statment.
2020-05-23 14:46:40 +02:00
Pim van der Loos
7f09a34fdb
Backport Messages from BigDoors v2
- Backported the Messages system from BigDoors v2. This new system does not overwrite the default language file anymore (nor does it make it read-only). Instead, it reads as many translations from whatever file is selected and takes any missing translations from the translation file inside the jar (and lets the admin know that a translation is missing in the console). This makes the plugin a bit friendlier to use for people that cannot be bothered to read the disclaimer at the top of the file.
2020-05-20 13:13:52 +02:00
Pim van der Loos
e093b18124
Update updater
- Updated the updater to use the same system BigDoors uses. This system is much cleaner and better and it uses Spiget to check for updates instead of DBO.
- Introduced new config option "auto-update" to control if new updates are downloaded automatically or not.
2020-05-20 12:19:40 +02:00
Pim van der Loos
51854fa150
Update NBT system to support recent Paper builds
- Overhauled the way armor values are retrieved so that this plugin is compatible with Paper 178+. This new method should also be a bit more robust against future changes.
- Reformatted the code some.
- Fixed FlyDurabilityHandler. It used to check Player#isFlying. This checks if the player if flying using creative flight, not using an elytra. Player#isGliding actually checks if the player is flying using an elytra.
2020-04-19 12:09:48 +02:00
Pim van der Loos
19ab2cdab1
Fix NPE thrown on player death event 2020-03-18 18:31:37 +01:00
Pim van der Loos
c5abedc89b
Add 1.15 support, add ArmorEquipEvent
- Added support for version 1.15 of minecraft. From now on, the NBT constructors are private instead of public. During initialization, they're made accessible now.
- Added ArmorEquipEvent that keeps track of every possible way someone might equip armor. It is then cancelled if needed.
- Updated language file. A long and a short name of each tier is now supported, which can be used as variables.
2019-12-11 21:51:51 +01:00
Pim van der Loos
e906ddfdb3
Clean up code, fix bugs, use Maven
- Switched to Maven for project compilation.
- Added config options to globally bypass permissions for crafting and/or wearing of all tiers.
- Now using Consumer for stuff that previously used the ugly is1_9 boolean.
- Switched to using ArmorEquipEvent for checking if players are allowed to wear something. It's much cleaner and includes some previously omitted equip events (such as from a dispenser).
- Code cleanup.
- Fixed issue where unbreakable armored elytras would still "break".
- Added MENDING enchantment to the default set of enchantments again.
- Using Maven shade for bStats and removed the old Metrics class.
2019-08-23 17:37:16 +02:00
Pim van der Loos
080b6c6dab
Add config option, improve multi-version support
- Added config option to allow multiple types of protection enchantments
to be applied to a single armored elytra.
- Added XMaterial class that was accidentally omitted in the last
commit.
2019-06-24 13:54:01 +02:00
Pim van der Loos
1e986d60da
Cleanup
- Now using correct Maven imports for Spigot etc.
- Removed redundant else (if) statements.
- Added stripped-down version of XMaterial v2.
- Using XMaterial for chest-plate checking because some names were
different in some versions.
2019-06-20 16:59:13 +02:00
Pim van der Loos
81e4111359
Minor update
- Fixed startup message saying noFlightDurability is disabled when it's
actually enabled and vice-versa.
- Improved order of noFlightDurability checking. It's faster now.
- Fixed default message saying that BigDoors couldn't find the message.
2019-05-21 13:09:59 +02:00
Pim van der Loos
45486a7eea
Improve config handling
- Rewrote ConfigOption to take advantage of generics.
- Simplified config option management by getting rid of some code
duplication.
- No longer using Strings to get configuration values. This is both much
faster and less error-prone (when using any IDE worth its salt).
2019-04-30 20:41:12 +02:00
Pim van der Loos
ecd0340cd6
Fix custom language files.
- Now actually using custom language file when indicated in the config
file.
- Set default language file to read-only.
- Added warning message to not alter the default language file as it'll
be regenerated.
2019-04-28 17:31:08 +02:00
Pim van der Loos
45d5f90fef
Fix 1.14 support.
- Fixed addCompound for 1.14. New format requires an int.
2019-04-28 16:09:09 +02:00
Pim van der Loos
da360b3d28
Cleanup code
- Removed some code duplication.
2019-04-20 14:58:51 +02:00
Pim van der Loos
4b5de17bb6
Fix formating
- Removed all remaining tabs (not sure how to got through the last
cleanup).
- Updated some comments.
2019-04-18 17:11:18 +02:00
Pim van der Loos
da224bfc1a
Use reflection for multi-version support.
- Switched to using reflection for multi-version support of Minecraft to make supporting it a little easier. Shouldn't require an update for 1.14 anymore now (unless they change the format or something).
- Code style enforced.
2019-04-15 12:04:59 +02:00
Pim van der Loos
07e3b65f2b
- Added 1.9 support.
- Fixed books with 1 or more invalid enchants not working.
2018-11-06 13:23:56 +01:00
Pim van der Loos
9355a9343b
Removed accidental BigDoors dependency. 2018-10-27 03:36:08 +02:00
Pim van der Loos
e35c251827
QoL Improvements, bug fixes.
- Fixed 1.13 and 1.13.1/1.13.2 bug with armor value retrieval (nbt changed in 1.13).
- Added en_US.txt as translation file for easier translation stuff.
- Moved more strings to translation file.
- Added 1.13.1 and 1.13.2 support.
2018-10-26 14:53:58 +02:00
Pim van der Loos
c3546c777c 1.13 support
- Added initial support for version 1.13 of Minecraft.
2018-08-02 03:53:56 +02:00
Pim van der Loos
511a0c85f9 - Added armoredelytra.craft.<tier> permissions.
- Removed cursesAllowed option. It is now part of the allowedEnchantments. (Fixed mending not allowed when curses are not allowed).
- Fixed glitch where "ghosts" of items remained in the anvil after taking the result out using shift + click.
2018-02-05 12:20:29 +01:00
Pim van der Loos
e5044a7300 - Added option to customise the names for every tier or armored elytra.
- When taking an armored elytra out of an anvil using shift + click will no longer destroy the armored elytra when there is no space in the user's inventory.
2018-02-04 11:51:36 +01:00
Pim van der Loos
f1f8607dd4 - Fixed not being able to rename non-AE items.
- Using correct version number again...
- Removed unused methods in Metrics class, reducing jar size by 12.5%.
2018-01-22 10:35:00 +01:00
Pim van der Loos
8eb6f094c8 - Fixed "fake" enchantments being allowed on armored elytras (only 1 kind of protection enchantment can be active at the same time, now only 1 can be put on an AE).
- Fixed invalid Armored Elytras showing up in the result slot.
2018-01-20 22:04:53 +01:00
Pim van der Loos
8ca829675e - Updated version numbers. 2018-01-19 19:23:07 +01:00
Pim van der Loos
1ae0b3309d - Rewrote all anvil related stuff. Cleaner and better now. 2018-01-19 12:08:04 +01:00
Pim van der Loos
acee288927 - Fixed anvils being unusable for non-AE stuff.
- Added backup note to uninstaller config option.
2018-01-18 18:44:17 +01:00
Pim van der Loos
cb1d8c55a2 - Removed print statement that shouldn't be there. 2018-01-18 13:37:19 +01:00
Pim van der Loos
32fe48d0e1 - Fixed NPE when you don't handle in the chestplate correctly.
- Fixed being able to repair AE's with leather even if it's not a leather AE.
- Fixed not being able to repair regular, unarmored elytras with leather.
2018-01-18 13:33:54 +01:00
Pim van der Loos
cb18e97165 - Fixed NPE when using command to make and AE.
- Fixed Enchantments, Lore, Name and armor status not being copied to new AE when enchanting.
- Fixed glitch that allowed players to put enchantments / curses on items that aren't allowed.
- Changed version number to 2.0
2018-01-18 12:26:35 +01:00
Pim van der Loos
80317b4b4e - Added uninstaller.
- Code cleanup
- Added option to disable durability penalty during flight.
- Added support for version 1.10.x of Minecraft.
2018-01-17 06:22:14 +01:00
Pim van der Loos
404eb20c4c - Wrote custom config stuff to add support for comments in the config file. They should no longer be removed by the plugin itself now. 2017-10-09 00:22:12 +02:00
Pim van der Loos
a8821be3db - Fixed elytra duplication exploit.
- Fixed equipping elytra without permissions bug.
- Color codes in config now case insensitive.
- Removed armoredelytra.give permission node. (use armoredelytra.give.<tier>)
- Added bStats for stats.
2017-10-06 16:43:09 +02:00
Pim van der Loos
464a545204 - Using Bukkit ChatColor instead of Spigot ChatColor now. 2017-10-03 21:06:31 +02:00
Pim van der Loos
61a8c872cb - Fixed leather elytra being unenchantable.
- Added color codes support
2017-10-02 17:41:05 +02:00
Pim van der Loos
23889c0845 - Code improvements.
- You can now customize name and lore for armored elytras (or not have any lore at all) in the config file. %ARMOR_TIER% works here as well.
- Fixed some minor bugs with incorrect strings being printed sometimes.
2017-09-29 22:08:41 +02:00
Pim van der Loos
6d707c34a8 - Added update checker (with config option to disable).
- Added support for %ARMOR_TIER% variable in config.
- Removed order requirement when crafting armored elytas (armor+elytra and elytra+armor both works now).
- Added support for enchanted books.
- Removed some code duplication.
2017-09-26 15:53:57 +02:00
Pim van der Loos
12729e3fb3 - Order of elytra/chestplate does not matter anymore.
- Added support for enchanted books.
2017-09-26 12:56:37 +02:00
Pim van der Loos
33540e4b16 - Made printing stuff to console/player nicer. 2017-09-26 11:41:02 +02:00
Pim van der Loos
9fb779f495 - Added config options to change messages you get when receiving an armored elytra and when you are not allowed to wear a certain tier of elytra. Changing the messages to "NONE" will cause no message to be printed.
- You can now give armored elytras to players from the console using the command: /armoredelytra <player> <armor>
2017-09-23 23:39:23 +02:00