mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 08:14:00 +02:00
Merge remote-tracking branch 'refs/remotes/origin/v1.x.x' into feature/genericnms
# Conflicts: # src/main/kotlin/xyz/alexcrea/cuanvil/dependency/gui/GuiTesterSelector.kt
This commit is contained in:
commit
f5a89fea7c
25 changed files with 1665 additions and 104 deletions
|
|
@ -100,9 +100,7 @@ For information about the API, please refer to [the Wiki](https://github.com/ale
|
|||
---
|
||||
|
||||
### Default Plugin's Configurations
|
||||
For 1.18 to 1.20.6 use the [1.18 configurations](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.18)\
|
||||
For 1.21 to 1.21.8 use the [1.21 configurations](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21)\
|
||||
From 1.21.9 use the [1.21.9 configurations](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21)
|
||||
see [Here](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs)
|
||||
|
||||
---
|
||||
Custom anvil [use bstat](https://bstats.org/plugin/bukkit/Unsafe%20Enchants%20Plus/20923) for metric. You can [disable it](https://bstats.org/getting-started) if you like.
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ plugins {
|
|||
}
|
||||
|
||||
group = "xyz.alexcrea"
|
||||
version = "1.15.5"
|
||||
version = "1.15.7"
|
||||
|
||||
val effectiveVersion = "$version" +
|
||||
(if (System.getenv("SMALL_COMMIT_HASH") != null) "-dev-${System.getenv("SMALL_COMMIT_HASH")!!}" else "")
|
||||
|
|
@ -89,6 +89,7 @@ dependencies {
|
|||
implementation(project(":nms:v1_21R4", configuration = "reobf"))
|
||||
implementation(project(":nms:v1_21R5", configuration = "reobf"))
|
||||
implementation(project(":nms:v1_21R6", configuration = "reobf"))
|
||||
implementation(project(":nms:v1_21R7", configuration = "reobf"))
|
||||
|
||||
// include kotlin for the offline jar
|
||||
implementation(kotlin("stdlib"))
|
||||
|
|
|
|||
6
defaultconfigs/1.21.11/README.md
Normal file
6
defaultconfigs/1.21.11/README.md
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
### Default Plugin's Configurations For 1.21.11
|
||||
- [config.yml](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21.11/config.yml)
|
||||
- [enchant_conflict.yml](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21.11/enchant_conflict.yml)
|
||||
- [item_groups.yml](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21.11/item_groups.yml)
|
||||
- [unit_repair_item.yml](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21.11/unit_repair_item.yml)
|
||||
- [custom_recipes.yml](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21.11/custom_recipes.yml)
|
||||
427
defaultconfigs/1.21.11/config.yml
Normal file
427
defaultconfigs/1.21.11/config.yml
Normal file
|
|
@ -0,0 +1,427 @@
|
|||
#
|
||||
# It is recommended that you use /configanvil to edit theses config.
|
||||
# You can still manually edit here if you like to. but if you do, don't forget to /anvilconfigreload after you changes !
|
||||
#
|
||||
|
||||
# All anvil cost will be capped to limit_repair_value if enabled.
|
||||
#
|
||||
# In other words:
|
||||
# For any anvil cost greater than limit_repair_value, Cost will be set to limit_repair_value.
|
||||
limit_repair_cost: false
|
||||
|
||||
# Max cost value the Anvil can get to.
|
||||
#
|
||||
# Valid values include 0 to 1000.
|
||||
# Cost will be displayed as "Too Expensive":
|
||||
# - If Cost is above 39
|
||||
# - And replace_too_expensive is disabled (false)
|
||||
limit_repair_value: 39
|
||||
|
||||
# Whether the anvil's cost limit should be removed entirely.
|
||||
#
|
||||
# The anvil will still visually display "Too Expensive" if "replace_too_expensive" is disabled
|
||||
# However, the action will be completable if xp requirement is meet.
|
||||
remove_repair_limit: false
|
||||
|
||||
# Whenever anvil cost is above 39 should display the true price and not "Too Expensive".
|
||||
#
|
||||
# However, when bypassing "Too Expensive", anvil price will be displayed as Green.
|
||||
# If the action is not completable, the cost will still be displayed as "Too expensive".
|
||||
# That mean you also need to change other settings like remove_repair_limit or limit_repair_cost.
|
||||
#
|
||||
# Require ProtocoLib.
|
||||
replace_too_expensive: false
|
||||
|
||||
# XP Level amount added to the anvil when the item is repaired by another item of the same type
|
||||
#
|
||||
# Valid values include 0 to 1000
|
||||
item_repair_cost: 2
|
||||
|
||||
# XP Level amount added to the anvil when the item is renamed
|
||||
#
|
||||
# Valid values include 0 to 1000
|
||||
item_rename_cost: 1
|
||||
|
||||
# XP Level amount added to the anvil when the item is repaired by an "unit"
|
||||
# For example: a Diamond on a Diamond Sword
|
||||
# What's considered unit for what can be edited on the unit repair configuration.
|
||||
#
|
||||
# Valid values include 0 to 1000
|
||||
unit_repair_cost: 1
|
||||
|
||||
# XP Level amount added to the anvil when a sacrifice enchantment
|
||||
# conflict with one of the left item enchantment
|
||||
#
|
||||
# Valid values include 0 to 1000
|
||||
sacrifice_illegal_enchant_cost: 1
|
||||
|
||||
# Allow using color code and hexadecimal color.
|
||||
#
|
||||
# Color code are prefixed by "&" and hexadecimal color by "#".
|
||||
# Color code will not be applied if it colors nothing. "&&" can be used to write "&".
|
||||
# For minimessage search for minimessage formating https://docs.papermc.io/adventure/minimessage/format/
|
||||
# Note that only color and decoration tags are allowed for minimisage in the v1 version of this plugin
|
||||
# but any global tag will be allowed later when v2 release
|
||||
allow_color_code: false
|
||||
allow_hexadecimal_color: false
|
||||
allow_minimessage: false
|
||||
|
||||
# Toggle if color should only be applicable if the player a certain permission.
|
||||
#
|
||||
# permission are "ca.color.code" for use of color code and "ca.color.hex" for use of hexadecimal color.
|
||||
permission_needed_for_color: true
|
||||
|
||||
# Xp cost if the player use color in the items name on rename.
|
||||
#
|
||||
# Valid values include 0 to 1000.
|
||||
use_of_color_cost: 0
|
||||
|
||||
# Default limit to apply to any enchants missing from enchant_limits
|
||||
#
|
||||
# Valid values include 1 to 1000
|
||||
default_limit: 5
|
||||
|
||||
# Override limits for specific enchants
|
||||
#
|
||||
# Enchantments not listed here will use the value of default_limit
|
||||
#
|
||||
# Overrides provided default from aqua_affinity to depth_strider won't change effect with extra levels
|
||||
#
|
||||
# Valid range of 1 - 255 for each enchantment
|
||||
enchant_limits:
|
||||
minecraft:aqua_affinity: 1
|
||||
minecraft:binding_curse: 1
|
||||
minecraft:channeling: 1
|
||||
minecraft:flame: 1
|
||||
minecraft:infinity: 1
|
||||
minecraft:mending: 1
|
||||
minecraft:multishot: 1
|
||||
minecraft:silk_touch: 1
|
||||
minecraft:vanishing_curse: 1
|
||||
minecraft:depth_strider: 3 # anything more than 3 is treated as 3 by the game
|
||||
minecraft:protection: 4
|
||||
minecraft:fire_protection: 4
|
||||
minecraft:blast_protection: 4
|
||||
minecraft:projectile_protection: 4
|
||||
minecraft:feather_falling: 4
|
||||
minecraft:thorns: 3
|
||||
minecraft:respiration: 3
|
||||
minecraft:sharpness: 5
|
||||
minecraft:smite: 5
|
||||
minecraft:bane_of_arthropods: 5
|
||||
minecraft:knockback: 2
|
||||
minecraft:fire_aspect: 2
|
||||
minecraft:looting: 3
|
||||
minecraft:sweeping: 3
|
||||
minecraft:sweeping_edge: 3
|
||||
minecraft:efficiency: 5
|
||||
minecraft:unbreaking: 3
|
||||
minecraft:fortune: 3
|
||||
minecraft:power: 5
|
||||
minecraft:punch: 2
|
||||
minecraft:luck_of_the_sea: 3
|
||||
minecraft:lure: 3
|
||||
minecraft:frost_walker: 2
|
||||
minecraft:impaling: 5
|
||||
minecraft:riptide: 3
|
||||
minecraft:loyalty: 3
|
||||
minecraft:piercing: 4
|
||||
minecraft:quick_charge: 3
|
||||
minecraft:soul_speed: 3
|
||||
minecraft:swift_sneak: 3
|
||||
minecraft:density: 5
|
||||
minecraft:breach: 4
|
||||
minecraft:wind_burst: 3
|
||||
minecraft:lunge: 3
|
||||
|
||||
# Multipliers used to calculate the enchantment's value in repair/combining
|
||||
#
|
||||
# Values here are pulled from the fandom wiki:
|
||||
# https://minecraft.fandom.com/wiki/Anvil_mechanics#Costs_for_combining_enchantments
|
||||
#
|
||||
# If an enchantment is missing values here, or is less than 0, it will default to 0
|
||||
#
|
||||
# Calculated as: [Enchantment lvl] * [multiplier]
|
||||
#
|
||||
# With default values protection 4 would have a value of 4 when
|
||||
# coming from either a book (4 * 1) or an item (4 * 1)
|
||||
enchant_values:
|
||||
minecraft:aqua_affinity:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:bane_of_arthropods:
|
||||
item: 2
|
||||
book: 1
|
||||
minecraft:binding_curse:
|
||||
item: 8
|
||||
book: 4
|
||||
minecraft:blast_protection:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:channeling:
|
||||
item: 8
|
||||
book: 4
|
||||
minecraft:depth_strider:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:efficiency:
|
||||
item: 1
|
||||
book: 1
|
||||
minecraft:flame:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:feather_falling:
|
||||
item: 2
|
||||
book: 1
|
||||
minecraft:fire_aspect:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:fire_protection:
|
||||
item: 2
|
||||
book: 1
|
||||
minecraft:fortune:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:frost_walker:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:impaling:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:infinity:
|
||||
item: 8
|
||||
book: 4
|
||||
minecraft:knockback:
|
||||
item: 2
|
||||
book: 1
|
||||
minecraft:looting:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:loyalty:
|
||||
item: 1
|
||||
book: 1
|
||||
minecraft:luck_of_the_sea:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:lure:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:mending:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:multishot:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:piercing:
|
||||
item: 1
|
||||
book: 1
|
||||
minecraft:power:
|
||||
item: 1
|
||||
book: 1
|
||||
minecraft:projectile_protection:
|
||||
item: 2
|
||||
book: 1
|
||||
minecraft:protection:
|
||||
item: 1
|
||||
book: 1
|
||||
minecraft:punch:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:quick_charge:
|
||||
item: 2
|
||||
book: 1
|
||||
minecraft:respiration:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:riptide:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:silk_touch:
|
||||
item: 8
|
||||
book: 4
|
||||
minecraft:sharpness:
|
||||
item: 1
|
||||
book: 1
|
||||
minecraft:smite:
|
||||
item: 2
|
||||
book: 1
|
||||
minecraft:soul_speed:
|
||||
item: 8
|
||||
book: 4
|
||||
minecraft:swift_sneak:
|
||||
item: 8
|
||||
book: 4
|
||||
minecraft:sweeping:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:sweeping_edge:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:thorns:
|
||||
item: 8
|
||||
book: 4
|
||||
minecraft:unbreaking:
|
||||
item: 2
|
||||
book: 1
|
||||
minecraft:vanishing_curse:
|
||||
item: 8
|
||||
book: 4
|
||||
minecraft:density:
|
||||
item: 2
|
||||
book: 1
|
||||
minecraft:breach:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:wind_burst:
|
||||
item: 4
|
||||
book: 2
|
||||
minecraft:lunge:
|
||||
item: 2
|
||||
book: 1
|
||||
|
||||
# Disable enchantment merging for level above the set value
|
||||
# Enchantment merging is when, for example, 2 unbreaking II book combine to give sharpness III
|
||||
# But Enchantment above this value can still be applied. following the previous example, we could still apply a unbreaking III book to a sword
|
||||
# Even if disable-merge-over of unbreaking is set to 2
|
||||
# -1 mean enchantment merge for this enchantment is not disabled. default to -1 if absent.
|
||||
disable-merge-over:
|
||||
# Sharpness is set to -1. it equivalent to it not being set to anything (and work as vanilla)
|
||||
minecraft:sharpness: -1
|
||||
# If uncommented. 2 unbreaking II book would not give an unbreaking III book. but unbreaking III book can still be applied
|
||||
# minecraft:unbreaking: 2
|
||||
|
||||
# The maximum number of enchantment an item can get. -1 for infinity
|
||||
# Use eco enchant enchant_limit if present by default unless "default" is not equal to -1
|
||||
enchantment_count_limit:
|
||||
default: -1
|
||||
# Limit for specific items. example bellow is an example with stick
|
||||
# Per item enchantment limit override eco enchant enchant_limit and default limit
|
||||
items:
|
||||
stick: -1
|
||||
|
||||
# Settings for lore modification
|
||||
lore_edit:
|
||||
book_and_quil:
|
||||
# Permission is ca.lore_edit.book
|
||||
use_permission: true
|
||||
append:
|
||||
# If adding lore using book & quil is enabled
|
||||
enabled: false
|
||||
# Cost used every time
|
||||
fixed_cost: 1
|
||||
# Cost used for every lore line added
|
||||
per_line_cost: 0
|
||||
# Use left item vanilla cost penalty if any
|
||||
shared_increase: false
|
||||
# Increase shared left item cost penalty
|
||||
shared_additive: false
|
||||
# If adding the lore consume the book & quil
|
||||
do_consume: false
|
||||
# Allow using color code and hexadecimal color when editing lore via book & quil
|
||||
#
|
||||
# Color code are prefixed by "&" and hexadecimal color by "#"
|
||||
# Color code will not be applied if it colors nothing. "&&" can be used to write "&"
|
||||
# For minimessage see minimessage formating https://docs.papermc.io/adventure/minimessage/format/
|
||||
#
|
||||
# Note that currently minimessage would disable hex code when adding color
|
||||
allow_color_code: true
|
||||
allow_hexadecimal_color: false
|
||||
allow_minimessage: true
|
||||
use_cost: 0
|
||||
|
||||
remove:
|
||||
# If removing lore using book & quil is enabled
|
||||
enabled: false
|
||||
# Cost used every time
|
||||
fixed_cost: 1
|
||||
# Cost used for every lore line removed
|
||||
per_line_cost: 0
|
||||
# Use left item vanilla cost penalty if any
|
||||
shared_increase: false
|
||||
# Increase shared left item cost penalty
|
||||
shared_additive: false
|
||||
# If removing the lore consume the book & quil
|
||||
do_consume: false
|
||||
# Cost of replacing colors
|
||||
remove_color_cost: 0
|
||||
# Allowed some color and tags to be reverted to plain text
|
||||
# Custom anvil will prioritise format that result is a smaller resulting text
|
||||
# Note that not allowing certain format will lead to some lost of color or tags.
|
||||
# If configuration are exact as append appending this book should result in the exact same color
|
||||
#
|
||||
# Color code will be prefixed by "&" and hexadecimal color by "#".
|
||||
# If color code is allowed, "&" in the text will get converted to "&&"
|
||||
# For minimessage see minimessage formating https://docs.papermc.io/adventure/minimessage/format/
|
||||
allow_color_code: true
|
||||
allow_hexadecimal_color: false
|
||||
allow_minimessage: true
|
||||
|
||||
paper:
|
||||
# Permission is ca.lore_edit.paper
|
||||
use_permission: true
|
||||
# what order should the lines should get added/removed (start/end, if invalid or not present will be end)
|
||||
order: end
|
||||
|
||||
append_line:
|
||||
# If adding lore line using paper is enabled
|
||||
enabled: false
|
||||
# Cost used every time
|
||||
fixed_cost: 1
|
||||
# Use left item vanilla cost penalty if any
|
||||
shared_increase: false
|
||||
# Increase shared left item cost penalty
|
||||
shared_additive: false
|
||||
# If adding the lore line consume the paper
|
||||
do_consume: false
|
||||
# Allow using color code and hexadecimal color when editing lore via book & quil
|
||||
#
|
||||
# Color code are prefixed by "&" and hexadecimal color by "#"
|
||||
# Color code will not be applied if it colors nothing. "&&" can be used to write "&"
|
||||
# For minimessage see minimessage formating https://docs.papermc.io/adventure/minimessage/format/
|
||||
#
|
||||
# Note that currently minimessage would disable hex code when adding color
|
||||
allow_color_code: true
|
||||
allow_hexadecimal_color: false
|
||||
allow_minimessage: true
|
||||
color_use_cost: 0
|
||||
use_cost: 0
|
||||
|
||||
remove_line:
|
||||
# If removing lore line using paper is enabled
|
||||
enabled: false
|
||||
# Cost used every time
|
||||
fixed_cost: 1
|
||||
# Use left item vanilla cost penalty if any
|
||||
shared_increase: false
|
||||
# Increase shared left item cost penalty
|
||||
shared_additive: false
|
||||
# If removing the lore line consume the paper
|
||||
do_consume: false
|
||||
# Cost of replacing colors
|
||||
remove_color_cost: 0
|
||||
# Allowed some color and tags to be reverted to plain text
|
||||
# Custom anvil will prioritise format that result is a smaller resulting text
|
||||
# Note that not allowing certain format will lead to some lost of color or tags.
|
||||
# If configuration are exact as append appending this paper should result in the exact same color
|
||||
#
|
||||
# Color code will be prefixed by "&" and hexadecimal color by "#".
|
||||
# If color code is allowed, "&" in the text will get converted to "&&"
|
||||
# For minimessage see minimessage formating https://docs.papermc.io/adventure/minimessage/format/
|
||||
allow_color_code: true
|
||||
allow_hexadecimal_color: false
|
||||
allow_minimessage: true
|
||||
|
||||
# Whether to show debug logging
|
||||
debug_log: false
|
||||
|
||||
# Whether to show verbose debug logging
|
||||
debug_log_verbose: false
|
||||
|
||||
# In case something when wrong with CustomAnvil packet manager.
|
||||
# If you see "missing class exception" or similar you may test this.
|
||||
# If enabled and Protocolib absent or disabled "Replace to expensive" will not work.
|
||||
# ProtocoLib may also be used if the server is in an "unsupported" version even if this option is disabled.
|
||||
force_protocolib: false
|
||||
|
||||
configVersion: 1.15.5
|
||||
lowMinecraftVersion: 1.21.11
|
||||
5
defaultconfigs/1.21.11/custom_recipes.yml
Normal file
5
defaultconfigs/1.21.11/custom_recipes.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# ----------------------------------------------------
|
||||
# This config file is to store custom craft
|
||||
# It is recommended to use the in game config editor for this configuration.
|
||||
# /customanvilconfig With ca.config.edit permission
|
||||
# ----------------------------------------------------
|
||||
398
defaultconfigs/1.21.11/enchant_conflict.yml
Normal file
398
defaultconfigs/1.21.11/enchant_conflict.yml
Normal file
|
|
@ -0,0 +1,398 @@
|
|||
#
|
||||
# It is recommended that you use /configanvil to edit theses config.
|
||||
# You can still manually edit here if you like to. but if you do, don't forget to /anvilconfigreload after you changes !
|
||||
#
|
||||
|
||||
# material conflicts
|
||||
#
|
||||
# If you want to edit this file:
|
||||
# - A conflict will apply to every item except if in one of the notAffectedGroups group
|
||||
# - the conflict will count only if the user try to combine at least as
|
||||
# many conflicting enchantment as "maxEnchantmentBeforeConflict"
|
||||
#
|
||||
#
|
||||
# ----------------------------------------------------
|
||||
# These restriction are about not allowing enchantment
|
||||
# on illegal items
|
||||
# ----------------------------------------------------
|
||||
|
||||
restriction_aqua_affinity:
|
||||
enchantments:
|
||||
- minecraft:aqua_affinity
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- helmets
|
||||
|
||||
restriction_bane_of_arthropods:
|
||||
enchantments:
|
||||
- minecraft:bane_of_arthropods
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- melee_weapons
|
||||
- mace
|
||||
|
||||
restriction_blast_protection:
|
||||
enchantments:
|
||||
- minecraft:blast_protection
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- armors
|
||||
|
||||
restriction_channeling:
|
||||
enchantments:
|
||||
- minecraft:channeling
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- trident
|
||||
|
||||
restriction_binding_curse:
|
||||
enchantments:
|
||||
- minecraft:binding_curse
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- wearable
|
||||
|
||||
restriction_vanishing_curse:
|
||||
enchantments:
|
||||
- minecraft:vanishing_curse
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- can_vanish
|
||||
|
||||
restriction_depth_strider:
|
||||
enchantments:
|
||||
- minecraft:depth_strider
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- boots
|
||||
|
||||
restriction_efficiency:
|
||||
enchantments:
|
||||
- minecraft:efficiency
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- tools
|
||||
- shears
|
||||
|
||||
restriction_feather_falling:
|
||||
enchantments:
|
||||
- minecraft:feather_falling
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- boots
|
||||
|
||||
restriction_fire_aspect:
|
||||
enchantments:
|
||||
- minecraft:fire_aspect
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- swords
|
||||
- mace
|
||||
- spears
|
||||
|
||||
restriction_fire_protection:
|
||||
enchantments:
|
||||
- minecraft:fire_protection
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- armors
|
||||
|
||||
restriction_flame:
|
||||
enchantments:
|
||||
- minecraft:flame
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- bow
|
||||
|
||||
restriction_fortune:
|
||||
enchantments:
|
||||
- minecraft:fortune
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- tools
|
||||
|
||||
restriction_frost_walker:
|
||||
enchantments:
|
||||
- minecraft:frost_walker
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- boots
|
||||
|
||||
restriction_impaling:
|
||||
enchantments:
|
||||
- minecraft:impaling
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- trident
|
||||
|
||||
restriction_infinity:
|
||||
enchantments:
|
||||
- minecraft:infinity
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- bow
|
||||
|
||||
restriction_knockback:
|
||||
enchantments:
|
||||
- minecraft:knockback
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- swords
|
||||
- spears
|
||||
|
||||
restriction_looting:
|
||||
enchantments:
|
||||
- minecraft:looting
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- swords
|
||||
- spears
|
||||
|
||||
restriction_loyalty:
|
||||
enchantments:
|
||||
- minecraft:loyalty
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- trident
|
||||
|
||||
restriction_luck_of_the_sea:
|
||||
enchantments:
|
||||
- minecraft:luck_of_the_sea
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- fishing_rod
|
||||
|
||||
restriction_lure:
|
||||
enchantments:
|
||||
- minecraft:lure
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- fishing_rod
|
||||
|
||||
restriction_mending:
|
||||
enchantments:
|
||||
- minecraft:mending
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- can_unbreak
|
||||
|
||||
restriction_minecraft_multishot:
|
||||
enchantments:
|
||||
- minecraft:multishot
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- crossbow
|
||||
|
||||
restriction_piercing:
|
||||
enchantments:
|
||||
- minecraft:piercing
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- crossbow
|
||||
|
||||
restriction_power:
|
||||
enchantments:
|
||||
- minecraft:power
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- bow
|
||||
|
||||
restriction_projectile_protection:
|
||||
enchantments:
|
||||
- minecraft:projectile_protection
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- armors
|
||||
|
||||
restriction_protection:
|
||||
enchantments:
|
||||
- minecraft:protection
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- armors
|
||||
|
||||
restriction_punch:
|
||||
enchantments:
|
||||
- minecraft:punch
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- bow
|
||||
|
||||
restriction_quick_charge:
|
||||
enchantments:
|
||||
- minecraft:quick_charge
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- crossbow
|
||||
|
||||
restriction_respiration:
|
||||
enchantments:
|
||||
- minecraft:respiration
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- helmets
|
||||
|
||||
restriction_riptide:
|
||||
enchantments:
|
||||
- minecraft:riptide
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- trident
|
||||
|
||||
restriction_sharpness:
|
||||
enchantments:
|
||||
- minecraft:sharpness
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- melee_weapons
|
||||
|
||||
restriction__silk_touch:
|
||||
enchantments:
|
||||
- minecraft:silk_touch
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- tools
|
||||
|
||||
restriction_smite:
|
||||
enchantments:
|
||||
- minecraft:smite
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- melee_weapons
|
||||
- mace
|
||||
|
||||
restriction_soul_speed:
|
||||
enchantments:
|
||||
- minecraft:soul_speed
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- boots
|
||||
|
||||
restriction_sweeping_edge:
|
||||
enchantments:
|
||||
- minecraft:sweeping
|
||||
- minecraft:sweeping_edge
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- swords
|
||||
|
||||
# Do not exist in 1.18, that mean useInFuture will be set to true
|
||||
# useInFuture set to true also mean it will not warn if there is an issue
|
||||
restriction_swift_sneak:
|
||||
useInFuture: true
|
||||
enchantments:
|
||||
- minecraft:swift_sneak
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- leggings
|
||||
|
||||
restriction_thorns:
|
||||
enchantments:
|
||||
- minecraft:thorns
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- armors
|
||||
|
||||
restriction__unbreaking:
|
||||
enchantments:
|
||||
- minecraft:unbreaking
|
||||
notAffectedGroups:
|
||||
- enchanted_book
|
||||
- can_unbreak
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Now we have conflicts about enchantment Incompatibility
|
||||
# We just filtered what item enchantments can be applied
|
||||
# notAffectedGroups is empty as we don't want anything to not respect theses rules
|
||||
# maxEnchantmentBeforeConflict is set to 1 to only have 1 on those enchantment available
|
||||
# ----------------------------------------------------
|
||||
|
||||
sword_enchant_conflict:
|
||||
enchantments:
|
||||
- minecraft:bane_of_arthropods
|
||||
- minecraft:smite
|
||||
- minecraft:sharpness
|
||||
- minecraft:density
|
||||
- minecraft:breach
|
||||
notAffectedGroups: []
|
||||
maxEnchantmentBeforeConflict: 1
|
||||
|
||||
protection_enchant_conflict:
|
||||
enchantments:
|
||||
- minecraft:blast_protection
|
||||
- minecraft:fire_protection
|
||||
- minecraft:projectile_protection
|
||||
- minecraft:protection
|
||||
notAffectedGroups: []
|
||||
maxEnchantmentBeforeConflict: 1
|
||||
|
||||
trident_conflict1:
|
||||
enchantments:
|
||||
- minecraft:channeling
|
||||
- minecraft:riptide
|
||||
notAffectedGroups: []
|
||||
maxEnchantmentBeforeConflict: 1
|
||||
|
||||
trident_conflict2:
|
||||
enchantments:
|
||||
- minecraft:loyalty
|
||||
- minecraft:riptide
|
||||
notAffectedGroups: []
|
||||
maxEnchantmentBeforeConflict: 1
|
||||
|
||||
boot_conflict:
|
||||
enchantments:
|
||||
- minecraft:depth_strider
|
||||
- minecraft:frost_walker
|
||||
notAffectedGroups: []
|
||||
maxEnchantmentBeforeConflict: 1
|
||||
|
||||
tool_conflict:
|
||||
enchantments:
|
||||
- minecraft:fortune
|
||||
- minecraft:silk_touch
|
||||
notAffectedGroups: []
|
||||
maxEnchantmentBeforeConflict: 1
|
||||
|
||||
bow_conflict:
|
||||
enchantments:
|
||||
- minecraft:mending
|
||||
- minecraft:infinity
|
||||
notAffectedGroups: []
|
||||
maxEnchantmentBeforeConflict: 1
|
||||
|
||||
crossbow_conflict:
|
||||
enchantments:
|
||||
- minecraft:multishot
|
||||
- minecraft:piercing
|
||||
notAffectedGroups: []
|
||||
maxEnchantmentBeforeConflict: 1
|
||||
restriction_density:
|
||||
enchantments:
|
||||
- minecraft:density
|
||||
notAffectedGroups:
|
||||
- mace
|
||||
- enchanted_book
|
||||
restriction_breach:
|
||||
enchantments:
|
||||
- minecraft:breach
|
||||
notAffectedGroups:
|
||||
- mace
|
||||
- enchanted_book
|
||||
restriction_wind_burst:
|
||||
enchantments:
|
||||
- minecraft:wind_burst
|
||||
notAffectedGroups:
|
||||
- mace
|
||||
- enchanted_book
|
||||
restriction_lunge:
|
||||
enchantments:
|
||||
- minecraft:lunge
|
||||
notAffectedGroups:
|
||||
- spears
|
||||
- enchanted_book
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Bellow is for custom conflicts.
|
||||
# This is also where conflict create from the gui will be placed.
|
||||
# ----------------------------------------------------
|
||||
247
defaultconfigs/1.21.11/item_groups.yml
Normal file
247
defaultconfigs/1.21.11/item_groups.yml
Normal file
|
|
@ -0,0 +1,247 @@
|
|||
#
|
||||
# It is recommended that you use /configanvil to edit theses config.
|
||||
# You can still manually edit here if you like to. but if you do, don't forget to /anvilconfigreload after you changes !
|
||||
#
|
||||
|
||||
# Please note this config use spigot material names.
|
||||
# It should match minecraft name in most case, maybe every case, but I can't be sure
|
||||
# In case there an issue with material name, you can found them here:
|
||||
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
|
||||
|
||||
# An empty Exclude group exclude nothing, so it contain everything
|
||||
everything:
|
||||
type: exclude
|
||||
|
||||
# An empty include group will include nothing
|
||||
nothing:
|
||||
type: include
|
||||
|
||||
# This group is an example of a group including only stone and polished granite
|
||||
example_include:
|
||||
type: include
|
||||
items:
|
||||
- stone
|
||||
- polished_granite
|
||||
|
||||
# This group contain everything except polished granite and elements of example_include
|
||||
example_exclude:
|
||||
type: exclude
|
||||
items:
|
||||
- polished_granite
|
||||
groups:
|
||||
- example_include
|
||||
|
||||
# Default configuration should be vanilla enchantment conflict group
|
||||
# there may have error, if you find one you can fix it !
|
||||
# https://minecraft.fandom.com/wiki/Enchanting
|
||||
|
||||
swords:
|
||||
type: include
|
||||
items:
|
||||
- wooden_sword
|
||||
- stone_sword
|
||||
- iron_sword
|
||||
- diamond_sword
|
||||
- golden_sword
|
||||
- netherite_sword
|
||||
- copper_sword
|
||||
|
||||
axes:
|
||||
type: include
|
||||
items:
|
||||
- wooden_axe
|
||||
- stone_axe
|
||||
- iron_axe
|
||||
- diamond_axe
|
||||
- golden_axe
|
||||
- netherite_axe
|
||||
- copper_axe
|
||||
|
||||
melee_weapons:
|
||||
type: include
|
||||
groups:
|
||||
- swords
|
||||
- axes
|
||||
- spears
|
||||
|
||||
helmets:
|
||||
type: include
|
||||
items:
|
||||
- leather_helmet
|
||||
- chainmail_helmet
|
||||
- iron_helmet
|
||||
- diamond_helmet
|
||||
- golden_helmet
|
||||
- netherite_helmet
|
||||
- turtle_helmet
|
||||
- copper_helmet
|
||||
|
||||
chestplate:
|
||||
type: include
|
||||
items:
|
||||
- leather_chestplate
|
||||
- chainmail_chestplate
|
||||
- iron_chestplate
|
||||
- diamond_chestplate
|
||||
- golden_chestplate
|
||||
- netherite_chestplate
|
||||
- copper_chestplate
|
||||
|
||||
leggings:
|
||||
type: include
|
||||
items:
|
||||
- leather_leggings
|
||||
- chainmail_leggings
|
||||
- iron_leggings
|
||||
- diamond_leggings
|
||||
- golden_leggings
|
||||
- netherite_leggings
|
||||
- copper_leggings
|
||||
|
||||
boots:
|
||||
type: include
|
||||
items:
|
||||
- leather_boots
|
||||
- chainmail_boots
|
||||
- iron_boots
|
||||
- diamond_boots
|
||||
- golden_boots
|
||||
- netherite_boots
|
||||
- copper_boots
|
||||
|
||||
armors:
|
||||
type: include
|
||||
groups:
|
||||
- helmets
|
||||
- chestplate
|
||||
- leggings
|
||||
- boots
|
||||
|
||||
wearable:
|
||||
type: include
|
||||
items:
|
||||
- elytra
|
||||
- carved_pumpkin
|
||||
- skeleton_skull
|
||||
- wither_skeleton_skull
|
||||
- zombie_head
|
||||
- player_head
|
||||
- creeper_head
|
||||
- dragon_head
|
||||
- piglin_head
|
||||
groups:
|
||||
- armors
|
||||
|
||||
pickaxes:
|
||||
type: include
|
||||
items:
|
||||
- wooden_pickaxe
|
||||
- stone_pickaxe
|
||||
- iron_pickaxe
|
||||
- diamond_pickaxe
|
||||
- golden_pickaxe
|
||||
- netherite_pickaxe
|
||||
- copper_pickaxe
|
||||
|
||||
shovels:
|
||||
type: include
|
||||
items:
|
||||
- wooden_shovel
|
||||
- stone_shovel
|
||||
- iron_shovel
|
||||
- diamond_shovel
|
||||
- golden_shovel
|
||||
- netherite_shovel
|
||||
- copper_shovel
|
||||
|
||||
hoes:
|
||||
type: include
|
||||
items:
|
||||
- wooden_hoe
|
||||
- stone_hoe
|
||||
- iron_hoe
|
||||
- diamond_hoe
|
||||
- golden_hoe
|
||||
- netherite_hoe
|
||||
- copper_hoe
|
||||
|
||||
tools:
|
||||
type: include
|
||||
groups:
|
||||
- pickaxes
|
||||
- shovels
|
||||
- hoes
|
||||
- axes
|
||||
|
||||
enchanted_book:
|
||||
type: include
|
||||
items:
|
||||
- enchanted_book
|
||||
|
||||
trident:
|
||||
type: include
|
||||
items:
|
||||
- trident
|
||||
|
||||
bow:
|
||||
type: include
|
||||
items:
|
||||
- bow
|
||||
|
||||
crossbow:
|
||||
type: include
|
||||
items:
|
||||
- crossbow
|
||||
|
||||
fishing_rod:
|
||||
type: include
|
||||
items:
|
||||
- fishing_rod
|
||||
|
||||
shears:
|
||||
type: include
|
||||
items:
|
||||
- shears
|
||||
|
||||
can_unbreak:
|
||||
type: include
|
||||
items:
|
||||
- elytra
|
||||
- flint_and_steel
|
||||
- shield
|
||||
- carrot_on_a_stick
|
||||
- warped_fungus_on_a_stick
|
||||
- brush
|
||||
groups:
|
||||
- melee_weapons
|
||||
- tools
|
||||
- armors
|
||||
- trident
|
||||
- bow
|
||||
- crossbow
|
||||
- fishing_rod
|
||||
- shears
|
||||
- mace
|
||||
|
||||
can_vanish:
|
||||
type: include
|
||||
items:
|
||||
- compass
|
||||
groups:
|
||||
- wearable
|
||||
- can_unbreak
|
||||
mace:
|
||||
type: include
|
||||
items:
|
||||
- mace
|
||||
spears:
|
||||
type: include
|
||||
items:
|
||||
- wooden_spear
|
||||
- golden_spear
|
||||
- stone_spear
|
||||
- copper_spear
|
||||
- iron_spear
|
||||
- diamond_spear
|
||||
- netherite_spear
|
||||
|
||||
220
defaultconfigs/1.21.11/unit_repair_item.yml
Normal file
220
defaultconfigs/1.21.11/unit_repair_item.yml
Normal file
|
|
@ -0,0 +1,220 @@
|
|||
#
|
||||
# It is recommended that you use /configanvil to edit theses config.
|
||||
# You can still manually edit here if you like to. but if you do, don't forget to /anvilconfigreload after you changes !
|
||||
#
|
||||
|
||||
# Unit repair configuration
|
||||
#
|
||||
# This configuration is to make custom unit repair
|
||||
# A unit repair is, for example, a diamond to repair a diamond sword
|
||||
# In vanilla, a unit repair 25% of object durability
|
||||
# you can make a custom value here
|
||||
#
|
||||
# Item name should NOT combine caps and no caps (example: Stone)
|
||||
|
||||
# Default value if the config is an invalid value (value <= 0 )
|
||||
# If value > 1 it will be treated as being = 1
|
||||
default_repair_amount: 0.25
|
||||
|
||||
# You can add custom unit repair
|
||||
# The example bellow make a shield repaired by 10% by sticks
|
||||
|
||||
# stick:
|
||||
# shield: 0.10
|
||||
|
||||
|
||||
# Vanilla unit repair group is bellow
|
||||
diamond:
|
||||
diamond_helmet: 0.25
|
||||
diamond_chestplate: 0.25
|
||||
diamond_leggings: 0.25
|
||||
diamond_boots: 0.25
|
||||
diamond_sword: 0.25
|
||||
diamond_pickaxe: 0.25
|
||||
diamond_axe: 0.25
|
||||
diamond_shovel: 0.25
|
||||
diamond_hoe: 0.25
|
||||
diamond_spear: 0.25
|
||||
|
||||
netherite_ingot:
|
||||
netherite_helmet: 0.25
|
||||
netherite_chestplate: 0.25
|
||||
netherite_leggings: 0.25
|
||||
netherite_boots: 0.25
|
||||
netherite_sword: 0.25
|
||||
netherite_pickaxe: 0.25
|
||||
netherite_axe: 0.25
|
||||
netherite_shovel: 0.25
|
||||
netherite_hoe: 0.25
|
||||
netherite_spear: 0.25
|
||||
|
||||
gold_ingot:
|
||||
golden_helmet: 0.25
|
||||
golden_chestplate: 0.25
|
||||
golden_leggings: 0.25
|
||||
golden_boots: 0.25
|
||||
golden_sword: 0.25
|
||||
golden_pickaxe: 0.25
|
||||
golden_axe: 0.25
|
||||
golden_shovel: 0.25
|
||||
golden_hoe: 0.25
|
||||
golden_spear: 0.25
|
||||
|
||||
iron_ingot:
|
||||
iron_helmet: 0.25
|
||||
iron_chestplate: 0.25
|
||||
iron_leggings: 0.25
|
||||
iron_boots: 0.25
|
||||
iron_sword: 0.25
|
||||
iron_pickaxe: 0.25
|
||||
iron_axe: 0.25
|
||||
iron_shovel: 0.25
|
||||
iron_hoe: 0.25
|
||||
iron_spear: 0.25
|
||||
|
||||
cobblestone:
|
||||
stone_sword: 0.25
|
||||
stone_pickaxe: 0.25
|
||||
stone_axe: 0.25
|
||||
stone_shovel: 0.25
|
||||
stone_hoe: 0.25
|
||||
stone_spear: 0.25
|
||||
|
||||
cobbled_deepslate:
|
||||
stone_sword: 0.25
|
||||
stone_pickaxe: 0.25
|
||||
stone_axe: 0.25
|
||||
stone_shovel: 0.25
|
||||
stone_hoe: 0.25
|
||||
stone_spear: 0.25
|
||||
|
||||
blackstone:
|
||||
stone_sword: 0.25
|
||||
stone_pickaxe: 0.25
|
||||
stone_axe: 0.25
|
||||
stone_shovel: 0.25
|
||||
stone_hoe: 0.25
|
||||
|
||||
leather:
|
||||
leather_helmet: 0.25
|
||||
leather_chestplate: 0.25
|
||||
leather_leggings: 0.25
|
||||
leather_boots: 0.25
|
||||
|
||||
phantom_membrane:
|
||||
elytra: 0.25
|
||||
|
||||
scute:
|
||||
turtle_helmet: 0.25
|
||||
|
||||
oak_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
|
||||
spruce_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
|
||||
birch_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
|
||||
jungle_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
|
||||
acacia_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
|
||||
dark_oak_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
|
||||
mangrove_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
|
||||
cherry_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
|
||||
bamboo_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
|
||||
crimson_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
|
||||
warped_planks:
|
||||
wooden_sword: 0.25
|
||||
wooden_pickaxe: 0.25
|
||||
wooden_axe: 0.25
|
||||
wooden_shovel: 0.25
|
||||
wooden_hoe: 0.25
|
||||
shield: 0.25
|
||||
wooden_spear: 0.25
|
||||
breeze_rod:
|
||||
mace: 0.25
|
||||
copper_ingot:
|
||||
copper_helmet: 0.25
|
||||
copper_chestplate: 0.25
|
||||
copper_leggings: 0.25
|
||||
copper_boots: 0.25
|
||||
copper_pickaxe: 0.25
|
||||
copper_shovel: 0.25
|
||||
copper_hoe: 0.25
|
||||
copper_axe: 0.25
|
||||
copper_sword: 0.25
|
||||
copper_spear: 0.25
|
||||
|
|
@ -1,3 +1,5 @@
|
|||
### Default Plugin's Configurations
|
||||
For 1.18 to 1.20.6 use [1.18 configurations](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.18) \
|
||||
For 1.21 use [1.21 configurations](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21)
|
||||
From 1.18 to 1.20.6 use [1.18 configurations](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.18) \
|
||||
From 1.21 to 1.21.8 use [1.21 configurations](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21)
|
||||
From 1.21.9 to 1.21.10 use [1.21.9 configurations](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21.9)
|
||||
From 1.21.11 use [1.21.11 configurations](https://github.com/alexcrea/CustomAnvil/tree/master/defaultconfigs/1.21.11)
|
||||
1
nms/v1_21R7/.gitignore
vendored
Normal file
1
nms/v1_21R7/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
.lastDeploymentsId
|
||||
34
nms/v1_21R7/build.gradle.kts
Normal file
34
nms/v1_21R7/build.gradle.kts
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
|
||||
group = rootProject.group
|
||||
version = rootProject.version
|
||||
|
||||
plugins {
|
||||
id("io.papermc.paperweight.userdev")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":nms:nms-common"))
|
||||
|
||||
// Used for nms
|
||||
paperweight.paperDevBundle("1.21.11-R0.1-SNAPSHOT")
|
||||
}
|
||||
|
||||
repositories {
|
||||
maven("https://repo.papermc.io/repository/maven-public/")
|
||||
}
|
||||
|
||||
// Set target version
|
||||
tasks.withType<JavaCompile>().configureEach {
|
||||
sourceCompatibility = "21"
|
||||
targetCompatibility = "21"
|
||||
|
||||
options.encoding = "UTF-8"
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0)
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package xyz.alexcrea.cuanvil.dependency.gui.version
|
||||
|
||||
import org.bukkit.craftbukkit.inventory.CraftInventoryView
|
||||
import org.bukkit.inventory.InventoryView
|
||||
import xyz.alexcrea.cuanvil.dependency.gui.ExternGuiTester
|
||||
|
||||
class v1_21R7_ExternGuiTester: ExternGuiTester {
|
||||
override val wesjdAnvilGuiName = "Wrapper1_21_R7"
|
||||
|
||||
var tested = false;
|
||||
var possible = false;
|
||||
|
||||
override fun getContainerClass(view: InventoryView): Class<Any>? {
|
||||
// In case we are in a test environment
|
||||
if(!tested) testClassExist()
|
||||
if(!possible) return null
|
||||
|
||||
if(view !is CraftInventoryView<*, *>) return null
|
||||
val container = view.handle
|
||||
|
||||
return container.javaClass
|
||||
}
|
||||
|
||||
fun testClassExist(){
|
||||
tested = true;
|
||||
try {
|
||||
Class.forName("org.bukkit.craftbukkit.inventory.CraftInventoryView")
|
||||
possible = true
|
||||
} catch (e: ClassNotFoundException){
|
||||
possible = false
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package xyz.alexcrea.cuanvil.dependency.packet.versions
|
||||
|
||||
import net.minecraft.network.protocol.game.ClientboundPlayerAbilitiesPacket
|
||||
import net.minecraft.world.entity.player.Abilities
|
||||
import org.bukkit.craftbukkit.entity.CraftPlayer
|
||||
import org.bukkit.entity.Player
|
||||
import xyz.alexcrea.cuanvil.dependency.packet.PacketManager
|
||||
import xyz.alexcrea.cuanvil.dependency.packet.PacketManagerBase
|
||||
|
||||
class V1_21R7_PacketManager : PacketManagerBase(), PacketManager {
|
||||
override val canSetInstantBuild: Boolean
|
||||
get() = true
|
||||
|
||||
override fun setInstantBuild(player: Player, instantBuild: Boolean) {
|
||||
val nmsPlayer = (player as CraftPlayer).handle
|
||||
val playerAbilities = nmsPlayer.abilities
|
||||
val sendedAbilities: Abilities
|
||||
if (playerAbilities.instabuild == instantBuild) {
|
||||
sendedAbilities = playerAbilities
|
||||
} else {
|
||||
sendedAbilities = Abilities()
|
||||
sendedAbilities.invulnerable = playerAbilities.invulnerable
|
||||
sendedAbilities.flying = playerAbilities.flying
|
||||
sendedAbilities.mayfly = playerAbilities.mayfly
|
||||
sendedAbilities.instabuild = instantBuild
|
||||
sendedAbilities.mayBuild = playerAbilities.mayBuild
|
||||
sendedAbilities.flyingSpeed = playerAbilities.flyingSpeed
|
||||
sendedAbilities.walkingSpeed = playerAbilities.walkingSpeed
|
||||
}
|
||||
val packet = ClientboundPlayerAbilitiesPacket(sendedAbilities)
|
||||
nmsPlayer.connection.send(packet)
|
||||
}
|
||||
}
|
||||
|
|
@ -35,6 +35,8 @@ include("nms:v1_21R5")
|
|||
findProject(":nms:v1_21R5")?.name = "v1_21R5"
|
||||
include("nms:v1_21R6")
|
||||
findProject(":nms:v1_21R6")?.name = "v1_21R6"
|
||||
include("nms:v1_21R7")
|
||||
findProject(":nms:v1_21R7")?.name = "v1_21R7"
|
||||
|
||||
include(":impl:LegacyEcoEnchant")
|
||||
findProject(":impl:LegacyEcoEnchant")?.name = "LegacyEcoEnchant"
|
||||
|
|
|
|||
|
|
@ -1,20 +1,22 @@
|
|||
package xyz.alexcrea.cuanvil.update.plugin;
|
||||
package xyz.alexcrea.cuanvil.update;
|
||||
|
||||
import io.delilaheve.CustomAnvil;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.update.UpdateUtils;
|
||||
import xyz.alexcrea.cuanvil.update.Update_1_21;
|
||||
import xyz.alexcrea.cuanvil.update.Update_1_21_9;
|
||||
import xyz.alexcrea.cuanvil.update.Version;
|
||||
import xyz.alexcrea.cuanvil.update.minecraft.MCUpdate;
|
||||
import xyz.alexcrea.cuanvil.update.minecraft.Update_1_21;
|
||||
import xyz.alexcrea.cuanvil.update.minecraft.Update_1_21_11;
|
||||
import xyz.alexcrea.cuanvil.update.minecraft.Update_1_21_9;
|
||||
import xyz.alexcrea.cuanvil.update.plugin.*;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class PluginUpdates {
|
||||
public class UpdateHandler {
|
||||
|
||||
private static final String CONFIG_VERSION_PATH = "configVersion";
|
||||
|
||||
|
|
@ -24,12 +26,19 @@ public class PluginUpdates {
|
|||
handlePluginUpdate();
|
||||
}
|
||||
|
||||
private static final Map<Version, Consumer<Set<ConfigHolder>>> updateMap = Map.of(
|
||||
private static final Map<Version, Consumer<Set<ConfigHolder>>> pUpdateMap = Map.of(
|
||||
new Version(1, 6, 2), PUpdate_1_6_2::handleUpdate,
|
||||
new Version(1, 6, 7), PUpdate_1_6_7::handleUpdate,
|
||||
new Version(1, 8, 0), PUpdate_1_8_0::handleUpdate,
|
||||
new Version(1, 11, 0), PUpdate_1_11_0::handleUpdate,
|
||||
new Version(1, 15, 5), PUpdate_1_15_5::handleUpdate
|
||||
new Version(1, 15, 5), PUpdate_1_15_5::handleUpdate,
|
||||
new Version(1, 15, 6), PUpdate_1_15_6::handleUpdate
|
||||
);
|
||||
|
||||
private static final List<MCUpdate> mcUpdateMap = List.of(
|
||||
new Update_1_21(),
|
||||
new Update_1_21_9(),
|
||||
new Update_1_21_11()
|
||||
);
|
||||
|
||||
// Handle only plugin update
|
||||
|
|
@ -42,7 +51,7 @@ public class PluginUpdates {
|
|||
AtomicReference<Version> latest = new AtomicReference<>(null);
|
||||
|
||||
// Hopefully, should iterate in the "insertion" order
|
||||
updateMap.forEach((ver, consumer) -> {
|
||||
pUpdateMap.forEach((ver, consumer) -> {
|
||||
if (ver.greaterThan(current)) {
|
||||
CustomAnvil.log("handling plugin update to " + ver);
|
||||
consumer.accept(toSave);
|
||||
|
|
@ -61,8 +70,9 @@ public class PluginUpdates {
|
|||
Version current = UpdateUtils.currentMinecraftVersion();
|
||||
|
||||
boolean hadUpdate = false;
|
||||
hadUpdate |= Update_1_21.handleUpdate(current);
|
||||
hadUpdate |= Update_1_21_9.handleUpdate(current);
|
||||
for (MCUpdate mcUpdate : mcUpdateMap) {
|
||||
hadUpdate |= mcUpdate.handleUpdate(current, hadUpdate);
|
||||
}
|
||||
|
||||
if (hadUpdate) {
|
||||
CustomAnvil.instance.getLogger().info("Updating Done !");
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
package xyz.alexcrea.cuanvil.update;
|
||||
|
||||
import io.delilaheve.CustomAnvil;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
|
||||
import static xyz.alexcrea.cuanvil.update.UpdateUtils.addAbsentToList;
|
||||
|
||||
public class Update_1_21_9 {
|
||||
|
||||
private static final Version V1_21_9 = new Version(1, 21, 9);
|
||||
|
||||
public static boolean handleUpdate(Version current){
|
||||
// Test if we are running in 1.21.9 or better
|
||||
if(V1_21_9.greaterThan(current))
|
||||
return false;
|
||||
|
||||
// if version path is not null then check if its it's before 1.21.9
|
||||
String oldVersion = ConfigHolder.DEFAULT_CONFIG.getConfig().getString(UpdateUtils.MINECRAFT_VERSION_PATH);
|
||||
if(oldVersion != null){
|
||||
var version = Version.fromString(oldVersion);
|
||||
if(V1_21_9.lesserEqual(version)) return false;
|
||||
}
|
||||
|
||||
doUpdate();
|
||||
return true;
|
||||
}
|
||||
|
||||
private static void doUpdate() {
|
||||
CustomAnvil.instance.getLogger().info("Updating config to support 1.21.9 ...");
|
||||
|
||||
var baseConfig = ConfigHolder.DEFAULT_CONFIG.getConfig();
|
||||
var groupConfig = ConfigHolder.ITEM_GROUP_HOLDER.getConfig();
|
||||
|
||||
// Add mace to groups
|
||||
addAbsentToList(groupConfig, "helmets.items", "copper_helmet");
|
||||
addAbsentToList(groupConfig, "chestplate.items", "copper_chestplate");
|
||||
addAbsentToList(groupConfig, "leggings.items", "copper_leggings");
|
||||
addAbsentToList(groupConfig, "boots.items", "copper_boots");
|
||||
|
||||
addAbsentToList(groupConfig, "pickaxes.items", "copper_pickaxe");
|
||||
addAbsentToList(groupConfig, "shovels.items", "copper_shovel");
|
||||
addAbsentToList(groupConfig, "hoes.items", "copper_hoe");
|
||||
addAbsentToList(groupConfig, "axes.items", "copper_axe");
|
||||
addAbsentToList(groupConfig, "swords.items", "copper_sword");
|
||||
|
||||
// Set version string as 1.21
|
||||
baseConfig.set(UpdateUtils.MINECRAFT_VERSION_PATH, V1_21_9.toString());
|
||||
|
||||
// Save
|
||||
ConfigHolder.DEFAULT_CONFIG.saveToDisk(true);
|
||||
ConfigHolder.ITEM_GROUP_HOLDER.saveToDisk(true);
|
||||
|
||||
// imply reload of CONFLICT_HOLDER
|
||||
// We also do not need to reload base config as there is no object related to it.
|
||||
ConfigHolder.ITEM_GROUP_HOLDER.reload();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package xyz.alexcrea.cuanvil.update.minecraft;
|
||||
|
||||
import io.delilaheve.CustomAnvil;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.update.UpdateUtils;
|
||||
import xyz.alexcrea.cuanvil.update.Version;
|
||||
|
||||
public abstract class MCUpdate {
|
||||
|
||||
public final Version version;
|
||||
|
||||
public MCUpdate(Version version){
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public boolean handleUpdate(Version current, boolean hadUpdate){
|
||||
// Test if we are running in this update version or better
|
||||
if(version.greaterThan(current))
|
||||
return false;
|
||||
|
||||
// if version path is not null then check if its it's before this update version
|
||||
String oldVersion = ConfigHolder.DEFAULT_CONFIG.getConfig().getString(UpdateUtils.MINECRAFT_VERSION_PATH);
|
||||
if(oldVersion != null){
|
||||
var version = Version.fromString(oldVersion);
|
||||
if(this.version.lesserEqual(version)) return false;
|
||||
}
|
||||
|
||||
if(!hadUpdate){
|
||||
CustomAnvil.instance.getLogger().info("Updating config to support minecraft " + current +" ...");
|
||||
}
|
||||
doUpdate();
|
||||
return true;
|
||||
}
|
||||
|
||||
protected abstract void doUpdate();
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,33 +1,20 @@
|
|||
package xyz.alexcrea.cuanvil.update;
|
||||
package xyz.alexcrea.cuanvil.update.minecraft;
|
||||
|
||||
import io.delilaheve.CustomAnvil;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.update.UpdateUtils;
|
||||
import xyz.alexcrea.cuanvil.update.Version;
|
||||
|
||||
import static xyz.alexcrea.cuanvil.update.UpdateUtils.addAbsentToList;
|
||||
|
||||
public class Update_1_21 {
|
||||
public class Update_1_21 extends MCUpdate {
|
||||
|
||||
private static final Version V1_21 = new Version(1, 21);
|
||||
|
||||
public static boolean handleUpdate(Version current){
|
||||
// Test if we are running in 1.21 or better
|
||||
if(V1_21.greaterThan(current))
|
||||
return false;
|
||||
|
||||
// if version path is not null then check if its it's before 1.21
|
||||
String oldVersion = ConfigHolder.DEFAULT_CONFIG.getConfig().getString(UpdateUtils.MINECRAFT_VERSION_PATH);
|
||||
if(oldVersion != null){
|
||||
var version = Version.fromString(oldVersion);
|
||||
if(V1_21.lesserEqual(version)) return false;
|
||||
public Update_1_21() {
|
||||
super(new Version(1, 21));
|
||||
}
|
||||
|
||||
doUpdate();
|
||||
return true;
|
||||
}
|
||||
|
||||
private static void doUpdate() {
|
||||
CustomAnvil.instance.getLogger().info("Updating config to support 1.21 ...");
|
||||
|
||||
@Override
|
||||
protected void doUpdate() {
|
||||
var baseConfig = ConfigHolder.DEFAULT_CONFIG.getConfig();
|
||||
var groupConfig = ConfigHolder.ITEM_GROUP_HOLDER.getConfig();
|
||||
var conflictConfig = ConfigHolder.CONFLICT_HOLDER.getConfig();
|
||||
|
|
@ -75,8 +62,8 @@ public class Update_1_21 {
|
|||
// Add unit repair for mace
|
||||
unitConfig.set("breeze_rod.mace", 0.25);
|
||||
|
||||
// Set version string as 1.21
|
||||
baseConfig.set(UpdateUtils.MINECRAFT_VERSION_PATH, V1_21.toString());
|
||||
// Set version string as current
|
||||
baseConfig.set(UpdateUtils.MINECRAFT_VERSION_PATH, version.toString());
|
||||
|
||||
// Save
|
||||
ConfigHolder.DEFAULT_CONFIG.saveToDisk(true);
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
package xyz.alexcrea.cuanvil.update.minecraft;
|
||||
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.update.UpdateUtils;
|
||||
import xyz.alexcrea.cuanvil.update.Version;
|
||||
|
||||
import static xyz.alexcrea.cuanvil.update.UpdateUtils.addAbsentToList;
|
||||
|
||||
public class Update_1_21_11 extends MCUpdate{
|
||||
|
||||
public Update_1_21_11() {
|
||||
super(new Version(1, 21, 11));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doUpdate() {
|
||||
var baseConfig = ConfigHolder.DEFAULT_CONFIG.getConfig();
|
||||
var groupConfig = ConfigHolder.ITEM_GROUP_HOLDER.getConfig();
|
||||
var conflictConfig = ConfigHolder.CONFLICT_HOLDER.getConfig();
|
||||
var unitConfig = ConfigHolder.UNIT_REPAIR_HOLDER.getConfig();
|
||||
|
||||
// Create spear group
|
||||
groupConfig.set("spears.type", "include");
|
||||
addAbsentToList(groupConfig, "spears.items",
|
||||
"wooden_spear",
|
||||
"golden_spear",
|
||||
"stone_spear",
|
||||
"copper_spear",
|
||||
"iron_spear",
|
||||
"diamond_spear",
|
||||
"netherite_spear");
|
||||
|
||||
// Add spear group to super group and enchantments
|
||||
addAbsentToList(groupConfig, "melee_weapons.groups", "spears");
|
||||
|
||||
addAbsentToList(conflictConfig, "restriction_looting.notAffectedGroups", "spears");
|
||||
addAbsentToList(conflictConfig, "restriction_knockback.notAffectedGroups", "spears");
|
||||
addAbsentToList(conflictConfig, "restriction_fire_aspect.notAffectedGroups", "spears");
|
||||
|
||||
// Unit repair for spears
|
||||
unitConfig.set("gold_ingot.golden_spear", 0.25);
|
||||
unitConfig.set("copper_ingot.copper_spear", 0.25);
|
||||
unitConfig.set("iron_ingot.iron_spear", 0.25);
|
||||
unitConfig.set("diamond.diamond_spear", 0.25);
|
||||
unitConfig.set("netherite_ingot.netherite_spear", 0.25);
|
||||
|
||||
unitConfig.set("cobblestone.stone_spear", 0.25);
|
||||
unitConfig.set("cobbled_deepslate.stone_spear", 0.25);
|
||||
|
||||
unitConfig.set("oak_planks.wooden_spear", 0.25);
|
||||
unitConfig.set("spruce_planks.wooden_spear", 0.25);
|
||||
unitConfig.set("birch_planks.wooden_spear", 0.25);
|
||||
unitConfig.set("jungle_planks.wooden_spear", 0.25);
|
||||
unitConfig.set("acacia_planks.wooden_spear", 0.25);
|
||||
unitConfig.set("dark_oak_planks.wooden_spear", 0.25);
|
||||
unitConfig.set("mangrove_planks.wooden_spear", 0.25);
|
||||
unitConfig.set("cherry_planks.wooden_spear", 0.25);
|
||||
unitConfig.set("bamboo_planks.wooden_spear", 0.25);
|
||||
unitConfig.set("crimson_planks.wooden_spear", 0.25);
|
||||
unitConfig.set("warped_planks.wooden_spear", 0.25);
|
||||
|
||||
// Create lunge enchant value and group
|
||||
baseConfig.set("enchant_limits.minecraft:lunge", 3);
|
||||
baseConfig.set("enchant_values.minecraft:lunge.item", 2);
|
||||
baseConfig.set("enchant_values.minecraft:lunge.book", 1);
|
||||
|
||||
addAbsentToList(conflictConfig, "restriction_lunge.enchantments", "minecraft:lunge");
|
||||
addAbsentToList(conflictConfig, "restriction_lunge.notAffectedGroups", "spears", "enchanted_book");
|
||||
|
||||
// Set version string as current
|
||||
baseConfig.set(UpdateUtils.MINECRAFT_VERSION_PATH, version.toString());
|
||||
|
||||
// Save
|
||||
ConfigHolder.DEFAULT_CONFIG.saveToDisk(true);
|
||||
ConfigHolder.ITEM_GROUP_HOLDER.saveToDisk(true);
|
||||
ConfigHolder.CONFLICT_HOLDER.saveToDisk(true);
|
||||
ConfigHolder.UNIT_REPAIR_HOLDER.saveToDisk(true);
|
||||
|
||||
// imply reload of CONFLICT_HOLDER
|
||||
// We also do not need to reload base config as there is no object related to it.
|
||||
ConfigHolder.ITEM_GROUP_HOLDER.reload();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
package xyz.alexcrea.cuanvil.update.minecraft;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.update.UpdateUtils;
|
||||
import xyz.alexcrea.cuanvil.update.Version;
|
||||
|
||||
import static xyz.alexcrea.cuanvil.update.UpdateUtils.addAbsentToList;
|
||||
|
||||
public class Update_1_21_9 extends MCUpdate{
|
||||
|
||||
public Update_1_21_9() {
|
||||
super(new Version(1, 21, 9));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doUpdate() {
|
||||
var baseConfig = ConfigHolder.DEFAULT_CONFIG.getConfig();
|
||||
var groupConfig = ConfigHolder.ITEM_GROUP_HOLDER.getConfig();
|
||||
var unitConfig = ConfigHolder.UNIT_REPAIR_HOLDER.getConfig();
|
||||
|
||||
// Add cooper items to groups
|
||||
addAbsentToList(groupConfig, "helmets.items", "copper_helmet");
|
||||
addAbsentToList(groupConfig, "chestplate.items", "copper_chestplate");
|
||||
addAbsentToList(groupConfig, "leggings.items", "copper_leggings");
|
||||
addAbsentToList(groupConfig, "boots.items", "copper_boots");
|
||||
|
||||
addAbsentToList(groupConfig, "pickaxes.items", "copper_pickaxe");
|
||||
addAbsentToList(groupConfig, "shovels.items", "copper_shovel");
|
||||
addAbsentToList(groupConfig, "hoes.items", "copper_hoe");
|
||||
addAbsentToList(groupConfig, "axes.items", "copper_axe");
|
||||
addAbsentToList(groupConfig, "swords.items", "copper_sword");
|
||||
|
||||
// Add unit repair
|
||||
addCopperUnitRepair(unitConfig);
|
||||
|
||||
// Set version string as current
|
||||
baseConfig.set(UpdateUtils.MINECRAFT_VERSION_PATH, version.toString());
|
||||
|
||||
// Save
|
||||
ConfigHolder.DEFAULT_CONFIG.saveToDisk(true);
|
||||
ConfigHolder.ITEM_GROUP_HOLDER.saveToDisk(true);
|
||||
ConfigHolder.UNIT_REPAIR_HOLDER.saveToDisk(true);
|
||||
|
||||
// imply reload of CONFLICT_HOLDER
|
||||
// We also do not need to reload base config as there is no object related to it.
|
||||
ConfigHolder.ITEM_GROUP_HOLDER.reload();
|
||||
}
|
||||
|
||||
public static void addCopperUnitRepair(FileConfiguration unitConfig) {
|
||||
// Add unit repair
|
||||
unitConfig.set("copper_ingot.copper_helmet", 0.25);
|
||||
unitConfig.set("copper_ingot.copper_chestplate", 0.25);
|
||||
unitConfig.set("copper_ingot.copper_leggings", 0.25);
|
||||
unitConfig.set("copper_ingot.copper_boots", 0.25);
|
||||
|
||||
unitConfig.set("copper_ingot.copper_pickaxe", 0.25);
|
||||
unitConfig.set("copper_ingot.copper_shovel", 0.25);
|
||||
unitConfig.set("copper_ingot.copper_hoe", 0.25);
|
||||
unitConfig.set("copper_ingot.copper_axe", 0.25);
|
||||
unitConfig.set("copper_ingot.copper_sword", 0.25);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package xyz.alexcrea.cuanvil.update.plugin;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.update.UpdateUtils;
|
||||
import xyz.alexcrea.cuanvil.update.Version;
|
||||
import xyz.alexcrea.cuanvil.update.minecraft.Update_1_21_9;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.util.Set;
|
||||
|
||||
public class PUpdate_1_15_6 {
|
||||
|
||||
public static void handleUpdate(@Nonnull Set<ConfigHolder> toSave) {
|
||||
// fix only needed for 1.21.9 and above
|
||||
Version current = UpdateUtils.currentMinecraftVersion();
|
||||
if (new Version(1, 21, 9).greaterThan(current)) return;
|
||||
|
||||
FileConfiguration unitConfig = ConfigHolder.UNIT_REPAIR_HOLDER.getConfig();
|
||||
|
||||
// Add unit repair
|
||||
Update_1_21_9.addCopperUnitRepair(unitConfig);
|
||||
|
||||
toSave.add(ConfigHolder.UNIT_REPAIR_HOLDER);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -19,8 +19,7 @@ import xyz.alexcrea.cuanvil.listener.AnvilResultListener
|
|||
import xyz.alexcrea.cuanvil.listener.ChatEventListener
|
||||
import xyz.alexcrea.cuanvil.listener.PrepareAnvilListener
|
||||
import xyz.alexcrea.cuanvil.update.PluginSetDefault
|
||||
import xyz.alexcrea.cuanvil.update.Update_1_21
|
||||
import xyz.alexcrea.cuanvil.update.plugin.PluginUpdates
|
||||
import xyz.alexcrea.cuanvil.update.UpdateHandler
|
||||
import xyz.alexcrea.cuanvil.util.Metrics
|
||||
import java.io.File
|
||||
import java.io.FileReader
|
||||
|
|
@ -145,7 +144,7 @@ open class CustomAnvil : JavaPlugin() {
|
|||
}
|
||||
|
||||
// Handle minecraft and plugin updates
|
||||
PluginUpdates.handleUpdates()
|
||||
UpdateHandler.handleUpdates()
|
||||
|
||||
// Register enchantment of compatible plugin and load configuration change.
|
||||
DependencyManager.handleCompatibilityConfig()
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import xyz.alexcrea.cuanvil.api.event.CAConfigReadyEvent
|
|||
import xyz.alexcrea.cuanvil.config.ConfigHolder
|
||||
import xyz.alexcrea.cuanvil.dependency.DependencyManager
|
||||
import xyz.alexcrea.cuanvil.gui.config.global.*
|
||||
import xyz.alexcrea.cuanvil.update.plugin.PluginUpdates
|
||||
import xyz.alexcrea.cuanvil.update.UpdateHandler
|
||||
|
||||
class ReloadExecutor : CommandExecutor {
|
||||
override fun onCommand(sender: CommandSender, cmd: Command, cmdstr: String, args: Array<out String>): Boolean {
|
||||
|
|
@ -49,7 +49,7 @@ class ReloadExecutor : CommandExecutor {
|
|||
CustomRecipeConfigGui.getCurrentInstance()?.reloadValues()
|
||||
|
||||
// handle minecraft version update
|
||||
PluginUpdates.handleMCVersionUpdate()
|
||||
UpdateHandler.handleMCVersionUpdate()
|
||||
|
||||
// Handle dependency reload
|
||||
DependencyManager.handleConfigReload()
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ object PacketManagerSelector {
|
|||
5 -> V1_21R4_PacketManager()
|
||||
6, 7, 8 -> V1_21R5_PacketManager()
|
||||
9, 10 -> V1_21R6_PacketManager()
|
||||
11 -> V1_21R7_PacketManager()
|
||||
else -> null
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -213,7 +213,8 @@ class PrepareAnvilListener : Listener {
|
|||
else if (useColor) it.displayName
|
||||
else ChatColor.stripColor(it.displayName)
|
||||
|
||||
if (!displayName.contentEquals(renameText)) {
|
||||
|
||||
if (!displayName.contentEquals(renameText) && !(displayName == null && renameText == "")) {
|
||||
it.setDisplayName(renameText)
|
||||
resultItem.itemMeta = it
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue