Releases: Simplicitee/BendingItems
Version 1.9.1 - Mod Parsing Fix
Changelog
- Fixed Timesword.yml example file mod section
- Added warning for mod section not having enough subsections
Version 1.9.0 - Reloading PK (is a nuisance)
Changelog
Fixed commands not being re-registered when PK is reloaded.
Version 1.8.0 - Specific Metas, Attributes, and IDs
Changelog
ID changes
- Changed how items are checked for being a BendingItem, now only relying on the id stored in the persistent data container of the item.
Attributes section for item configs
- This is a list comprised of modifiers for minecraft attributes (like health, attack damage, and speed)
- Each element of the list follows the format
<ATTRIBUTE>;<OPERATION>;<AMOUNT>;<EQUIPMENT SLOT><ATTRIBUTE>is an attribute players have, like generic_max_health, generic_attack_damage, generic_movement_speed, etc. Some attributes may not be modifiable with items.<OPERATION>is either:add_number- this adds the exact amount given to the specified attributeadd_scalar- this uses the amount as a percent, so 0.25 would be a 25% increasemultiply_scalar_1this does the same asadd_scalar, but adds 1, so 0.25 would be a 125% increase
<AMOUNT>is the amount to modify the attribute by, can be either a positive or negative decimal number<EQUIPMENT SLOT>is the where the player needs this item for the attribute modifiers to take effect. Acceptable values are chest, feet, hand, head, legs, off_hand.
ItemMeta section for item configs
- Specific metas have further sections under this that can be used if the correct item material is being used.
- Currently implemented sections are ArmorTrim, AxolotlBucket, Banner, BlockData, Book, Compass, and LeatherArmor, further explained below
- ArmorTrim has two values, Material and Pattern. This should be self explanatory.
- AxolotlBucket has one value for the Variant of the axolotl in the bucket.
- Banner has one value, Patterns. This is a list of the patterns to be applied on the banner. Each element of the list is formatted as
<PATTERN>;<DYE COLOR>. - BlockData has one value, Value, for the block data to be used on the block.
- Book has four values: Title, Author, Generation, and Pages.
- Title accepts alt color codes
- Generation is either ORIGINAL, COPY_OF_ORIGINAL, COPY_OF_COPY
- Pages is a list where each element is a page in the book. Unsure what the limit is. Pages also accept alt color codes.
- Compass has four values, World, X, Y, Z. These are used to create a location for the compass to track.
- LeatherArmor has one value, Color. This is a hexadecimal color, the # symbol can be omitted.
Example
Material: LEATHER_CHESTPLATE
Element: Earth
Usage: WEARING
Display: '&x&5&0&C&8&7&8Badgermole Pelt Tunic'
Lore:
- 'A tunic made from the hide of a badgermole'
Attributes:
- generic_max_health;add_number;40;chest
ItemMeta:
LeatherArmor:
Color: 'bf9678'BendingItems v1.7.0
Changelog
- Fixed issue with bending items in the offhand not removing properly when uses are depleted
- Fixed possible issue with multiple similar bending items being removed when one's uses are depleted
- Fixed usage display of the
/bending itemcommand to include theequiparg for "equipping" bending items withHOLDINGusage so that they remain in the player's main hand while scrolling slots - Updated Uses functionality to be more discerning in what causes uses to be consumed
- Changed how mods on bending items are parsed internally, so now any operation of addition, multiplication, subtraction, and division is possible, along with having multiple of these operations in one statement. This is explained below.
- Default bending items have been updated to reflect this change. Since they are config files, they will not update unless regenerated manually.
Note about the Uses property of bending items: it is possible for multiple abilities to be "activated" at the same time, especially for earth and water, so when using the Uses property I would advise not using
basemods so that uses are only consumed when appropriate abilities are activated.
New Mods Parsing
The change described above will not affect any existing mods, but allows for more explicit control over mods in general. This is useful in the case of something like cooldowns, durations, charge times, and other time-based attributes. In general, when dealing with attributes datatypes may not match nicely. This can cause certain cases where it appears mods are not working. Here is an example:
Mods:
EarthArmor:
Cooldown: "x0.7"In this case, the intended effect is for EarthArmor's cooldown to be reduced by 30%. The issue that arises is that time-based fields are typically stored as the datatype long, which is not a decimal format, but our mod is. So when PK tries to modify the attribute, it converts the 0.7 into the long type. This conversion simply truncates digits after the decimal point, so the resulting effect would be multiplying the cooldown by zero. Obviously we don't want this, but there's no good way to fix this internally. So, the solution is multiple operations. Here is what that looks like:
Mods:
EarthArmor:
Cooldown: "x7,/10"Here we've listed two operations to happen: first we multiply by seven, and then we divide by ten. This achieves the same effect as multiplying by 0.7, but it will work for any datatype. The drawback is more verbose mods, but I think it is worth it. In general, it would be better to write decimals out in this fashion instead, but decimals will still work for many mods.
BendingItems v1.6.2
Changelog
- Fixed issue with ability-specific mods on items not working.
BendingItems v1.6.1
Changelog
- Fixed issue preventing item mods from being loaded properly
BendingItems v1.6.0
Changelog
- Added
Modeloption for applying custom model data to a bending item. This requires a resource pack. The wiki on this repository has been updated to show this new option. - General upkeep of codebase (no change to functionality)
BendingItems v1.5.0
Changelog
- Added
/bending attributes <ability>command, lists the attributes of an ability. Note that some may not be modifiable algebraically and will not work with items currently. - Added crafting recipe options for item configs, see below
Shapeless recipes
As the name suggests the shape of these recipes does not matter, only the ingredients matter. You can list up to 9 ingredients and you can repeat ingredients.
Recipe:
Shaped: false
Ingredients:
- <an ingredient>
- <an ingredient>
- <an ingredient>
- <an ingredient>
- <an ingredient>
- <an ingredient>
- <an ingredient>
- <an ingredient>
- <an ingredient>Shaped Recipes
As the name suggests, the shape for these recipes is important and thus requires different inputs and more information. Ingredients here should NOT be repeated, and in the Shape option use the letters (as demonstrated) to make the shape you with the ingredients. You can still have up to 9 ingredients. If you want to have empty slots, list air as one of the ingredients and use the letter associated with where you put it. Hopefully, the shape option is intuitive as it is structured just like the Minecraft crafting inventory.
Recipe:
Shaped: true
Ingredients:
- <ingredient a>
- <ingredient b>
- <ingredient c>
- <ingredient d>
- <ingredient e>
- <ingredient f>
- <ingredient g>
- <ingredient h>
- <ingredient i>
Shape:
- 'abc'
- 'def'
- 'ghi'BendingItems v1.4.0
Changelog
- Changed how items are made, can no longer be stacked
- Added new example item, delete folder to generate it (save any files you wish to keep elsewhere)
- New options for items (shown in new example):
Unbreakable, Enchants, FlagsUnbreakabletrue/false for if the item is unbreakableEnchantsgive the item any applicable enchants, list items structured like<enchantment>:<level>Flagsa list of flags for the item of what information to hide (such as attributes, enchants)
BendingItems v1.3.0
Changelog
- Added equip command, when used on a bending item that requires holding to work it keeps that item in your main hand when changing slots.
- Added permissions for the give, gui, and equip commands, structured
bending.command.item.<give/gui/equip>default OP - Stable tested version for PK 1.9.0 and Spigot 1.16.5