mirror of
https://gitlab.com/phoenix-dvpmt/mmoitems.git
synced 2025-03-11 13:11:50 +01:00
upload src
This commit is contained in:
commit
1c35076ded
210
config.yml
Normal file
210
config.yml
Normal file
@ -0,0 +1,210 @@
|
||||
# --------------------------------------------------------------
|
||||
#
|
||||
# Thanks for using MMOItems!
|
||||
#
|
||||
# --------------------------------------------------------------
|
||||
|
||||
# Notifies players with the 'mmoitems.update-notify' perm node when
|
||||
# they join the server if a new update is available for download.
|
||||
# Requires /reload when changed.
|
||||
update-notify: true
|
||||
|
||||
# The plugin takes a few milliseconds to read the item data from the item
|
||||
# config and a few hundred MICROseconds to actually generate it. Caching the
|
||||
# item allows to skip the first step which reduces ~6 times the delay needed
|
||||
# to generate any mmoitem.
|
||||
#
|
||||
# However, it does take up much more RAM space. Toggle it on if you have
|
||||
# too many items which makes item generation time consuming. Toggle it off
|
||||
# to get some spare memory.
|
||||
use-item-caching: true
|
||||
|
||||
# Default: 2.5 ; critical strikes deal 2.5x damage.
|
||||
# Can be increased by 'Critical Strike Power'
|
||||
crit-coefficient: 2.5
|
||||
|
||||
# By default, all player inventories will be updated every
|
||||
# 10 ticks which corresponds to 2 inventory updates a second.
|
||||
inventory-update-delay: 10
|
||||
|
||||
# Changes the default value for some stats.
|
||||
default:
|
||||
attack-speed: 0.67
|
||||
range: 16
|
||||
blunt-rating: 33
|
||||
recoil: 0.1
|
||||
|
||||
# Enable/disable the item glow feature. Make sure you
|
||||
# reload your server when changing this option. This
|
||||
# option might take extra performance so consider toggling
|
||||
# it off if you have players or mobs dropping many items.
|
||||
item-glow: true
|
||||
|
||||
item-upgrading:
|
||||
# Display name suffix for upgraded items.
|
||||
name-suffix: '&f &a+#lvl#'
|
||||
|
||||
soulbound:
|
||||
# Edit soulbound damage when players try to use
|
||||
# items which are not bound to themselves.
|
||||
damage:
|
||||
base: 2
|
||||
per-lvl: 2
|
||||
|
||||
# Default and max. values of armor stats. These systems
|
||||
# all have a cooldown which can be reduced using the
|
||||
# '*** Cooldown Reduction' item stat.
|
||||
mitigation:
|
||||
block:
|
||||
power:
|
||||
default: 25.0
|
||||
max: 75.0
|
||||
rating-max: 80.0
|
||||
cooldown:
|
||||
base: 5.0
|
||||
max-reduction: 80.0
|
||||
dodge:
|
||||
knockback:
|
||||
enabled: true
|
||||
force: 1
|
||||
rating-max: 80.0
|
||||
cooldown:
|
||||
base: 5.0
|
||||
max-reduction: 80.0
|
||||
parry:
|
||||
knockback-force: 1.0
|
||||
rating-max: 80.0
|
||||
cooldown:
|
||||
base: 8.0
|
||||
max-reduction: 80.0
|
||||
|
||||
# Enable, disable and customize the weapon effects here.
|
||||
# Weapon effects depend on the item type & type set.
|
||||
item-ability:
|
||||
staff:
|
||||
enabled: true
|
||||
cooldown: 30
|
||||
power: 1
|
||||
gauntlet:
|
||||
enabled: true
|
||||
cooldown: 60
|
||||
power: 1
|
||||
blunt:
|
||||
aoe:
|
||||
enabled: true
|
||||
cooldown: 2
|
||||
stun:
|
||||
enabled: true
|
||||
chance: 5
|
||||
cooldown: 30
|
||||
power: 1
|
||||
slashing:
|
||||
enabled: true
|
||||
cooldown: 2
|
||||
piercing:
|
||||
enabled: true
|
||||
cooldown: 4
|
||||
|
||||
gem-sockets:
|
||||
# Define the text you need to enter in the
|
||||
# item gem sockets if you want to create an
|
||||
# uncolored gem socket i.e a socket for any type of gem.
|
||||
uncolored: 'Uncolored'
|
||||
|
||||
advanced-workbench:
|
||||
# Define on what actions the adv workbench will open.
|
||||
open-when:
|
||||
# When enabled, players can open the adv. workbench
|
||||
# by right-clicking a workbench while NOT sneaking.
|
||||
simple-click: false
|
||||
# When enabled, players can open the adv. workbench
|
||||
# by right-clicking a workbench WHILE SNEAKING.
|
||||
shift-click: true
|
||||
# Players can click the anvil in the advanced workbench
|
||||
# to see all the available advanced crafting recipes.
|
||||
recipe-list: true
|
||||
|
||||
# Use this option if your chat management plugin is having
|
||||
# conflicts with the MMOItems chat input feature. This will
|
||||
# bring up an anvil GUI which you can input text in instead
|
||||
# of using the chat.
|
||||
anvil-text-input: false
|
||||
|
||||
# Players can't use their weapon/abilities when holding
|
||||
# two-handed item and one other item simultaneously.
|
||||
# When toggled off, players still receive slow 4.
|
||||
two-handed-item-restriction: true
|
||||
|
||||
# You can select what char will be used to create
|
||||
# the item ability cooldown progress bar.
|
||||
cooldown-progress-bar-char: █
|
||||
|
||||
# When toggled off, players can't damage each other using item abilities.
|
||||
ability-player-damage: true
|
||||
|
||||
# Displays a message on the action bar instead of on the chat.
|
||||
# Can be used to reduce chat spam.
|
||||
# Might interfere with other action bar plugins.
|
||||
action-bar-display:
|
||||
ability-cooldown: true
|
||||
not-enough-mana: true
|
||||
not-enough-stamina: true
|
||||
two-handed: true
|
||||
cant-use-item: true
|
||||
mitigation: true
|
||||
item-break: false
|
||||
|
||||
# Displays in-game damage indicators.
|
||||
# Requires HolographicDisplays/Holograms to work.
|
||||
# Requires /reload when enabled/disabled.
|
||||
game-indicators:
|
||||
damage:
|
||||
enabled: true
|
||||
decimal-format: '0.#'
|
||||
format: '&c-#'
|
||||
# format: '&c&l✦ #'
|
||||
heal:
|
||||
enabled: true
|
||||
decimal-format: '0.#'
|
||||
format: '&a+#'
|
||||
# format: '&a&l❤ #'
|
||||
|
||||
# Unregisters all crafting recipes. Requires /reload.
|
||||
# Also disables the advanced workbench when disabling advanced craftings.
|
||||
disable-craftings:
|
||||
vanilla: false
|
||||
advanced: false
|
||||
|
||||
# "repair" prevents players from repairing MMOItems.
|
||||
# "smelt" prevents players from smelting MMOItems.
|
||||
# 'enchant" disables enchanting for MMOItems.
|
||||
# "craft" prevents players from using MMOItems as ingredients.
|
||||
# "arrow-shooting" prevents players from shooting any MMOItem that is an arrow.
|
||||
disable-interactions:
|
||||
interact: false
|
||||
repair: false
|
||||
enchant: false
|
||||
smelt: false
|
||||
craft: false
|
||||
arrow-shooting: false
|
||||
|
||||
# Block types that can't be broken by an ability/item effect
|
||||
block-blacklist:
|
||||
- OBSIDIAN
|
||||
- BEDROCK
|
||||
|
||||
# Allows/disables the permissions needed in order to use items/abilities.
|
||||
# General permission node for abilities: mmoitems.ability.ability-id
|
||||
# Ex: - mmoitems.ability.fire-meteor
|
||||
# - mmoitems.ability.slow
|
||||
# - mmoitems.ability.cursed-fangs
|
||||
# etc.
|
||||
permissions:
|
||||
abilities: false
|
||||
items: true
|
||||
|
||||
# Disables non MMOItems from being crafted in the vanilla workbench.
|
||||
# Add [] if the list is empty.
|
||||
disable-vanilla-recipes: []
|
||||
# - DIAMOND_PICKAXE
|
||||
# - IRON_BLOCK
|
72
default/crafting-stations/arcane-forge.yml
Normal file
72
default/crafting-stations/arcane-forge.yml
Normal file
@ -0,0 +1,72 @@
|
||||
|
||||
# Name which will be displayed
|
||||
# when opening the station
|
||||
name: 'Arcane Forge (#page#/#max#)'
|
||||
|
||||
# The maximum amount of items in the crafting queue ie. the
|
||||
# max number of items players are able to craft simultaneously.
|
||||
max-queue-size: 10
|
||||
|
||||
# Configure GUI items here
|
||||
items:
|
||||
fill:
|
||||
material: AIR
|
||||
no-recipe:
|
||||
material: GRAY_STAINED_GLASS_PANE
|
||||
name: '&aNo Recipe'
|
||||
no-queue-item:
|
||||
material: GRAY_STAINED_GLASS_PANE
|
||||
name: '&aNo Item in Queue'
|
||||
|
||||
# Station recipes
|
||||
recipes:
|
||||
magic-essence:
|
||||
output:
|
||||
type: MATERIAL
|
||||
id: MAGIC_ESSENCE
|
||||
amount: 1
|
||||
crafting-time: 5
|
||||
conditions:
|
||||
- 'level 5'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL MAGIC_FRAGMENT 3 Magic_Fragment'
|
||||
arcane-helmet:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: ARCANE_HELM
|
||||
amount: 1
|
||||
crafting-time: 7
|
||||
conditions:
|
||||
- 'level 4'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL MAGIC_ESSENCE 6 Magic_Essence'
|
||||
steel-chestplate:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: ARCANE_CHESTPLATE
|
||||
amount: 1
|
||||
crafting-time: 7
|
||||
conditions:
|
||||
- 'level 4'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL MAGIC_ESSENCE 9 Magic_Essence'
|
||||
steel-leggings:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: ARCANE_LEGGINGS
|
||||
amount: 1
|
||||
crafting-time: 7
|
||||
conditions:
|
||||
- 'level 4'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL MAGIC_ESSENCE 8 Magic_Essence'
|
||||
steel-boots:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: ARCANE_BOOTS
|
||||
amount: 1
|
||||
crafting-time: 7
|
||||
conditions:
|
||||
- 'level 4'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL MAGIC_ESSENCE 5 Magic_Essence'
|
151
default/crafting-stations/mythical-forge.yml
Normal file
151
default/crafting-stations/mythical-forge.yml
Normal file
@ -0,0 +1,151 @@
|
||||
|
||||
# Name which will be displayed
|
||||
# when opening the station
|
||||
name: 'Mythical Forge (#page#/#max#)'
|
||||
|
||||
# The maximum amount of items in the crafting queue ie. the
|
||||
# max number of items players are able to craft simultaneously.
|
||||
max-queue-size: 10
|
||||
|
||||
# Configure GUI items here
|
||||
items:
|
||||
fill:
|
||||
material: AIR
|
||||
no-recipe:
|
||||
material: GRAY_STAINED_GLASS_PANE
|
||||
name: '&aNo Recipe'
|
||||
no-queue-item:
|
||||
material: GRAY_STAINED_GLASS_PANE
|
||||
name: '&aNo Item in Queue'
|
||||
|
||||
# Station recipes
|
||||
recipes:
|
||||
soulstealer:
|
||||
output:
|
||||
type: SWORD
|
||||
id: SOULSTEALER
|
||||
amount: 1
|
||||
crafting-time: 20
|
||||
conditions:
|
||||
- 'level 24'
|
||||
ingredients:
|
||||
- 'mmoitem MISCELLANEOUS HUMAN_SOUL 8 Human_Soul'
|
||||
- 'mmoitem SWORD STEEL_SWORD 1 Steel_Sword'
|
||||
fire-essence:
|
||||
output:
|
||||
type: MATERIAL
|
||||
id: FIRE_ESSENCE
|
||||
amount: 1
|
||||
crafting-time: 5
|
||||
conditions:
|
||||
- 'level 15'
|
||||
ingredients:
|
||||
- 'vanilla BLAZE_POWDER . 4 Blaze_Powder'
|
||||
fire-totem:
|
||||
output:
|
||||
type: CATALYST
|
||||
id: FIRE_TOTEM
|
||||
amount: 1
|
||||
crafting-time: 30
|
||||
conditions:
|
||||
- 'level 10'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL FIRE_ESSENCE 8 Fire_Essence'
|
||||
- 'vanilla BLAZE_ROD . 1 Blaze_Rod'
|
||||
- 'vanilla BLAZE_POWDER . 4 Blaze_Powder'
|
||||
blaze-soul:
|
||||
output:
|
||||
type: GEM_STONE
|
||||
id: BLAZE_SOUL
|
||||
amount: 1
|
||||
crafting-time: 20
|
||||
conditions:
|
||||
- 'level 12'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL FIRE_ESSENCE 5 Fire_Essence'
|
||||
hell-bow:
|
||||
output:
|
||||
type: BOW
|
||||
id: HELL_BOW
|
||||
amount: 1
|
||||
crafting-time: 20
|
||||
conditions:
|
||||
- 'level 24'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL FIRE_ESSENCE 2 Fire_Essence'
|
||||
- 'vanilla BOW . 1 Bow'
|
||||
fire-greatlance:
|
||||
output:
|
||||
type: LANCE
|
||||
id: FIRE_GREATLANCE
|
||||
amount: 1
|
||||
crafting-time: 35
|
||||
conditions:
|
||||
- 'level 30'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL FIRE_ESSENCE 4 Fire_Essence'
|
||||
molten-blade:
|
||||
output:
|
||||
type: GREATSWORD
|
||||
id: MOLTEN_BLADE
|
||||
amount: 1
|
||||
crafting-time: 20
|
||||
conditions:
|
||||
- 'level 20'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL FIRE_ESSENCE 13 Fire_Essence'
|
||||
- 'mmoitem SWORD STEEL_SWORD 1 Steel_Sword'
|
||||
wither-essence:
|
||||
output:
|
||||
type: MATERIAL
|
||||
id: WITHER_ESSENCE
|
||||
amount: 1
|
||||
crafting-time: 5
|
||||
conditions:
|
||||
- 'level 20'
|
||||
ingredients:
|
||||
- 'vanilla WITHER_SKELETON_SKULL'
|
||||
marking-bow:
|
||||
output:
|
||||
type: BOW
|
||||
id: MARKING_BOW
|
||||
amount: 1
|
||||
crafting-time: 20
|
||||
conditions:
|
||||
- 'level 20'
|
||||
ingredients:
|
||||
- 'vanilla BOW . 1 Bow'
|
||||
- 'mmoitem MATERIAL WITHER_ESSENCE 1 Wither_Essence'
|
||||
cursed-wither-skull:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: CURSED_WITHER_SKULL
|
||||
amount: 1
|
||||
crafting-time: 10
|
||||
conditions:
|
||||
- 'level 15'
|
||||
ingredients:
|
||||
- 'vanilla IRON_HELMET'
|
||||
- 'mmoitem MATERIAL WITHER_ESSENCE 1 Wither_Essence'
|
||||
dead-pharaoh-helmet:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: DEAD_PHARAOH_HELMET
|
||||
amount: 1
|
||||
crafting-time: 10
|
||||
conditions:
|
||||
- 'level 10'
|
||||
ingredients:
|
||||
- 'vanilla DIAMOND'
|
||||
- 'vanilla SKELETON_SKULL'
|
||||
mossy-skeleton-skull:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: MOSSY_SKELETON_SKULL
|
||||
amount: 1
|
||||
crafting-time: 10
|
||||
conditions:
|
||||
- 'level 17'
|
||||
ingredients:
|
||||
- 'vanilla MOSSY_COBBLESTONE'
|
||||
- 'vanilla SKELETON_SKULL'
|
180
default/crafting-stations/steel-crafting-station.yml
Normal file
180
default/crafting-stations/steel-crafting-station.yml
Normal file
@ -0,0 +1,180 @@
|
||||
|
||||
# Name which will be displayed
|
||||
# when opening the station
|
||||
name: 'Steel Crafting Station (#page#/#max#)'
|
||||
|
||||
# The maximum amount of items in the crafting queue ie. the
|
||||
# max number of items players are able to craft simultaneously.
|
||||
max-queue-size: 10
|
||||
|
||||
# Configure GUI items here
|
||||
items:
|
||||
fill:
|
||||
material: AIR
|
||||
no-recipe:
|
||||
material: GRAY_STAINED_GLASS_PANE
|
||||
name: '&aNo Recipe'
|
||||
no-queue-item:
|
||||
material: GRAY_STAINED_GLASS_PANE
|
||||
name: '&aNo Item in Queue'
|
||||
|
||||
# Station recipes
|
||||
recipes:
|
||||
steel-sword:
|
||||
|
||||
# The item which the recipe gives
|
||||
output:
|
||||
type: SWORD
|
||||
id: STEEL_SWORD
|
||||
amount: 1
|
||||
|
||||
# Time it takes to craft the item
|
||||
crafting-time: 3
|
||||
|
||||
# Recipe options
|
||||
options:
|
||||
hide-when-locked: false
|
||||
|
||||
# Conditions to unlock the recipe
|
||||
conditions:
|
||||
- 'level 5'
|
||||
- 'perms mmoitems.recipe.steel-sword mmoitems.recipe.station.steel'
|
||||
|
||||
# Ingredients needed for the recipe
|
||||
# Format 1: 'mmoitem <ITEM_TYPE> <ITEM_ID> <amount> <gui_display_name>'
|
||||
# Format 2: 'vanilla <MATERIAL> <display_name> <amount> <gui_display_name>'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 4 Steel_Ingot'
|
||||
- 'vanilla STICK . 2 Wooden_Stick'
|
||||
steel-sword-upgrade:
|
||||
item:
|
||||
type: SWORD
|
||||
id: STEEL_SWORD
|
||||
conditions:
|
||||
- 'level 5'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 4 Steel_Ingot'
|
||||
two-handed-steel-sword:
|
||||
output:
|
||||
type: GREATSWORD
|
||||
id: TWO_HANDED_STEEL_SWORD
|
||||
amount: 1
|
||||
crafting-time: 10
|
||||
conditions:
|
||||
- 'level 8'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 8 Steel_Ingot'
|
||||
- 'vanilla STICK . 4 Wooden_Stick'
|
||||
katana:
|
||||
output:
|
||||
type: SWORD
|
||||
id: KATANA
|
||||
amount: 1
|
||||
crafting-time: 20
|
||||
conditions:
|
||||
- 'level 15'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 6 Steel_Ingot'
|
||||
- 'vanilla IRON_INGOT . 2 Iron_Ingot'
|
||||
- 'vanilla STICK . 3 Wooden_Stick'
|
||||
steel-helmet:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: STEEL_HELMET
|
||||
amount: 1
|
||||
crafting-time: 7
|
||||
conditions:
|
||||
- 'level 8'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 6 Steel_Ingot'
|
||||
steel-chestplate:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: STEEL_CHESTPLATE
|
||||
amount: 1
|
||||
crafting-time: 7
|
||||
conditions:
|
||||
- 'level 8'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 9 Steel_Ingot'
|
||||
steel-leggings:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: STEEL_LEGGINGS
|
||||
amount: 1
|
||||
crafting-time: 7
|
||||
conditions:
|
||||
- 'level 8'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 8 Steel_Ingot'
|
||||
steel-boots:
|
||||
output:
|
||||
type: ARMOR
|
||||
id: STEEL_BOOTS
|
||||
amount: 1
|
||||
crafting-time: 7
|
||||
conditions:
|
||||
- 'level 8'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 5 Steel_Ingot'
|
||||
steel-ingot:
|
||||
output:
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 3
|
||||
conditions:
|
||||
- 'level 6'
|
||||
ingredients:
|
||||
- 'vanilla IRON_INGOT . 4 Iron_Ingot'
|
||||
steel-dagger:
|
||||
output:
|
||||
type: DAGGER
|
||||
id: STEEL_DAGGER
|
||||
amount: 1
|
||||
crafting-time: 6
|
||||
conditions:
|
||||
- 'level 20'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 4 Steel_Ingot'
|
||||
- 'vanilla STICK . 2 Wooden_Stick'
|
||||
hardened-steel-claymore:
|
||||
output:
|
||||
type: GREATSWORD
|
||||
id: HARDENED_STEEL_CLAYMORE
|
||||
amount: 1
|
||||
crafting-time: 20
|
||||
conditions:
|
||||
- 'level 13'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 15 Steel_Ingot'
|
||||
- 'vanilla STICK . 4 Wooden_Stick'
|
||||
stiff-greatstaff:
|
||||
output:
|
||||
type: GREATSTAFF
|
||||
id: STIFF_GREATSTAFF
|
||||
amount: 1
|
||||
conditions:
|
||||
- 'level 6'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 4 Steel_Ingot'
|
||||
- 'vanilla STICK . 10 Wooden_Stick'
|
||||
steel-pickaxe:
|
||||
output:
|
||||
type: TOOL
|
||||
id: STEEL_PICKAXE
|
||||
amount: 1
|
||||
conditions:
|
||||
- 'level 6'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 4 Steel_Ingot'
|
||||
- 'vanilla STICK . 3 Wooden_Stick'
|
||||
steel-shovel:
|
||||
output:
|
||||
type: TOOL
|
||||
id: STEEL_SHOVEL
|
||||
amount: 1
|
||||
conditions:
|
||||
- 'level 6'
|
||||
ingredients:
|
||||
- 'mmoitem MATERIAL STEEL_INGOT 2 Steel_Ingot'
|
||||
- 'vanilla STICK . 3 Wooden_Stick'
|
54
default/drops.yml
Normal file
54
default/drops.yml
Normal file
@ -0,0 +1,54 @@
|
||||
# You can create as many subtables as you
|
||||
# want for each monster/block/mythic mob.
|
||||
#
|
||||
# 'coef' is the subtable coefficient. If a subtable has coef=1 and
|
||||
# another subtable has coef=3, then the first subtable has 1 (his coefficient)
|
||||
# chance out of 4 (sum of all subtable coefficients) to be selected.
|
||||
# The higher the coefficient is, the higher the chance to be the selected subtable.
|
||||
#
|
||||
# When a drop table is read, a random subtable is chosen
|
||||
# among all subtables. It then reads the subtable items.
|
||||
#
|
||||
# The subtable names do not matter, just make sure every
|
||||
# subtable in a drop table has a different name.
|
||||
#
|
||||
# Subtable Item Format: [chance to drop],[min amount]-[max amount],[unidentification chance]
|
||||
# or [chance to drop],[amount],[unidentification chance]
|
||||
# '50,1-3,10' means:
|
||||
# - 50% chance of dropping
|
||||
# - 1 to 3 items will drop
|
||||
# - 10% chance of being unidentified (for each item)
|
||||
|
||||
# Blocks Drop Tables
|
||||
# Read when a block is mined/broken by a player.
|
||||
blocks:
|
||||
DIAMOND_ORE:
|
||||
rare-diamond:
|
||||
coef: 1
|
||||
disable-silk-touch: true
|
||||
items:
|
||||
MATERIAL:
|
||||
RARE_DIAMOND: 100,2-3,0
|
||||
|
||||
|
||||
|
||||
# Monsters Drop Tables
|
||||
# Read when any monster dies.
|
||||
monsters:
|
||||
BLAZE:
|
||||
fire-essence-table:
|
||||
coef: 1
|
||||
items:
|
||||
MATERIAL:
|
||||
fire-essence: 7,1-2,0
|
||||
ZOMBIE:
|
||||
rock-table:
|
||||
coef: 7
|
||||
items:
|
||||
CONSUMABLE:
|
||||
ROCK: 50,1-3,10
|
||||
coin-table:
|
||||
coef: 1
|
||||
items:
|
||||
MISCELLANEOUS:
|
||||
GOLD_COIN: 1,1-10,0
|
66
default/item-sets.yml
Normal file
66
default/item-sets.yml
Normal file
@ -0,0 +1,66 @@
|
||||
# Item sets let you create links betweens the different items you create.
|
||||
# By wearing multiple items from the same set, the player will benefit from
|
||||
# set bonuses which incites him to use items from the same type.
|
||||
# This is a very powerful system for RPG items.
|
||||
#
|
||||
# You can also use potion effects as set bonuses, e.g
|
||||
# - speed: 2 gives permanent Speed II
|
||||
# - increase_damage: 3 gives permanent Strength III
|
||||
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffectType.html
|
||||
#
|
||||
# You may also add abilities as full set bonuses. The ability ID
|
||||
# must start with 'ability-' but it is only used as reference.
|
||||
# You can configure the ability cast mode, type & modifiers as usual.
|
||||
|
||||
|
||||
ARCANE:
|
||||
name: '&2Arcane Set'
|
||||
bonuses:
|
||||
'3':
|
||||
magic-damage: 20
|
||||
'4':
|
||||
max-mana: 30
|
||||
speed: 1
|
||||
lore-tag:
|
||||
- '&7Arcane Set Bonus:'
|
||||
- '&8[3] +20% Magic Damage'
|
||||
- '&8[4] 30 Max Mana'
|
||||
- '&8[4] Permanent Speed I'
|
||||
|
||||
STEEL:
|
||||
name: '&8Steel Set'
|
||||
bonuses:
|
||||
'3':
|
||||
damage-reduction: 5
|
||||
'4':
|
||||
damage-reduction: 5
|
||||
lore-tag:
|
||||
- '&7Steel Set Bonus:'
|
||||
- '&8[3] +5% Damage Reduction'
|
||||
- '&8[4] +5% Damage Reduction'
|
||||
|
||||
GINGERBREAD:
|
||||
name: '&cGingerbread Set'
|
||||
bonuses:
|
||||
'4':
|
||||
damage-reduction: 6
|
||||
jump: 3
|
||||
lore-tag:
|
||||
- '&7Gingerbread Set Bonus:'
|
||||
- '&8[4] +5% Damage Reduction'
|
||||
- '&8[4] Permanent Jump III'
|
||||
|
||||
# Not used by default, but works.
|
||||
HATRED:
|
||||
name: '&cHatred Set'
|
||||
bonuses:
|
||||
'2':
|
||||
damage-reduction: 6
|
||||
ability-1:
|
||||
type: LIFE_ENDER
|
||||
cooldown: 30
|
||||
mode: ON_HIT
|
||||
lore-tag:
|
||||
- '&7Hatred Set Bonus:'
|
||||
- '&8[2] -6% Damage Taken'
|
||||
- '&8[2] Summons a devastating fire meteor on hit.'
|
183
default/item-tiers.yml
Normal file
183
default/item-tiers.yml
Normal file
@ -0,0 +1,183 @@
|
||||
# 'name' is used to display the tier in the item lore.
|
||||
#
|
||||
# 'deconstruct-item' is the drop table for the item
|
||||
# that drops when deconstructing an item.
|
||||
#
|
||||
# Tier IDs (TRASH,COMMON...) are case sensitive.
|
||||
|
||||
TRASH:
|
||||
name: '&8&lTRASH'
|
||||
unidentification:
|
||||
range: 6
|
||||
name: 'Trash'
|
||||
prefix: '&8'
|
||||
deconstruct-item: {}
|
||||
|
||||
COMMON:
|
||||
name: '&7&lCOMMON'
|
||||
parent: TRASH
|
||||
unidentification:
|
||||
range: 6
|
||||
name: 'Common'
|
||||
prefix: '&7'
|
||||
deconstruct-item: {}
|
||||
UNCOMMON:
|
||||
|
||||
# Tier name displayed in the item lore.
|
||||
name: '&8&lUNCOMMON'
|
||||
|
||||
# Unidentified items display the item tier.
|
||||
unidentification:
|
||||
|
||||
# Only applies for items with a required
|
||||
# levels. Corresponds to the range within
|
||||
# which the required level is located.
|
||||
range: 6
|
||||
|
||||
# Tier name displayed in lore.
|
||||
name: 'Uncommon'
|
||||
|
||||
# unidentification item name prefix.
|
||||
prefix: '&8'
|
||||
|
||||
item-glow:
|
||||
|
||||
# When enabled, dropped items display
|
||||
# an item hint (looks like a hologram).
|
||||
hint: true
|
||||
|
||||
# Item glow color. List (line 400+):
|
||||
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Color.html
|
||||
color: 'GRAY'
|
||||
|
||||
deconstruct-item:
|
||||
sucess:
|
||||
coef: 1
|
||||
items:
|
||||
MATERIAL:
|
||||
UNCOMMON_WEAPON_ESSENCE: 100,1-1,0
|
||||
lose:
|
||||
coef: 2
|
||||
items:
|
||||
MATERIAL:
|
||||
WEAPON_POWDER: 100,1-1,0
|
||||
RARE:
|
||||
name: '&6&lRARE'
|
||||
unidentification:
|
||||
name: 'Rare'
|
||||
range: 6
|
||||
prefix: '&6'
|
||||
deconstruct-item:
|
||||
sucess:
|
||||
coef: 1
|
||||
items:
|
||||
MATERIAL:
|
||||
RARE_WEAPON_ESSENCE: 100,1-1,0
|
||||
lose:
|
||||
coef: 3
|
||||
items:
|
||||
MATERIAL:
|
||||
WEAPON_POWDER: 100,1-1,0
|
||||
VERY_RARE:
|
||||
name: '&e&lVERY RARE'
|
||||
unidentification:
|
||||
name: 'Very Rare'
|
||||
prefix: '&e'
|
||||
range: 6
|
||||
deconstruct-item:
|
||||
sucess:
|
||||
coef: 1
|
||||
items:
|
||||
MATERIAL:
|
||||
VERY_RARE_WEAPON_ESSENCE: 100,1-1,0
|
||||
lose:
|
||||
coef: 3
|
||||
items:
|
||||
MATERIAL:
|
||||
WEAPON_POWDER: 100,1-1,0
|
||||
LEGENDARY:
|
||||
name: '&b&lLEGENDARY'
|
||||
unidentification:
|
||||
name: 'Legendary'
|
||||
prefix: '&b'
|
||||
range: 6
|
||||
deconstruct-item:
|
||||
sucess:
|
||||
coef: 1
|
||||
items:
|
||||
MATERIAL:
|
||||
LEGENDARY_WEAPON_ESSENCE: 100,1-1,0
|
||||
lose:
|
||||
coef: 4
|
||||
items:
|
||||
MATERIAL:
|
||||
WEAPON_POWDER: 100,1-1,0
|
||||
MYTHICAL:
|
||||
name: '&5&lMYTHICAL'
|
||||
unidentification:
|
||||
name: 'Mythical'
|
||||
prefix: '&5'
|
||||
range: 6
|
||||
deconstruct-item:
|
||||
sucess:
|
||||
coef: 1
|
||||
items:
|
||||
MATERIAL:
|
||||
MYTHICAL_WEAPON_ESSENCE: 100,1-1,0
|
||||
lose:
|
||||
coef: 5
|
||||
items:
|
||||
MATERIAL:
|
||||
WEAPON_POWDER: 100,1-1,0
|
||||
EPIC:
|
||||
name: '&4&lEPIC'
|
||||
unidentification:
|
||||
name: 'Epic'
|
||||
prefix: '&4'
|
||||
range: 6
|
||||
deconstruct-item:
|
||||
sucess:
|
||||
coef: 1
|
||||
items:
|
||||
MATERIAL:
|
||||
EPIC_WEAPON_ESSENCE: 100,1-1,0
|
||||
lose:
|
||||
coef: 6
|
||||
items:
|
||||
MATERIAL:
|
||||
WEAPON_POWDER: 100,1-1,0
|
||||
|
||||
MAGICAL:
|
||||
name: '&2&lMAGICAL'
|
||||
unidentification:
|
||||
name: 'Magical'
|
||||
prefix: '&2'
|
||||
range: 6
|
||||
deconstruct-item:
|
||||
sucess:
|
||||
coef: 1
|
||||
items:
|
||||
MATERIAL:
|
||||
MAGICAL_WEAPON_ESSENCE: 100,1-1,0
|
||||
lose:
|
||||
coef: 3
|
||||
items:
|
||||
MATERIAL:
|
||||
WEAPON_POWDER: 100,1-1,0
|
||||
UNIQUE:
|
||||
name: '&c&lUNIQUE'
|
||||
unidentification:
|
||||
name: 'Unique'
|
||||
prefix: '&c'
|
||||
range: 6
|
||||
deconstruct-item:
|
||||
sucess:
|
||||
coef: 1
|
||||
items:
|
||||
MATERIAL:
|
||||
UNIQUE_WEAPON_ESSENCE: 100,1-1,0
|
||||
lose:
|
||||
coef: 9
|
||||
items:
|
||||
MATERIAL:
|
||||
WEAPON_POWDER: 100,1-1,0
|
505
default/item-types.yml
Normal file
505
default/item-types.yml
Normal file
@ -0,0 +1,505 @@
|
||||
|
||||
# Default item types. These cannot be removed. They
|
||||
# may be used as 'parents' to create new item types
|
||||
# which will behave just like another item type. Parents
|
||||
# generate their own config file at /language/item_type.yml
|
||||
|
||||
# Every item type has its template for unidentified items.
|
||||
# If you don't specify one like the default SWORD item type,
|
||||
# it will use the default (not translated) english one.
|
||||
|
||||
# Used as reference when using /mmoitems commands
|
||||
SWORD:
|
||||
|
||||
# The display parameter is used to display the item in both
|
||||
# the item brower and the recipe list when shifting a
|
||||
# workbench. You can use durability for custom textures.
|
||||
# In 1.14, durability is replaced by CustomModelData.
|
||||
display: IRON_SWORD:0
|
||||
|
||||
# Name displayed in the item lore.
|
||||
name: 'Sword'
|
||||
|
||||
# Template of an unidentified item.
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Sword'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
DAGGER:
|
||||
display: IRON_SWORD
|
||||
name: 'Dagger'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Dagger'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
SPEAR:
|
||||
display: STICK
|
||||
name: 'Spear'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Spear'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
HAMMER:
|
||||
display: IRON_SHOVEL
|
||||
name: 'Hammer'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Hammer'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
GAUNTLET:
|
||||
display: IRON_HORSE_ARMOR
|
||||
name: 'Gauntlet'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Gauntlet'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
WHIP:
|
||||
display: LEAD
|
||||
name: 'Whip'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Whip'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
STAFF:
|
||||
display: STICK
|
||||
name: 'Staff'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Staff'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
BOW:
|
||||
display: BOW
|
||||
name: 'Bow'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Bow'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
CROSSBOW:
|
||||
display: WOODEN_PICKAXE
|
||||
name: 'Crossbow'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Crossbow'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
MUSKET:
|
||||
display: IRON_HORSE_ARMOR
|
||||
name: 'Musket'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Musket'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
LUTE:
|
||||
display: GOLDEN_HORSE_ARMOR
|
||||
name: 'Lute'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Lute'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
CATALYST:
|
||||
display: DIAMOND
|
||||
name: 'Catalyst'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Catalyst'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
OFF_CATALYST:
|
||||
display: DIAMOND
|
||||
name: 'Catalyst'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Catalyst'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
ACCESSORY:
|
||||
display: EMERALD
|
||||
name: 'Accessory'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Accessory'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
ARMOR:
|
||||
display: GOLDEN_CHESTPLATE
|
||||
name: 'Armor'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Armor'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
TOOL:
|
||||
display: IRON_PICKAXE
|
||||
name: 'Tool'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Tool'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
CONSUMABLE:
|
||||
display: APPLE
|
||||
name: 'Consumable'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Consumable'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
MISCELLANEOUS:
|
||||
display: WATER_BUCKET
|
||||
name: 'Miscellaneous'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Misc Item'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
GEM_STONE:
|
||||
display: EMERALD
|
||||
name: 'Gem Stone'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Gem'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
# Default subtypes
|
||||
GREATSWORD:
|
||||
display: IRON_SWORD
|
||||
name: 'Greatsword'
|
||||
parent: 'SWORD'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Greatsword'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
LONG_SWORD:
|
||||
display: IRON_SWORD:0
|
||||
name: 'Long Sword'
|
||||
parent: 'SWORD'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Long Sword'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
KATANA:
|
||||
display: IRON_SWORD
|
||||
name: 'Katana'
|
||||
parent: 'SWORD'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Katana'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
THRUSTING_SWORD:
|
||||
display: IRON_SWORD
|
||||
name: 'Thrusting Sword'
|
||||
parent: 'DAGGER'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Thrusting Dagger'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
AXE:
|
||||
display: IRON_AXE
|
||||
name: 'Axe'
|
||||
parent: 'SWORD'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Axe'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
GREATAXE:
|
||||
display: IRON_AXE
|
||||
name: 'Greataxe'
|
||||
parent: 'SWORD'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Greataxe'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
HALBERD:
|
||||
display: IRON_AXE
|
||||
name: 'Halberd'
|
||||
parent: 'SWORD'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Halberd'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
LANCE:
|
||||
display: STICK
|
||||
name: 'Lance'
|
||||
parent: 'SPEAR'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Lance'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
GREATHAMMER:
|
||||
display: IRON_AXE
|
||||
name: 'Greathammer'
|
||||
parent: 'HAMMER'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Greathammer'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
GREATSTAFF:
|
||||
display: STICK
|
||||
name: 'Greatstaff'
|
||||
parent: 'HAMMER'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Greatstaff'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
STAVE:
|
||||
display: IRON_AXE
|
||||
name: 'Stave'
|
||||
parent: 'HAMMER'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Stave'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
TOME:
|
||||
display: BOOK
|
||||
name: 'Tome'
|
||||
parent: 'CATALYST'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Tome'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
TALISMAN:
|
||||
display: GOLD_NUGGET
|
||||
name: 'Talisman'
|
||||
parent: 'CATALYST'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Talisman'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
WAND:
|
||||
display: STICK
|
||||
name: 'Wand'
|
||||
parent: 'STAFF'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Wand'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
GREATBOW:
|
||||
display: BOW
|
||||
name: 'Greatbow'
|
||||
parent: 'BOW'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Greatbow'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
SHIELD:
|
||||
display: SHIELD
|
||||
name: 'Shield'
|
||||
parent: CATALYST
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Shield'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
||||
|
||||
MATERIAL:
|
||||
display: PAPER
|
||||
name: 'Material'
|
||||
parent: 'MISCELLANEOUS'
|
||||
unident-item:
|
||||
name: '&f#prefix#Unidentified Material'
|
||||
lore:
|
||||
- '&7This item is unidentified. I must'
|
||||
- '&7find a way to identify it!'
|
||||
- '{tier}'
|
||||
- '{tier}&8Item Info:'
|
||||
- '{range}&8- &7Lvl Range: &e#range#'
|
||||
- '{tier}&8- &7Item Tier: #prefix##tier#'
|
562
default/item/armor.yml
Normal file
562
default/item/armor.yml
Normal file
@ -0,0 +1,562 @@
|
||||
MYTHRIL_CHAINMAIL:
|
||||
material: CHAINMAIL_CHESTPLATE
|
||||
name: '&b--] &fMythril Chainmail &b[--'
|
||||
block-power: 50.0=70.0
|
||||
block-rating: 10.0=15.0
|
||||
armor: 5
|
||||
element:
|
||||
ice:
|
||||
defense: 8.0
|
||||
light:
|
||||
defense: 6.4
|
||||
gem-sockets:
|
||||
- Red
|
||||
- Blue
|
||||
required-level: 4.0
|
||||
tier: UNCOMMON
|
||||
STEEL_HELMET:
|
||||
material: IRON_HELMET
|
||||
block-power: 5.0=7.0
|
||||
block-rating: 5.0=8.0
|
||||
required-level: 3.0
|
||||
name: '&fSteel Helm'
|
||||
armor: 2.5
|
||||
lore:
|
||||
- '&7Slightly better than an iron helmet.'
|
||||
tier: COMMON
|
||||
knockback-resistance: 0.01=0.03
|
||||
gem-sockets:
|
||||
- Green
|
||||
advanced-craft-enabled: true
|
||||
set: STEEL
|
||||
advanced-craft:
|
||||
'4':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'6':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'7':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'8':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'3':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'0':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'1':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'5':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'2':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
STEEL_CHESTPLATE:
|
||||
material: IRON_CHESTPLATE
|
||||
block-power: 5.0=7.0
|
||||
block-rating: 5.0=8.0
|
||||
required-level: 3.0
|
||||
name: '&fSteel Chestplate'
|
||||
armor: 6.5
|
||||
lore:
|
||||
- '&7Slightly better than an iron chestplate.'
|
||||
tier: COMMON
|
||||
knockback-resistance: 0.01=0.03
|
||||
gem-sockets:
|
||||
- Blue
|
||||
advanced-craft-enabled: true
|
||||
set: STEEL
|
||||
advanced-craft:
|
||||
'1':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'3':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'7':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'6':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'8':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'5':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'4':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'0':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'2':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
STEEL_LEGGINGS:
|
||||
material: IRON_LEGGINGS
|
||||
block-power: 5.0=7.0
|
||||
block-rating: 5.0=8.0
|
||||
required-level: 3.0
|
||||
name: '&fSteel Leggings'
|
||||
armor: 5.5
|
||||
lore:
|
||||
- '&7Slightly better than iron leggings.'
|
||||
tier: COMMON
|
||||
knockback-resistance: 0.01=0.03
|
||||
gem-sockets:
|
||||
- Blue
|
||||
advanced-craft-enabled: true
|
||||
set: STEEL
|
||||
advanced-craft:
|
||||
'4':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'7':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'8':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'6':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'3':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'0':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'1':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'2':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'5':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
STEEL_BOOTS:
|
||||
material: IRON_BOOTS
|
||||
block-power: 5.0=7.0
|
||||
block-rating: 5.0=8.0
|
||||
required-level: 3.0
|
||||
name: '&fSteel Boots'
|
||||
armor: 2.5
|
||||
lore:
|
||||
- '&7Slightly better than iron boots.'
|
||||
tier: COMMON
|
||||
knockback-resistance: 0.01=0.03
|
||||
gem-sockets:
|
||||
- Green
|
||||
advanced-craft-enabled: true
|
||||
set: STEEL
|
||||
advanced-craft:
|
||||
'0':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'1':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'2':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'4':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'7':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'6':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'3':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'8':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
'5':
|
||||
type: MATERIAL
|
||||
id: STEEL_INGOT
|
||||
amount: 1
|
||||
CURSED_WITHER_SKULL:
|
||||
material: WITHER_SKELETON_SKULL
|
||||
name: '&7Cursed Wither Skull'
|
||||
required-level: 30.0
|
||||
tier: UNIQUE
|
||||
gem-sockets:
|
||||
- Red
|
||||
- Blue
|
||||
armor: 3.0
|
||||
durability: 3
|
||||
armor-toughness: 2.0
|
||||
perm-effects:
|
||||
ABSORPTION: 1
|
||||
lore:
|
||||
- '&7Grants a permanent &62'
|
||||
- '&6hearts &7absorption shield.'
|
||||
durability: 1.0
|
||||
element:
|
||||
light:
|
||||
defense: 67.4
|
||||
fire:
|
||||
defense: 53.4
|
||||
advanced-craft-enabled: true
|
||||
advanced-craft:
|
||||
'4':
|
||||
type: MATERIAL
|
||||
id: UNIQUE_WEAPON_ESSENCE
|
||||
amount: 1
|
||||
'8':
|
||||
material: BONE
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'7':
|
||||
material: BONE
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'6':
|
||||
material: BONE
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'5':
|
||||
material: BONE
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'2':
|
||||
material: BONE
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'1':
|
||||
material: BONE
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'0':
|
||||
material: BONE
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'3':
|
||||
material: BONE
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
HUGE_MOTHRON_WINGS:
|
||||
material: ELYTRA
|
||||
max-durability: 5.0
|
||||
two-handed: false
|
||||
name: '&eHuge Mothron Wings'
|
||||
tier: RARE
|
||||
unbreakable: true
|
||||
movement-speed: -0.03
|
||||
will-break: false
|
||||
ARCANE_HELM:
|
||||
material: LEATHER_HELMET
|
||||
name: '&5Arcane Helm'
|
||||
tier: RARE
|
||||
required-level: 4.0
|
||||
max-mana: 10.0
|
||||
dye-color: 100 100 255
|
||||
armor: 2.0
|
||||
magic-damage: 15.0
|
||||
item-particles:
|
||||
type: GALAXY
|
||||
particle: SPELL_WITCH
|
||||
set: ARCANE
|
||||
ARCANE_CHESTPLATE:
|
||||
material: LEATHER_CHESTPLATE
|
||||
name: '&5Arcane Tunic'
|
||||
tier: RARE
|
||||
required-level: 4.0
|
||||
max-mana: 10.0
|
||||
dye-color: 100 100 255
|
||||
armor: 6.0
|
||||
magic-damage: 15.0
|
||||
ability:
|
||||
on-hit:
|
||||
type: WITHER
|
||||
mode: WHEN_HIT
|
||||
cooldown: 9.0
|
||||
amplifier: 2.0
|
||||
item-particles:
|
||||
type: GALAXY
|
||||
particle: SPELL_WITCH
|
||||
lore:
|
||||
- '&2Enemies trying to attack you'
|
||||
- '&2will be violently inflicted a wither'
|
||||
- '&2effect for a short period of time.'
|
||||
set: ARCANE
|
||||
ARCANE_LEGGINGS:
|
||||
material: LEATHER_LEGGINGS
|
||||
name: '&5Arcane Leggings'
|
||||
tier: RARE
|
||||
required-level: 4.0
|
||||
max-mana: 10.0
|
||||
dye-color: 100 100 255
|
||||
armor: 5.0
|
||||
magic-damage: 15.0
|
||||
item-particles:
|
||||
type: GALAXY
|
||||
particle: SPELL_WITCH
|
||||
gem-sockets:
|
||||
- Blue
|
||||
- Green
|
||||
set: ARCANE
|
||||
ARCANE_BOOTS:
|
||||
material: LEATHER_BOOTS
|
||||
name: '&5Arcane Boots'
|
||||
tier: RARE
|
||||
required-level: 4.0
|
||||
max-mana: 10.0
|
||||
dye-color: 100 100 255
|
||||
armor: 2.0
|
||||
magic-damage: 15.0
|
||||
item-particles:
|
||||
type: GALAXY
|
||||
particle: SPELL_WITCH
|
||||
lore:
|
||||
- '&2Greatly increases your'
|
||||
- '&2fall damage reduction.'
|
||||
fall-damage-reduction: 40.0=50.0
|
||||
set: ARCANE
|
||||
GINGERBREAD_HELM:
|
||||
material: LEATHER_HELMET
|
||||
dye-color: 255 150 100
|
||||
name: '&cGingerbread Helmet'
|
||||
required-level: 2.0
|
||||
lore:
|
||||
- '&eEarned during X-Mas 2018!'
|
||||
set: GINGERBREAD
|
||||
parry-rating: 5.0
|
||||
max-health: 2.0
|
||||
armor: 2.0
|
||||
regeneration: 10.0
|
||||
item-particles:
|
||||
type: OFFSET
|
||||
particle: REDSTONE
|
||||
color:
|
||||
red: 255
|
||||
green: 100
|
||||
blue: 100
|
||||
GINGERBREAD_TUNIC:
|
||||
material: LEATHER_CHESTPLATE
|
||||
dye-color: 255 130 130
|
||||
name: '&cGingerbread Tunic'
|
||||
required-level: 2.0
|
||||
lore:
|
||||
- '&eEarned during X-Mas 2018!'
|
||||
set: GINGERBREAD
|
||||
parry-rating: 5.0
|
||||
max-health: 2.0
|
||||
armor: 6.0
|
||||
regeneration: 10.0
|
||||
item-particles:
|
||||
type: OFFSET
|
||||
particle: REDSTONE
|
||||
color:
|
||||
red: 255
|
||||
green: 100
|
||||
blue: 100
|
||||
GINGERBREAD_LEGGINGS:
|
||||
material: LEATHER_LEGGINGS
|
||||
dye-color: 255 140 120
|
||||
name: '&cGingerbread Leggings'
|
||||
required-level: 2.0
|
||||
lore:
|
||||
- '&eEarned during X-Mas 2018!'
|
||||
set: GINGERBREAD
|
||||
parry-rating: 5.0
|
||||
max-health: 2.0
|
||||
armor: 5.0
|
||||
regeneration: 10.0
|
||||
item-particles:
|
||||
type: OFFSET
|
||||
particle: REDSTONE
|
||||
color:
|
||||
red: 255
|
||||
green: 100
|
||||
blue: 100
|
||||
GINGERBREAD_BOOTS:
|
||||
material: LEATHER_BOOTS
|
||||
dye-color: 255 150 150
|
||||
name: '&cGingerbread Boots'
|
||||
required-level: 2.0
|
||||
lore:
|
||||
- '&eEarned during X-Mas 2018!'
|
||||
set: GINGERBREAD
|
||||
parry-rating: 5.0
|
||||
max-health: 2.0
|
||||
armor: 2.0
|
||||
regeneration: 10.0
|
||||
item-particles:
|
||||
type: OFFSET
|
||||
particle: REDSTONE
|
||||
color:
|
||||
red: 255
|
||||
green: 100
|
||||
blue: 100
|
||||
DEAD_PHARAOH_HELMET:
|
||||
material: PLAYER_HEAD
|
||||
skull-texture:
|
||||
value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOGU1NWRmOTc5YWI3OTc0OWY4YjU1MWI0MjM5YTQ2OWFhNzY5ZDliNDYwNTBhYWJkOWY2ZDFjZWU1M2VkMzYifX19
|
||||
uuid: 852deb36-af4a-412f-ac76-2b06dc123ed2
|
||||
name: '&cDead Pharaoh Helmet'
|
||||
disable-interaction: true
|
||||
item-particles:
|
||||
type: FIREFLIES
|
||||
particle: SMOKE_NORMAL
|
||||
fire-damage-reduction: 30.0
|
||||
armor: 4.0
|
||||
undead-damage: 30.0
|
||||
lore:
|
||||
- '&7This powerful forgotten helmet'
|
||||
- '&7will greatly increase your power'
|
||||
- '&7against undead creatures.'
|
||||
required-level: 9.0
|
||||
MOSSY_SKELETON_SKULL:
|
||||
material: PLAYER_HEAD
|
||||
skull-texture:
|
||||
value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWE2MzE0ZWFjMzQ0MTZjZTEwYWIyMmMyZTFjNGRjYjQ3MmEzZmViOThkNGUwNGQzZmJiYjg1YTlhNDcxYjE4In19fQ
|
||||
uuid: f455a085-3f09-43ac-8be1-175204d1a6ad
|
||||
name: '&8Mossy Skeleton Skull'
|
||||
required-level: 6.0
|
||||
armor: 3.5
|
||||
knockback-resistance: 0.1
|
||||
movement-speed: -0.01
|
||||
disable-interaction: true
|
||||
SKELETON_CROWN:
|
||||
material: PLAYER_HEAD
|
||||
skull-texture:
|
||||
value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOGM3OGQyMTAyZGI3NWYxYjM3NDRhNWU3ZTliYWNjZjg4ZmRhNGNjNDk3OWViYzBhODFiN2Q5ZWI1NzIxYzAifX19
|
||||
uuid: ccb901e7-0919-463d-9bdd-ee9acae8e0e2
|
||||
name: '&eSkeleton Crown'
|
||||
required-level: 9.0
|
||||
armor: 3.0
|
||||
movement-speed: 0.01
|
||||
ability:
|
||||
ability1:
|
||||
type: LIFE_ENDER
|
||||
mode: WHEN_HIT
|
||||
damage: 3.0
|
||||
cooldown: 9.0
|
||||
lore:
|
||||
- '&7Every 9 seconds, summons a'
|
||||
- '&cdeadly meteor&7 at your attacker,'
|
||||
- '&7dealing &c4&7 damage while briefly'
|
||||
- '&7knocking them away.'
|
||||
disable-interaction: true
|
||||
WYVERN_CAP:
|
||||
material: GOLDEN_HELMET
|
||||
name: '&fWyvern Cap'
|
||||
required-level: 10.0
|
||||
hide-enchants: false
|
||||
enchants:
|
||||
unbreaking: 9
|
||||
armor: 2.5
|
||||
fall-damage-reduction: 70.0
|
||||
perm-effects:
|
||||
JUMP: 2
|
||||
lore:
|
||||
- '&7Grants permanent jump boost II'
|
||||
advanced-craft:
|
||||
'4':
|
||||
amount: 1
|
||||
material: AIR
|
||||
durability: 0
|
||||
name: ''
|
||||
'6':
|
||||
amount: 1
|
||||
material: AIR
|
||||
durability: 0
|
||||
name: ''
|
||||
'7':
|
||||
amount: 1
|
||||
material: AIR
|
||||
durability: 0
|
||||
name: ''
|
||||
'8':
|
||||
amount: 1
|
||||
material: AIR
|
||||
durability: 0
|
||||
name: ''
|
||||
'3':
|
||||
type: TOME
|
||||
id: WYVERN_FEATHER
|
||||
amount: 1
|
||||
'5':
|
||||
type: TOME
|
||||
id: WYVERN_FEATHER
|
||||
amount: 1
|
||||
'2':
|
||||
type: TOME
|
||||
id: WYVERN_FEATHER
|
||||
amount: 1
|
||||
'0':
|
||||
type: TOME
|
||||
id: WYVERN_FEATHER
|
||||
amount: 1
|
||||
'1':
|
||||
type: TOME
|
||||
id: WYVERN_SOUL
|
||||
amount: 1
|
110
default/item/axe.yml
Normal file
110
default/item/axe.yml
Normal file
@ -0,0 +1,110 @@
|
||||
BUTCHER_AXE:
|
||||
material: IRON_AXE
|
||||
name: '&cButcher&f''s Axe'
|
||||
tier: '&8Uncommon'
|
||||
critical-strike-chance: 5.0
|
||||
critical-strike-power: 248.0
|
||||
attack-damage: 6.0
|
||||
attack-speed: 0.7
|
||||
ability:
|
||||
right-click:
|
||||
type: CIRCULAR_SLASH
|
||||
mode: RIGHT_CLICK
|
||||
knockback: 3.0
|
||||
cooldown: 39.0
|
||||
damage: 6.0
|
||||
element:
|
||||
darkness:
|
||||
damage: 3.2
|
||||
gem-sockets:
|
||||
- Uncolored
|
||||
craft-enabled: true
|
||||
craft:
|
||||
- IRON_BLOCK IRON_BLOCK AIR
|
||||
- IRON_BLOCK STICK AIR
|
||||
- AIR STICK AIR
|
||||
BONE_CRACKER:
|
||||
material: STONE_AXE
|
||||
disable-repairing: true
|
||||
disable-enchanting: true
|
||||
unbreakable: false
|
||||
two-handed: true
|
||||
tier: COMMON
|
||||
armor-toughness: 2.0
|
||||
gem-sockets:
|
||||
- Uncolored
|
||||
name: '&fBone Cracker'
|
||||
attack-damage: 10.0=12.0
|
||||
attack-speed: 0.4=0.5
|
||||
required-level: 4.0
|
||||
durability: 10.0=100.0
|
||||
SKULL_BREAKER:
|
||||
material: IRON_AXE
|
||||
attack-damage: 16.0=18.0
|
||||
attack-speed: 0.3=0.4
|
||||
name: '&f&lSKULL BREAKER'
|
||||
tier: COMMON
|
||||
two-handed: true
|
||||
movement-speed: -0.02
|
||||
lore:
|
||||
- '&7Its large blade &cslow&7 its targets'
|
||||
- '&7when smashing it on their skull.'
|
||||
required-level: 9.0
|
||||
required-class:
|
||||
- Brute
|
||||
- Warrior
|
||||
SILVER_AXE:
|
||||
material: IRON_AXE
|
||||
custom-model-data: 1.0
|
||||
name: '&fSilver Axe'
|
||||
attack-damage: 9.0=10.0
|
||||
attack-speed: 0.9=1.0
|
||||
critical-strike-chance: 5.0=7.0
|
||||
ability:
|
||||
ability1:
|
||||
type: CIRCULAR_SLASH
|
||||
damage: 6.0
|
||||
cooldown: 20.0
|
||||
mode: SHIFT_RIGHT_CLICK
|
||||
lore:
|
||||
- '&7Every &c20 &7seconds, shift and'
|
||||
- '&7right-click to perform a devastating'
|
||||
- '&7circular slash, dealing &c6 &7damage'
|
||||
- '&7and knocking back nearby targets.'
|
||||
advanced-craft:
|
||||
'0':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'3':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'6':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'8':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'7':
|
||||
material: STICK
|
||||
amount: 1
|
||||
name: ''
|
||||
'4':
|
||||
material: STICK
|
||||
amount: 1
|
||||
name: ''
|
||||
'2':
|
||||
type: MATERIAL
|
||||
id: SILVER_INGOT
|
||||
amount: 1
|
||||
'1':
|
||||
type: MATERIAL
|
||||
id: SILVER_INGOT
|
||||
amount: 1
|
||||
'5':
|
||||
type: MATERIAL
|
||||
id: SILVER_INGOT
|
||||
amount: 1
|
54
default/item/bow.yml
Normal file
54
default/item/bow.yml
Normal file
@ -0,0 +1,54 @@
|
||||
HELL_BOW:
|
||||
material: BOW
|
||||
enchants:
|
||||
unbreaking: 10
|
||||
infinity: 1
|
||||
hide-enchants: true
|
||||
unbreakable: true
|
||||
tier: '&6Rare'
|
||||
attack-damage: 10.0=13.0
|
||||
critical-strike-chance: 10.0=60.0
|
||||
critical-strike-power: 10.0=15.0
|
||||
element:
|
||||
fire:
|
||||
damage: 14.0
|
||||
ability:
|
||||
right-click:
|
||||
type: FIREBOLT
|
||||
mode: SHIFT_LEFT_CLICK
|
||||
cooldown: 20.0
|
||||
damage: 4.0
|
||||
ignite: 6.0
|
||||
gem-sockets:
|
||||
- Red
|
||||
- Red
|
||||
- Green
|
||||
name: '&cHell Bow'
|
||||
pve-damage: 20.0=30.0
|
||||
arrow-particles:
|
||||
amount: 5
|
||||
offset: 0.05
|
||||
particle: FLAME
|
||||
speed: 0.08
|
||||
MARKING_BOW:
|
||||
material: BOW
|
||||
enchants:
|
||||
unbreaking: 3
|
||||
name: '&8Marking Bow'
|
||||
attack-damage: 7.0
|
||||
arrow-particles:
|
||||
particle: SMOKE_NORMAL
|
||||
amount: 3
|
||||
speed: 0.05
|
||||
ability:
|
||||
ability1:
|
||||
type: WEAKEN_TARGET
|
||||
mode: ON_HIT
|
||||
extra-damage: 60.0
|
||||
dodge-rating: 10.0
|
||||
damage-reduction: -5.0
|
||||
required-level: 10.0
|
||||
lore:
|
||||
- '&7Shoot an entity to &cmark &7it. The'
|
||||
- '&7next attack against this entity'
|
||||
- '&7will deal &c60%&7 extra damage.'
|
49
default/item/catalyst.yml
Normal file
49
default/item/catalyst.yml
Normal file
@ -0,0 +1,49 @@
|
||||
NATURES_GIFT:
|
||||
material: OAK_SAPLING
|
||||
disable-crafting: true
|
||||
name: '&9Magical Catalyst'
|
||||
lore:
|
||||
- '&7No one knows where it was'
|
||||
- '&7found. Hold it in your hands'
|
||||
- '&7to &bdouble &7your regeneration!'
|
||||
magic-damage: 10=20
|
||||
required-level: 4.0
|
||||
required-class:
|
||||
- Wizard
|
||||
- Paladin
|
||||
hide-enchants: true
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
regeneration: 90.0=110.0
|
||||
WARRIOR_AMULET:
|
||||
material: GRAY_DYE
|
||||
name: '&fWarrior Amulet'
|
||||
disable-crafting: true
|
||||
hide-enchants: true
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
damage-reduction: 5.0
|
||||
regeneration: 8.0
|
||||
FORGOTTEN_IDOL:
|
||||
material: GOLD_NUGGET
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
name: '&eForgotten Idol'
|
||||
required-level: 19.0
|
||||
weapon-damage: 30.0=40.0
|
||||
FIRE_TOTEM:
|
||||
material: BLAZE_ROD
|
||||
hide-enchants: true
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
name: '&fFire Totem'
|
||||
tier: RARE
|
||||
fire-damage-reduction: 80.0=90.0
|
||||
required-level: 10.0
|
||||
disable-crafting: true
|
||||
LUCKY_CHARM:
|
||||
material: RABBIT_FOOT
|
||||
name: '&fLucky Charm'
|
||||
tier: NORMAL
|
||||
critical-strike-chance: 2.5
|
334
default/item/consumable.yml
Normal file
334
default/item/consumable.yml
Normal file
@ -0,0 +1,334 @@
|
||||
SANDWITCH:
|
||||
material: BREAD
|
||||
name: '&cSand&6witch'
|
||||
restore:
|
||||
health: 0
|
||||
food: 5
|
||||
saturation: 0
|
||||
effects:
|
||||
POISON: 10,2
|
||||
lore:
|
||||
- '&7Are you really that hungry?!'
|
||||
item-cooldown: 15
|
||||
ROCK:
|
||||
material: COBBLESTONE
|
||||
name: '&fRock'
|
||||
lore:
|
||||
- '&7Use it to sharpen your weapons,'
|
||||
- '&7or &ndamage&7 your enemies.'
|
||||
tier: TRASH
|
||||
item-cooldown: 3
|
||||
repair: 3.0
|
||||
ability:
|
||||
right-click:
|
||||
type: ITEM_THROW
|
||||
mode: RIGHT_CLICK
|
||||
damage: 2.0
|
||||
cooldown: 3
|
||||
SCROLL_OF_IDENTIFICATION:
|
||||
material: PAPER
|
||||
name: '&fScroll of Identification'
|
||||
tier: '&8Uncommon'
|
||||
can-identify: true
|
||||
craft-enabled: true
|
||||
craft:
|
||||
- AIR AIR AIR
|
||||
- PAPER DIAMOND PAPER
|
||||
- AIR AIR AIR
|
||||
inedible: true
|
||||
ITEM_CRUSHER:
|
||||
material: IRON_AXE
|
||||
required-level: 3.0
|
||||
can-deconstruct: true
|
||||
name: '&f&lItem Crusher'
|
||||
RECALL_POTION:
|
||||
material: POTION
|
||||
hide-potion-effects: true
|
||||
name: '&9Recall Potion'
|
||||
lore:
|
||||
- '&7Brings you back home.'
|
||||
potion-color: 100 100 255
|
||||
commands:
|
||||
'1':
|
||||
format: spawn
|
||||
item-cooldown: 60.0
|
||||
FIREBALL_SCROLL:
|
||||
material: PAPER
|
||||
item-cooldown: 30.0
|
||||
required-level: 15.0
|
||||
tier: MAGICAL
|
||||
ability:
|
||||
right-click:
|
||||
type: FIREBOLT
|
||||
mode: RIGHT_CLICK
|
||||
damage: 5.0
|
||||
cooldown: 0.0
|
||||
ignite: 3.0
|
||||
name: '&cFireball Scroll I'
|
||||
FIREBALL_SCROLL_II:
|
||||
material: PAPER
|
||||
item-cooldown: 25.0
|
||||
required-level: 17
|
||||
tier: MAGICAL
|
||||
ability:
|
||||
right-click:
|
||||
type: FIREBOLT
|
||||
mode: RIGHT_CLICK
|
||||
damage: 10.0
|
||||
cooldown: 0.0
|
||||
ignite: 5.0
|
||||
name: '&cFireball Scroll II'
|
||||
FIREBALL_SCROLL_III:
|
||||
material: PAPER
|
||||
item-cooldown: 20.0
|
||||
required-level: 20.0
|
||||
tier: MAGICAL
|
||||
ability:
|
||||
right-click:
|
||||
type: FIREBOLT
|
||||
mode: RIGHT_CLICK
|
||||
damage: 15.0
|
||||
cooldown: 0.0
|
||||
ignite: 7.0
|
||||
name: '&cFireball Scroll III'
|
||||
APPLE_OF_DISCORD:
|
||||
material: GOLDEN_APPLE
|
||||
durability: 1.0
|
||||
name: '&6[ Apple of Discord ]'
|
||||
required-level: 4.0
|
||||
restore:
|
||||
health: 1.0
|
||||
food: 15.0
|
||||
saturation: 1.0
|
||||
item-cooldown: 50.0
|
||||
effects:
|
||||
ABSORPTION: 40.0,2
|
||||
REGENERATION: 40.0,2
|
||||
SPEED: 40.0,2
|
||||
SHARP_FLINT:
|
||||
material: FLINT
|
||||
name: '&fSharp Flint'
|
||||
tier: COMMON
|
||||
repair: 20.0
|
||||
DEATH_STEW:
|
||||
material: MUSHROOM_STEW
|
||||
name: '&fDeath Soup'
|
||||
lore:
|
||||
- '&8&oDon''t you dare drinking that...'
|
||||
tier: UNIQUE
|
||||
effects:
|
||||
HARM: 1.0,100
|
||||
KARTOFFELSALAT:
|
||||
material: RABBIT_STEW
|
||||
name: '&9Kartoffelsalat'
|
||||
tier: COMMON
|
||||
restore-stamina: 10.0
|
||||
restore:
|
||||
food: 3.0
|
||||
saturation: 10.0
|
||||
item-cooldown: 30.0
|
||||
lore:
|
||||
- '&7Very punchy, yet hard to finish.'
|
||||
LARGE_HEALTH_POTION:
|
||||
material: PLAYER_HEAD
|
||||
skull-texture:
|
||||
value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTFlN2ViMmU0NjFlOTZlNjMxY2JhMGMwY2RhYTU0NDg4MDYzMDJlZGFlOTFiNjFkYWZjMjgxYWU1ODRkOCJ9fX0=
|
||||
uuid: 701aa558-c1b0-4eb7-81e4-79b1af25283c
|
||||
name: '&fLarge Health Potion'
|
||||
item-cooldown: 10.0
|
||||
restore:
|
||||
health: 10.0
|
||||
consume-sound: ENTITY_GENERIC_DRINK
|
||||
LARGE_MANA_POTION:
|
||||
material: PLAYER_HEAD
|
||||
skull-texture:
|
||||
value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2FmNmRjNjdjZTc1YjcyMjJhYzM5ZTA1MzZlMDkwNzI0OWY4NTUxNmVmZDEzODViZWM5MGJlMzNkZDUzZGUwNyJ9fX0=
|
||||
uuid: 0b4b6108-eb50-4a35-ae8b-53d5c2ad2a84
|
||||
name: '&fLarge Mana Potion'
|
||||
restore-mana: 30.0=40.0
|
||||
item-cooldown: 15.0
|
||||
consume-sound: ENTITY_GENERIC_DRINK
|
||||
TACO:
|
||||
material: PLAYER_HEAD
|
||||
skull-texture:
|
||||
value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTQ5ZDNkODg5Y2ZmNjU1YzYyMjgzNDE4NDU1MjA1YjAzYWU3N2ZmYjdlZTE4ZGQwM2FjMGE0ZmZiODk1NjE1YiJ9fX0=
|
||||
uuid: c8113aeb-0b63-4654-9e8f-54416fd2fde8
|
||||
name: '&fTaco'
|
||||
restore:
|
||||
health: 3.0
|
||||
food: 8.0
|
||||
saturation: 10.0
|
||||
item-cooldown: 2.0
|
||||
lore:
|
||||
- '&7&oA hot & tasty taco!'
|
||||
BURGER:
|
||||
material: PLAYER_HEAD
|
||||
item-cooldown: 3.0
|
||||
skull-texture:
|
||||
value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTUwMzkxYjEzODNkOWVmOWU2ZTdiZjVmODJkMWNmODgyZDgxZTJiMDA0ZGUzNjlmNzI5ZWRhMDRiMmVhNjNkMyJ9fX0=
|
||||
uuid: 076dd3bf-0d76-497b-9745-40ed9402a311
|
||||
restore:
|
||||
health: 4.0
|
||||
food: 10.0
|
||||
saturation: 9.0
|
||||
restore-stamina: 30.0
|
||||
name: '&fTasty Burger'
|
||||
lore:
|
||||
- '&7&oMmmmh, yummy!'
|
||||
WEIRD_CANDY_BAG:
|
||||
material: PLAYER_HEAD
|
||||
skull-texture:
|
||||
value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODdmNTA0Y2RiZjViMjExMjFiODIxODUyOGRjZTU2NzUwNWQ0NTY3ZDdlNzJjZDQzYTQ2M2NkNTFjODAxM2E2In19fQ==
|
||||
uuid: efdf121e-209f-49a2-9c56-d0bf058f33ae
|
||||
name: '&9Weird Candy Bag'
|
||||
item-cooldown: 3.0
|
||||
restore:
|
||||
food: 4.0
|
||||
effects:
|
||||
CONFUSION: 30.0,1
|
||||
SUSHI_ROLL:
|
||||
material: PLAYER_HEAD
|
||||
skull-texture:
|
||||
value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmVlYzc2NDBlNDMyNDBjODE2N2IxNjc3ZWFiZmZhYWQ5ZjYyODA2Y2NiZTI2NzMyNGM5N2NlYjcyOWQzMDNhIn19fQ==
|
||||
uuid: b7c55ea2-d4cc-467e-85c7-dd8052c1675b
|
||||
name: '&fSushi Roll'
|
||||
lore:
|
||||
- '&7&oSushis are leggit the'
|
||||
- '&7&obest food on Earth.'
|
||||
item-cooldown: 0.5
|
||||
restore:
|
||||
health: 1.0
|
||||
effects:
|
||||
SPEED: 1.0,1
|
||||
SOULBINDER1:
|
||||
material: ENDER_EYE
|
||||
name: '&fApprentice Soulbinder'
|
||||
disable-interaction: true
|
||||
soulbound-level: 1.0
|
||||
soulbinding-chance: 70.0
|
||||
SOULCRUSHER1:
|
||||
material: ENDER_PEARL
|
||||
name: '&fNovice Soulcrusher'
|
||||
disable-interaction: true
|
||||
soulbound-level: 1.0
|
||||
soulbound-break-chance: 30.0
|
||||
SOULBINDER2:
|
||||
material: ENDER_EYE
|
||||
name: '&fIntermediate Soulbinder'
|
||||
disable-interaction: true
|
||||
soulbound-level: 2.0
|
||||
soulbinding-chance: 80.0
|
||||
SOULCRUSHER2:
|
||||
material: ENDER_PEARL
|
||||
name: '&fIntermediate Soulcrusher'
|
||||
disable-interaction: true
|
||||
soulbound-level: 2.0
|
||||
soulbound-break-chance: 40.0
|
||||
SOULBINDER3:
|
||||
material: ENDER_EYE
|
||||
name: '&fArcane Soulbinder'
|
||||
disable-interaction: true
|
||||
soulbound-level: 3.0
|
||||
soulbinding-chance: 90.0
|
||||
SOULCRUSHER3:
|
||||
material: ENDER_PEARL
|
||||
name: '&fArcane Soulcrusher'
|
||||
disable-interaction: true
|
||||
soulbound-level: 3.0
|
||||
soulbound-break-chance: 50.0
|
||||
SANTA_COOKIE:
|
||||
material: COOKIE
|
||||
name: '&cS&fa&cn&ft&ca''&fs &cC&fo&co&fk&ci&fe'
|
||||
lore:
|
||||
- '&7&oWhere are the darn cookies!'
|
||||
restore:
|
||||
saturation: 12.0
|
||||
consume-sound: ENTITY_PLAYER_BURP
|
||||
item-cooldown: 2.0
|
||||
effects:
|
||||
SPEED: 1.0,2
|
||||
ENDER_NOTE:
|
||||
material: PAPER
|
||||
ability:
|
||||
right-click:
|
||||
type: BLINK
|
||||
mode: RIGHT_CLICK
|
||||
cooldown: 180
|
||||
range: 150.0
|
||||
name: '&5Ender Tome'
|
||||
item-cooldown: 179.99
|
||||
consume-sound: ENTITY_ENDERMAN_TELEPORT
|
||||
lore:
|
||||
- '&7Teleports you &5miles&7 away.'
|
||||
effects:
|
||||
HARM: 0.1,2
|
||||
THROW_COAL:
|
||||
material: COAL
|
||||
ability:
|
||||
right-click:
|
||||
type: ITEM_THROW
|
||||
cooldown: 3.0
|
||||
damage: 3.0
|
||||
mode: RIGHT_CLICK
|
||||
name: '&fThrowable Coal'
|
||||
lore:
|
||||
- '&fChuck them at your friends'
|
||||
item-cooldown: 3.0
|
||||
disable-right-click-consume: false
|
||||
inedible: false
|
||||
disable-crafting: false
|
||||
disable-smelting: false
|
||||
EGGNOG:
|
||||
material: EGG
|
||||
name: '&6Eggnog'
|
||||
disable-interaction: true
|
||||
disable-crafting: true
|
||||
item-cooldown: 3.0
|
||||
restore:
|
||||
health: 2.0
|
||||
food: 2.0
|
||||
saturation: 4.0
|
||||
commands:
|
||||
'1':
|
||||
format: me Mmmmmh!
|
||||
cooldown: 3.0
|
||||
advanced-craft:
|
||||
'0':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'1':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'2':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'3':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'5':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'6':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'8':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'4':
|
||||
material: SUGAR
|
||||
amount: 1
|
||||
name: ''
|
||||
'7':
|
||||
material: EGG
|
||||
amount: 1
|
||||
name: ''
|
||||
lore:
|
||||
- '&eEarned during X-Mas 2018!'
|
||||
- '&e&oA fresh & cold eggnog!'
|
49
default/item/dagger.yml
Normal file
49
default/item/dagger.yml
Normal file
@ -0,0 +1,49 @@
|
||||
STEEL_DAGGER:
|
||||
material: IRON_SWORD
|
||||
name: '&fSteel Dagger'
|
||||
attack-damage: 4.5=5.0
|
||||
attack-speed: 1.8=2.0
|
||||
pvp-damage: 15.0=20.0
|
||||
movement-speed: 0.02
|
||||
critical-strike-chance: 50.0=60.0
|
||||
gem-sockets:
|
||||
- Uncolored
|
||||
- Blue
|
||||
ability:
|
||||
right-click:
|
||||
type: THRUST
|
||||
mode: RIGHT_CLICK
|
||||
damage: 4.3
|
||||
cooldown: 5.0
|
||||
stamina: 20.0
|
||||
tier: COMMON
|
||||
required-level: 5.0
|
||||
required-class:
|
||||
- Rogue
|
||||
- Archer
|
||||
DRACULA_DAGGER:
|
||||
material: IRON_SWORD
|
||||
tier: RARE
|
||||
required-level: 15.0
|
||||
attack-damage: 7.0=8.0
|
||||
name: '&fDracula''s Dagger'
|
||||
attack-speed: 1.6=1.7
|
||||
critical-strike-chance: 15.0
|
||||
fall-damage-reduction: 43.0
|
||||
regeneration: 40.0=45.0
|
||||
gem-sockets:
|
||||
- Uncolored
|
||||
- Red
|
||||
ability:
|
||||
on-hit:
|
||||
type: VAMPIRISM
|
||||
mode: ON_HIT
|
||||
drain: 3.0
|
||||
cooldown: 4.0
|
||||
lore:
|
||||
- '&7Every 4sec, hitting an'
|
||||
- '&7enemy &cdrains&7 his health,'
|
||||
- '&7healing you for &c1.5 heart&7.'
|
||||
enchants:
|
||||
unbreaking: 10
|
||||
hide-enchants: true
|
63
default/item/gem_stone.yml
Normal file
63
default/item/gem_stone.yml
Normal file
@ -0,0 +1,63 @@
|
||||
RUBY:
|
||||
material: EMERALD
|
||||
name: '&fRuby of Strength'
|
||||
critical-strike-power: 10.0=12.0
|
||||
attack-damage: 1.0=2.0
|
||||
required-level: 5.0
|
||||
disable-crafting: true
|
||||
GEM_OF_ACCURACY:
|
||||
material: DIAMOND
|
||||
disable-crafting: true
|
||||
name: '&fGem of Accuracy'
|
||||
success-rate: 90.0=99.0
|
||||
attack-speed: 0.05=0.1
|
||||
tier: COMMON
|
||||
critical-strike-chance: 10.0=15.0
|
||||
gem-color: Blue
|
||||
displayed-type: Blue Gem Stone
|
||||
GEM_OF_LIFE:
|
||||
material: RED_DYE
|
||||
max-health: 4.0
|
||||
name: '&fGem of Life'
|
||||
item-type-restriction:
|
||||
- ARMOR
|
||||
gem-color: Red
|
||||
displayed-type: Red Armor Gem Stone
|
||||
block-power: 3.0
|
||||
disable-crafting: true
|
||||
NATURE_GIFT:
|
||||
material: EMERALD
|
||||
name: '&fNature''s Gift'
|
||||
displayed-type: Green Gem Stone
|
||||
regeneration: 50.0=70.0
|
||||
fire-damage-reduction: 20.0=30.0
|
||||
required-level: 6.0
|
||||
SPITEFUL_OPAQUE_DIAMOND:
|
||||
material: DIAMOND
|
||||
name: '&9Spiteful Opaque Diamond'
|
||||
success-rate: 10.0=12.0
|
||||
attack-damage: 3.0=4.0
|
||||
armor: 2.0
|
||||
disable-crafting: true
|
||||
gem-color: Blue
|
||||
displayed-type: Blue Gem Stone
|
||||
GOLDEN_RELIC:
|
||||
material: GOLD_NUGGET
|
||||
name: '&eGolden Relic'
|
||||
lore:
|
||||
- '&7Apply it onto &eany&7 socket.'
|
||||
- '&7'
|
||||
critical-strike-chance: 10.0=20.0
|
||||
required-level: 20.0
|
||||
disable-crafting: true
|
||||
BLAZE_SOUL:
|
||||
material: ORANGE_DYE
|
||||
disable-crafting: true
|
||||
name: '&cBlaze Soul'
|
||||
required-level: 15.0
|
||||
displayed-type: Red Gem Stone
|
||||
hide-enchants: true
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
fire-damage-reduction: 50.0=60.0
|
||||
success-rate: 60.0=80.0
|
19
default/item/greatstaff.yml
Normal file
19
default/item/greatstaff.yml
Normal file
@ -0,0 +1,19 @@
|
||||
STIFF_GREATSTAFF:
|
||||
material: STICK
|
||||
name: '&fStiff Greatstaff'
|
||||
attack-damage: 10.0=12.0
|
||||
required-level: 6.0
|
||||
attack-speed: 0.9
|
||||
ability:
|
||||
on-hit:
|
||||
type: STUN
|
||||
mode: ON_HIT
|
||||
cooldown: 15.0
|
||||
lore:
|
||||
- '&7So heavy it &cstuns&7 enemies on hit.'
|
||||
disable-crafting: true
|
||||
disable-smelting: true
|
||||
block-rating: 5.0
|
||||
blunt-rating: 75.0
|
||||
dodge-rating: -30.0
|
||||
tier: COMMON
|
147
default/item/greatsword.yml
Normal file
147
default/item/greatsword.yml
Normal file
@ -0,0 +1,147 @@
|
||||
HARDENED_STEEL_CLAYMORE:
|
||||
material: IRON_SWORD
|
||||
name: '&fHardened Steel Claymore'
|
||||
required-level: 13.0
|
||||
tier: RARE
|
||||
required-class:
|
||||
- Warrior
|
||||
- Paladin
|
||||
attack-damage: 5.0=6.0
|
||||
attack-speed: 1.2=1.4
|
||||
critical-strike-chance: 12.0
|
||||
critical-strike-power: 24.0
|
||||
two-handed: true
|
||||
unbreakable: true
|
||||
enchants:
|
||||
sharpness: 4
|
||||
knockback: 2
|
||||
gem-sockets:
|
||||
- Red
|
||||
- Blue
|
||||
perm-effects:
|
||||
FAST_DIGGING: 3
|
||||
ability:
|
||||
right-click:
|
||||
type: CIRCULAR_SLASH
|
||||
mode: RIGHT_CLICK
|
||||
damage: 7.2
|
||||
cooldown: 19.0
|
||||
on-hit:
|
||||
type: SHOCK
|
||||
mode: ON_HIT
|
||||
duration: 1.3
|
||||
cooldown: 25.0
|
||||
max-durability: 1000.0
|
||||
CANDY_CANE_SWORD:
|
||||
material: WOODEN_SWORD
|
||||
name: '&fC&ca&fn&cd&fy &cC&fa&cn&fe &cS&fw&co&fr&cd'
|
||||
attack-damage: 8.0
|
||||
unbreakable: true
|
||||
attack-speed: 1.6=1.8
|
||||
lore:
|
||||
- '&7This sword embodies the christmas spirit.'
|
||||
- '&7Hit a monster to release it!'
|
||||
- ''
|
||||
- '&eEarned during X-Mas 2018!'
|
||||
regeneration: 30.0=40.0
|
||||
critical-strike-chance: 20.0
|
||||
critical-strike-power: 60.0
|
||||
ability:
|
||||
on-hit:
|
||||
type: DEATH_MARK
|
||||
mode: ON_HIT
|
||||
cooldown: 10.0
|
||||
MOLTEN_BLADE:
|
||||
material: GOLDEN_SWORD
|
||||
enchants:
|
||||
knockback: 2
|
||||
name: '&cMolten Blade'
|
||||
attack-speed: 1.3
|
||||
attack-damage: 11.0
|
||||
advanced-craft:
|
||||
'0':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'2':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'6':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'8':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'7':
|
||||
material: BLAZE_ROD
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'4':
|
||||
type: MATERIAL
|
||||
id: FIRE_ESSENCE
|
||||
amount: 1
|
||||
'3':
|
||||
type: MATERIAL
|
||||
id: FIRE_ESSENCE
|
||||
amount: 1
|
||||
'1':
|
||||
type: MATERIAL
|
||||
id: FIRE_ESSENCE
|
||||
amount: 1
|
||||
'5':
|
||||
type: MATERIAL
|
||||
id: FIRE_ESSENCE
|
||||
amount: 1
|
||||
ability:
|
||||
ability1:
|
||||
type: MAGMA_FISSURE
|
||||
mode: ON_HIT
|
||||
cooldown: 13.0
|
||||
lore:
|
||||
- '&7Every 13s, your next melee'
|
||||
- '&7attack summons a devastating'
|
||||
- '&cmagma fissure&7 that dashes to'
|
||||
- '&7your target, &cigniting &7it and'
|
||||
- '&7dealing &cdamage&7 upon landing.'
|
||||
magic-damage: 30.0
|
||||
unbreakable: true
|
||||
two-handed: true
|
||||
TWO_HANDED_STEEL_SWORD:
|
||||
material: IRON_SWORD
|
||||
name: '&fTwo Handed Steel Sword'
|
||||
enchants:
|
||||
sharpness: 4
|
||||
knockback: 1
|
||||
unbreaking: 6
|
||||
two-handed: true
|
||||
unbreakable: true
|
||||
attack-damage: 7.0=10.0
|
||||
attack-speed: 0.8=1.0
|
||||
critical-strike-chance: 7.0=10.0
|
||||
critical-strike-power: 170.0=210.0
|
||||
required-level: 2.0
|
||||
element:
|
||||
ice:
|
||||
damage: 7.0
|
||||
gem-sockets:
|
||||
- Blue
|
||||
- Blue
|
||||
tier: UNCOMMON
|
||||
ability:
|
||||
right-click:
|
||||
type: CIRCULAR_SLASH
|
||||
mode: RIGHT_CLICK
|
||||
cooldown: 8.0
|
||||
damage: 4.0
|
||||
lore:
|
||||
- '&7Right click to &c&nsmash&7 nearby'
|
||||
- '&7enemies for &c4&7 damage.'
|
||||
hide-enchants: true
|
28
default/item/halberd.yml
Normal file
28
default/item/halberd.yml
Normal file
@ -0,0 +1,28 @@
|
||||
DOUBLE_OR_NOTHING:
|
||||
material: IRON_AXE
|
||||
lore:
|
||||
- '&7&oA very powerful yet hard'
|
||||
- '&7&oto manipulate weapon...'
|
||||
- '&7&oBe very careful!'
|
||||
critical-strike-power: 800.0=900.0
|
||||
critical-strike-chance: 48.0=52.0
|
||||
attack-damage: 1.4=1.5
|
||||
attack-speed: 1.0=1.1
|
||||
required-level: 10.0
|
||||
enchants:
|
||||
unbreaking: 5
|
||||
hide-enchants: true
|
||||
name: '&b&l&o"Double or Nothing"'
|
||||
gem-sockets:
|
||||
- Red
|
||||
- Uncolored
|
||||
- Green
|
||||
- Blue
|
||||
ability:
|
||||
on-hit:
|
||||
type: SLOW
|
||||
mode: ON_HIT
|
||||
cooldown: 30.0
|
||||
duration: 4.0
|
||||
amplifier: 2.0
|
||||
pvp-damage: 12.0
|
23
default/item/hammer.yml
Normal file
23
default/item/hammer.yml
Normal file
@ -0,0 +1,23 @@
|
||||
SANTAMMER:
|
||||
material: IRON_AXE
|
||||
item-particles:
|
||||
particle: REDSTONE
|
||||
type: HELIX
|
||||
color:
|
||||
red: 50
|
||||
green: 255
|
||||
blue: 50
|
||||
name: '&7S&fa&7n&ft&fa&7m&fm&7e&fr'
|
||||
attack-damage: 9.7
|
||||
attack-speed: 0.6
|
||||
enchants:
|
||||
unbreaking: 3
|
||||
required-level: 15.0
|
||||
critical-strike-power: 10.0
|
||||
ability:
|
||||
on-hit:
|
||||
type: STUN
|
||||
mode: ON_HIT
|
||||
cooldown: 15.0
|
||||
lore:
|
||||
- '&eEarned during X-Mas 2018!'
|
24
default/item/lance.yml
Normal file
24
default/item/lance.yml
Normal file
@ -0,0 +1,24 @@
|
||||
FIRE_GREATLANCE:
|
||||
material: BLAZE_ROD
|
||||
required-level: 30.0
|
||||
attack-damage: 14.0=15.0
|
||||
attack-speed: 1.1
|
||||
name: '&fFire Greatlance'
|
||||
ability:
|
||||
on-hit:
|
||||
type: LIFE_ENDER
|
||||
mode: ON_HIT
|
||||
damage: 10.0
|
||||
cooldown: 30.0
|
||||
lore:
|
||||
- '&7Every 40s in combat, casts'
|
||||
- '&7a devastating &6fire comet'
|
||||
- '&7that wipes out any life form'
|
||||
- '&7nearby whenever it lands.'
|
||||
item-particles:
|
||||
type: DOUBLE_RINGS
|
||||
particle: FLAME
|
||||
radius: 1.3
|
||||
rotation-speed: 0.4
|
||||
disable-crafting: true
|
||||
two-handed: true
|
224
default/item/material.yml
Normal file
224
default/item/material.yml
Normal file
@ -0,0 +1,224 @@
|
||||
STEEL_INGOT:
|
||||
material: IRON_INGOT
|
||||
name: '&fSteel Ingot'
|
||||
disable-repairing: true
|
||||
disable-crafting: true
|
||||
lore:
|
||||
- '&7Can be used at the steel crafting'
|
||||
- '&7station to craft advanced gear.'
|
||||
UNCOMMON_WEAPON_ESSENCE:
|
||||
material: BLAZE_POWDER
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
lore:
|
||||
- '&7Can be used to craft uncommon items.'
|
||||
name: '&eUncommon Weapon Essence'
|
||||
disable-crafting: true
|
||||
disable-smelting: true
|
||||
WITHER_ESSENCE:
|
||||
material: BLACK_DYE
|
||||
name: '&8Wither Essence'
|
||||
disable-crafting: true
|
||||
RARE_WEAPON_ESSENCE:
|
||||
material: BLAZE_POWDER
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
lore:
|
||||
- '&7Can be used to craft rare items.'
|
||||
name: '&eRare Weapon Essence'
|
||||
disable-crafting: true
|
||||
disable-smelting: true
|
||||
VERY_RARE_WEAPON_ESSENCE:
|
||||
material: BLAZE_POWDER
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
lore:
|
||||
- '&7Can be used to craft very rare items.'
|
||||
name: '&eVery rare Weapon Essence'
|
||||
disable-crafting: true
|
||||
disable-smelting: true
|
||||
LEGENDARY_WEAPON_ESSENCE:
|
||||
material: BLAZE_POWDER
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
lore:
|
||||
- '&7Can be used to craft legendary items.'
|
||||
name: '&eLegendary Weapon Essence'
|
||||
disable-crafting: true
|
||||
disable-smelting: true
|
||||
MYTHICAL_WEAPON_ESSENCE:
|
||||
material: BLAZE_POWDER
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
lore:
|
||||
- '&7Can be used to craft mythical items.'
|
||||
name: '&eMythical Weapon Essence'
|
||||
disable-crafting: true
|
||||
disable-smelting: true
|
||||
EPIC_WEAPON_ESSENCE:
|
||||
material: BLAZE_POWDER
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
lore:
|
||||
- '&7Can be used to craft epic items.'
|
||||
name: '&eEpic Weapon Essence'
|
||||
disable-crafting: true
|
||||
disable-smelting: true
|
||||
MAGICAL_WEAPON_ESSENCE:
|
||||
material: BLAZE_POWDER
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
lore:
|
||||
- '&7Can be used to craft magical items.'
|
||||
name: '&eMagical Weapon Essence'
|
||||
disable-crafting: true
|
||||
disable-smelting: true
|
||||
UNIQUE_WEAPON_ESSENCE:
|
||||
material: BLAZE_POWDER
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
lore:
|
||||
- '&7Can be used to craft unique items.'
|
||||
name: '&eUnique Weapon Essence'
|
||||
disable-crafting: true
|
||||
disable-smelting: true
|
||||
WEAPON_POWDER:
|
||||
material: GUNPOWDER
|
||||
tier: TRASH
|
||||
name: '&7Broken Weapon Powder'
|
||||
lore:
|
||||
- '&7Can be used as regular gunpowder.'
|
||||
- '&7Obtained when deconstructing an item.'
|
||||
MAGIC_FRAGMENT:
|
||||
material: MAGENTA_DYE
|
||||
disable-crafting: true
|
||||
tier: RARE
|
||||
name: '&8Magic Fragment'
|
||||
MAGIC_ESSENCE:
|
||||
material: BOOK
|
||||
disable-crafting: true
|
||||
tier: RARE
|
||||
name: '&5Magic Essence'
|
||||
FIRE_ESSENCE:
|
||||
material: BLAZE_POWDER
|
||||
disable-crafting: true
|
||||
name: '&bFire Essence'
|
||||
hide-enchants: true
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
advanced-craft:
|
||||
'8':
|
||||
material: BLAZE_POWDER
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'7':
|
||||
material: BLAZE_POWDER
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'6':
|
||||
material: BLAZE_POWDER
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'5':
|
||||
material: BLAZE_POWDER
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'2':
|
||||
material: BLAZE_POWDER
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'1':
|
||||
material: BLAZE_POWDER
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'0':
|
||||
material: BLAZE_POWDER
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'3':
|
||||
material: BLAZE_POWDER
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'4':
|
||||
material: BLAZE_ROD
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
RARE_DIAMOND:
|
||||
material: DIAMOND
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
disable-crafting: true
|
||||
name: '&bRare Diamond'
|
||||
SILVER_COIN:
|
||||
material: IRON_NUGGET
|
||||
name: '&fSilver Coin'
|
||||
lore:
|
||||
- '&7A very shiny silver coin.'
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
disable-crafting: true
|
||||
SILVER_INGOT:
|
||||
material: IRON_INGOT
|
||||
name: '&fSilver Ingot'
|
||||
lore:
|
||||
- '&7A very shiny silver ingot.'
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
disable-crafting: true
|
||||
advanced-craft:
|
||||
'7':
|
||||
type: MISCELLANEOUS
|
||||
id: SILVER_COIN
|
||||
amount: 1
|
||||
'6':
|
||||
type: MISCELLANEOUS
|
||||
id: SILVER_COIN
|
||||
amount: 1
|
||||
'3':
|
||||
type: MISCELLANEOUS
|
||||
id: SILVER_COIN
|
||||
amount: 1
|
||||
'8':
|
||||
type: MISCELLANEOUS
|
||||
id: SILVER_COIN
|
||||
amount: 1
|
||||
'4':
|
||||
type: MISCELLANEOUS
|
||||
id: SILVER_COIN
|
||||
amount: 1
|
||||
'5':
|
||||
type: MISCELLANEOUS
|
||||
id: SILVER_COIN
|
||||
amount: 1
|
||||
'0':
|
||||
type: MISCELLANEOUS
|
||||
id: SILVER_COIN
|
||||
amount: 1
|
||||
'1':
|
||||
type: MISCELLANEOUS
|
||||
id: SILVER_COIN
|
||||
amount: 1
|
||||
'2':
|
||||
type: MISCELLANEOUS
|
||||
id: SILVER_COIN
|
||||
amount: 1
|
21
default/item/miscellaneous.yml
Normal file
21
default/item/miscellaneous.yml
Normal file
@ -0,0 +1,21 @@
|
||||
GOLD_COIN:
|
||||
material: GOLD_NUGGET
|
||||
name: '&fGold Coin'
|
||||
lore:
|
||||
- '&7A very shiny gold coin.'
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
disable-crafting: true
|
||||
HUMAN_SOUL:
|
||||
material: PHANTOM_MEMBRANE
|
||||
disable-repairing: false
|
||||
disable-enchanting: false
|
||||
hide-enchants: true
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
name: '&6Human Soul'
|
||||
disable-crafting: true
|
||||
lore:
|
||||
- '&7&oYou hear the screams of'
|
||||
- '&7&oyour enemies... or friends.'
|
64
default/item/shield.yml
Normal file
64
default/item/shield.yml
Normal file
@ -0,0 +1,64 @@
|
||||
PALADIN_SHIELD:
|
||||
material: SHIELD
|
||||
name: '&f&m--[&e Paladin Shield &f&m]--'
|
||||
tier: RARE
|
||||
two-handed: false
|
||||
max-health: 8.0
|
||||
armor: 6.0
|
||||
armor-thoughness: 3.0
|
||||
unbreakable: true
|
||||
block-power: 50.0
|
||||
block-rating: 20.0
|
||||
perm-effects:
|
||||
SLOW: 3
|
||||
gem-sockets:
|
||||
- Red
|
||||
- Red
|
||||
required-level: 15.0
|
||||
shield-pattern:
|
||||
color: YELLOW
|
||||
'0':
|
||||
pattern: CURLY_BORDER
|
||||
color: ORANGE
|
||||
'1':
|
||||
pattern: STRIPE_MIDDLE
|
||||
color: YELLOW
|
||||
MAGICAL_SHIELD:
|
||||
material: SHIELD
|
||||
required-level: 5.0
|
||||
tier: MAGICAL
|
||||
perm-effects:
|
||||
SLOW: 4
|
||||
DAMAGE_RESISTANCE: 4
|
||||
gem-sockets:
|
||||
- Red
|
||||
- Red
|
||||
shield-pattern:
|
||||
color: WHITE
|
||||
'0':
|
||||
pattern: STRAIGHT_CROSS
|
||||
color: YELLOW
|
||||
'1':
|
||||
pattern: FLOWER
|
||||
color: ORANGE
|
||||
'2':
|
||||
pattern: BORDER
|
||||
color: YELLOW
|
||||
name: '&fMagical Shield'
|
||||
lore:
|
||||
- '&7A rudimentary shield to'
|
||||
- '&7carry your gem stones.'
|
||||
block-rating: 5.0
|
||||
block-power: 5.0=7.0
|
||||
ABSORBING_SHIELD:
|
||||
material: SHIELD
|
||||
required-level: 15.0
|
||||
shield-pattern:
|
||||
color: BLUE
|
||||
name: '&9Absorbing Shield'
|
||||
unbreakable: true
|
||||
damage-reduction: 50.0=60.0
|
||||
movement-speed: -0.03
|
||||
two-handed: true
|
||||
disable-smelting: false
|
||||
disable-crafting: true
|
76
default/item/staff.yml
Normal file
76
default/item/staff.yml
Normal file
@ -0,0 +1,76 @@
|
||||
EARTH_STAFF:
|
||||
material: JUNGLE_SAPLING
|
||||
name: '&fEarth Staff'
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
hide-enchants: true
|
||||
movement-speed: 0.005
|
||||
attack-damage: 16.0=18.0
|
||||
attack-speed: 0.4
|
||||
critical-strike-chance: 18.0
|
||||
critical-strike-power: 49.0
|
||||
range: 15.0
|
||||
two-handed: true
|
||||
perm-effects:
|
||||
JUMP: 2
|
||||
craft-enabled: true
|
||||
craft:
|
||||
- JUNGLE_SAPLING EMERALD JUNGLE_SAPLING
|
||||
- EMERALD STICK EMERALD
|
||||
- JUNGLE_SAPLING EMERALD JUNGLE_SAPLING
|
||||
element:
|
||||
earth:
|
||||
damage: 23.0
|
||||
gem-sockets:
|
||||
- Blue
|
||||
- Blue
|
||||
ability:
|
||||
right-click:
|
||||
type: EARTHQUAKE
|
||||
mode: SHIFT_LEFT_CLICK
|
||||
cooldown: 28.0
|
||||
damage: 5.0
|
||||
amplifier: 2.0
|
||||
duration: 2.0
|
||||
on-hit:
|
||||
type: SLOW
|
||||
mode: ON_HIT
|
||||
cooldown: 39.0
|
||||
amplifier: 4.0
|
||||
duration: 2.0
|
||||
lore:
|
||||
- '&7An extremely powerful weapon.'
|
||||
- '&7Use it &f&nwisely&7.'
|
||||
tier: '&eVery Rare'
|
||||
disable-crafting: true
|
||||
disable-smelting: true
|
||||
disable-interaction: true
|
||||
required-level: 30.0
|
||||
LIGHTNING_STAFF:
|
||||
material: STICK
|
||||
name: '&f&lLightning Staff'
|
||||
required-level: 3.0
|
||||
attack-damage: 8.0=12.0
|
||||
attack-speed: 0.3=0.5
|
||||
staff-spirit: LIGHTNING_SPIRIT
|
||||
gem-sockets:
|
||||
- Blue
|
||||
- Blue
|
||||
range: 45.0
|
||||
ability:
|
||||
on-hit:
|
||||
type: STARFALL
|
||||
mode: ON_HIT
|
||||
damage: 5.0
|
||||
cooldown: 30.0
|
||||
BONE_STAFF:
|
||||
material: BONE
|
||||
disable-interaction: false
|
||||
disable-crafting: true
|
||||
required-level: 3.0
|
||||
attack-damage: 4.0=6.0
|
||||
attack-speed: 0.4
|
||||
tier: TRASH
|
||||
magic-damage: 5.0=9.0
|
||||
lore: []
|
||||
name: '&fBone Staff'
|
203
default/item/sword.yml
Normal file
203
default/item/sword.yml
Normal file
@ -0,0 +1,203 @@
|
||||
CUTLASS:
|
||||
material: IRON_SWORD
|
||||
attack-damage: 6.0=8.0
|
||||
attack-speed: 1.6=1.8
|
||||
lore:
|
||||
- '&7Slightly better than an iron sword.'
|
||||
required-level: 3.0
|
||||
tier: COMMON
|
||||
name: '&fSharp Cutlass'
|
||||
max-durability: 300.0
|
||||
FALCON_BLADE:
|
||||
material: GOLDEN_SWORD
|
||||
name: '&e&nFalcon Blade'
|
||||
required-level: 10.0
|
||||
attack-damage: 7.0=9.0
|
||||
attack-speed: 1.6=2.0
|
||||
critical-strike-chance: 50.0=70.0
|
||||
gem-sockets:
|
||||
- Blue
|
||||
- Green
|
||||
ability:
|
||||
on-hit:
|
||||
type: STUN
|
||||
mode: ON_HIT
|
||||
duration: 1.0
|
||||
cooldown: 9.0
|
||||
unbreakable: true
|
||||
perm-effects:
|
||||
SPEED: 1
|
||||
hide-enchants: true
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
disable-enchanting: true
|
||||
disable-crafting: true
|
||||
disable-repairing: true
|
||||
disable-smelting: true
|
||||
tier: EPIC
|
||||
advanced-craft:
|
||||
'0':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'2':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'6':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'8':
|
||||
material: AIR
|
||||
durability: 0
|
||||
amount: 1
|
||||
name: ''
|
||||
'4':
|
||||
material: GOLDEN_SWORD
|
||||
amount: 1
|
||||
durability: 0
|
||||
name: ''
|
||||
'5':
|
||||
type: MATERIAL
|
||||
id: EPIC_WEAPON_ESSENCE
|
||||
amount: 1
|
||||
'7':
|
||||
type: MATERIAL
|
||||
id: EPIC_WEAPON_ESSENCE
|
||||
amount: 1
|
||||
'3':
|
||||
type: MATERIAL
|
||||
id: EPIC_WEAPON_ESSENCE
|
||||
amount: 1
|
||||
'1':
|
||||
type: MATERIAL
|
||||
id: EPIC_WEAPON_ESSENCE
|
||||
amount: 1
|
||||
KATANA:
|
||||
material: IRON_SWORD
|
||||
attack-damage: 7.0
|
||||
lore:
|
||||
- '&7&oA very sharp & light sword'
|
||||
- '&7&oforged by a hundred years'
|
||||
- '&7&oof smithing mastery.'
|
||||
attack-speed: 2.0
|
||||
tier: RARE
|
||||
movement-speed: 0.02
|
||||
critical-strike-chance: 10.0
|
||||
name: '&fKatana'
|
||||
max-durability: 800.0
|
||||
SOULSTEALER:
|
||||
material: IRON_SWORD
|
||||
enchants:
|
||||
unbreaking: 9
|
||||
name: '&cThe Soulstealer'
|
||||
attack-damage: 7.0=7.5
|
||||
attack-speed: 1.6=1.7
|
||||
mana-cost: 2.0
|
||||
critical-strike-chance: 30.0
|
||||
max-health: 2.0
|
||||
required-level: 10.0
|
||||
ability:
|
||||
ability1:
|
||||
type: VAMPIRISM
|
||||
mode: ON_HIT
|
||||
cooldown: 7.0
|
||||
advanced-craft:
|
||||
'7':
|
||||
type: MISCELLANEOUS
|
||||
id: HUMAN_SOUL
|
||||
amount: 1
|
||||
'6':
|
||||
type: MISCELLANEOUS
|
||||
id: HUMAN_SOUL
|
||||
amount: 1
|
||||
'3':
|
||||
type: MISCELLANEOUS
|
||||
id: HUMAN_SOUL
|
||||
amount: 1
|
||||
'8':
|
||||
type: MISCELLANEOUS
|
||||
id: HUMAN_SOUL
|
||||
amount: 1
|
||||
'5':
|
||||
type: MISCELLANEOUS
|
||||
id: HUMAN_SOUL
|
||||
amount: 1
|
||||
'2':
|
||||
type: MISCELLANEOUS
|
||||
id: HUMAN_SOUL
|
||||
amount: 1
|
||||
'0':
|
||||
type: MISCELLANEOUS
|
||||
id: HUMAN_SOUL
|
||||
amount: 1
|
||||
'1':
|
||||
type: MISCELLANEOUS
|
||||
id: HUMAN_SOUL
|
||||
amount: 1
|
||||
'4':
|
||||
type: SWORD
|
||||
id: SILVER_SWORD
|
||||
amount: 1
|
||||
lore:
|
||||
- '&7Drains &c10%&7 of the damage'
|
||||
- '&7dealt as health points.'
|
||||
STEEL_SWORD:
|
||||
material: IRON_SWORD
|
||||
name: '&fSteel Sword'
|
||||
attack-damage: 6=7
|
||||
attack-speed: 1.6=1.65
|
||||
lore:
|
||||
- '&7May be upgraded.'
|
||||
required-level: 6.0
|
||||
upgrade:
|
||||
template: weapon-default
|
||||
SILVER_SWORD:
|
||||
material: IRON_SWORD
|
||||
name: '&fSilver Sword'
|
||||
attack-damage: 6.0
|
||||
attack-speed: 1.6
|
||||
lore:
|
||||
- '&7May be upgraded.'
|
||||
required-level: 4.0
|
||||
advanced-craft:
|
||||
'0':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'2':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'3':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'5':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'6':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'8':
|
||||
material: AIR
|
||||
amount: 1
|
||||
name: ''
|
||||
'4':
|
||||
type: MATERIAL
|
||||
id: SILVER_INGOT
|
||||
amount: 1
|
||||
'1':
|
||||
type: MATERIAL
|
||||
id: SILVER_INGOT
|
||||
amount: 1
|
||||
'7':
|
||||
material: STICK
|
||||
amount: 1
|
||||
name: ''
|
47
default/item/tome.yml
Normal file
47
default/item/tome.yml
Normal file
@ -0,0 +1,47 @@
|
||||
AMPLIFICATION_TOME:
|
||||
material: ENCHANTED_BOOK
|
||||
name: '&9Amplification Tome'
|
||||
required-level: 9.0
|
||||
lore:
|
||||
- '&7It emits a strong magical aura.'
|
||||
- '&7Hold it to &5greatly enhance'
|
||||
- '&7your magical powers.'
|
||||
magic-damage: 80.0=90.0
|
||||
WYVERN_FEATHER:
|
||||
material: FEATHER
|
||||
disable-crafting: true
|
||||
name: '&fWyvern Feather'
|
||||
fall-damage-reduction: 65.0
|
||||
WYVERN_SOUL:
|
||||
material: ENDER_EYE
|
||||
name: '&fWyvern Soul'
|
||||
disable-interaction: true
|
||||
disable-crafting: true
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
perm-effects:
|
||||
LEVITATION: 2
|
||||
hide-enchants: true
|
||||
TOME_OF_ACCURACY:
|
||||
material: ENCHANTED_BOOK
|
||||
disable-repairing: true
|
||||
name: '&eTome of Accuracy'
|
||||
critical-strike-power: 25.0=30.0
|
||||
critical-strike-chance: 5.0=10.0
|
||||
lore:
|
||||
- '&7Increases your critical power.'
|
||||
NAUGHTY_SPELL_BOOK:
|
||||
material: ENCHANTED_BOOK
|
||||
disable-repairing: true
|
||||
name: '&8Naughty Spell Book'
|
||||
required-level: 20.0
|
||||
ability:
|
||||
right-click:
|
||||
type: CURSED_BEAM
|
||||
mode: RIGHT_CLICK
|
||||
cooldown: 30.0
|
||||
damage: 6.0
|
||||
lore:
|
||||
- '&7Right click to cast a &5cursed beam&7.'
|
||||
- '&7This magic projectile deals &57'
|
||||
- '&5damage &7to the first enemy it hits.'
|
18
default/item/tool.yml
Normal file
18
default/item/tool.yml
Normal file
@ -0,0 +1,18 @@
|
||||
STEEL_PICKAXE:
|
||||
material: IRON_PICKAXE
|
||||
name: '&fSteel Pickaxe'
|
||||
max-durability: 1000
|
||||
tier: COMMON
|
||||
lore:
|
||||
- '&7A much more durable iron pick.'
|
||||
will-break: true
|
||||
unbreakable: true
|
||||
STEEL_SHOVEL:
|
||||
material: IRON_SHOVEL
|
||||
name: '&fSteel Shovel'
|
||||
max-durability: 1000
|
||||
tier: COMMON
|
||||
lore:
|
||||
- '&7A much more durable iron spade.'
|
||||
will-break: true
|
||||
unbreakable: true
|
45
default/item/wand.yml
Normal file
45
default/item/wand.yml
Normal file
@ -0,0 +1,45 @@
|
||||
OAK_WAND:
|
||||
material: STICK
|
||||
name: '&f<wood> Wand'
|
||||
required-level: 1.0
|
||||
range: 20.0
|
||||
attack-damage: 2.0=5.0
|
||||
attack-speed: 1.0=1.3
|
||||
critical-strike-chance: 8.0=10.0
|
||||
ability:
|
||||
right-click:
|
||||
type: SPARKLE
|
||||
mode: RIGHT_CLICK
|
||||
damage: 3.0
|
||||
cooldown: 15.0
|
||||
BLAZE_WAND:
|
||||
material: BLAZE_ROD
|
||||
hide-enchants: true
|
||||
enchants:
|
||||
unbreaking: 1
|
||||
required-level: 45.0
|
||||
attack-damage: 10.0=20.0
|
||||
attack-speed: 1.0=1.4
|
||||
critical-strike-chance: 20.0
|
||||
range: 20.0=25.0
|
||||
tier: VERY_RARE
|
||||
perm-effects:
|
||||
FIRE_RESISTANCE: 1
|
||||
ability:
|
||||
on-hit:
|
||||
type: BURN
|
||||
mode: ON_HIT
|
||||
cooldown: 40.0
|
||||
duration: 5.0
|
||||
right-click:
|
||||
type: FIREBOLT
|
||||
mode: RIGHT_CLICK
|
||||
damage: 5.0
|
||||
ignite: 3.0
|
||||
cooldown: 20.0
|
||||
gem-sockets:
|
||||
- Red
|
||||
- Red
|
||||
- Blue
|
||||
name: '&c&lBlaze Wand'
|
||||
disable-crafting: true
|
BIN
default/legacy-configs.zip
Normal file
BIN
default/legacy-configs.zip
Normal file
Binary file not shown.
109
default/lore-format.yml
Normal file
109
default/lore-format.yml
Normal file
@ -0,0 +1,109 @@
|
||||
# This is the way stats are organized in the item lore.
|
||||
# You can remove or change line positions as much as you like to.
|
||||
# Make sure each line ONLY has the placeholder as text.
|
||||
#
|
||||
# The lines starting with {bar} are strips that will be
|
||||
# removed from the lore if there is nothing under it.
|
||||
# The lines starting with {sbar} will stay whatever is below them.
|
||||
|
||||
lore-format:
|
||||
# - '{bar}&8&m--------&f&l &nGeneral&8 &m--------------'
|
||||
- '#item-type#'
|
||||
- '{bar}'
|
||||
- '#required-class#'
|
||||
- '#required-level#'
|
||||
- '#durability-state#'
|
||||
- '#success-rate#'
|
||||
- '{bar}'
|
||||
- '#soulbound#'
|
||||
# - '{bar}&8&m--------&f&l &nStatistics&8 &m-------------'
|
||||
- '{bar}'
|
||||
- '#can-identify#'
|
||||
- '#can-deconstruct#'
|
||||
- '#attack-damage#'
|
||||
- '#knockback#'
|
||||
- '#recoil#'
|
||||
- '#note-weight#'
|
||||
- '#attack-speed#'
|
||||
- '#critical-strike-chance#'
|
||||
- '#critical-strike-power#'
|
||||
- '#range#'
|
||||
- '#pvp-damage#'
|
||||
- '#pve-damage#'
|
||||
- '#blunt-power#'
|
||||
- '#blunt-rating#'
|
||||
- '#weapon-damage#'
|
||||
- '#magic-damage#'
|
||||
- '#damage-reduction#'
|
||||
- '#fall-damage-reduction#'
|
||||
- '#fire-damage-reduction#'
|
||||
- '#magic-damage-reduction#'
|
||||
- '#physical-damage-reduction#'
|
||||
- '#undead-damage#'
|
||||
- '#regeneration#'
|
||||
- '#block-power#'
|
||||
- '#block-rating#'
|
||||
- '#dodge-rating#'
|
||||
- '#parry-rating#'
|
||||
- '#block-cooldown-reduction#'
|
||||
- '#dodge-cooldown-reduction#'
|
||||
- '#parry-cooldown-reduction#'
|
||||
- '#armor#'
|
||||
- '#armor-toughness#'
|
||||
- '#knockback-resistance#'
|
||||
- '#max-health#'
|
||||
- '#max-mana#'
|
||||
- '#movement-speed#'
|
||||
- '#staff-spirit#'
|
||||
- '#lute-attack-effect#'
|
||||
- '#two-handed#'
|
||||
- '#autosmelt#'
|
||||
- '#bouncing-crack#'
|
||||
- '#restore-health#'
|
||||
- '#restore-food#'
|
||||
- '#restore-mana#'
|
||||
- '#restore-stamina#'
|
||||
- '#soulbinding-chance#'
|
||||
- '#soulbound-break-chance#'
|
||||
- '#soulbound-level#'
|
||||
- '#repair#'
|
||||
- '#item-cooldown#'
|
||||
- '#mana-cost#'
|
||||
- '#stamina-cost#'
|
||||
# - '{bar}&8&m--------&2&l &nElements&8 &m--------------'
|
||||
- '{bar}'
|
||||
- '#fire-damage#'
|
||||
- '#fire-defense#'
|
||||
- '#ice-damage#'
|
||||
- '#ice-defense#'
|
||||
- '#wind-damage#'
|
||||
- '#wind-defense#'
|
||||
- '#earth-damage#'
|
||||
- '#earth-defense#'
|
||||
- '#thunder-damage#'
|
||||
- '#thunder-defense#'
|
||||
- '#water-damage#'
|
||||
- '#water-defense#'
|
||||
- '#light-damage#'
|
||||
- '#light-defense#'
|
||||
- '#darkness-damage#'
|
||||
- '#darkness-defense#'
|
||||
# - '{bar}&8&m--------&b&l &nEffects&8 &m---------------'
|
||||
- '{bar}'
|
||||
- '#effects#'
|
||||
# - '{bar}&8&m--------&b&l &nAbilities&8 &m--------------'
|
||||
- '{bar}'
|
||||
- '#abilities#'
|
||||
# - '{bar}&8&m--------&b&l &nEffects&8 &m---------------'
|
||||
# - '#perm-effects#'
|
||||
# - '{bar}&8&m--------&e&l &nGem Stones&8 &m-----------'
|
||||
- '{bar}'
|
||||
- '#gem-stones#'
|
||||
# - '{sbar}&8&m--------------------------------'
|
||||
- '{bar}'
|
||||
- '#lore#'
|
||||
- '#gem-stone-lore#'
|
||||
- '{bar}'
|
||||
- '#set#'
|
||||
- '{bar}'
|
||||
- '#tier#'
|
70
default/name-placeholders.yml
Normal file
70
default/name-placeholders.yml
Normal file
@ -0,0 +1,70 @@
|
||||
# Name placeholders can be used in the item display name
|
||||
# A placeholder will return a random element of each list.
|
||||
# To use a placeholder, simply add <placeholder> inside the name of your item.
|
||||
#
|
||||
# e.g:
|
||||
# TEST_ITEM:
|
||||
# material: IRON_SWORD
|
||||
# display-name: '<lms-sword> Iron Sword'
|
||||
#
|
||||
# You can put multiple of the same placeholder in each
|
||||
# list to give some placeholder less chance to be chosen.
|
||||
# These placeholders will be harder to obtain.
|
||||
|
||||
lms:
|
||||
- 'Large'
|
||||
- 'Medium'
|
||||
- 'Small'
|
||||
lms-sword:
|
||||
- 'Long'
|
||||
- 'Normal'
|
||||
- 'Normal'
|
||||
- 'Normal'
|
||||
- 'Short'
|
||||
- 'Short'
|
||||
- 'Short'
|
||||
cs:
|
||||
- 'Factory New'
|
||||
- 'Minimal Wear'
|
||||
- 'Field Tested'
|
||||
- 'Well Worn'
|
||||
- 'Battle Scarred'
|
||||
mythical:
|
||||
- 'Epic'
|
||||
- 'Mythical'
|
||||
- 'Mystic'
|
||||
- 'Legendary'
|
||||
- 'Unreal'
|
||||
- 'Godly'
|
||||
greekGod:
|
||||
- 'Poseidon'
|
||||
- 'Zeus'
|
||||
- 'Hephaistos'
|
||||
- 'Hares'
|
||||
- 'Athena'
|
||||
- 'Hermes'
|
||||
wood:
|
||||
- 'Oak'
|
||||
- 'Birch'
|
||||
- 'Jungle'
|
||||
- 'Spruce'
|
||||
- 'Dark Oak'
|
||||
- 'Acacia'
|
||||
gem-stone:
|
||||
- 'Lapis'
|
||||
- 'Topaz'
|
||||
- 'Ruby'
|
||||
- 'Emerald'
|
||||
- 'Diamond'
|
||||
- 'Amethyst'
|
||||
- 'Sapphire'
|
||||
- 'Amber'
|
||||
ore:
|
||||
- 'Gold'
|
||||
- 'Iron'
|
||||
- 'Silver'
|
||||
- 'Platinum'
|
||||
- 'Palladium'
|
||||
- 'Adamantite'
|
||||
- 'Orichalcum'
|
||||
- 'Cobalt'
|
10
default/read-me.txt
Normal file
10
default/read-me.txt
Normal file
@ -0,0 +1,10 @@
|
||||
If you want to import a language into MMOItems, simply drag & drop
|
||||
the contents of a language folder into the /MMOItems/language folder.
|
||||
Make sure you have all the files at the end, and restart your server.
|
||||
|
||||
!! Some item stats use lore to store their data and thus will NO LONGER work on older items if
|
||||
you change their corresponding translation in the /MMOItems/language/stats.yml file, including:
|
||||
- custom durability
|
||||
|
||||
So make sure you translate them before creating items with these options! Translations
|
||||
may sometimes be incomplete often due to big updates not including translation upgrates.
|
4
default/stations.yml
Normal file
4
default/stations.yml
Normal file
@ -0,0 +1,4 @@
|
||||
ingredients:
|
||||
mmoitem:
|
||||
positive:
|
||||
negative:
|
104
default/stats.yml
Normal file
104
default/stats.yml
Normal file
@ -0,0 +1,104 @@
|
||||
# Weapon Stats
|
||||
attack-damage: '&7➸ Attack Damage: &f#'
|
||||
attack-speed: '&7➸ Attack Speed: &f#'
|
||||
critical-strike-chance: '&7■ Crit Strike Chance: &f<plus>#%'
|
||||
critical-strike-power: '&7■ Crit Strike Power: &f<plus>#%'
|
||||
range: '&7■ Range: &f#'
|
||||
mana-cost: '&9■ Uses # Mana'
|
||||
stamina-cost: '&9■ Uses # Stamina'
|
||||
arrow-velocity: '&7■ Arrow Velocity: &f#%'
|
||||
blunt-power: '&7■ Blunt Power: &f#'
|
||||
blunt-rating: '&7■ Blunt Rating: &f#%'
|
||||
two-handed: '&7■ Two Handed'
|
||||
knockback: '&7■ Knockback: &f#'
|
||||
recoil: '&7■ Recoil: &f#%'
|
||||
note-weight: '&7■ Note Weight: &f#'
|
||||
|
||||
# Extra Damage
|
||||
pve-damage: '&7■ PvE Damage: &f<plus>#%'
|
||||
pvp-damage: '&7■ PvP Damage: &f<plus>#%'
|
||||
magic-damage: '&7■ Magic Damage: &f<plus>#%'
|
||||
weapon-damage: '&7■ Weapon Damage: &f<plus>#%'
|
||||
undead-damage: '&7■ Undead Damage: &f<plus>#%'
|
||||
|
||||
# Abilities
|
||||
ability-format: '&2#c: #a'
|
||||
ability-modifier: '&2#m: #v'
|
||||
ability-splitter: '&2'
|
||||
|
||||
# Armor Stats
|
||||
block-power: '&7■ Block Power: &f<plus>#%'
|
||||
block-rating: '&7■ Block Rating: &f<plus>#%'
|
||||
block-cooldown-reduction: '&7■ Block Cooldown Reduction: &f<plus>#%'
|
||||
dodge-rating: '&7■ Dodge Rating: &f<plus>#%'
|
||||
dodge-cooldown-reduction: '&7■ Dodge Cooldown Reduction: &f<plus>#%'
|
||||
parry-rating: '&7■ Parry Rating: &f<plus>#%'
|
||||
parry-cooldown-reduction: '&7■ Parry Cooldown Reduction: &f<plus>#%'
|
||||
armor: '&7✠ Armor: &f<plus>#'
|
||||
armor-toughness: '&7✠ Armor Toughness: &f<plus>#'
|
||||
knockback-resistance: '&7✠ Knockback Resistance: &f<plus>#%'
|
||||
max-health: '&c❤ Health: <plus>#'
|
||||
movement-speed: '&7■ Movement Speed: &f<plus>#'
|
||||
regeneration: '&7■ Health Regeneration: &f<plus>#%'
|
||||
|
||||
# Damage Reduction
|
||||
damage-reduction: '&7■ Damage Reduction: &f<plus>#%'
|
||||
fall-damage-reduction: '&7■ Fall Damage Reduction: &f<plus>#%'
|
||||
fire-damage-reduction: '&7■ Fire Damage Reduction: &f<plus>#%'
|
||||
magic-damage-reduction: '&7■ Magic Damage Reduction: &f<plus>#%'
|
||||
physical-damage-reduction: '&7■ Physical Damage Reduction: &f<plus>#%'
|
||||
|
||||
# Extra Options
|
||||
max-mana: '&7■ Max Mana: &f<plus>#'
|
||||
perm-effect: '&7■ Permanent &f#'
|
||||
command: '&7■ Command: &f#c &7(&f#d&7s)'
|
||||
item-cooldown: '&7■ &f#&7s Cooldown'
|
||||
|
||||
# Consumables
|
||||
restore-health: '&7■ Restores &f# &7Health'
|
||||
restore-food: '&7■ Restores &f# &7Food'
|
||||
restore-saturation: '&7■ Restores &f# &7Saturation'
|
||||
restore-mana: '&7■ Restores &f# &7Mana'
|
||||
restore-stamina: '&7■ Restores &f# &7Stamina'
|
||||
effect: '&7■ Grants &f#e &7for &f#d&7s'
|
||||
repair: '&7■ Repair: &f#'
|
||||
can-identify: '&7■ Can identify items.'
|
||||
can-deconstruct: '&7■ Can deconstruct tiered items.'
|
||||
success-rate: '&7■ Success Rate: &a&l#%'
|
||||
|
||||
# Gem Stones
|
||||
empty-gem-socket: '&a◆ Empty # Gem Socket'
|
||||
filled-gem-socket: '&a◆ #'
|
||||
when-applied: '&aWhen Applied:'
|
||||
gem-stone-lore: '&8&l[&2&l*&8&l] &aDrag onto an item &7to apply!'
|
||||
|
||||
# Soulbound
|
||||
soulbinding-chance: '&7■ Has a &a#%&7 chance to bind your item.'
|
||||
soulbound-break-chance: '&7■ Has a &a#%&7 chance to break soulbounds.'
|
||||
soulbound-level: '&7■ Level &e# &7Soulbound'
|
||||
|
||||
# Tool Enchants
|
||||
autosmelt: '&7■ &fAutosmelt'
|
||||
bouncing-crack: '&7■ &fBouncing Crack'
|
||||
|
||||
# General
|
||||
item-type: '&c#'
|
||||
tier: '# ITEM'
|
||||
required-class: '&7# Item'
|
||||
required-level: '&eRequires Lvl #'
|
||||
|
||||
# Elemental Damage
|
||||
fire-damage: '&c❖ #% Fire Damage'
|
||||
ice-damage: '&b❖ #% Ice Damage'
|
||||
earth-damage: '&2❖ #% Earth Damage'
|
||||
wind-damage: '&7❖ #% Wind Damage'
|
||||
thunder-damage: '&e❖ #% Thunder Damage'
|
||||
water-damage: '&3❖ #% Water Damage'
|
||||
|
||||
# Elemental Defense
|
||||
fire-defense: '&c❖ #% Fire Defense'
|
||||
ice-defense: '&b❖ #% Ice Defense'
|
||||
earth-defense: '&2❖ #% Earth Defense'
|
||||
wind-defense: '&7❖ #% Wind Defense'
|
||||
thunder-defense: '&e❖ #% Thunder Defense'
|
||||
water-defense: '&3❖ #% Water Defense'
|
22
default/upgrade-templates.yml
Normal file
22
default/upgrade-templates.yml
Normal file
@ -0,0 +1,22 @@
|
||||
|
||||
# Template ID, only used as reference. This is the
|
||||
# text you need to enter in the edition GUI in order
|
||||
# to setup item upgrading for a specific item.
|
||||
weapon-default:
|
||||
|
||||
# Every time the item is upgraded, its attack damage
|
||||
# is increased by 3% (relative to the current value)
|
||||
attack-damage: 3%
|
||||
|
||||
# Every time it is upgraded, it gets +2% aboslute
|
||||
# critical strike chance (independant of current val.)
|
||||
critical-strike-chance: 2
|
||||
|
||||
pve-damage: 1%
|
||||
|
||||
armor-template-example:
|
||||
armor: 3%
|
||||
armor-toughness: 2%
|
||||
block-rating: 5%
|
||||
dodge-rating: 5%
|
||||
parry-rating: 5%
|
54
default/use-states.yml
Normal file
54
default/use-states.yml
Normal file
@ -0,0 +1,54 @@
|
||||
# For every durability state, please specify the minimum durability in
|
||||
# percents the item needs to have in order to be on that state, and
|
||||
# the tag that will be displayed on the item when it is in that state.
|
||||
|
||||
10:
|
||||
use-ratio:
|
||||
max: 100
|
||||
min: 90
|
||||
lore-tag: '&7Durability: &a■■■■■■■■■■'
|
||||
9:
|
||||
use-ratio:
|
||||
max: 90
|
||||
min: 80
|
||||
lore-tag: '&7Durability: &a■■■■■■■■■&f■'
|
||||
8:
|
||||
use-ratio:
|
||||
max: 80
|
||||
min: 70
|
||||
lore-tag: '&7Durability: &a■■■■■■■■&f■■'
|
||||
7:
|
||||
use-ratio:
|
||||
max: 70
|
||||
min: 60
|
||||
lore-tag: '&7Durability: &a■■■■■■■&f■■■'
|
||||
6:
|
||||
use-ratio:
|
||||
max: 60
|
||||
min: 50
|
||||
lore-tag: '&7Durability: &a■■■■■■&f■■■■'
|
||||
5:
|
||||
use-ratio:
|
||||
max: 50
|
||||
min: 40
|
||||
lore-tag: '&7Durability: &e■■■■■&f■■■■■'
|
||||
4:
|
||||
use-ratio:
|
||||
max: 40
|
||||
min: 30
|
||||
lore-tag: '&7Durability: &e■■■&f■■■■■■■'
|
||||
3:
|
||||
use-ratio:
|
||||
max: 30
|
||||
min: 20
|
||||
lore-tag: '&7Durability: &c■■&f■■■■■■■■'
|
||||
2:
|
||||
use-ratio:
|
||||
max: 20
|
||||
min: 10
|
||||
lore-tag: '&7Durability: &c■&f■■■■■■■■■'
|
||||
1:
|
||||
use-ratio:
|
||||
max: 10
|
||||
min: 0
|
||||
lore-tag: '&7Durability: &f■■■■■■■■■■'
|
97
language/chinese/abilities.yml
Normal file
97
language/chinese/abilities.yml
Normal file
@ -0,0 +1,97 @@
|
||||
# Translated by TUCAOEVER
|
||||
# Data: 10-13-2018
|
||||
|
||||
ability:
|
||||
shulker-missile: 武装导弹
|
||||
overload: 强制过载
|
||||
magical-shield: 法力护盾
|
||||
heal: 细胞再生
|
||||
fire-meteor: 火球术
|
||||
leap: 撤离
|
||||
light-dash: 急袭
|
||||
burn: 点燃
|
||||
starfall: 流星陨落
|
||||
wither: 凋零
|
||||
vampirism: 吸血
|
||||
shockwave: 震荡
|
||||
sparkle: 神明之力
|
||||
smite: 重击
|
||||
corrupt: 腐蚀
|
||||
tnt-throw: TNT 投掷
|
||||
arcane-hail: 绝对领域
|
||||
grand-heal: 生命之树
|
||||
firebolt: 烈焰光束
|
||||
magical-path: 法术之翼
|
||||
earthquake: 地震
|
||||
stun: 昏迷
|
||||
swiftness: 迅捷
|
||||
holy-missile: 上帝审判
|
||||
black-hole: 黑洞
|
||||
slow: 减速
|
||||
circular-slash: 死亡之眼
|
||||
cursed-beam: 诅咒光束
|
||||
thrust: 穿透
|
||||
heavy-charge: 无畏冲锋
|
||||
item-throw: 物品投掷
|
||||
corrupted-fangs: 腐蚀之牙
|
||||
ice-crystal: 冰霜结晶
|
||||
blind: 失明
|
||||
shock: 震撼
|
||||
shadow-veil: 铁幕
|
||||
poison: 中毒
|
||||
lightning-beam: 祝福光束
|
||||
blink: 闪现
|
||||
sky-smash: 击飞
|
||||
bloodbath: 血祭
|
||||
confuse: 眩晕
|
||||
bouncy-fireball: 弹射火球
|
||||
burning-hands: 烈焰护符
|
||||
throw-up: 投掷
|
||||
frog-mode: 青蛙模式
|
||||
death-mark: 死亡标记
|
||||
life-ender: 生命伴侣
|
||||
freezing-curse: 寒冰诅咒
|
||||
firefly: 萤火
|
||||
bunny-mode: 兔子模式
|
||||
item-bomb: 物品爆炸
|
||||
freeze: Freeze
|
||||
blizzard: Blizzard
|
||||
tactical-grenade: Tactical Grenade
|
||||
ignite: Ignite
|
||||
rain-of-arrows: Rain of Arrows
|
||||
eggpocalypse: Eggpocalypse
|
||||
minor-explosion: Minor Explosion
|
||||
regen-ally: Regen Ally
|
||||
contamination: Contamination
|
||||
corrosion: Corrosion
|
||||
weaken-target: Weaken Target
|
||||
chicken-wraith: Chicken Wraith
|
||||
targeted-fireball: Targeted Fireball
|
||||
magma-fissure: Magma Fissure
|
||||
modifier:
|
||||
duration: 持续时间
|
||||
damage: 伤害
|
||||
mana: 法力消耗
|
||||
stamina: 体力消耗
|
||||
cooldown: 冷却时间
|
||||
effect-duration: 效果持续时间
|
||||
radius: 半径
|
||||
power: 伤害加成
|
||||
heal: 生命
|
||||
knockback: 击退
|
||||
force: 影响
|
||||
length: 距离
|
||||
amplifier: 增益
|
||||
drain: 磨损
|
||||
knock-up: 唤醒
|
||||
limit: 限制
|
||||
ignite: 点燃
|
||||
range: 范围
|
||||
amount: 数量
|
||||
speed: 速度
|
||||
jump-force: 强制跳跃
|
||||
slow-amplifier: 减速等级
|
||||
slow-duration: 减速持续时间
|
||||
inaccuracy: Inaccuracy
|
||||
max-ignite: Max Ignite
|
||||
extra-damage: Extra Damage
|
15
language/chinese/attack-effects.yml
Normal file
15
language/chinese/attack-effects.yml
Normal file
@ -0,0 +1,15 @@
|
||||
staff-spirit:
|
||||
nether-spirit: '&7■ Nether Spirit'
|
||||
void-spirit: '&7■ Void Spirit'
|
||||
mana-spirit: '&7■ Mana Spirit'
|
||||
lightning-spirit: '&7■ Lightning Spirit'
|
||||
xray-spirit: '&7■ X-Ray Spirit'
|
||||
thunder-spirit: '&7■ Thunder Spirit'
|
||||
sunfire-spirit: '&7■ Sunfire Spirit'
|
||||
lute-attack:
|
||||
wave: '&7■ Wave Melody'
|
||||
circular: '&7■ Circular Melody'
|
||||
slash: '&7■ Slashing Melody'
|
||||
simple: '&7■ Simple Melody'
|
||||
brute: '&7■ Brute Melody'
|
||||
heavy: '&7■ Heavy Melody'
|
23
language/chinese/crafting-stations.yml
Normal file
23
language/chinese/crafting-stations.yml
Normal file
@ -0,0 +1,23 @@
|
||||
condition:
|
||||
stamina:
|
||||
positive: '&a✔ Requires #stamina# Stamina'
|
||||
negative: '&c✖ Requires #stamina# Stamina'
|
||||
level:
|
||||
positive: '&a✔ Requires Level #level#'
|
||||
negative: '&c✖ Requires Level #level#'
|
||||
mana:
|
||||
positive: '&a✔ Requires #mana# Mana'
|
||||
negative: '&c✖ Requires #mana# Mana'
|
||||
class:
|
||||
positive: '&a✔ Required Class: #class#'
|
||||
negative: '&c✖ Required Class: #class#'
|
||||
food:
|
||||
positive: '&a✔ Requires #food# Food'
|
||||
negative: '&c✖ Requires #food# Food'
|
||||
ingredient:
|
||||
mmoitem:
|
||||
positive: '&8✔ &7#amount# #item#'
|
||||
negative: '&c✖ &7#amount# #item#'
|
||||
vanilla:
|
||||
positive: '&8✔ &7#amount# #item#'
|
||||
negative: '&c✖ &7#amount# #item#'
|
20
language/chinese/items.yml
Normal file
20
language/chinese/items.yml
Normal file
@ -0,0 +1,20 @@
|
||||
UNIDENTIFIED_ITEM:
|
||||
name: '&kUnidentified'
|
||||
lore:
|
||||
- '&e&oThis item is &c&o&nunidentified&e&o.'
|
||||
- '&e&oI''ll have to find a way to identify this.'
|
||||
BACK:
|
||||
name: Back
|
||||
lore: []
|
||||
NEXT_PAGE:
|
||||
name: Next Page
|
||||
lore: []
|
||||
PREVIOUS_PAGE:
|
||||
name: Previous Page
|
||||
lore: []
|
||||
NO_ITEM:
|
||||
name: '- No Item -'
|
||||
lore: []
|
||||
NO_GEM_STONE:
|
||||
name: '- Empty Gem Socket -'
|
||||
lore: []
|
109
language/chinese/lore-format.yml
Normal file
109
language/chinese/lore-format.yml
Normal file
@ -0,0 +1,109 @@
|
||||
# This is the way stats are organized in the item lore.
|
||||
# You can remove or change line positions as much as you like to.
|
||||
# Make sure each line ONLY has the placeholder as text.
|
||||
#
|
||||
# The lines starting with {bar} are strips that will be
|
||||
# removed from the lore if there is nothing under it.
|
||||
# The lines starting with {sbar} will stay whatever is below them.
|
||||
|
||||
lore-format:
|
||||
# - '{bar}&8&m--------&f&l &nGeneral&8 &m--------------'
|
||||
- '#item-type#'
|
||||
- '{bar}'
|
||||
- '#required-class#'
|
||||
- '#required-level#'
|
||||
- '#durability-state#'
|
||||
- '#success-rate#'
|
||||
- '{bar}'
|
||||
- '#soulbound#'
|
||||
# - '{bar}&8&m--------&f&l &nStatistics&8 &m-------------'
|
||||
- '{bar}'
|
||||
- '#can-identify#'
|
||||
- '#can-deconstruct#'
|
||||
- '#attack-damage#'
|
||||
- '#knockback#'
|
||||
- '#recoil#'
|
||||
- '#note-weight#'
|
||||
- '#attack-speed#'
|
||||
- '#critical-strike-chance#'
|
||||
- '#critical-strike-power#'
|
||||
- '#range#'
|
||||
- '#pvp-damage#'
|
||||
- '#pve-damage#'
|
||||
- '#blunt-power#'
|
||||
- '#blunt-rating#'
|
||||
- '#weapon-damage#'
|
||||
- '#magic-damage#'
|
||||
- '#damage-reduction#'
|
||||
- '#fall-damage-reduction#'
|
||||
- '#fire-damage-reduction#'
|
||||
- '#magic-damage-reduction#'
|
||||
- '#physical-damage-reduction#'
|
||||
- '#undead-damage#'
|
||||
- '#regeneration#'
|
||||
- '#block-power#'
|
||||
- '#block-rating#'
|
||||
- '#dodge-rating#'
|
||||
- '#parry-rating#'
|
||||
- '#block-cooldown-reduction#'
|
||||
- '#dodge-cooldown-reduction#'
|
||||
- '#parry-cooldown-reduction#'
|
||||
- '#armor#'
|
||||
- '#armor-toughness#'
|
||||
- '#knockback-resistance#'
|
||||
- '#max-health#'
|
||||
- '#max-mana#'
|
||||
- '#movement-speed#'
|
||||
- '#staff-spirit#'
|
||||
- '#lute-attack-effect#'
|
||||
- '#two-handed#'
|
||||
- '#autosmelt#'
|
||||
- '#bouncing-crack#'
|
||||
- '#restore-health#'
|
||||
- '#restore-food#'
|
||||
- '#restore-mana#'
|
||||
- '#restore-stamina#'
|
||||
- '#soulbinding-chance#'
|
||||
- '#soulbound-break-chance#'
|
||||
- '#soulbound-level#'
|
||||
- '#repair#'
|
||||
- '#item-cooldown#'
|
||||
- '#mana-cost#'
|
||||
- '#stamina-cost#'
|
||||
# - '{bar}&8&m--------&2&l &nElements&8 &m--------------'
|
||||
- '{bar}'
|
||||
- '#fire-damage#'
|
||||
- '#fire-defense#'
|
||||
- '#ice-damage#'
|
||||
- '#ice-defense#'
|
||||
- '#wind-damage#'
|
||||
- '#wind-defense#'
|
||||
- '#earth-damage#'
|
||||
- '#earth-defense#'
|
||||
- '#thunder-damage#'
|
||||
- '#thunder-defense#'
|
||||
- '#water-damage#'
|
||||
- '#water-defense#'
|
||||
- '#light-damage#'
|
||||
- '#light-defense#'
|
||||
- '#darkness-damage#'
|
||||
- '#darkness-defense#'
|
||||
# - '{bar}&8&m--------&b&l &nEffects&8 &m---------------'
|
||||
- '{bar}'
|
||||
- '#effects#'
|
||||
# - '{bar}&8&m--------&b&l &nAbilities&8 &m--------------'
|
||||
- '{bar}'
|
||||
- '#abilities#'
|
||||
# - '{bar}&8&m--------&b&l &nEffects&8 &m---------------'
|
||||
# - '#perm-effects#'
|
||||
# - '{bar}&8&m--------&e&l &nGem Stones&8 &m-----------'
|
||||
- '{bar}'
|
||||
- '#gem-stones#'
|
||||
# - '{sbar}&8&m--------------------------------'
|
||||
- '{bar}'
|
||||
- '#lore#'
|
||||
- '#gem-stone-lore#'
|
||||
- '{bar}'
|
||||
- '#set#'
|
||||
- '{bar}'
|
||||
- '#tier#'
|
42
language/chinese/messages.yml
Normal file
42
language/chinese/messages.yml
Normal file
@ -0,0 +1,42 @@
|
||||
hands-too-charged: 请将需要改变属性的物品置于手中
|
||||
spell-on-cooldown: '#progress#'
|
||||
item-on-cooldown: '#progress#'
|
||||
not-enough-perms-command: 你没有权限执行该命令
|
||||
attack-blocked: '阻挡 #percent#% 伤害'
|
||||
attack-dodged: 格挡攻击
|
||||
attack-parried: 闪避攻击
|
||||
not-enough-levels: '&f[&c&l等级受限&f]'
|
||||
soulbound-restriction: '&f[&5&l灵魂绑定&f]'
|
||||
not-enough-perms: '&f[&6&l权限受限&f]'
|
||||
broken-item: 物品已损坏 请先修复该物品
|
||||
item-broke: '#item# 已损坏'
|
||||
zero-durability: 物品已无耐久值 请先修复该物品
|
||||
not-enough-mana: '&f[&b&l法力值受限&f]'
|
||||
not-enough-stamina: '&f[&d&l体力值受限&f]'
|
||||
wrong-class: '&f[&9&l职业受限&f]'
|
||||
successfully-identified: '&2成功识别 #item#'
|
||||
successfully-deconstructed: '&c成功拆解 #item#'
|
||||
gem-stone-applied: '&f[&b&l+&f] #gem# 镶嵌至 #item# 成功 ✔'
|
||||
gem-stone-broke: '&f[&c&l-&f] #gem# 镶嵌至 #item# 失败 x'
|
||||
repaired-item: '修复 #amount# x #item#'
|
||||
gave-item: '&f给予 #amount# x #item# 至 #player#'
|
||||
received-item: '&f获得 #amount# x #item#'
|
||||
cant-update-item: 无法更新物品
|
||||
update-item: 更新完成
|
||||
empty-workbench-first: '&c请先清空合成台'
|
||||
not-enough-perms-craft: '&c你没有权限制作该物品'
|
||||
cant-bind-item: '该物品绑定至 #player# 绑定等级 #level# 若需重新绑定请破坏原绑定'
|
||||
no-soulbound: 无绑定
|
||||
cant-bind-stacked: 无法绑定堆叠物品
|
||||
unsuccessful-soulbound: 绑定失败
|
||||
unsuccessful-soulbound-break: 无法破坏绑定
|
||||
low-soulbound-level: '绑定等级 #level# 若需重新绑定 绑定等级需高于该绑定等级'
|
||||
successfully-bind-item: '成功绑定 绑定等级 #level# 绑定物品 #item#'
|
||||
successfully-break-bind: '绑定破坏 绑定等级 #level#'
|
||||
soulbound-item-lore: '&f绑定至 #player# &8| &n绑定等级 &7&l#level#'
|
||||
soulbound-command-no: 无绑定
|
||||
soulbound-command-info: '物品绑定至 #player# 绑定等级 #level#'
|
||||
advanced-workbench: 高级合成台
|
||||
advanced-recipes: 高级合成
|
||||
gem-stats: 宝石数据
|
||||
click-advanced-recipe: '#d &7点击以查看高级合成'
|
30
language/chinese/potion-effects.yml
Normal file
30
language/chinese/potion-effects.yml
Normal file
@ -0,0 +1,30 @@
|
||||
# Translation by tucaoever
|
||||
# Date: 10-13-2018
|
||||
|
||||
speed: 速度提升
|
||||
slow: 缓慢
|
||||
fast-digging: 急迫
|
||||
slow-digging: 挖掘疲劳
|
||||
increase-damage: 力量
|
||||
heal: 生命恢复
|
||||
harm: 伤害
|
||||
jump: 跳跃提升
|
||||
confusion: 眩晕
|
||||
regeneration: 生命恢复
|
||||
damage-resistance: 抗性提升
|
||||
fire-resistance: 火焰保护
|
||||
water-breathing: 水下呼吸
|
||||
invisibility: 隐身
|
||||
blindness: 失明
|
||||
night-vision: 夜视
|
||||
hunger: 饥饿
|
||||
weakness: 虚弱
|
||||
poison: 中毒
|
||||
wither: 凋零
|
||||
health-boost: 生命提升
|
||||
absorption: 伤害吸收
|
||||
saturation: 饱和
|
||||
glowing: 发光
|
||||
levitation: 悬浮
|
||||
luck: 幸运
|
||||
unluck: 不幸
|
104
language/chinese/stats.yml
Normal file
104
language/chinese/stats.yml
Normal file
@ -0,0 +1,104 @@
|
||||
# Weapon Stats
|
||||
attack-damage: '&7➸ 攻击伤害: &f#'
|
||||
attack-speed: '&7➸ 攻击速度: &f#'
|
||||
critical-strike-chance: '&7■ 暴击概率: &f<plus>#%'
|
||||
critical-strike-power: '&7■ 暴击附加: &f<plus>#%'
|
||||
range: '&7■ 范围: &f#'
|
||||
mana-cost: '&9■ 消耗 # 法力值'
|
||||
stamina-cost: '&9■ 消耗 # 体力'
|
||||
arrow-velocity: '&7■ 箭矢速度: &f#%'
|
||||
blunt-power: '&7■ AOE 伤害半径: &f#'
|
||||
blunt-rating: '&7■ AOE 伤害比例: &f#%'
|
||||
two-handed: '&7■ 双持'
|
||||
knockback: '&7■ 击退: &f#'
|
||||
recoil: '&7■ 后坐力: &f#%'
|
||||
note-weight: '&7■ Note Weight: &f#'
|
||||
|
||||
# Extra Damage
|
||||
pve-damage: '&7■ PvE 伤害加成: &f<plus>#%'
|
||||
pvp-damage: '&7■ PvP 伤害加成: &f<plus>#%'
|
||||
magic-damage: '&7■ 法术伤害加成: &f<plus>#%'
|
||||
weapon-damage: '&7■ 武器伤害加成: &f<plus>#%'
|
||||
undead-damage: '&7■ 不死生物伤害加成: &f<plus>#%'
|
||||
|
||||
# Abilities
|
||||
ability-format: '&2#c: #a'
|
||||
ability-modifier: '&2#m: #v'
|
||||
ability-splitter: '&2'
|
||||
|
||||
# Armor Stats
|
||||
block-power: '&7■ 阻挡: &f<plus>#%'
|
||||
block-rating: '&7■ 阻挡概率: &f<plus>#%'
|
||||
block-cooldown-reduction: '&7■ 阻挡冷却缩减: &f<plus>#%'
|
||||
dodge-rating: '&7■ 闪避几率: &f<plus>#%'
|
||||
dodge-cooldown-reduction: '&7■ 闪避冷却缩减: &f<plus>#%'
|
||||
parry-rating: '&7■ 招架几率: &f<plus>#%'
|
||||
parry-cooldown-reduction: '&7■ 招架冷却缩减: &f<plus>#%'
|
||||
armor: '&7✠ 护甲[B]: &f<plus>#'
|
||||
armor-toughness: '&7✠ 护甲[A]: &f<plus>#'
|
||||
knockback-resistance: '&7✠ 击退保护: &f<plus>#%'
|
||||
max-health: '&c❤ 生命值: <plus>#'
|
||||
movement-speed: '&7■ 移动速度: &f<plus>#'
|
||||
regeneration: '&7■ 生命恢复: &f<plus>#%'
|
||||
|
||||
# Damage Reduction
|
||||
damage-reduction: '&7■ 伤害减免: &f<plus>#%'
|
||||
fall-damage-reduction: '&7■ 摔落伤害减免: &f<plus>#%'
|
||||
fire-damage-reduction: '&7■ 火焰伤害减免: &f<plus>#%'
|
||||
magic-damage-reduction: '&7■ 魔法伤害减免: &f<plus>#%'
|
||||
physical-damage-reduction: '&7■ Physical Damage Reduction: &f<plus>#%'
|
||||
|
||||
# Extra Options
|
||||
max-mana: '&7■ 最大法力值加成: &f<plus>#'
|
||||
perm-effect: '&7■ 效果 &f#'
|
||||
command: '&7■ 指令: &f#c &7(&f#d&7s)'
|
||||
item-cooldown: '&7■ &f#&7 秒 冷却'
|
||||
|
||||
# Consumables
|
||||
restore-health: '&7■ 恢复 &f# &7生命值'
|
||||
restore-food: '&7■ 恢复 &f# &7饥饿值'
|
||||
restore-saturation: '&7■ 恢复 &f# &7饱和度'
|
||||
restore-mana: '&7■ 恢复 &f# &7法力值'
|
||||
restore-stamina: '&7■ 恢复 &f# &7法力值'
|
||||
effect: '&7■ 获得 &f#e &7持续 &f#d&7 秒'
|
||||
repair: '&7■ 修复: &f#'
|
||||
can-identify: '&7■ 可识别'
|
||||
can-deconstruct: '&7■ 可分解'
|
||||
success-rate: '&7■ 成功概率: &a&l#%'
|
||||
|
||||
# Gem Stones
|
||||
empty-gem-socket: '&a◆ Empty # Gem Socket'
|
||||
filled-gem-socket: '&a◆ #'
|
||||
when-applied: '&a镶嵌时间:'
|
||||
gem-stone-lore: '&8&l[&2&l*&8&l] 放置宝石以镶嵌'
|
||||
|
||||
# Soulbound
|
||||
soulbinding-chance: '&7■ &a#%&7 几率绑定物品'
|
||||
soulbound-break-chance: '&7■ &a#%&7 几率破坏绑定'
|
||||
soulbound-level: '&7■ 绑定等级 &e#'
|
||||
|
||||
# Tool Enchants
|
||||
autosmelt: '&7■ &f自动熔炼'
|
||||
bouncing-crack: '&7■ &f 范围破坏'
|
||||
|
||||
# General
|
||||
item-type: '&7> 类型: #'
|
||||
tier: '&7[&f&l品质&7]: #'
|
||||
required-class: '&7> &9&l职业限制&7&l: #'
|
||||
required-level: '&7> &c&l等级限制&7&l: #'
|
||||
|
||||
# Elemental Damage
|
||||
fire-damage: '&c❖ #% 火属性伤害'
|
||||
ice-damage: '&b❖ #% 冰属性伤害'
|
||||
earth-damage: '&2❖ #% 地属性伤害'
|
||||
wind-damage: '&7❖ #% 风属性伤害'
|
||||
thunder-damage: '&e❖ #% 电属性伤害'
|
||||
water-damage: '&3❖ #% 水属性伤害'
|
||||
|
||||
# Elemental Defence
|
||||
fire-defense: '&c❖ #% 火属性防御'
|
||||
ice-defense: '&b❖ #% 冰属性防御'
|
||||
earth-defense: '&2❖ #% 地属性防御'
|
||||
wind-defense: '&7❖ #% 风属性防御'
|
||||
thunder-defense: '&e❖ #% 电属性防御'
|
||||
water-defense: '&3❖ #% 水属性防御'
|
105
language/french/abilities.yml
Normal file
105
language/french/abilities.yml
Normal file
@ -0,0 +1,105 @@
|
||||
ability:
|
||||
overload: Surchage
|
||||
shulker-missile: Missile de Shulker
|
||||
magical-shield: Ecu magique
|
||||
heal: Soins
|
||||
fire-meteor: Météorite
|
||||
leap: Bond
|
||||
light-dash: Dash léger
|
||||
burn: Embrasement
|
||||
starfall: Court-circuit
|
||||
wither: Wither
|
||||
vampirism: Vol de vie
|
||||
shockwave: Onde de choc
|
||||
smite: Châtiment
|
||||
sparkle: Etincelle
|
||||
corrupt: Dépravation
|
||||
tnt-throw: Lancer de TNT
|
||||
firebolt: Boule de feu
|
||||
earthquake: Tremblement de terre
|
||||
stun: Etourdissement
|
||||
swiftness: Agilité
|
||||
holy-missile: Projectile béni
|
||||
black-hole: Trou noir
|
||||
slow: Ralentissement
|
||||
circular-slash: Attaque circulaire
|
||||
cursed-beam: Projectile maudit
|
||||
heavy-charge: Charge puissante
|
||||
thrust: Coup d'estoc
|
||||
item-throw: Lancer d'objet
|
||||
corrupted-fangs: Crocs maudits
|
||||
ice-crystal: Crystal de glace
|
||||
blind: Aveuglement
|
||||
shock: Choc
|
||||
shadow-veil: Voile ténébreuse
|
||||
poison: Poison
|
||||
blink: Téléportation
|
||||
sky-smash: Uppercut
|
||||
bloodbath: Bain de sang
|
||||
confuse: Confusion
|
||||
hoearthquake: Trembl'houement de terre
|
||||
freeze: Gel
|
||||
blizzard: Blizzard
|
||||
bouncy-fireball: Boule de feu rebondissante
|
||||
burning-hands: Mains flamboyantes
|
||||
tactical-grenade: Grenade tactique
|
||||
ignite: Combustion
|
||||
throw-up: Vommissement
|
||||
minor-explosion: Explosion mineure
|
||||
frog-mode: Mode grenouille
|
||||
regen-ally: Régénération amie
|
||||
lightning-beam: Foudroiement
|
||||
death-mark: Marque de la mort
|
||||
contamination: Contamination
|
||||
corrosion: Corrosion
|
||||
explosive-turkey: Poulet explosif
|
||||
snowman-turret: Tourelle de neige
|
||||
arcane-hail: Grêle des arcanes
|
||||
grand-heal: Guérison générale
|
||||
magical-path: Chemin magique
|
||||
life-ender: Terminateur de vie
|
||||
present-throw: Lancement de cadeau
|
||||
weaken-target: Faiblesse
|
||||
chicken-wraith: Soulèvement des poulets
|
||||
freezing-curse: Malédiction de gel
|
||||
arcane-rift: Faille des arcanes
|
||||
targeted-fireball: Boule de feu guidée
|
||||
firefly: Papillons de feu
|
||||
frozen-aura: Aura glaciale
|
||||
magma-fissure: Fissure de magma
|
||||
bunny-mode: Mode lapin
|
||||
item-bomb: Bombe artisanale
|
||||
modifier:
|
||||
damage: Dégats
|
||||
mana: Mana
|
||||
stamina: Stamina
|
||||
cooldown: Délai
|
||||
radius: Rayon
|
||||
duration: Durée
|
||||
effect-duration: Durée d'effet
|
||||
power: Puissance
|
||||
heal: Soin
|
||||
knockback: Recul
|
||||
force: Force
|
||||
length: Longueur
|
||||
amplifier: Puissance d'effet
|
||||
drain: Drain
|
||||
knock-up: Recul
|
||||
limit: Limite
|
||||
ignite: Enflammement
|
||||
range: Portée
|
||||
amount: Quantité
|
||||
inaccuracy: Imprécision
|
||||
speed: Vitesse
|
||||
max-ignite: Enflammement maximum
|
||||
jump-force: Puissance de saut
|
||||
extra-damage: Dégats supplémentaires
|
||||
slow-duration: Temps de ralentissement
|
||||
slow-amplifier: Niveau de ralentissement
|
||||
cast-mode:
|
||||
on-hit: A l'impact
|
||||
when-hit: A l'impact*
|
||||
left-click: Clic gauche
|
||||
right-click: Clic droit
|
||||
shift-left-click: Shift Clic gauche
|
||||
shift-right-click: Shift Clic droit
|
14
language/french/attack-effects.yml
Normal file
14
language/french/attack-effects.yml
Normal file
@ -0,0 +1,14 @@
|
||||
staff-spirit:
|
||||
nether-spirit: '&7■ Esprit du Nether'
|
||||
void-spirit: '&7■ Esprit du Néant'
|
||||
mana-spirit: '&7■ Esprit du Mana'
|
||||
lightning-spirit: '&7■ Esprit de la Foudre'
|
||||
xray-spirit: '&7■ Esprit du Rayon-X'
|
||||
thunder-spirit: '&7■ Esprit de l''Orage'
|
||||
sunfire-spirit: '&7■ Esprit du Rayon de Soleil'
|
||||
lute-attack:
|
||||
wave: '&7■ Attaques par vague'
|
||||
circular: '&7■ Attaques circulaires'
|
||||
simple: '&7■ Attaques simples'
|
||||
brute: '&7■ Attaques brutales'
|
||||
slash: '&7■ Attaques Slash'
|
23
language/french/crafting-stations.yml
Normal file
23
language/french/crafting-stations.yml
Normal file
@ -0,0 +1,23 @@
|
||||
condition:
|
||||
stamina:
|
||||
positive: '&a✔ Requiert #stamina# Stamina'
|
||||
negative: '&c✖ Requiert #stamina# Stamina'
|
||||
level:
|
||||
positive: '&a✔ Niveau #level# requis'
|
||||
negative: '&c✖ Niveau #level# requis'
|
||||
mana:
|
||||
positive: '&a✔ Requiert #mana# Mana'
|
||||
negative: '&c✖ Requiert #mana# Mana'
|
||||
class:
|
||||
positive: '&a✔ Classe: #class#'
|
||||
negative: '&c✖ Classe: #class#'
|
||||
food:
|
||||
positive: '&a✔ Nourriture requise: #food#'
|
||||
negative: '&c✖ Nourriture requise: #food#'
|
||||
ingredient:
|
||||
mmoitem:
|
||||
positive: '&8✔ &7#amount# #item#'
|
||||
negative: '&c✖ &7#amount# #item#'
|
||||
vanilla:
|
||||
positive: '&8✔ &7#amount# #item#'
|
||||
negative: '&c✖ &7#amount# #item#'
|
34
language/french/items.yml
Normal file
34
language/french/items.yml
Normal file
@ -0,0 +1,34 @@
|
||||
NO_ITEM:
|
||||
name: '&c- Aucun objet -'
|
||||
lore: []
|
||||
NO_TYPE:
|
||||
name: '&c- Aucun type -'
|
||||
lore: []
|
||||
TYPE_DISPLAY:
|
||||
name: '&a#type# &8(Cliquer pour explorer)'
|
||||
lore:
|
||||
- '&7Cette catégorie regroupe &6#recipes#&7 recettes.'
|
||||
PREVIOUS_PAGE:
|
||||
name: '&aPage précédente'
|
||||
lore: []
|
||||
NEXT_PAGE:
|
||||
name: '&aPage suivante'
|
||||
lore: []
|
||||
BACK:
|
||||
name: '&aPrécedent'
|
||||
lore: []
|
||||
RECIPE_LIST:
|
||||
name: '&aRecettes avancées'
|
||||
lore: []
|
||||
RECIPE_DISPLAY:
|
||||
name: '&a&lFabriquer&f #name#'
|
||||
lore:
|
||||
- '{conditions}'
|
||||
- '#condition_level#'
|
||||
- '{crafting_time}'
|
||||
- '{crafting_time}&7Temps de réalisation: &c#crafting-time#&7s'
|
||||
- ''
|
||||
- '&8Ingrédients:'
|
||||
- '#ingredients#'
|
||||
- ''
|
||||
- '&eCliquez pour fabriquer cet objet!'
|
109
language/french/lore-format.yml
Normal file
109
language/french/lore-format.yml
Normal file
@ -0,0 +1,109 @@
|
||||
# This is the way stats are organized in the item lore.
|
||||
# You can remove or change line positions as much as you like to.
|
||||
# Make sure each line ONLY has the placeholder as text.
|
||||
#
|
||||
# The lines starting with {bar} are strips that will be
|
||||
# removed from the lore if there is nothing under it.
|
||||
# The lines starting with {sbar} will stay whatever is below them.
|
||||
|
||||
lore-format:
|
||||
# - '{bar}&8&m--------&f&l &nGeneral&8 &m--------------'
|
||||
- '#item-type#'
|
||||
- '{bar}'
|
||||
- '#required-class#'
|
||||
- '#required-level#'
|
||||
- '#durability-state#'
|
||||
- '#success-rate#'
|
||||
- '{bar}'
|
||||
- '#soulbound#'
|
||||
# - '{bar}&8&m--------&f&l &nStatistics&8 &m-------------'
|
||||
- '{bar}'
|
||||
- '#can-identify#'
|
||||
- '#can-deconstruct#'
|
||||
- '#attack-damage#'
|
||||
- '#knockback#'
|
||||
- '#recoil#'
|
||||
- '#note-weight#'
|
||||
- '#attack-speed#'
|
||||
- '#critical-strike-chance#'
|
||||
- '#critical-strike-power#'
|
||||
- '#range#'
|
||||
- '#pvp-damage#'
|
||||
- '#pve-damage#'
|
||||
- '#blunt-power#'
|
||||
- '#blunt-rating#'
|
||||
- '#weapon-damage#'
|
||||
- '#magic-damage#'
|
||||
- '#damage-reduction#'
|
||||
- '#fall-damage-reduction#'
|
||||
- '#fire-damage-reduction#'
|
||||
- '#magic-damage-reduction#'
|
||||
- '#physical-damage-reduction#'
|
||||
- '#undead-damage#'
|
||||
- '#regeneration#'
|
||||
- '#block-power#'
|
||||
- '#block-rating#'
|
||||
- '#dodge-rating#'
|
||||
- '#parry-rating#'
|
||||
- '#block-cooldown-reduction#'
|
||||
- '#dodge-cooldown-reduction#'
|
||||
- '#parry-cooldown-reduction#'
|
||||
- '#armor#'
|
||||
- '#armor-toughness#'
|
||||
- '#knockback-resistance#'
|
||||
- '#max-health#'
|
||||
- '#max-mana#'
|
||||
- '#movement-speed#'
|
||||
- '#staff-spirit#'
|
||||
- '#lute-attack-effect#'
|
||||
- '#two-handed#'
|
||||
- '#autosmelt#'
|
||||
- '#bouncing-crack#'
|
||||
- '#restore-health#'
|
||||
- '#restore-food#'
|
||||
- '#restore-mana#'
|
||||
- '#restore-stamina#'
|
||||
- '#soulbinding-chance#'
|
||||
- '#soulbound-break-chance#'
|
||||
- '#soulbound-level#'
|
||||
- '#repair#'
|
||||
- '#item-cooldown#'
|
||||
- '#mana-cost#'
|
||||
- '#stamina-cost#'
|
||||
# - '{bar}&8&m--------&2&l &nElements&8 &m--------------'
|
||||
- '{bar}'
|
||||
- '#fire-damage#'
|
||||
- '#fire-defense#'
|
||||
- '#ice-damage#'
|
||||
- '#ice-defense#'
|
||||
- '#wind-damage#'
|
||||
- '#wind-defense#'
|
||||
- '#earth-damage#'
|
||||
- '#earth-defense#'
|
||||
- '#thunder-damage#'
|
||||
- '#thunder-defense#'
|
||||
- '#water-damage#'
|
||||
- '#water-defense#'
|
||||
- '#light-damage#'
|
||||
- '#light-defense#'
|
||||
- '#darkness-damage#'
|
||||
- '#darkness-defense#'
|
||||
# - '{bar}&8&m--------&b&l &nEffects&8 &m---------------'
|
||||
- '{bar}'
|
||||
- '#effects#'
|
||||
# - '{bar}&8&m--------&b&l &nAbilities&8 &m--------------'
|
||||
- '{bar}'
|
||||
- '#abilities#'
|
||||
# - '{bar}&8&m--------&b&l &nEffects&8 &m---------------'
|
||||
# - '#perm-effects#'
|
||||
# - '{bar}&8&m--------&e&l &nGem Stones&8 &m-----------'
|
||||
- '{bar}'
|
||||
- '#gem-stones#'
|
||||
# - '{sbar}&8&m--------------------------------'
|
||||
- '{bar}'
|
||||
- '#lore#'
|
||||
- '#gem-stone-lore#'
|
||||
- '{bar}'
|
||||
- '#set#'
|
||||
- '{bar}'
|
||||
- '#tier#'
|
40
language/french/messages.yml
Normal file
40
language/french/messages.yml
Normal file
@ -0,0 +1,40 @@
|
||||
hands-too-charged: 'Vos mains sont trop chargées, vous ne pouvez rien faire.'
|
||||
spell-on-cooldown: '#progress# &eYou devez attendre #left# seconde#s#.'
|
||||
item-on-cooldown: Cet objet est en récupération.
|
||||
not-enough-perms-command: 'Vous n''avez pas la permission.'
|
||||
attack-blocked: 'Vous avez bloqué #percent#% des dégats!'
|
||||
attack-dodged: 'Vous avez esquivé une attaque.'
|
||||
attack-parried: 'Vous avez parré une attaque.'
|
||||
not-enough-levels: 'Vous n''avez pas le niveau nécessaire pour utiliser cet objet.'
|
||||
soulbound-restriction: 'Cet objet est lié à un autre joueur, vous ne pouvez donc pas l''utiliser.'
|
||||
not-enough-perms: 'Vous n''avez pas la permission.'
|
||||
item-broke: 'Votre objet #item#&c est cassé.'
|
||||
zero-durability: 'Cet objet est cassé, vous devez d''abord le réparer.'
|
||||
not-enough-mana: 'Vous n''avez pas assez de mana.'
|
||||
not-enough-stamina: 'Vous n''avez pas assez d''énergie.'
|
||||
wrong-class: 'Vous n''avez pas la classe requise.'
|
||||
successfully-identified: 'Vous avez identifié cet objet: #item#&e.'
|
||||
successfully-deconstructed: 'Vous avez décomposé cet object: #item#&e.'
|
||||
gem-stone-applied: 'Vous avez appliqué votre gemme &f#gem#&e sur votre objet &f#item#&e.'
|
||||
gem-stone-broke: 'Vous avez cassé votre gemme (#gem#) en essayant de l''appliquer sur votre #item#.'
|
||||
repaired-item: 'Vous avez réparé &f#item#&e de &f#amount# &epoints de durabilité.'
|
||||
received-item: '&eVous avez reçu &f#item#&e#amount#.'
|
||||
empty-workbench-first: 'Videz la grille de fabrication dans un premier temps.'
|
||||
not-enough-perms-craft: 'Vous n''avez pas la permission d''utiliser cette recette.'
|
||||
cant-bind-item: 'Cet objet est lié à #player# par un lien d''âme de niveau #level#. Vous devez dans un premier temps le détruire.'
|
||||
no-soulbound: 'Cet objet n''est lié à aucune personne.'
|
||||
cant-bind-stacked: 'Vous ne pouvez pas créer un lien d''âme sur des objets stackés.'
|
||||
unsuccessful-soulbound: 'Vous avez raté votre lien d''âme.'
|
||||
unsuccessful-soulbound-break: 'Votre n''avez pas réussi à créer un lien d''âme.'
|
||||
low-soulbound-level: 'Vous avez besoin d''un objet d''un niveau de lien d''âme supérieur.'
|
||||
successfully-bind-item: 'Vous avez appliqué un lien d''âme de niveau &6#level# &esur votre &6#item#&e.'
|
||||
successfully-break-bind: 'Vous avez rompu le lien d''âme de niveau &6#level#&e avec brio.'
|
||||
soulbound-item-lore: '&7//&4Lié à #player#//&4Lien d''âme de niv. #level#'
|
||||
not-enough-materials: 'Vous n''avez pas assez de matériaux pour fabriquer cet objet.'
|
||||
conditions-not-met: 'Vous ne pouvez pas fabriquer cet objet.'
|
||||
crafting-canceled: 'Vous avez interrompu la fabrication de votre objet.'
|
||||
already-crafting: 'Vous fabriquez déjà un autre objet!'
|
||||
crafting-subtitle: '#bar# Temps restant: &e#left#'
|
||||
advanced-workbench: 'Etabli avancé'
|
||||
advanced-recipes: 'Recettes avancées'
|
||||
click-advanced-recipe: '#d Cliquez pour afficher cette recette.'
|
30
language/french/potion-effects.yml
Normal file
30
language/french/potion-effects.yml
Normal file
@ -0,0 +1,30 @@
|
||||
speed: Vitesse
|
||||
slow: Lenteur
|
||||
fast-digging: Vitesse de minage
|
||||
slow-digging: Lenteur de minage
|
||||
increase-damage: Force
|
||||
heal: Soins
|
||||
harm: Dégats
|
||||
jump: Saut
|
||||
confusion: Confusion
|
||||
regeneration: Régénération
|
||||
damage-resistance: Résistance aux dégats
|
||||
fire-resistance: Résistance au feu
|
||||
water-breathing: Respiration
|
||||
invisibility: Invisibilité
|
||||
blindness: Aveuglement
|
||||
night-vision: Nyctalopie
|
||||
hunger: Faim
|
||||
weakness: Faiblesse
|
||||
poison: Poison
|
||||
wither: Wither
|
||||
health-boost: Vie améliorée
|
||||
absorption: Absorption
|
||||
saturation: Saturation
|
||||
glowing: Brillance
|
||||
levitation: Lévitation
|
||||
luck: Chance
|
||||
unluck: Malchance
|
||||
slow-falling: Chute lente
|
||||
conduit-power: Force du conduit
|
||||
dolphins-grace: Grâce du dauphin
|
104
language/french/stats.yml
Normal file
104
language/french/stats.yml
Normal file
@ -0,0 +1,104 @@
|
||||
# Weapon Stats
|
||||
attack-damage: '&7➸ Dégats d''attaque: &f#'
|
||||
attack-speed: '&7➸ Vitesse d''attaque: &f#'
|
||||
critical-strike-chance: '&7■ Chance de coup critique: &f<plus>#%'
|
||||
critical-strike-power: '&7■ Puissance de coup critique: &f<plus>#%'
|
||||
range: '&7■ Portée: &f#'
|
||||
mana-cost: '&9■ Consomme # Mana'
|
||||
stamina-cost: '&9■ Consomme # Stamina'
|
||||
arrow-velocity: '&7■ Vitesse de projectile: &f#%'
|
||||
blunt-power: '&7■ Puissance de contendance: &f#'
|
||||
blunt-rating: '&7■ Ratio de contendance: &f#%'
|
||||
two-handed: '&7■ A deux mains'
|
||||
knockback: '&7■ Recul: &f#'
|
||||
recoil: '&7■ Recul visuel: &f#%'
|
||||
note-weight: '&7■ Poids des notes: &f#'
|
||||
|
||||
# Extra Damage
|
||||
pve-damage: '&7■ Dégats PvE: &f<plus>#%'
|
||||
pvp-damage: '&7■ Dégats PvP: &f<plus>#%'
|
||||
magic-damage: '&7■ Dégats magiques: &f<plus>#%'
|
||||
weapon-damage: '&7■ Dégats physiques: &f<plus>#%'
|
||||
undead-damage: '&7■ Dégats contre les morts-vivants: &f<plus>#%'
|
||||
|
||||
# Abilities
|
||||
ability-format: '&2#c: #a'
|
||||
ability-modifier: '&2#m: #v'
|
||||
ability-splitter: '&2'
|
||||
|
||||
# Armor Stats
|
||||
block-power: '&7■ Puissance de blocage: &f<plus>#%'
|
||||
block-rating: '&7■ Chance de blocage: &f<plus>#%'
|
||||
block-cooldown-reduction: '&7■ Réduction du délai de blocage: &f<plus>#%'
|
||||
dodge-rating: '&7■ Chance d''esquive: &f<plus>#%'
|
||||
dodge-cooldown-reduction: '&7■ Réduction du délai d''esquive: &f<plus>#%'
|
||||
parry-rating: '&7■ Chance de parrade: &f<plus>#%'
|
||||
parry-cooldown-reduction: '&7■ Réduction du délai de parrade: &f<plus>#%'
|
||||
armor: '&7✠ Armure: &f<plus>#'
|
||||
armor-toughness: '&7✠ Robustesse: &f<plus>#'
|
||||
knockback-resistance: '&7✠ Résistance au recul: &f<plus>#%'
|
||||
max-health: '&c❤ Points de vie: <plus>#'
|
||||
movement-speed: '&7■ Vitesse de déplacement: &f<plus>#'
|
||||
regeneration: '&7■ Régénération de PV: &f<plus>#%'
|
||||
|
||||
# Damage Reduction
|
||||
damage-reduction: '&7■ Réduction de dégats: &f<plus>#%'
|
||||
fall-damage-reduction: '&7■ Réduction de dégats de chute: &f<plus>#%'
|
||||
fire-damage-reduction: '&7■ Réduction de dégats de feu: &f<plus>#%'
|
||||
magic-damage-reduction: '&7■ Réduction de dégats magiques: &f<plus>#%'
|
||||
physical-damage-reduction: '&7■ Réduction de dégats physiques: &f<plus>#%'
|
||||
|
||||
# Extra Options
|
||||
max-mana: '&7■ Mana Max: &f<plus>#'
|
||||
perm-effect: '&7■ &f# &7 permanent'
|
||||
command: '&7■ Commande: &f#c &7(&f#d&7s)'
|
||||
item-cooldown: '&7■ &f#&7s de récupération'
|
||||
|
||||
# Consumables
|
||||
restore-health: '&7■ Restaure &f# &7Health'
|
||||
restore-food: '&7■ Restaure &f# &7Food'
|
||||
restore-saturation: '&7■ Restaure &f# &7Saturation'
|
||||
restore-mana: '&7■ Restaure &f# &7Mana'
|
||||
restore-stamina: '&7■ Restaure &f# &7Stamina'
|
||||
effect: '&7■ Octroit &f#e &7for &f#d&7s'
|
||||
repair: '&7■ Répare &f# &7utilisations'
|
||||
can-identify: '&7■ Peut identifier des objets.'
|
||||
can-deconstruct: '&7■ Peut décomposer des objets.'
|
||||
success-rate: '&7■ Chance de réussite: &a&l#%'
|
||||
|
||||
# Gem Stones
|
||||
empty-gem-socket: '&a◆ Emplacement de gemme # vide'
|
||||
filled-gem-socket: '&a◆ #'
|
||||
when-applied: '&aQuand appliqué:'
|
||||
gem-stone-lore: '&8&l[&2&l*&8&l] &aDéposez la &7sur un objet pour l''appliquer!'
|
||||
|
||||
# Soulbound
|
||||
soulbinding-chance: '&7■ Chance de créer un soulbound: &a#%'
|
||||
soulbound-break-chance: '&7■ Chance de détruire un soulbound: &a#%'
|
||||
soulbound-level: '&7■ &7Soulbound de niv. &e#'
|
||||
|
||||
# Tool Enchants
|
||||
autosmelt: '&7■ &fAutosmelt'
|
||||
bouncing-crack: '&7■ &fBouncing Crack'
|
||||
|
||||
# General
|
||||
item-type: '&c#'
|
||||
tier: '#'
|
||||
required-class: '&7Classe requise: #'
|
||||
required-level: '&eRequiert niv. #'
|
||||
|
||||
# Elemental Damage
|
||||
fire-damage: '&c❖ #% Dégats de feu'
|
||||
ice-damage: '&b❖ #% Dégats de glace'
|
||||
earth-damage: '&2❖ #% Dégats de terre'
|
||||
wind-damage: '&7❖ #% Dégats de vent'
|
||||
thunder-damage: '&e❖ #% Dégats électriques'
|
||||
water-damage: '&3❖ #% Dégats d''eau'
|
||||
|
||||
# Elemental Defense
|
||||
fire-defense: '&c❖ #% Défense de feu'
|
||||
ice-defense: '&b❖ #% Défense de glace'
|
||||
earth-defense: '&2❖ #% Défense de terre'
|
||||
wind-defense: '&7❖ #% Défense de vent'
|
||||
thunder-defense: '&e❖ #% Défense électrique'
|
||||
water-defense: '&3❖ #% Défense d''eau'
|
105
language/polish/abilities.yml
Normal file
105
language/polish/abilities.yml
Normal file
@ -0,0 +1,105 @@
|
||||
ability:
|
||||
overload: Przeladowanie
|
||||
freeze: Zamrozenie
|
||||
magical-shield: Magiczna Tarcza
|
||||
bouncy-fireball: Skoczna Kula Ognia
|
||||
burning-hands: Plomienne Rece
|
||||
fire-meteor: Ognisty Meteor
|
||||
light-dash: Blyskawiczny Ped
|
||||
tactical-grenade: Granat Taktyczny
|
||||
ignite: Podpalenie
|
||||
sparkle: Iskra
|
||||
tnt-throw: Rzut TNT
|
||||
rain-of-arrows: Deszcz Strzal
|
||||
earthquake: Trzesienie Ziemi
|
||||
stun: Ogluszenie
|
||||
holy-missile: Swiety Pocisk
|
||||
black-hole: Czarna Dziura
|
||||
throw-up: Podrzut
|
||||
circular-slash: Okrezne Ciecie
|
||||
cursed-beam: Przeklety Promien
|
||||
slow: Spowolnienie
|
||||
thrust: Pchniecie
|
||||
heavy-charge: Ciezka Szarza
|
||||
item-throw: Rzut Przedmiotem
|
||||
shock: Szok
|
||||
minor-explosion: Mniejsza Eksplozja
|
||||
shadow-veil: Zaslona Cieni
|
||||
frog-mode: Tryb Zaby
|
||||
regen-ally: Ulecz Sojusznika
|
||||
lightning-beam: Piorun
|
||||
death-mark: Znak Smierci
|
||||
confuse: Dezorientacja
|
||||
shulker-missile: Pocisk Shulkera
|
||||
contamination: Skazenie
|
||||
heal: Uzdrowienie
|
||||
corrosion: Korozja
|
||||
leap: Skok
|
||||
explosive-turkey: Wybuchowy Indyk
|
||||
hoearthquake: Moc Farmera
|
||||
burn: Spalenie
|
||||
starfall: Upadek Gwiazdy
|
||||
wither: Uschniecie
|
||||
shockwave: Fala Uderzeniowa
|
||||
vampirism: Wampiryzm
|
||||
smite: Cios
|
||||
snowman-turret: Wiezyczka Balwanow
|
||||
corrupt: Skazenie
|
||||
arcane-hail: Tajemne Pozdrowienie
|
||||
firebolt: Ognisty Pocisk
|
||||
grand-heal: Wielkie Uleczenie
|
||||
magical-path: Magiczna Sciezka
|
||||
life-ender: Kres Zycia
|
||||
swiftness: Szybkosc
|
||||
present-throw: Rzut Prezentem
|
||||
weaken-target: Oslabienie Celu
|
||||
chicken-wraith: Widmo Kurczaka
|
||||
freezing-curse: Mrozna Klatwa
|
||||
arcane-rift: Tajemne Rozszczepienie
|
||||
targeted-fireball: Wycelowana Kula Ognia
|
||||
corrupted-fangs: Skazone Kly
|
||||
ice-crystal: Krysztal Lodu
|
||||
blind: Oslepienie
|
||||
firefly: Swietlik
|
||||
poison: Otruj
|
||||
blink: Mrugniecie
|
||||
sky-smash: Podniebne Zderzenie
|
||||
frozen-aura: Mrozna Aura
|
||||
bunny-mode: Tryb Krolika
|
||||
magma-fissure: Magmowa Rozpadlina
|
||||
bloodbath: Masakra
|
||||
item-bomb: Bomba
|
||||
modifier:
|
||||
damage: Obrazenia
|
||||
mana: Mana
|
||||
stamina: Wytrzymalosc
|
||||
cooldown: Czas Oczekiwania
|
||||
radius: Zasieg
|
||||
duration: Czas Trwania
|
||||
amplifier: Wzmacniacz
|
||||
inaccuracy: Niecelnosc
|
||||
force: Sila
|
||||
power: Moc
|
||||
ignite: Podpalenie
|
||||
speed: Szybkosc
|
||||
knockback: Odrzucenie
|
||||
length: Dlugosc
|
||||
knock-up: Rozgrzewka
|
||||
max-ignite: Maksymalne Rozpalenie
|
||||
limit: Limit
|
||||
jump-force: Sila Skoku
|
||||
heal: Uleczenie
|
||||
effect-duration: Dlugosc Trwania Efektu
|
||||
drain: Wyczerpanie
|
||||
extra-damage: Dodatkowe Obrazenia
|
||||
range: Zasieg
|
||||
amount: Ilosc
|
||||
slow-duration: Dlugosc Spowolnienia
|
||||
slow-amplifier: Wzmocnienie Spowolnienia
|
||||
cast-mode:
|
||||
on-hit: Po uderzeniu
|
||||
when-hit: Kiedy Uderzony
|
||||
left-click: LPM
|
||||
right-click: PPM
|
||||
shift-left-click: Shift + LPM
|
||||
shift-right-click: Shift + PPM
|
14
language/polish/attack-effects.yml
Normal file
14
language/polish/attack-effects.yml
Normal file
@ -0,0 +1,14 @@
|
||||
staff-spirit:
|
||||
nether-spirit: '&7■ Dusza Netheru'
|
||||
void-spirit: '&7■ Dusza Pustki'
|
||||
mana-spirit: '&7■ Dusza Many'
|
||||
lightning-spirit: '&7■ Dusza Blyskawic'
|
||||
xray-spirit: '&7■ Dusza X-Raya'
|
||||
thunder-spirit: '&7■ Dusza Burzy'
|
||||
sunfire-spirit: '&7■ Dusza Ognia Slonecznego'
|
||||
lute-attack:
|
||||
wave: '&7■ Ataki fali'
|
||||
circular: '&7■ Ataki okrezne'
|
||||
simple: '&7■ Ataki proste'
|
||||
brute: '&7■ Ataki brutalne'
|
||||
slash: '&7■ Ataki ciecia'
|
23
language/polish/crafting-stations.yml
Normal file
23
language/polish/crafting-stations.yml
Normal file
@ -0,0 +1,23 @@
|
||||
condition:
|
||||
stamina:
|
||||
positive: '&a✔ Requires #stamina# Stamina'
|
||||
negative: '&c✖ Requires #stamina# Stamina'
|
||||
level:
|
||||
positive: '&a✔ Requires Level #level#'
|
||||
negative: '&c✖ Requires Level #level#'
|
||||
mana:
|
||||
positive: '&a✔ Requires #mana# Mana'
|
||||
negative: '&c✖ Requires #mana# Mana'
|
||||
class:
|
||||
positive: '&a✔ Required Class: #class#'
|
||||
negative: '&c✖ Required Class: #class#'
|
||||
food:
|
||||
positive: '&a✔ Requires #food# Food'
|
||||
negative: '&c✖ Requires #food# Food'
|
||||
ingredient:
|
||||
mmoitem:
|
||||
positive: '&8✔ &7#amount# #item#'
|
||||
negative: '&c✖ &7#amount# #item#'
|
||||
vanilla:
|
||||
positive: '&8✔ &7#amount# #item#'
|
||||
negative: '&c✖ &7#amount# #item#'
|
30
language/polish/items.yml
Normal file
30
language/polish/items.yml
Normal file
@ -0,0 +1,30 @@
|
||||
UNIDENTIFIED_ITEM:
|
||||
name: '&kNiezidentyfikowany'
|
||||
lore:
|
||||
- '&e&oTen przedmiot jest &c&o&nniezindentyfikowany&e&o.'
|
||||
- '&e&oMusisz znalezc sposob by go zidentyfikowac'
|
||||
TYPE_DISPLAY:
|
||||
name: '#type# &8(Nacisnij by przegladac)'
|
||||
lore:
|
||||
- '&7Jest &6#recipes#&7 dostepnych przepisow.'
|
||||
RECIPE_LIST:
|
||||
name: Zaawansowane przepisy
|
||||
lore: []
|
||||
BACK:
|
||||
name: Wroc
|
||||
lore: []
|
||||
NEXT_PAGE:
|
||||
name: Nastepna Strona
|
||||
lore: []
|
||||
PREVIOUS_PAGE:
|
||||
name: Poprzednia strona
|
||||
lore: []
|
||||
NO_ITEM:
|
||||
name: '- Brak Przedmiotu -'
|
||||
lore: []
|
||||
NO_TYPE:
|
||||
name: '- Brak rodzaju -'
|
||||
lore: []
|
||||
NO_GEM_STONE:
|
||||
name: '- Puste gniazdo na klejnot -'
|
||||
lore: []
|
109
language/polish/lore-format.yml
Normal file
109
language/polish/lore-format.yml
Normal file
@ -0,0 +1,109 @@
|
||||
# This is the way stats are organized in the item lore.
|
||||
# You can remove or change line positions as much as you like to.
|
||||
# Make sure each line ONLY has the placeholder as text.
|
||||
#
|
||||
# The lines starting with {bar} are strips that will be
|
||||
# removed from the lore if there is nothing under it.
|
||||
# The lines starting with {superbar} will stay whatever is below them.
|
||||
|
||||
lore-format:
|
||||
# - '{bar}&8&m--------&f&l &nGeneral&8 &m--------------'
|
||||
- '#item-type#'
|
||||
- '{bar}'
|
||||
- '#required-class#'
|
||||
- '#required-level#'
|
||||
- '#durability-state#'
|
||||
- '#success-rate#'
|
||||
- '{bar}'
|
||||
- '#soulbound#'
|
||||
# - '{bar}&8&m--------&f&l &nStatistics&8 &m-------------'
|
||||
- '{bar}'
|
||||
- '#can-identify#'
|
||||
- '#can-deconstruct#'
|
||||
- '#attack-damage#'
|
||||
- '#knockback#'
|
||||
- '#recoil#'
|
||||
- '#note-weight#'
|
||||
- '#attack-speed#'
|
||||
- '#critical-strike-chance#'
|
||||
- '#critical-strike-power#'
|
||||
- '#range#'
|
||||
- '#pvp-damage#'
|
||||
- '#pve-damage#'
|
||||
- '#blunt-power#'
|
||||
- '#blunt-rating#'
|
||||
- '#weapon-damage#'
|
||||
- '#magic-damage#'
|
||||
- '#damage-reduction#'
|
||||
- '#fall-damage-reduction#'
|
||||
- '#fire-damage-reduction#'
|
||||
- '#magic-damage-reduction#'
|
||||
- '#physical-damage-reduction#'
|
||||
- '#undead-damage#'
|
||||
- '#regeneration#'
|
||||
- '#block-power#'
|
||||
- '#block-rating#'
|
||||
- '#dodge-rating#'
|
||||
- '#parry-rating#'
|
||||
- '#block-cooldown-reduction#'
|
||||
- '#dodge-cooldown-reduction#'
|
||||
- '#parry-cooldown-reduction#'
|
||||
- '#armor#'
|
||||
- '#armor-toughness#'
|
||||
- '#knockback-resistance#'
|
||||
- '#max-health#'
|
||||
- '#max-mana#'
|
||||
- '#movement-speed#'
|
||||
- '#staff-spirit#'
|
||||
- '#lute-attack-effect#'
|
||||
- '#two-handed#'
|
||||
- '#autosmelt#'
|
||||
- '#bouncing-crack#'
|
||||
- '#restore-health#'
|
||||
- '#restore-food#'
|
||||
- '#restore-mana#'
|
||||
- '#restore-stamina#'
|
||||
- '#soulbinding-chance#'
|
||||
- '#soulbound-break-chance#'
|
||||
- '#soulbound-level#'
|
||||
- '#repair#'
|
||||
- '#item-cooldown#'
|
||||
- '#mana-cost#'
|
||||
- '#stamina-cost#'
|
||||
# - '{bar}&8&m--------&2&l &nElements&8 &m--------------'
|
||||
- '{bar}'
|
||||
- '#fire-damage#'
|
||||
- '#fire-defense#'
|
||||
- '#ice-damage#'
|
||||
- '#ice-defense#'
|
||||
- '#wind-damage#'
|
||||
- '#wind-defense#'
|
||||
- '#earth-damage#'
|
||||
- '#earth-defense#'
|
||||
- '#thunder-damage#'
|
||||
- '#thunder-defense#'
|
||||
- '#water-damage#'
|
||||
- '#water-defense#'
|
||||
- '#light-damage#'
|
||||
- '#light-defense#'
|
||||
- '#darkness-damage#'
|
||||
- '#darkness-defense#'
|
||||
# - '{bar}&8&m--------&b&l &nEffects&8 &m---------------'
|
||||
- '{bar}'
|
||||
- '#effects#'
|
||||
# - '{bar}&8&m--------&b&l &nAbilities&8 &m--------------'
|
||||
- '{bar}'
|
||||
- '#abilities#'
|
||||
# - '{bar}&8&m--------&b&l &nEffects&8 &m---------------'
|
||||
# - '#perm-effects#'
|
||||
# - '{bar}&8&m--------&e&l &nGem Stones&8 &m-----------'
|
||||
- '{bar}'
|
||||
- '#gem-stones#'
|
||||
# - '{superbar}&8&m--------------------------------'
|
||||
- '{bar}'
|
||||
- '#lore#'
|
||||
- '#gem-stone-lore#'
|
||||
- '{bar}'
|
||||
- '#set#'
|
||||
- '{bar}'
|
||||
- '#tier#'
|
49
language/polish/messages.yml
Normal file
49
language/polish/messages.yml
Normal file
@ -0,0 +1,49 @@
|
||||
hands-too-charged: Nie mozesz nic zrobic, twoje rece sa zbyt naladowane
|
||||
spell-on-cooldown: '#progress# &eMusisz poczekac #left# second#s# przed rzuceniem
|
||||
tego zaklecia.'
|
||||
item-on-cooldown: Ten przedmiot nie jest jeszcze gotowy!
|
||||
not-enough-perms-command: Nie masz wystarczajacych uprawnien!
|
||||
attack-blocked: 'Wlasnie zablokowales #percent#% z obrazen z tego ataku!'
|
||||
attack-dodged: Wlasnie uniknales ataku!
|
||||
attack-parried: Wlasnie sparowales atak!
|
||||
not-enough-levels: Nie masz wystarczajacego poziomu by uzyc tego przedmiotu!
|
||||
soulbound-restriction: Ten przedmiot jest przypisany do innego gracza, nie mozesz
|
||||
go uzyc!
|
||||
not-enough-perms: Nie masz wystarczajacych uprawnien by tego uzyc!
|
||||
broken-item: Ten przedmiot jest zniszczony, musisz go naprawic.
|
||||
item-broke: 'Twoj #item#&c zostal zniszczony.'
|
||||
zero-durability: Twoj przedmiot nie ma juz wytrzymalosci, napraw go by go uzywac.
|
||||
not-enough-mana: Nie masz wystarczajaco many!
|
||||
not-enough-stamina: Nie masz wystarczajaco staminy!
|
||||
wrong-class: Nie masz odpowiedniej klasy!
|
||||
successfully-identified: 'Udalo ci sie zidentyfikowac #item#&e.'
|
||||
successfully-deconstructed: 'Udalo ci sie rozlozyc #item#&e.'
|
||||
gem-stone-applied: Udalo ci sie wlozyc &f#gem#&e do twojego &f#item#&e.
|
||||
gem-stone-broke: Twoj klejnot &f#gem#&c zostal zniszczony kiedy probowales wlozyc
|
||||
go do &f#item#&c.
|
||||
repaired-item: Udalo ci sie naprawic &f#item#&e za &f#amount# &euzyc.
|
||||
gave-item: '&eDales &f#item#&e#amount# dla &f#player#&e.'
|
||||
received-item: '&eOtrzymales &f#item#&e#amount#.'
|
||||
cant-update-item: Nie bylo mozliwe ulepszenie twojego przedmiotu.
|
||||
update-item: Udalo sie ulepszyc twoj przedmiot.
|
||||
empty-workbench-first: Oproznij stol warsztatowy
|
||||
not-enough-perms-craft: Nie posiadasz uprawnien by wytworzyc ten przedmiot
|
||||
cant-bind-item: 'Ten przedmiot jest aktualnie przypisany do #player# za pomoca wiezu
|
||||
poziomu #level#. Musisz najpierw przerwac wiez'
|
||||
no-soulbound: Ten przedmiot nie jest przypisany do nikogo.
|
||||
cant-bind-stacked: Nie mozesz przywiazach zestackowanych przedmiotow.
|
||||
unsuccessful-soulbound: Twoja proba zwiazania nie udala sie.
|
||||
unsuccessful-soulbound-break: Nie byles w stanie przerwac wiezu.
|
||||
low-soulbound-level: 'Ten przedmiot jest jest przypisany wiezem poziomu #level#. Potrzebujesz
|
||||
wiekszego poziomu wiezu na twoim przedmiocie by zerwac ten wiaz.'
|
||||
successfully-bind-item: Udalo ci sie uzyc przywiazania poziomu &6#level# &e na twoim
|
||||
&6#item#&e.
|
||||
successfully-break-bind: Udalo ci sie przerwac przywiazanie poziomu &6#level# do &eprzedmiotu!
|
||||
soulbound-item-lore: '&7//&4Przypisany do #player#//&4Lvl #level#'
|
||||
soulbound-command-no: Ten przedmiot nie jest do nikogo przypisany
|
||||
soulbound-command-info: Twoj przedmiot jest przypisany do &6#player# &eza pomoca wiezu
|
||||
poziomu &6#level# &e.
|
||||
advanced-workbench: Zaawansowany stol warsztatowy
|
||||
advanced-recipes: Zaawansowane przepisy
|
||||
gem-stats: Klejnoty
|
||||
click-advanced-recipe: '#d Kliknij by poznac przepis.'
|
32
language/polish/potion-effects.yml
Normal file
32
language/polish/potion-effects.yml
Normal file
@ -0,0 +1,32 @@
|
||||
speed: Szybkosc
|
||||
slow: Spowolnienie
|
||||
fast-digging: Szybkie Kopanie
|
||||
slow-digging: Wolne Kopanie
|
||||
increase-damage: Sila
|
||||
heal: Uzdrowienie
|
||||
harm: Uszkodzenie
|
||||
jump: Skok
|
||||
confusion: Dezorientacja
|
||||
regeneration: Regeneracja
|
||||
damage-resistance: Odpornosc Na Obrazenia
|
||||
fire-resistance: Odpornosc Na Ogien
|
||||
water-breathing: Oddychanie Pod Woda
|
||||
invisibility: Niewidzialnosc
|
||||
blindness: Oslepienie
|
||||
night-vision: Widzenie W Ciemnosci
|
||||
hunger: Glod
|
||||
weakness: Oslabienie
|
||||
poison: Trucizna
|
||||
wither: Uschniecie
|
||||
health-boost: Doladowanie Zdrowia
|
||||
absorption: Absorbcja
|
||||
saturation: Nasycenie
|
||||
glowing: Swiecenie
|
||||
levitation: Lewitacja
|
||||
luck: Szczescie
|
||||
unluck: Pech
|
||||
slow-falling: Powolne opadanie
|
||||
conduit-power: Przewodnia Potega
|
||||
dolphins-grace: Wdziecznosc Delfinow
|
||||
bad-omen: Zly Omen
|
||||
hero-of-the-village: Bohater Wioski
|
104
language/polish/stats.yml
Normal file
104
language/polish/stats.yml
Normal file
@ -0,0 +1,104 @@
|
||||
# Weapon Stats
|
||||
attack-damage: '&7➸ Obrazenia: &f#'
|
||||
attack-speed: '&7➸ Szybkosc Ataku: &f#'
|
||||
critical-strike-chance: '&7■ Szansa na krytyka: &f<plus>#%'
|
||||
critical-strike-power: '&7■ Sila krytyka: &f<plus>#%'
|
||||
range: '&7■ Zasieg: &f#'
|
||||
mana-cost: '&9■ Uzywa # Many'
|
||||
stamina-cost: '&9■ Uzywa # Wytrzymalosci'
|
||||
arrow-velocity: '&7■ Predkosc Strzaly: &f#%'
|
||||
blunt-power: '&7■ Sila Obuchowa: &f#%'
|
||||
blunt-rating: '&7■ Klasa Obuchu: &f#%'
|
||||
two-handed: '&7■ Dwureczny'
|
||||
knockback: '&7■ Odrzut: &f#'
|
||||
recoil: '&7■ Odrzut: &f#%'
|
||||
note-weight: '&7■ Waga: &f#'
|
||||
|
||||
# Extra Damage
|
||||
pve-damage: '&7■ Obrazenia PvE: &f<plus>#%'
|
||||
pvp-damage: '&7■ Obrazenia PvP: &f<plus>#%'
|
||||
magic-damage: '&7■ Obrazenia Magiczne: &f<plus>#%'
|
||||
weapon-damage: '&7■ Obrazenia Od Broni: &f<plus>#%'
|
||||
undead-damage: '&7■ Obrazenia Dla Nieumarlych: &f<plus>#%'
|
||||
|
||||
# Abilities
|
||||
ability-format: '&2#c: #a'
|
||||
ability-modifier: '&2#m: #v'
|
||||
ability-splitter: '&2'
|
||||
|
||||
# Armor Stats
|
||||
block-power: '&7■ Sila Bloku: &f<plus>#%'
|
||||
block-rating: '&7■ Klasa Bloku: &f<plus>#%'
|
||||
block-cooldown-reduction: '&7■ Zmniejszenie Czasu Odnowienia Bloku: &f<plus>#%'
|
||||
dodge-rating: '&7■ Klasa Uniku: &f<plus>#%'
|
||||
dodge-cooldown-reduction: '&7■ Zmniejszenie Czasu Odnowienia Uniku: &f<plus>#%'
|
||||
parry-rating: '&7■ Klasa Parowania: &f<plus>#%'
|
||||
parry-cooldown-reduction: '&7■ Zmniejszenie Czasu Odnowienia Parowania: &f<plus>#%'
|
||||
armor: '&7✠ Pancerz: &f<plus>#'
|
||||
armor-toughness: '&7✠ Wytrzymalosc Pancerza: &f<plus>#'
|
||||
knockback-resistance: '&7✠ Odpornosc Na Odepchniecie: &f<plus>#%'
|
||||
max-health: '&c❤ Zdrowie: <plus>#'
|
||||
movement-speed: '&7■ Szybkosc Ruchu: &f<plus>#'
|
||||
regeneration: '&7■ Regeneracja Zdrowia: &f<plus>#%'
|
||||
|
||||
# Damage Reduction
|
||||
damage-reduction: '&7■ Zmniejszenie Obrazen: &f<plus>#%'
|
||||
fall-damage-reduction: '&7■ Zmniejszenie Obrazen Od Upadku: &f<plus>#%'
|
||||
fire-damage-reduction: '&7■ Zmniejszenie Obrazen Od Ognia: &f<plus>#%'
|
||||
magic-damage-reduction: '&7■ Zmniejszenie Obrazen Magicznych: &f<plus>#%'
|
||||
physical-damage-reduction: '&7■ Zmniejszenie Obrazen Psychicznych: &f<plus>#%'
|
||||
|
||||
# Extra Options
|
||||
max-mana: '&7■ Maksymalna Mana: &f<plus>#'
|
||||
perm-effect: '&7■ Staly &f#'
|
||||
command: '&7■ Komenda: &f#c &7(&f#cd&7s)'
|
||||
item-cooldown: '&7■ &f#&7s Czas Odnowienia'
|
||||
|
||||
# Consumables
|
||||
restore-health: '&7■ Odnawia &f# &7Zdrowia'
|
||||
restore-food: '&7■ Odnawia &f# &7Jedzenia'
|
||||
restore-saturation: '&7■ Odnawia &f# &7Nasycenia'
|
||||
restore-mana: '&7■ Odnawia &f# &7Many'
|
||||
restore-stamina: '&7■ Odnawia &f# &7Wytrzymalosci'
|
||||
effect: '&7■ Zapewnia &f#e &7na &f#d&7s'
|
||||
repair: '&7■ Napraw: &f#'
|
||||
can-identify: '&7■ Moze identyfikowac przedmioty.'
|
||||
can-deconstruct: '&7■ Moze rozkladac wielopoziomowe przedmioty.'
|
||||
success-rate: '&7■ Szansa na sukces: &a&l#%'
|
||||
|
||||
# Gem Stones
|
||||
empty-gem-socket: '&a◆ Puste Miejsce Na Klejnot'
|
||||
filled-gem-socket: '&a◆ #'
|
||||
when-applied: '&aKiedy Wlozony:'
|
||||
gem-stone-lore: '&8&l[&2&l*&8&l] &aPrzesun na przedmiot &7by uzyc!'
|
||||
|
||||
# Soulbound
|
||||
soulbinding-chance: '&7■ Ma &a#%&7 szansy by przywiazac twoj przedmiot.'
|
||||
soulbound-break-chance: '&7■ Ma &a#%&7 szansy by zlamac twoje wiezi.'
|
||||
soulbound-level: '&7■ Wiez poziomu &e# &7'
|
||||
|
||||
# Tool Enchants
|
||||
autosmelt: '&7■ &fAutomatyczne Wytapianie'
|
||||
bouncing-crack: '&7■Skoczne Pekniecie &f'
|
||||
|
||||
# General
|
||||
item-type: '&c#'
|
||||
tier: '# PRZEDMIOT'
|
||||
required-class: '&7# Przedmiot'
|
||||
required-level: '&ePoziom #'
|
||||
|
||||
# Elemental Damage
|
||||
fire-damage: '&c❖ #% Obrazenia Od Ognia'
|
||||
ice-damage: '&b❖ #% Obrazenia Od Lodu'
|
||||
earth-damage: '&2❖ #% Obrazenia Od Ziemi'
|
||||
wind-damage: '&7❖ #% Obrazenia Od Wiatru'
|
||||
thunder-damage: '&e❖ #% Obrazenia Od Burzy'
|
||||
water-damage: '&3❖ #% Obrazenia Od Wody'
|
||||
|
||||
# Elemental Defense
|
||||
fire-defense: '&c❖ #% Odpornosc Na Ogien'
|
||||
ice-defense: '&b❖ #% Odpornosc Na Lod'
|
||||
earth-defense: '&2❖ #% Odpornosc Na Ziemie'
|
||||
wind-defense: '&7❖ #% Odpornosc Na Wiatr'
|
||||
thunder-defense: '&e❖ #% Odpornosc Na Burze'
|
||||
water-defense: '&3❖ #% Odpornosc Na Wode'
|
105
language/russian/abilities.yml
Normal file
105
language/russian/abilities.yml
Normal file
@ -0,0 +1,105 @@
|
||||
ability:
|
||||
overload: Перегрузка
|
||||
freeze: Заморозка
|
||||
magical-shield: Магический Щит
|
||||
blizzard: Снежная Буря
|
||||
bouncy-fireball: Скачущий Огненный Шар
|
||||
burning-hands: Горящие Руки
|
||||
fire-meteor: Огненный Метеор
|
||||
light-dash: Бросок
|
||||
tactical-grenade: Тактическая Граната
|
||||
ignite: Поджог
|
||||
sparkle: Искра
|
||||
tnt-throw: Бросок TNT
|
||||
earthquake: Землятрясение
|
||||
stun: Оглушение
|
||||
holy-missile: Святая Ракета
|
||||
black-hole: Черная Дыра
|
||||
cursed-beam: Проклятый Луч
|
||||
circular-slash: Круговое Рассечение
|
||||
throw-up: Подбрасывание
|
||||
slow: Замедление
|
||||
heavy-charge: Тяжелый Выпад
|
||||
thrust: Колющий Удар
|
||||
item-throw: Бросок Предмета
|
||||
shock: Шок
|
||||
minor-explosion: Небольшой Взрыв
|
||||
shadow-veil: Исчезновение
|
||||
frog-mode: Режим Лягушки
|
||||
regen-ally: Исцеление Союзников
|
||||
lightning-beam: Удар Молнией
|
||||
death-mark: Метка Смерти
|
||||
confuse: Сбивание
|
||||
shulker-missile: Снаряд Шалкера
|
||||
contamination: Заражение
|
||||
heal: Восстановление
|
||||
corrosion: Коррозия
|
||||
leap: Прыжок
|
||||
explosive-turkey: Взрывной Турк
|
||||
hoearthquake: Большая Вскопка
|
||||
burn: Поджог
|
||||
starfall: Звездопад
|
||||
wither: Иссушение
|
||||
shockwave: Ударная Волна
|
||||
vampirism: Вампризм
|
||||
snowman-turret: Турель - Снеговик
|
||||
smite: Молния
|
||||
corrupt: Искажение
|
||||
arcane-hail: Волшебный Дождь
|
||||
firebolt: Огненный Шар
|
||||
grand-heal: Массовое Исцеление
|
||||
magical-path: Магия Полета
|
||||
life-ender: Месть Эндера
|
||||
swiftness: Ускорение
|
||||
present-throw: Бросок Подарка
|
||||
weaken-target: Ослабление Противника
|
||||
chicken-wraith: Куриный Призрак
|
||||
freezing-curse: Проклятие Заморозки
|
||||
arcane-rift: Чародейский Разлом
|
||||
targeted-fireball: Нацеленный огненный Шар
|
||||
corrupted-fangs: Клыки Искажения
|
||||
ice-crystal: Ледяной Кристалл
|
||||
blind: Слепота
|
||||
firefly: Светлячок
|
||||
poison: Яд
|
||||
blink: Блинк
|
||||
frozen-aura: Аура Обморожения
|
||||
sky-smash: Воздушный Бросок
|
||||
magma-fissure: Трещина Магмы
|
||||
bunny-mode: Режим Кролика
|
||||
bloodbath: Резня
|
||||
item-bomb: Бомба
|
||||
modifier:
|
||||
damage: Урон
|
||||
mana: Мана
|
||||
stamina: Стамина
|
||||
cooldown: Перезарядка
|
||||
radius: Радиус
|
||||
duration: Длителньость
|
||||
amplifier: Усиление
|
||||
power: Мощь
|
||||
inaccuracy: Неточность
|
||||
force: Сила
|
||||
ignite: Поджог
|
||||
speed: Скорость
|
||||
knockback: Отбрасывание
|
||||
length: Длина
|
||||
knock-up: Вертикальное Отбрасывание
|
||||
max-ignite: Максимальная длительность Горения
|
||||
limit: Лимит
|
||||
jump-force: Сила Прыжка
|
||||
heal: Восстановление
|
||||
effect-duration: Длительность Эффекта
|
||||
drain: Вампризм
|
||||
extra-damage: Дополнительный урон
|
||||
range: Дальность
|
||||
amount: Количество
|
||||
slow-duration: Длительность Замедления
|
||||
slow-amplifier: Усиление Замедления
|
||||
cast-mode:
|
||||
on-hit: При Попадании
|
||||
when-hit: При получении Урона
|
||||
left-click: Левый Клик
|
||||
right-click: Правый Клик
|
||||
shift-left-click: Шифт + Левый Клик
|
||||
shift-right-click: Шифт + Првый Клик
|
14
language/russian/attack-effects.yml
Normal file
14
language/russian/attack-effects.yml
Normal file
@ -0,0 +1,14 @@
|
||||
staff-spirit:
|
||||
nether-spirit: '&7■ Дух Ада'
|
||||
void-spirit: '&7■ Дух Пустоты'
|
||||
mana-spirit: '&7■ Дух Маны'
|
||||
lightning-spirit: '&7■ Дух Молнии'
|
||||
xray-spirit: '&7■ Дух X-Ray '
|
||||
thunder-spirit: '&7■ Дух Грозы'
|
||||
sunfire-spirit: '&7■ Дух Солнца'
|
||||
lute-attack:
|
||||
wave: '&7■ Волновая Атака'
|
||||
circular: '&7■ Круговая Атака'
|
||||
simple: '&7■ Простая Атака'
|
||||
brute: '&7■ Грубая Атака'
|
||||
slash: '&7■ Разящая Атака'
|
23
language/russian/crafting-stations.yml
Normal file
23
language/russian/crafting-stations.yml
Normal file
@ -0,0 +1,23 @@
|
||||
condition:
|
||||
stamina:
|
||||
positive: '&a✔ Требуется #stamina# ед. Стамины'
|
||||
negative: '&c✖ Требуется #stamina# ед. Стамины'
|
||||
level:
|
||||
positive: '&a✔ Требуется #level# Уровень'
|
||||
negative: '&c✖ Требуется #level# Уровень'
|
||||
mana:
|
||||
positive: '&a✔ Требуется #mana# ед. Маны'
|
||||
negative: '&c✖ Требуется #mana# ед. Маны'
|
||||
class:
|
||||
positive: '&a✔ Required Class: #class#'
|
||||
negative: '&c✖ Required Class: #class#'
|
||||
food:
|
||||
positive: '&a✔ Требуется #food# ед. Еды'
|
||||
negative: '&c✖ Требуется #food# ед. Еды'
|
||||
ingredient:
|
||||
mmoitem:
|
||||
positive: '&8✔ &7#amount# #item#'
|
||||
negative: '&c✖ &7#amount# #item#'
|
||||
vanilla:
|
||||
positive: '&8✔ &7#amount# #item#'
|
||||
negative: '&c✖ &7#amount# #item#'
|
60
language/russian/items.yml
Normal file
60
language/russian/items.yml
Normal file
@ -0,0 +1,60 @@
|
||||
NO_ITEM:
|
||||
name: '&c- Нет Предмета -'
|
||||
lore: []
|
||||
NO_TYPE:
|
||||
name: '&c- Нет Типа -'
|
||||
lore: []
|
||||
TYPE_DISPLAY:
|
||||
name: '&a#type# &8(Нажмите, чтобы просмотреть)'
|
||||
lore:
|
||||
- '&7Есть &6#recipes#&7 доступных рецептов.'
|
||||
PREVIOUS_PAGE:
|
||||
name: '&aПредыдущая Страница'
|
||||
lore: []
|
||||
NEXT_PAGE:
|
||||
name: '&aСледующая Страница'
|
||||
lore: []
|
||||
PREVIOUS_IN_QUEUE:
|
||||
name: '&aПредыдущая'
|
||||
lore: []
|
||||
NEXT_IN_QUEUE:
|
||||
name: '&aСледующая'
|
||||
lore: []
|
||||
BACK:
|
||||
name: '&aНазад'
|
||||
lore: []
|
||||
RECIPE_LIST:
|
||||
name: '&aУлучшенные Рецепты'
|
||||
lore: []
|
||||
CRAFTING_RECIPE_DISPLAY:
|
||||
name: '&a&lСоздание&f #name#'
|
||||
lore:
|
||||
- '{conditions}'
|
||||
- '#condition_level#'
|
||||
- '{crafting_time}'
|
||||
- '{crafting_time}&7Время Создания: &c#crafting-time#&7s'
|
||||
- ''
|
||||
- '&8Ингредиенты:'
|
||||
- '#ingredients#'
|
||||
- ''
|
||||
- '&eНажмите, чтобы скрафтить!'
|
||||
UPGRADING_RECIPE_DISPLAY:
|
||||
name: '&e&lУлучшение&f #name#'
|
||||
lore:
|
||||
- '{conditions}'
|
||||
- '#condition_level#'
|
||||
- ''
|
||||
- '&8Ингредиенты:'
|
||||
- '#ingredients#'
|
||||
- ''
|
||||
- '&eНажмите, чтобы улучшить!'
|
||||
QUEUE_ITEM_DISPLAY:
|
||||
name: '&6&lОчередь&f #name#'
|
||||
lore:
|
||||
- '{ready}&7&oЭтот предмет был успешно создан.'
|
||||
- '{queue}&7&oЭтот предмет находиться в очереди создания.'
|
||||
- '{queue}'
|
||||
- '{queue}&7Времени Осталось: &c#left#'
|
||||
- ''
|
||||
- '{ready}&eНажмите, чтобы взять!'
|
||||
- '{queue}&eНажмите, чтобы отменить.'
|
105
language/russian/lore-format.yml
Normal file
105
language/russian/lore-format.yml
Normal file
@ -0,0 +1,105 @@
|
||||
# This is the way stats are organized in the item lore.
|
||||
# You can remove or change line positions as much as you like to.
|
||||
# Make sure each line ONLY has the placeholder as text.
|
||||
#
|
||||
# The lines starting with {bar} are strips that will be
|
||||
# removed from the lore if there is nothing under it.
|
||||
# The lines starting with {sbar} will stay whatever is below them.
|
||||
|
||||
lore-format:
|
||||
- '{bar}&8&m--------&f&l &nОсновная Информация&8 &m--------------'
|
||||
- '#item-type#'
|
||||
- '{bar}'
|
||||
- '#required-class#'
|
||||
- '#required-level#'
|
||||
- '#durability-state#'
|
||||
- '#success-rate#'
|
||||
- '{bar}'
|
||||
- '#soulbound#'
|
||||
- '{bar}&8&m--------&f&l &nСтатистика&8 &m-------------'
|
||||
- '#can-identify#'
|
||||
- '#can-deconstruct#'
|
||||
- '#attack-damage#'
|
||||
- '#knockback#'
|
||||
- '#recoil#'
|
||||
- '#note-weight#'
|
||||
- '#attack-speed#'
|
||||
- '#critical-strike-chance#'
|
||||
- '#critical-strike-power#'
|
||||
- '#range#'
|
||||
- '#pvp-damage#'
|
||||
- '#pve-damage#'
|
||||
- '#blunt-power#'
|
||||
- '#blunt-rating#'
|
||||
- '#weapon-damage#'
|
||||
- '#magic-damage#'
|
||||
- '#damage-reduction#'
|
||||
- '#fall-damage-reduction#'
|
||||
- '#fire-damage-reduction#'
|
||||
- '#magic-damage-reduction#'
|
||||
- '#physical-damage-reduction#'
|
||||
- '#undead-damage#'
|
||||
- '#regeneration#'
|
||||
- '#block-power#'
|
||||
- '#block-rating#'
|
||||
- '#dodge-rating#'
|
||||
- '#parry-rating#'
|
||||
- '#block-cooldown-reduction#'
|
||||
- '#dodge-cooldown-reduction#'
|
||||
- '#parry-cooldown-reduction#'
|
||||
- '#armor#'
|
||||
- '#armor-toughness#'
|
||||
- '#knockback-resistance#'
|
||||
- '#max-health#'
|
||||
- '#max-mana#'
|
||||
- '#movement-speed#'
|
||||
- '#staff-spirit#'
|
||||
- '#lute-attack-effect#'
|
||||
- '#two-handed#'
|
||||
- '#autosmelt#'
|
||||
- '#bouncing-crack#'
|
||||
- '#restore-health#'
|
||||
- '#restore-food#'
|
||||
- '#restore-mana#'
|
||||
- '#restore-stamina#'
|
||||
- '#soulbinding-chance#'
|
||||
- '#soulbound-break-chance#'
|
||||
- '#soulbound-level#'
|
||||
- '#repair#'
|
||||
- '#item-cooldown#'
|
||||
- '#mana-cost#'
|
||||
- '#stamina-cost#'
|
||||
- '{bar}&8&m--------&2&l &nЭлементы&8 &m--------------'
|
||||
- '#fire-damage#'
|
||||
- '#fire-defense#'
|
||||
- '#ice-damage#'
|
||||
- '#ice-defense#'
|
||||
- '#wind-damage#'
|
||||
- '#wind-defense#'
|
||||
- '#earth-damage#'
|
||||
- '#earth-defense#'
|
||||
- '#thunder-damage#'
|
||||
- '#thunder-defense#'
|
||||
- '#water-damage#'
|
||||
- '#water-defense#'
|
||||
- '#light-damage#'
|
||||
- '#light-defense#'
|
||||
- '#darkness-damage#'
|
||||
- '#darkness-defense#'
|
||||
- '{bar}&8&m--------&b&l &nЭффекты&8 &m---------------'
|
||||
- '#effects#'
|
||||
- '{bar}&8&m--------&b&l &nСпособности&8 &m--------------'
|
||||
- '#abilities#'
|
||||
- '{bar}&8&m--------&b&l &nЭффекты&8 &m---------------'
|
||||
- '#perm-effects#'
|
||||
- '{bar}&8&m--------&e&l &nСамоцветы&8 &m-----------'
|
||||
- '#gem-stones#'
|
||||
# - '{sbar}&8&m--------------------------------'
|
||||
- '{bar}'
|
||||
- '#lore#'
|
||||
- '#gem-stone-lore#'
|
||||
- '{bar}'
|
||||
- '#set#'
|
||||
- '{bar}'
|
||||
- '#tier#'
|
||||
|
48
language/russian/messages.yml
Normal file
48
language/russian/messages.yml
Normal file
@ -0,0 +1,48 @@
|
||||
received-item: Вы получили &6#item#&e#amount#.
|
||||
hands-too-charged: Вы не можете ничего сделать, ваши руки слишком напряжены.
|
||||
spell-on-cooldown: '#progress# &eВы должны подождать #left# сек.#s#, преждем чем использовать это
|
||||
заклинание.'
|
||||
item-on-cooldown: Этот предмет перезарежается!
|
||||
not-enough-perms-command: У вас недостаточно прав.
|
||||
attack-blocked: 'Вы заблокировали #percent#% от урона!'
|
||||
attack-dodged: Вы уклонились от атаки!
|
||||
attack-parried: Вы парировали атаку!
|
||||
not-enough-levels: У вас недостаточно уровня, чтобы использовать этот предмет!
|
||||
soulbound-restriction: Этот предмет привязан к другому игроку, вы не можете использовать его!
|
||||
not-enough-perms: У вас недостаточно прав, чтобы использовать это.
|
||||
wrong-class: У вас нет правильного класса, чтобы использовать этот предмет!
|
||||
not-enough-mana: У вас недостаточно маны!
|
||||
not-enough-stamina: У вас недостаточно стамины!
|
||||
item-broke: 'Ваш #item#&c сломался.'
|
||||
zero-durability: Этот предмет сломан, вам сначала нужно его починить.
|
||||
successfully-identified: Вы успешно идентифицировали &6#item#&e.
|
||||
successfully-deconstructed: Вы успешно деконструировали &6#item#&e.
|
||||
gem-stone-applied: Вы успешно вставили самоцвет &6#gem#&e в ваш &6#item#&e.
|
||||
gem-stone-broke: Ваш самоцвет &6#gem#&c сломался пока Вы пытались вставить его в &6#item#&c.
|
||||
repaired-item: Вы успешно почнили &6#item#&e на &6#amount# ед. &eпрочности.
|
||||
advanced-workbench: Улучшенный Верстак
|
||||
empty-workbench-first: Пожалуйста, сначала очистите верстак.
|
||||
not-enough-perms-craft: У вас недостаточно прав, чтобы создать этот предмет.
|
||||
advanced-recipes: Улучшенные Рецепты
|
||||
click-advanced-recipe: '#d Нажмите, чтобы увидеть этот рецепт.'
|
||||
cant-bind-item: 'Этот предмет связан с #player# #level# уровнем персонализации.
|
||||
Сначала Вы должны сломать эту свзяь.'
|
||||
no-soulbound: Этот предмет не привязан ни к кому.
|
||||
cant-bind-stacked: Вы не можете связать предметы в стаке.
|
||||
unsuccessful-soulbound: Ваша персонализация не удалась.
|
||||
unsuccessful-soulbound-break: Вы не смогли сломать связь.
|
||||
low-soulbound-level: 'Этот предмет имеет #level# уровень персонализации. Вам понадобится более высокий уровень персонализации
|
||||
на вашем расходнике, чтобы сломать эту свзять.'
|
||||
successfully-bind-item: Вы успешно наложили &6#level# уровень &eперсонализации на ваш
|
||||
&6#item#&e.
|
||||
successfully-break-bind: Вы успешно сломали &6#level# уровень &eперсонализации!
|
||||
soulbound-item-lore: '&4Связано с #player#//&4#level# уровнем Персонализации'
|
||||
max-upgrades-hit: Этот предмет не может быть больше улучшен.
|
||||
upgrade-fail: Ваше улучшение не удалось, и Вы потеряли расходник.
|
||||
wrong-upgrade-reference: Вы не можете улучшить этот предмет с этим расходником.
|
||||
upgrade-success: Вы успешно улучшили ваш &6#item#&e!
|
||||
not-have-item-upgrade: У вас нет предмета для улучшения!
|
||||
not-enough-materials: У вас недостаточно материалов, чтобы создать это.
|
||||
conditions-not-met: Вы не можете создать этот предмет.
|
||||
crafting-canceled: Вы отменили рецепт создания.
|
||||
crafting-queue-full: В настоящее время очередь создания заполнена.
|
30
language/russian/potion-effects.yml
Normal file
30
language/russian/potion-effects.yml
Normal file
@ -0,0 +1,30 @@
|
||||
speed: Скорость
|
||||
slow: Замедление
|
||||
fast-digging: Спешка
|
||||
slow-digging: Усталость
|
||||
increase-damage: Сила
|
||||
heal: Исцеление
|
||||
harm: Моментальный Урон
|
||||
jump: Прыгучесть
|
||||
confusion: Тошнота
|
||||
regeneration: Регенерация
|
||||
damage-resistance: Сопротивление
|
||||
fire-resistance: Огнестойкость
|
||||
water-breathing: Подводное дыхание
|
||||
invisibility: Невидимость
|
||||
blindness: Слепота
|
||||
night-vision: Ночное зрение
|
||||
hunger: Голод
|
||||
weakness: Слабость
|
||||
poison: Отравление
|
||||
wither: Иссушение
|
||||
health-boost: Прилив здоровья
|
||||
absorption: Поглощение
|
||||
saturation: Насыщение
|
||||
glowing: Свечение
|
||||
levitation: Левитация
|
||||
luck: Удача
|
||||
unluck: Невезение
|
||||
slow-falling: Медленное Падение
|
||||
conduit-power: Морская Сила
|
||||
dolphins-grace: Дельфинья Грация
|
104
language/russian/stats.yml
Normal file
104
language/russian/stats.yml
Normal file
@ -0,0 +1,104 @@
|
||||
# Weapon Stats
|
||||
attack-damage: '&4➸ Уровень Атаки: #'
|
||||
attack-speed: '&c➸ Скорость Атаки: #'
|
||||
critical-strike-chance: '&7■ Шанс Критической Атаки: &f<plus>#%'
|
||||
critical-strike-power: '&7■ Сила Критической Атаки: &f<plus>#%'
|
||||
range: '&7■ Радиус: &f#'
|
||||
mana-cost: '&9■ Маны за Использование: #'
|
||||
stamina-cost: '&9■ Стамины за Использование: #'
|
||||
arrow-velocity: '&7■ Arrow Velocity: &f#%'
|
||||
blunt-power: '&7■ Сила Блока: &f#'
|
||||
blunt-rating: '&7■ Шанс Блока: &f#%'
|
||||
two-handed: '&7■ &cДвуручное'
|
||||
knockback: '&7■ Отталкивание: &f#'
|
||||
recoil: '&7■ Отдача: &f#%'
|
||||
note-weight: '&7■ Примечание Вес: &f#'
|
||||
|
||||
# Extra Damage
|
||||
pve-damage: '&7■ PvE Урон: &f<plus>#%'
|
||||
pvp-damage: '&7■ PvP Урон: &f<plus>#%'
|
||||
magic-damage: '&7■ Магический Урон: &f<plus>#%'
|
||||
weapon-damage: '&7■ Урон от Оружия: &f<plus>#%'
|
||||
undead-damage: '&7■ Урон по Нежити: &f<plus>#%'
|
||||
|
||||
# Abilities
|
||||
ability-format: '&2#c: #a'
|
||||
ability-modifier: '&2#m: #v'
|
||||
ability-splitter: '&2'
|
||||
|
||||
# Armor Stats
|
||||
block-power: '&7■ Сила Блокирования: &f<plus>#%'
|
||||
block-rating: '&7■ Шанс Блокирования: &f<plus>#%'
|
||||
block-cooldown-reduction: '&7■ Уменьшение Перезарядки Блокирования: &f<plus>#%'
|
||||
dodge-rating: '&7■ Шанс Уклонения: &f<plus>#%'
|
||||
dodge-cooldown-reduction: '&7■ Уменьшение Перезарядки Уклонения: &f<plus>#%'
|
||||
parry-rating: '&7■ Шанс Парирования: &f<plus>#%'
|
||||
parry-cooldown-reduction: '&7■ Уменьшение Перезарядки Парирования: &f<plus>#%'
|
||||
armor: '&7✠ Защита: &f<plus>#'
|
||||
armor-toughness: '&7✠ Прочность Брони: &f<plus>#'
|
||||
knockback-resistance: '&7✠ Сопротивление Отталкиванию: &f<plus>#%'
|
||||
max-health: '&c❤ Здоровье: <plus>#'
|
||||
movement-speed: '&7■ Скорость Передвижения: &f<plus>#'
|
||||
regeneration: '&7■ Регенерация Здоровья: &f<plus>#%'
|
||||
|
||||
# Damage Reduction
|
||||
damage-reduction: '&7■ Снижение Урона: &f<plus>#%'
|
||||
fall-damage-reduction: '&7■ Снижение Урона от Падения: &f<plus>#%'
|
||||
fire-damage-reduction: '&7■ Снижение Урона от Огня: &f<plus>#%'
|
||||
magic-damage-reduction: '&7■ Снижение Урона от Магии: &f<plus>#%'
|
||||
physical-damage-reduction: '&7■ Physical Damage Reduction: &f<plus>#%'
|
||||
|
||||
# Extra Options
|
||||
max-mana: '&9■ Максимальная Мана: <plus>#'
|
||||
perm-effect: '&7■ Бесконечный &f#'
|
||||
command: '&7■ Команда: &f#c &7(&f#d&7s)'
|
||||
item-cooldown: '&7■ &f#&7 сек перезарядка'
|
||||
|
||||
# Consumables
|
||||
restore-health: '&7■ Восстанавливает &f# &7Здоровья'
|
||||
restore-food: '&7■ Восстанавливает &f# &7Еды'
|
||||
restore-saturation: '&7■ Восстанавливает &f# &7Насыщения'
|
||||
restore-mana: '&7■ Восстанавливает &f# &7Маны'
|
||||
restore-stamina: '&7■ Восстанавливает &f# &7Стамины'
|
||||
effect: '&7■ Даёт &f#e &7на &f#d&7сек'
|
||||
repair: '&7■ Ремонт: &f#'
|
||||
can-identify: '&7■ Может идентифицировать предметы.'
|
||||
can-deconstruct: '&7■ Может разобрать тировые предметы.'
|
||||
success-rate: '&7■ Шанс Успеха: &a&l#%'
|
||||
|
||||
# Gem Stones
|
||||
empty-gem-socket: '&a◆ Пустой # слотя для Самоцвета'
|
||||
filled-gem-socket: '&a◆ #'
|
||||
when-applied: '&aКогда Применён:'
|
||||
gem-stone-lore: '&8&l[&2&l*&8&l] &aПеретащите на предмет, чтобы &7применить!'
|
||||
|
||||
# Soulbound
|
||||
soulbinding-chance: '&7■ Имеет &a#%&7 шанс связать предмет.'
|
||||
soulbound-break-chance: '&7■ имеет &a#%&7 шанс убрать персонализацию.'
|
||||
soulbound-level: '&7■ Уровень &e# &7Персонализации'
|
||||
|
||||
# Tool Enchants
|
||||
autosmelt: '&7■ &fАвтоплавлка'
|
||||
bouncing-crack: '&7■ &fТрещина'
|
||||
|
||||
# General
|
||||
item-type: '&c■ #'
|
||||
tier: '# Предмет'
|
||||
required-class: '&7Требуется Класс: &7#'
|
||||
required-level: '&eНеобходимый Уровень: #'
|
||||
|
||||
# Elemental Damage
|
||||
fire-damage: '&c❖ #% Урон Огнём'
|
||||
ice-damage: '&b❖ #% Урон Льдом'
|
||||
earth-damage: '&2❖ #% Урон Землёй'
|
||||
wind-damage: '&7❖ #% Урон Ветром'
|
||||
thunder-damage: '&e❖ #% Урон Молнией'
|
||||
water-damage: '&3❖ #% Урон Водой'
|
||||
|
||||
# Elemental Defense
|
||||
fire-defense: '&c❖ #% Защита от Огня'
|
||||
ice-defense: '&b❖ #% Защита от Льда'
|
||||
earth-defense: '&2❖ #% Защита от Земли'
|
||||
wind-defense: '&7❖ #% Защита от Ветра'
|
||||
thunder-defense: '&e❖ #% Защита от Молнии'
|
||||
water-defense: '&3❖ #% Защита от Воды'
|
76
language/spanish/abilities.yml
Normal file
76
language/spanish/abilities.yml
Normal file
@ -0,0 +1,76 @@
|
||||
ability:
|
||||
overload: Sobrecarga
|
||||
magical-shield: Escudo Mágico
|
||||
bouncy-fireball: Bouncy Fireball
|
||||
burning-hands: Arma flameante
|
||||
fire-meteor: Meteorito
|
||||
light-dash: Embestida de Luz
|
||||
sparkle: Destellos
|
||||
tnt-throw: TNT
|
||||
earthquake: Terremoto
|
||||
stun: Aturdir
|
||||
holy-missile: Misil sagrado
|
||||
black-hole: Agujero negro
|
||||
slow: Relentizar
|
||||
throw-up: Maldición Podrida
|
||||
circular-slash: Circulo mortal
|
||||
cursed-beam: Viga maldita
|
||||
thrust: Thrust
|
||||
heavy-charge: Super carga
|
||||
item-throw: Lanzar
|
||||
shock: Electrocutar
|
||||
shadow-veil: Velo de Sombras
|
||||
frog-mode: Modo rana
|
||||
lightning-beam: Rayo de luz
|
||||
death-mark: Marca mortal
|
||||
confuse: Confusión
|
||||
shulker-missile: Misil Shulker
|
||||
heal: Cura
|
||||
leap: Salto
|
||||
burn: Quemar
|
||||
starfall: Lluvia de Estrellas
|
||||
wither: Wither
|
||||
shockwave: Onda de Choque
|
||||
vampirism: Vampirismo
|
||||
smite: Herida profunda
|
||||
corrupt: Corrupción
|
||||
arcane-hail: Maldición del protector
|
||||
grand-heal: Gran meditación
|
||||
firebolt: Rayo de Fuego
|
||||
magical-path: Botas mágicas
|
||||
life-ender: Diluvio Letal
|
||||
swiftness: Rapidez
|
||||
freezing-curse: Congelar
|
||||
ice-crystal: Cristal de hielo
|
||||
blind: Cegar
|
||||
firefly: Mariposa
|
||||
poison: Veneno
|
||||
blink: Teletransporte
|
||||
sky-smash: Aplaste Aéreo
|
||||
bloodbath: Baño de sangre
|
||||
bunny-mode: Modo conejo
|
||||
item-bomb: Bomba
|
||||
modifier:
|
||||
damage: '&7Daño'
|
||||
mana: Mana
|
||||
stamina: '&7Stamina'
|
||||
cooldown: '&7Enfriamiento'
|
||||
radius: '&7Radio'
|
||||
duration: '&7Duración'
|
||||
power: '&7Poder'
|
||||
ignite: '&7Ignición'
|
||||
speed: '&7Velocidad'
|
||||
knockback: '&7Empuje'
|
||||
length: '&7Longitud'
|
||||
limit: '&7Límite'
|
||||
force: '&7Fuerza'
|
||||
amplifier: '&7Mejora'
|
||||
jump-force: '&7Fuerza de salto'
|
||||
slow-amplifier: '&7Mejora de relentización'
|
||||
effect-duration: '&7Duración del efecto'
|
||||
heal: '&7Curación'
|
||||
knock-up: '&7Aturdir'
|
||||
drain: '&7Drenar'
|
||||
range: '&7Rango'
|
||||
amount: '&7Cantidad'
|
||||
slow-duration: '&7Tiempo de relentización'
|
15
language/spanish/attack-effects.yml
Normal file
15
language/spanish/attack-effects.yml
Normal file
@ -0,0 +1,15 @@
|
||||
staff-spirit:
|
||||
nether-spirit: '&7■ Nether Spirit'
|
||||
void-spirit: '&7■ Void Spirit'
|
||||
mana-spirit: '&7■ Mana Spirit'
|
||||
lightning-spirit: '&7■ Lightning Spirit'
|
||||
xray-spirit: '&7■ X-Ray Spirit'
|
||||
thunder-spirit: '&7■ Thunder Spirit'
|
||||
sunfire-spirit: '&7■ Sunfire Spirit'
|
||||
lute-attack:
|
||||
wave: '&7■ Wave Melody'
|
||||
circular: '&7■ Circular Melody'
|
||||
slash: '&7■ Slashing Melody'
|
||||
simple: '&7■ Simple Melody'
|
||||
brute: '&7■ Brute Melody'
|
||||
heavy: '&7■ Heavy Melody'
|
23
language/spanish/crafting-stations.yml
Normal file
23
language/spanish/crafting-stations.yml
Normal file
@ -0,0 +1,23 @@
|
||||
condition:
|
||||
stamina:
|
||||
positive: '&a✔ Requires #stamina# Stamina'
|
||||
negative: '&c✖ Requires #stamina# Stamina'
|
||||
level:
|
||||
positive: '&a✔ Requires Level #level#'
|
||||
negative: '&c✖ Requires Level #level#'
|
||||
mana:
|
||||
positive: '&a✔ Requires #mana# Mana'
|
||||
negative: '&c✖ Requires #mana# Mana'
|
||||
class:
|
||||
positive: '&a✔ Required Class: #class#'
|
||||
negative: '&c✖ Required Class: #class#'
|
||||
food:
|
||||
positive: '&a✔ Requires #food# Food'
|
||||
negative: '&c✖ Requires #food# Food'
|
||||
ingredient:
|
||||
mmoitem:
|
||||
positive: '&8✔ &7#amount# #item#'
|
||||
negative: '&c✖ &7#amount# #item#'
|
||||
vanilla:
|
||||
positive: '&8✔ &7#amount# #item#'
|
||||
negative: '&c✖ &7#amount# #item#'
|
21
language/spanish/items.yml
Normal file
21
language/spanish/items.yml
Normal file
@ -0,0 +1,21 @@
|
||||
UNIDENTIFIED_ITEM:
|
||||
name: '&kSin identificar'
|
||||
lore:
|
||||
- '&e&oEste ítem esta &c&o&nsin identificar&e&o.'
|
||||
- '&e&oBusca una manera de identificarlo.'
|
||||
- '&e&oPodría ser un objeto raro o común.'
|
||||
BACK:
|
||||
name: Volver
|
||||
lore: []
|
||||
NEXT_PAGE:
|
||||
name: Página siguiente
|
||||
lore: []
|
||||
PREVIOUS_PAGE:
|
||||
name: Página anterior
|
||||
lore: []
|
||||
NO_ITEM:
|
||||
name: '- Sin ítem -'
|
||||
lore: []
|
||||
NO_GEM_STONE:
|
||||
name: '- Espacio para gema vacío -'
|
||||
lore: []
|
109
language/spanish/lore-format.yml
Normal file
109
language/spanish/lore-format.yml
Normal file
@ -0,0 +1,109 @@
|
||||
# This is the way stats are organized in the item lore.
|
||||
# You can remove or change line positions as much as you like to.
|
||||
# Make sure each line ONLY has the placeholder as text.
|
||||
#
|
||||
# The lines starting with {bar} are strips that will be
|
||||
# removed from the lore if there is nothing under it.
|
||||
# The lines starting with {sbar} will stay whatever is below them.
|
||||
|
||||
lore-format:
|
||||
# - '{bar}&8&m--------&f&l &nGeneral&8 &m--------------'
|
||||
- '#item-type#'
|
||||
- '{bar}'
|
||||
- '#required-class#'
|
||||
- '#required-level#'
|
||||
- '#durability-state#'
|
||||
- '#success-rate#'
|
||||
- '{bar}'
|
||||
- '#soulbound#'
|
||||
# - '{bar}&8&m--------&f&l &nStatistics&8 &m-------------'
|
||||
- '{bar}'
|
||||
- '#can-identify#'
|
||||
- '#can-deconstruct#'
|
||||
- '#attack-damage#'
|
||||
- '#knockback#'
|
||||
- '#recoil#'
|
||||
- '#note-weight#'
|
||||
- '#attack-speed#'
|
||||
- '#critical-strike-chance#'
|
||||
- '#critical-strike-power#'
|
||||
- '#range#'
|
||||
- '#pvp-damage#'
|
||||
- '#pve-damage#'
|
||||
- '#blunt-power#'
|
||||
- '#blunt-rating#'
|
||||
- '#weapon-damage#'
|
||||
- '#magic-damage#'
|
||||
- '#damage-reduction#'
|
||||
- '#fall-damage-reduction#'
|
||||
- '#fire-damage-reduction#'
|
||||
- '#magic-damage-reduction#'
|
||||
- '#physical-damage-reduction#'
|
||||
- '#undead-damage#'
|
||||
- '#regeneration#'
|
||||
- '#block-power#'
|
||||
- '#block-rating#'
|
||||
- '#dodge-rating#'
|
||||
- '#parry-rating#'
|
||||
- '#block-cooldown-reduction#'
|
||||
- '#dodge-cooldown-reduction#'
|
||||
- '#parry-cooldown-reduction#'
|
||||
- '#armor#'
|
||||
- '#armor-toughness#'
|
||||
- '#knockback-resistance#'
|
||||
- '#max-health#'
|
||||
- '#max-mana#'
|
||||
- '#movement-speed#'
|
||||
- '#staff-spirit#'
|
||||
- '#lute-attack-effect#'
|
||||
- '#two-handed#'
|
||||
- '#autosmelt#'
|
||||
- '#bouncing-crack#'
|
||||
- '#restore-health#'
|
||||
- '#restore-food#'
|
||||
- '#restore-mana#'
|
||||
- '#restore-stamina#'
|
||||
- '#soulbinding-chance#'
|
||||
- '#soulbound-break-chance#'
|
||||
- '#soulbound-level#'
|
||||
- '#repair#'
|
||||
- '#item-cooldown#'
|
||||
- '#mana-cost#'
|
||||
- '#stamina-cost#'
|
||||
# - '{bar}&8&m--------&2&l &nElements&8 &m--------------'
|
||||
- '{bar}'
|
||||
- '#fire-damage#'
|
||||
- '#fire-defense#'
|
||||
- '#ice-damage#'
|
||||
- '#ice-defense#'
|
||||
- '#wind-damage#'
|
||||
- '#wind-defense#'
|
||||
- '#earth-damage#'
|
||||
- '#earth-defense#'
|
||||
- '#thunder-damage#'
|
||||
- '#thunder-defense#'
|
||||
- '#water-damage#'
|
||||
- '#water-defense#'
|
||||
- '#light-damage#'
|
||||
- '#light-defense#'
|
||||
- '#darkness-damage#'
|
||||
- '#darkness-defense#'
|
||||
# - '{bar}&8&m--------&b&l &nEffects&8 &m---------------'
|
||||
- '{bar}'
|
||||
- '#effects#'
|
||||
# - '{bar}&8&m--------&b&l &nAbilities&8 &m--------------'
|
||||
- '{bar}'
|
||||
- '#abilities#'
|
||||
# - '{bar}&8&m--------&b&l &nEffects&8 &m---------------'
|
||||
# - '#perm-effects#'
|
||||
# - '{bar}&8&m--------&e&l &nGem Stones&8 &m-----------'
|
||||
- '{bar}'
|
||||
- '#gem-stones#'
|
||||
# - '{sbar}&8&m--------------------------------'
|
||||
- '{bar}'
|
||||
- '#lore#'
|
||||
- '#gem-stone-lore#'
|
||||
- '{bar}'
|
||||
- '#set#'
|
||||
- '{bar}'
|
||||
- '#tier#'
|
33
language/spanish/messages.yml
Normal file
33
language/spanish/messages.yml
Normal file
@ -0,0 +1,33 @@
|
||||
hands-too-charged: Estás usando un ítem a dos manos, no puedes hacer eso.
|
||||
spell-on-cooldown: '#progress# &e#left# Segundo#s#'
|
||||
item-on-cooldown: Aún no esta listo!
|
||||
item-command-on-cooldown: Aún no esta listo!
|
||||
not-enough-perms-command: '&fComando desconocido usa "/ayuda" para mas info'
|
||||
attack-blocked: 'Has bloqueado #percent#% de daño recibido!'
|
||||
attack-dodged: Has esquivado un ataque!
|
||||
not-enough-levels: '&e&lNo tienes nivel suficiente para usar este ítem'
|
||||
not-enough-perms: '&c&lNo puedes hacer eso.'
|
||||
not-enough-mana: No tienes mana suficiente!
|
||||
not-enough-stamina: No tienes suficiente resistencia!
|
||||
not-identified: No puedes usar un ítem sin identificar.
|
||||
wrong-class: You don't have the right class!
|
||||
successfully-identified: 'Ítem identificado: #item#&e.'
|
||||
successfully-deconstructed: 'Has destruido: #item#&e.'
|
||||
gem-stone-applied: Has aplicado &f#gem#&e a &f#item#&e.
|
||||
repaired-item: Has reparado &f#item#&e por &f#amount# &ede durabilidad.
|
||||
gave-item: '&eHas dado &f#item#&e#amount# a &f#player#&e.'
|
||||
received-item: '&a&l➱ &eHas recibido &f#item#&e#amount#.'
|
||||
cant-update-item: El ítem no se puede actualizar.
|
||||
update-item: Ítem actualizado.
|
||||
empty-workbench-first: Primero vacía la mesa de creación.
|
||||
not-enough-perms-craft: '&fComando desconocido usa "/ayuda" para mas info'
|
||||
miss-spell: Fallaste &c#spell#&e.
|
||||
advanced-workbench: Mesa de creación avanzada
|
||||
advanced-recipes: Recetas avanzadas
|
||||
gem-stats: Estadísticas de gemas
|
||||
click-advanced-recipe: Clic para ver la receta.
|
||||
attack-parried: Has reflejado un ataque!
|
||||
gem-stone-broke: La gema &f#gem#&c se ha roto al intentar aplicarse a &f#item#&c.
|
||||
broken-item: This item is broken, you first need to repair it.
|
||||
item-broke: 'Your #item#&c broke.'
|
||||
zero-durability: Your item has no durability left. Repair it in order to use it again.
|
27
language/spanish/potion-effects.yml
Normal file
27
language/spanish/potion-effects.yml
Normal file
@ -0,0 +1,27 @@
|
||||
speed: Velocidad
|
||||
slow: Relentización
|
||||
fast-digging: Fast Digging
|
||||
slow-digging: Slow Digging
|
||||
increase-damage: Aumento de daño
|
||||
heal: Curación
|
||||
harm: Daño instantaneo
|
||||
jump: Salto
|
||||
confusion: Confusión
|
||||
regeneration: Regeneración
|
||||
damage-resistance: Resistencia
|
||||
fire-resistance: Inmunidad al fuego
|
||||
water-breathing: Respiración
|
||||
invisibility: Invisibilidad
|
||||
blindness: Ceguera
|
||||
night-vision: Visión nocturna
|
||||
hunger: Hambre
|
||||
weakness: Debilidad
|
||||
poison: Toxicidad
|
||||
wither: Wither
|
||||
health-boost: Mejora de vida
|
||||
absorption: Absorción
|
||||
saturation: Saturación
|
||||
glowing: Brillo
|
||||
levitation: Levitación
|
||||
luck: Suerte
|
||||
unluck: Mala suerte
|
104
language/spanish/stats.yml
Normal file
104
language/spanish/stats.yml
Normal file
@ -0,0 +1,104 @@
|
||||
# Weapon Stats
|
||||
attack-damage: '&7➸ Daño: &f#'
|
||||
attack-speed: '&7➸ Velocidad de ataque: &f#'
|
||||
critical-strike-chance: '&7■ Indice de crítico: &f<plus>#%'
|
||||
critical-strike-power: '&7■ Poder de crítico: &f<plus>#%'
|
||||
range: '&7■ Rango: &f#'
|
||||
mana-cost: '&9■ Usa # de Mana'
|
||||
stamina-cost: '&9■ Usa # de Stamina'
|
||||
arrow-velocity: '&7■ Velocidad de flecha: &f#%'
|
||||
blunt-power: '&7■ Penetración de flecha: &f#'
|
||||
blunt-rating: '&7■ Indice de penetración: &f#%'
|
||||
two-handed: '&7■ A dos manos'
|
||||
knockback: '&7■ Empuje: &f#'
|
||||
recoil: '&7■ Retroceso: &f#%'
|
||||
note-weight: '&7■ Note Weight: &f#'
|
||||
|
||||
# Extra Damage
|
||||
pve-damage: '&7■ Daño PVE: &f<plus>#%'
|
||||
pvp-damage: '&7■ Daño PVP: &f<plus>#%'
|
||||
magic-damage: '&7■ Daño mágico: &f<plus>#%'
|
||||
weapon-damage: '&7■ Weapon Damage: &f<plus>#%'
|
||||
undead-damage: '&7■ Daño a monstruos: &f<plus>#%'
|
||||
|
||||
# Abilities
|
||||
ability-format: '&2#c: #a'
|
||||
ability-modifier: '&2#m: #v'
|
||||
ability-splitter: '&2'
|
||||
|
||||
# Armor Stats
|
||||
block-power: '&7■ Bloqueo: &f<plus>#%'
|
||||
block-rating: '&7■ Indice de bloqueo: &f<plus>#%'
|
||||
block-cooldown-reduction: '&7■ Reducción de enfriamento de bloqueo: &f<plus>#%'
|
||||
dodge-rating: '&7■ Indice de evasión: &f<plus>#%'
|
||||
dodge-cooldown-reduction: '&7■ Reducción de enfriamiento de evasión: &f<plus>#%'
|
||||
parry-rating: '&7■ Indice de reflejar: &f<plus>#%'
|
||||
parry-cooldown-reduction: '&7■ Reducción de enfriamiento de reflejar: &f<plus>#%'
|
||||
armor: '&7✠ Defensa: &f<plus>#'
|
||||
armor-toughness: '&7✠ Resistencia de armadura: &f<plus>#'
|
||||
knockback-resistance: '&7✠ Resistencia al empuje: &f<plus>#%'
|
||||
max-health: '&c❤ Vida máxima: <plus>#'
|
||||
movement-speed: '&7■ Velocidad: &f<plus>#'
|
||||
regeneration: '&7■ Regeneración de vida: &f<plus>#%'
|
||||
|
||||
# Damage Reduction
|
||||
damage-reduction: '&7■ Reducción de daño: &f<plus>#%'
|
||||
fall-damage-reduction: '&7■ Reducción de daño por caída: &f<plus>#%'
|
||||
fire-damage-reduction: '&7■ Reducción de daño por fuego: &f<plus>#%'
|
||||
magic-damage-reduction: '&7■ Reducción de daño mágico: &f<plus>#%'
|
||||
physical-damage-reduction: '&7■ Physical Damage Reduction: &f<plus>#%'
|
||||
|
||||
# Extra Options
|
||||
max-mana: '&7■ Mana máximo: &f<plus>#'
|
||||
perm-effect: '&7■ Permanente &f#'
|
||||
command: '&7■ Comando: &f#c &7(&f#d&7s)'
|
||||
item-cooldown: '&7■ &7Se puede usar cada #&7s'
|
||||
|
||||
# Consumables
|
||||
restore-health: '&7■ Restaura &f# &7de vida'
|
||||
restore-food: '&7■ Restaura &f# &7de hambre'
|
||||
restore-saturation: '&7■ Restaura &f# &7de saturación'
|
||||
restore-mana: '&7■ Restaura &f# &7de mana'
|
||||
restore-stamina: '&7■ Restaura &f# &7de aguante'
|
||||
effect: '&7■ Al consumir otorga &f#e &7por &f#d&7s'
|
||||
repair: '&7■ Repara: &f#'
|
||||
can-identify: '&7■ Puede identificar objetos.'
|
||||
can-deconstruct: '&7■ Puede destruir objetos usados.'
|
||||
success-rate: '&7■ Indice de éxito: &a&l#%'
|
||||
|
||||
# Gem Stones
|
||||
empty-gem-socket: '&a◆ Espacio para # gema'
|
||||
filled-gem-socket: '&a◆ #'
|
||||
when-applied: '&aAl aplicar:'
|
||||
gem-stone-lore: '&8&l[&2&l♦&8&l] &aArrastra y suelta en un objeto &7para aplicar!'
|
||||
|
||||
# Soulbound
|
||||
soulbinding-chance: '&7■ Has a &a#%&7 chance to bind your item.'
|
||||
soulbound-break-chance: '&7■ Has a &a#%&7 chance to break soulbounds.'
|
||||
soulbound-level: '&7■ Level &e# &7Soulbound'
|
||||
|
||||
# Tool Enchants
|
||||
autosmelt: '&7■ &fAutosmelt'
|
||||
bouncing-crack: '&7■ &fBouncing Crack'
|
||||
|
||||
# General
|
||||
item-type: '&c#'
|
||||
tier: '# ITEM'
|
||||
required-class: '&7# Objeto'
|
||||
required-level: '&eRequiere Nvl #'
|
||||
|
||||
# Elemental Damage
|
||||
fire-damage: '&c❖ #% Daño de fuego'
|
||||
ice-damage: '&b❖ #% Daño de hielo'
|
||||
earth-damage: '&2❖ #% Daño de tierra'
|
||||
wind-damage: '&7❖ #% Daño de viento'
|
||||
thunder-damage: '&e❖ #% Dañp de triemp'
|
||||
water-damage: '&3❖ #% Daño de agua'
|
||||
|
||||
# Elemental Defense
|
||||
fire-defense: '&c❖ #% Defemsa al fuego'
|
||||
ice-defense: '&b❖ #% Defensa al hielo'
|
||||
earth-defense: '&2❖ #% Defensa de la tierra'
|
||||
wind-defense: '&7❖ #% Defensa al viento'
|
||||
thunder-defense: '&e❖ #% Defensa al trueno'
|
||||
water-defense: '&3❖ #% Defensa al agua'
|
47
plugin.yml
Normal file
47
plugin.yml
Normal file
@ -0,0 +1,47 @@
|
||||
name: MMOItems
|
||||
version: 4.7.13
|
||||
main: net.Indyuce.mmoitems.MMOItems
|
||||
author: Indyuce
|
||||
softdepend: [WorldGuard,Holograms,Residence,BossShopPro,SkillAPI,MMOCore,MythicMobs]
|
||||
api-version: 1.13
|
||||
commands:
|
||||
advancedworkbench:
|
||||
description: Opens the advanced workbench.
|
||||
aliases: [advancedwb,awb]
|
||||
mmoitems:
|
||||
description: MMOItems main command.
|
||||
aliases: [mi]
|
||||
updateitem:
|
||||
description: Update the item you are holding.
|
||||
aliases: [upitem,itemup]
|
||||
permissions:
|
||||
mmoitems.admin:
|
||||
description: Access to admin commands.
|
||||
default: op
|
||||
mmoitems.awb:
|
||||
description: Access to /advancedworkbench.
|
||||
default: op
|
||||
mmoitems.update:
|
||||
description: Access to /updateitem.
|
||||
default: op
|
||||
mmoitems.bypass.item:
|
||||
description: Bypasses item permission restriction.
|
||||
default: false
|
||||
mmoitems.bypass.ability:
|
||||
description: Bypasses ability permission restriction.
|
||||
default: false
|
||||
mmoitems.bypass.class:
|
||||
description: Bypasses item class restriction.
|
||||
default: false
|
||||
mmoitems.bypass.soulbound:
|
||||
description: Bypasses soulbound restriction.
|
||||
default: false
|
||||
mmoitems.bypass.level:
|
||||
description: Bypasses item level restriction.
|
||||
default: false
|
||||
mmoitems.update-notify:
|
||||
description: Receive a notification when a new update is available.
|
||||
default: op
|
||||
mmoitems.soulbound:
|
||||
description: Allows to use /soulbound.
|
||||
default: op
|
416
src/net/Indyuce/mmoitems/MMOItems.java
Normal file
416
src/net/Indyuce/mmoitems/MMOItems.java
Normal file
@ -0,0 +1,416 @@
|
||||
package net.Indyuce.mmoitems;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import net.Indyuce.mmoitems.api.ConfigFile;
|
||||
import net.Indyuce.mmoitems.api.SoulboundInfo;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||
import net.Indyuce.mmoitems.command.AdvancedWorkbenchCommand;
|
||||
import net.Indyuce.mmoitems.command.MMOItemsCommand;
|
||||
import net.Indyuce.mmoitems.command.UpdateItemCommand;
|
||||
import net.Indyuce.mmoitems.command.completion.MMOItemsCompletion;
|
||||
import net.Indyuce.mmoitems.command.completion.UpdateItemCompletion;
|
||||
import net.Indyuce.mmoitems.comp.AdvancedEnchantmentsHook;
|
||||
import net.Indyuce.mmoitems.comp.MMOItemsMetrics;
|
||||
import net.Indyuce.mmoitems.comp.MMOItemsRewardTypes;
|
||||
import net.Indyuce.mmoitems.comp.RealDualWieldHook;
|
||||
import net.Indyuce.mmoitems.comp.flags.DefaultFlags;
|
||||
import net.Indyuce.mmoitems.comp.flags.FlagPlugin;
|
||||
import net.Indyuce.mmoitems.comp.flags.ResidenceFlags;
|
||||
import net.Indyuce.mmoitems.comp.flags.WorldGuardFlags;
|
||||
import net.Indyuce.mmoitems.comp.holograms.CMIPlugin;
|
||||
import net.Indyuce.mmoitems.comp.holograms.HologramSupport;
|
||||
import net.Indyuce.mmoitems.comp.holograms.HologramsPlugin;
|
||||
import net.Indyuce.mmoitems.comp.holograms.HolographicDisplaysPlugin;
|
||||
import net.Indyuce.mmoitems.comp.inventory.DefaultPlayerInventory;
|
||||
import net.Indyuce.mmoitems.comp.inventory.PlayerInventory;
|
||||
import net.Indyuce.mmoitems.comp.inventory.RPGInventoryHook;
|
||||
import net.Indyuce.mmoitems.comp.itemglow.ItemGlowListener;
|
||||
import net.Indyuce.mmoitems.comp.itemglow.NoGlowListener;
|
||||
import net.Indyuce.mmoitems.comp.mmocore.MMOCoreMMOLoader;
|
||||
import net.Indyuce.mmoitems.comp.mythicmobs.MythicMobsHook;
|
||||
import net.Indyuce.mmoitems.comp.placeholderapi.DefaultParser;
|
||||
import net.Indyuce.mmoitems.comp.placeholderapi.PlaceholderAPIParser;
|
||||
import net.Indyuce.mmoitems.comp.placeholderapi.PlaceholderParser;
|
||||
import net.Indyuce.mmoitems.comp.rpg.DefaultHook;
|
||||
import net.Indyuce.mmoitems.comp.rpg.RPGHandler;
|
||||
import net.Indyuce.mmoitems.gui.PluginInventory;
|
||||
import net.Indyuce.mmoitems.gui.listener.GuiListener;
|
||||
import net.Indyuce.mmoitems.listener.AdvancedWorkbenchListener;
|
||||
import net.Indyuce.mmoitems.listener.CustomDurability;
|
||||
import net.Indyuce.mmoitems.listener.DisableInteractions;
|
||||
import net.Indyuce.mmoitems.listener.ElementListener;
|
||||
import net.Indyuce.mmoitems.listener.ItemUse;
|
||||
import net.Indyuce.mmoitems.listener.PlayerListener;
|
||||
import net.Indyuce.mmoitems.listener.version.Listener_v1_13;
|
||||
import net.Indyuce.mmoitems.manager.AbilityManager;
|
||||
import net.Indyuce.mmoitems.manager.ConfigManager;
|
||||
import net.Indyuce.mmoitems.manager.CraftingManager;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager;
|
||||
import net.Indyuce.mmoitems.manager.DropTableManager;
|
||||
import net.Indyuce.mmoitems.manager.EntityManager;
|
||||
import net.Indyuce.mmoitems.manager.ItemManager;
|
||||
import net.Indyuce.mmoitems.manager.PluginUpdateManager;
|
||||
import net.Indyuce.mmoitems.manager.RecipeManager;
|
||||
import net.Indyuce.mmoitems.manager.SetManager;
|
||||
import net.Indyuce.mmoitems.manager.StatManager;
|
||||
import net.Indyuce.mmoitems.manager.TierManager;
|
||||
import net.Indyuce.mmoitems.manager.TypeManager;
|
||||
import net.Indyuce.mmoitems.manager.UpdaterManager;
|
||||
import net.Indyuce.mmoitems.manager.UpgradeManager;
|
||||
import net.Indyuce.mmoitems.version.ServerVersion;
|
||||
import net.Indyuce.mmoitems.version.SpigotPlugin;
|
||||
import net.Indyuce.mmoitems.version.nms.NMSHandler;
|
||||
|
||||
public class MMOItems extends JavaPlugin {
|
||||
public static MMOItems plugin;
|
||||
|
||||
private ServerVersion version;
|
||||
private RecipeManager recipeManager;
|
||||
private ConfigManager configManager;
|
||||
private StatManager statManager;
|
||||
private EntityManager entityManager;
|
||||
private DamageManager damageManager;
|
||||
private DropTableManager dropTableManager;
|
||||
private UpdaterManager itemUpdaterManager;
|
||||
private TypeManager typeManager;
|
||||
private TierManager tierManager;
|
||||
private ItemManager itemManager;
|
||||
private SetManager setManager;
|
||||
private UpgradeManager upgradeManager;
|
||||
private AbilityManager abilityManager = new AbilityManager();
|
||||
private CraftingManager stationRecipeManager = new CraftingManager();
|
||||
private PluginUpdateManager pluginUpdateManager = new PluginUpdateManager();
|
||||
|
||||
private RPGHandler rpgPlugin;
|
||||
private PlaceholderParser placeholderParser = new DefaultParser();
|
||||
private HologramSupport hologramSupport;
|
||||
private FlagPlugin flagPlugin = new DefaultFlags();
|
||||
private PlayerInventory inventory = new DefaultPlayerInventory();
|
||||
private NMSHandler nms;
|
||||
|
||||
public void onLoad() {
|
||||
plugin = this;
|
||||
version = new ServerVersion(Bukkit.getServer().getClass());
|
||||
|
||||
try {
|
||||
getLogger().log(Level.INFO, "Detected Bukkit Version: " + version.toString());
|
||||
nms = (NMSHandler) Class.forName("net.Indyuce.mmoitems.version.nms.NMSHandler_" + version.toString().substring(1)).newInstance();
|
||||
} catch (Exception e) {
|
||||
getLogger().log(Level.INFO, "Your server version is not compatible.");
|
||||
Bukkit.getPluginManager().disablePlugin(this);
|
||||
return;
|
||||
// nms = new NMSHandler_Reflection();
|
||||
}
|
||||
|
||||
try {
|
||||
if (getServer().getPluginManager().getPlugin("WorldGuard") != null && version.isStrictlyHigher(1, 12)) {
|
||||
flagPlugin = new WorldGuardFlags();
|
||||
getLogger().log(Level.INFO, "Hooked onto WorldGuard");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
getLogger().log(Level.WARNING, "Could not initialize support with WorldGuard 7+");
|
||||
}
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("MMOCore") != null)
|
||||
new MMOCoreMMOLoader();
|
||||
|
||||
saveDefaultConfig();
|
||||
statManager = new StatManager();
|
||||
typeManager = new TypeManager();
|
||||
}
|
||||
|
||||
public void onEnable() {
|
||||
new SpigotPlugin(39267, this).checkForUpdate();
|
||||
|
||||
new MMOItemsMetrics();
|
||||
|
||||
if (!getDataFolder().exists())
|
||||
getDataFolder().mkdir();
|
||||
|
||||
abilityManager.registerDefaultAbilities();
|
||||
abilityManager.stopRegistration();
|
||||
|
||||
configManager = new ConfigManager();
|
||||
itemManager = new ItemManager();
|
||||
tierManager = new TierManager();
|
||||
setManager = new SetManager();
|
||||
upgradeManager = new UpgradeManager();
|
||||
|
||||
getLogger().log(Level.INFO, "Loading crafting stations, please wait..");
|
||||
stationRecipeManager.reload();
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(entityManager = new EntityManager(), this);
|
||||
Bukkit.getPluginManager().registerEvents(damageManager = new DamageManager(), this);
|
||||
Bukkit.getPluginManager().registerEvents(dropTableManager = new DropTableManager(), this);
|
||||
Bukkit.getPluginManager().registerEvents(itemUpdaterManager = new UpdaterManager(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new ItemUse(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new PlayerListener(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new CustomDurability(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new DisableInteractions(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new GuiListener(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new ElementListener(), this);
|
||||
if (version.isStrictlyHigher(1, 12))
|
||||
Bukkit.getPluginManager().registerEvents(new Listener_v1_13(), this);
|
||||
|
||||
/*
|
||||
* this class implements the Listener, if the option
|
||||
* perm-effects-apply-on-move is enabled the loop will not apply perm
|
||||
* effects and this class will be registered as a listener. starts with
|
||||
* a 5s delay to let the other plugins time to load nicely
|
||||
*/
|
||||
Bukkit.getScheduler().runTaskTimer(this, () -> Bukkit.getOnlinePlayers().forEach(player -> PlayerData.get(player).updateEffects()), 100, 20);
|
||||
|
||||
/*
|
||||
* this tasks updates twice a second player inventories on the server.
|
||||
* allows now to use a glitchy itemEquipEvent. must be called after
|
||||
* loading the config since it checks for a config option
|
||||
*/
|
||||
Bukkit.getScheduler().runTaskTimer(this, () -> Bukkit.getOnlinePlayers().forEach(player -> PlayerData.get(player).checkForInventoryUpdate()), 100, getConfig().getInt("inventory-update-delay"));
|
||||
|
||||
if (!getConfig().getBoolean("disable-craftings.advanced"))
|
||||
Bukkit.getPluginManager().registerEvents(new AdvancedWorkbenchListener(), this);
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("Residence") != null) {
|
||||
flagPlugin = new ResidenceFlags();
|
||||
getLogger().log(Level.INFO, "Hooked onto Residence");
|
||||
}
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("RPGInventory") != null) {
|
||||
inventory = new RPGInventoryHook(this);
|
||||
getLogger().log(Level.INFO, "Hooked onto RPGInventory");
|
||||
}
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("AdvancedEnchantments") != null) {
|
||||
Bukkit.getPluginManager().registerEvents(new AdvancedEnchantmentsHook(), this);
|
||||
getLogger().log(Level.INFO, "Hooked onto AdvancedEnchantments");
|
||||
}
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("HolographicDisplays") != null) {
|
||||
hologramSupport = new HolographicDisplaysPlugin();
|
||||
getLogger().log(Level.INFO, "Hooked onto HolographicDisplays");
|
||||
} else if (Bukkit.getPluginManager().getPlugin("CMI") != null) {
|
||||
hologramSupport = new CMIPlugin();
|
||||
getLogger().log(Level.INFO, "Hooked onto CMI Holograms");
|
||||
} else if (Bukkit.getPluginManager().getPlugin("Holograms") != null) {
|
||||
hologramSupport = new HologramsPlugin();
|
||||
getLogger().log(Level.INFO, "Hooked onto Holograms");
|
||||
}
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
|
||||
getLogger().log(Level.INFO, "Hooked onto PlaceholderAPI");
|
||||
placeholderParser = new PlaceholderAPIParser();
|
||||
}
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("MythicMobs") != null) {
|
||||
Bukkit.getPluginManager().registerEvents(new MythicMobsHook(), this);
|
||||
getLogger().log(Level.INFO, "Hooked onto MythicMobs");
|
||||
}
|
||||
|
||||
if (getConfig().getBoolean("item-glow")) {
|
||||
if (Bukkit.getPluginManager().getPlugin("GlowAPI") != null && Bukkit.getPluginManager().getPlugin("PacketListenerApi") != null) {
|
||||
Bukkit.getPluginManager().registerEvents(new ItemGlowListener(), this);
|
||||
getLogger().log(Level.INFO, "Hooked onto GlowAPI (Item Glow)");
|
||||
} else
|
||||
Bukkit.getPluginManager().registerEvents(new NoGlowListener(), this);
|
||||
}
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("RealDualWield") != null) {
|
||||
Bukkit.getPluginManager().registerEvents(new RealDualWieldHook(), this);
|
||||
getLogger().log(Level.INFO, "Hooked onto RealDualWield");
|
||||
}
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("BossShopPro") != null) {
|
||||
|
||||
/*
|
||||
* runs async because of plugin loading order issues, this way it
|
||||
* only registers after BossShop is initialized
|
||||
*/
|
||||
Bukkit.getScheduler().runTaskAsynchronously(this, () -> {
|
||||
new MMOItemsRewardTypes().register();
|
||||
getLogger().log(Level.INFO, "Hooked onto BossShopPro (async)");
|
||||
});
|
||||
}
|
||||
|
||||
findRpgPlugin();
|
||||
|
||||
// compatibility with /reload
|
||||
Bukkit.getOnlinePlayers().forEach(player -> PlayerData.load(player));
|
||||
|
||||
// advanced recipes
|
||||
getLogger().log(Level.INFO, "Loading recipes, please wait...");
|
||||
recipeManager = new RecipeManager();
|
||||
|
||||
// commands
|
||||
getCommand("mmoitems").setExecutor(new MMOItemsCommand());
|
||||
getCommand("advancedworkbench").setExecutor(new AdvancedWorkbenchCommand());
|
||||
getCommand("updateitem").setExecutor(new UpdateItemCommand());
|
||||
|
||||
// tab completion
|
||||
getCommand("mmoitems").setTabCompleter(new MMOItemsCompletion());
|
||||
getCommand("updateitem").setTabCompleter(new UpdateItemCompletion());
|
||||
}
|
||||
|
||||
public void onDisable() {
|
||||
|
||||
// save player data
|
||||
PlayerData.getLoaded().forEach(data -> data.save());
|
||||
|
||||
// save item updater data
|
||||
ConfigFile updater = new ConfigFile("/dynamic", "updater");
|
||||
updater.getConfig().getKeys(false).forEach(key -> updater.getConfig().set(key, null));
|
||||
itemUpdaterManager.getDatas().forEach(data -> data.save(updater.getConfig()));
|
||||
updater.save();
|
||||
|
||||
// drop abandonned soulbound items
|
||||
SoulboundInfo.getAbandonnedInfo().forEach(info -> info.dropItems());
|
||||
|
||||
// close inventories
|
||||
for (Player player : Bukkit.getOnlinePlayers())
|
||||
if (player.getOpenInventory() != null && player.getOpenInventory().getTopInventory().getHolder() instanceof PluginInventory)
|
||||
player.closeInventory();
|
||||
}
|
||||
|
||||
public String getPrefix() {
|
||||
return ChatColor.YELLOW + "MI" + ChatColor.DARK_GRAY + "> " + ChatColor.GRAY;
|
||||
}
|
||||
|
||||
public File getJarFile() {
|
||||
return plugin.getFile();
|
||||
}
|
||||
|
||||
public CraftingManager getCrafting() {
|
||||
return stationRecipeManager;
|
||||
}
|
||||
|
||||
public UpdaterManager getUpdater() {
|
||||
return itemUpdaterManager;
|
||||
}
|
||||
|
||||
public SetManager getSets() {
|
||||
return setManager;
|
||||
}
|
||||
|
||||
public NMSHandler getNMS() {
|
||||
return nms;
|
||||
}
|
||||
|
||||
public FlagPlugin getFlags() {
|
||||
return flagPlugin;
|
||||
}
|
||||
|
||||
public void setFlags(FlagPlugin value) {
|
||||
flagPlugin = value;
|
||||
}
|
||||
|
||||
public RPGHandler getRPG() {
|
||||
return rpgPlugin;
|
||||
}
|
||||
|
||||
public void setRPG(RPGHandler handler) {
|
||||
rpgPlugin = handler;
|
||||
}
|
||||
|
||||
public PluginUpdateManager getUpdates() {
|
||||
return pluginUpdateManager;
|
||||
}
|
||||
|
||||
public PlayerInventory getInventory() {
|
||||
return inventory;
|
||||
}
|
||||
|
||||
public void setPlayerInventory(PlayerInventory value) {
|
||||
inventory = value;
|
||||
}
|
||||
|
||||
public ServerVersion getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public StatManager getStats() {
|
||||
return statManager;
|
||||
}
|
||||
|
||||
public TierManager getTiers() {
|
||||
return tierManager;
|
||||
}
|
||||
|
||||
public EntityManager getEntities() {
|
||||
return entityManager;
|
||||
}
|
||||
|
||||
public DamageManager getDamage() {
|
||||
return damageManager;
|
||||
}
|
||||
|
||||
public DropTableManager getDropTables() {
|
||||
return dropTableManager;
|
||||
}
|
||||
|
||||
public AbilityManager getAbilities() {
|
||||
return abilityManager;
|
||||
}
|
||||
|
||||
public RecipeManager getRecipes() {
|
||||
return recipeManager;
|
||||
}
|
||||
|
||||
public ConfigManager getLanguage() {
|
||||
return configManager;
|
||||
}
|
||||
|
||||
public TypeManager getTypes() {
|
||||
return typeManager;
|
||||
}
|
||||
|
||||
public UpgradeManager getUpgrades() {
|
||||
return upgradeManager;
|
||||
}
|
||||
|
||||
public PlaceholderParser getPlaceholderParser() {
|
||||
return placeholderParser;
|
||||
}
|
||||
|
||||
public HologramSupport getHolograms() {
|
||||
return hologramSupport;
|
||||
}
|
||||
|
||||
public ItemManager getItems() {
|
||||
return itemManager;
|
||||
}
|
||||
|
||||
public void findRpgPlugin() {
|
||||
if (rpgPlugin != null)
|
||||
return;
|
||||
|
||||
for (RPGHandler.PluginEnum plugin : RPGHandler.PluginEnum.values())
|
||||
if (Bukkit.getPluginManager().getPlugin(plugin.getName()) != null) {
|
||||
setRPG(plugin.load());
|
||||
getLogger().log(Level.INFO, "Hooked onto " + plugin.getName());
|
||||
return;
|
||||
}
|
||||
|
||||
setRPG(new DefaultHook());
|
||||
}
|
||||
|
||||
public boolean isBlacklisted(Material material) {
|
||||
return getConfig().getStringList("block-blacklist").contains(material.name());
|
||||
}
|
||||
|
||||
public void debug(Object... message) {
|
||||
if (!getConfig().getBoolean("debug"))
|
||||
return;
|
||||
|
||||
for (Object line : message) {
|
||||
getLogger().log(Level.INFO, "Debug> " + line.toString());
|
||||
Bukkit.getOnlinePlayers().forEach(online -> online.sendMessage(ChatColor.YELLOW + "Debug> " + ChatColor.WHITE + line.toString()));
|
||||
}
|
||||
}
|
||||
}
|
289
src/net/Indyuce/mmoitems/MMOUtils.java
Normal file
289
src/net/Indyuce/mmoitems/MMOUtils.java
Normal file
@ -0,0 +1,289 @@
|
||||
package net.Indyuce.mmoitems;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.attribute.Attribute;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import com.mojang.authlib.properties.Property;
|
||||
|
||||
import net.Indyuce.mmoitems.api.Type;
|
||||
import net.Indyuce.mmoitems.api.util.AltChar;
|
||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||
|
||||
public class MMOUtils {
|
||||
private static final Random random = new Random();
|
||||
|
||||
public static String getSkullTextureURL(ItemStack i) {
|
||||
try {
|
||||
ItemMeta meta = i.getItemMeta();
|
||||
Field profileField = meta.getClass().getDeclaredField("profile");
|
||||
profileField.setAccessible(true);
|
||||
Collection<Property> properties = ((GameProfile) profileField.get(i.getItemMeta())).getProperties().get("textures");
|
||||
Property property = properties.toArray(new Property[properties.size()])[0];
|
||||
return new String(Base64.decodeBase64(property.getValue())).replace("{textures:{SKIN:{url:\"", "").replace("\"}}}", "");
|
||||
} catch (Exception e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
public static String getProgressBar(double ratio, int n, String barChar) {
|
||||
String bar = "";
|
||||
for (int k = 0; k < n; k++)
|
||||
bar += barChar;
|
||||
return bar.substring(0, (int) (ratio * n)) + ChatColor.WHITE + bar.substring((int) (ratio * n));
|
||||
}
|
||||
|
||||
public static void giveOrDrop(Player player, ItemStack item) {
|
||||
for (ItemStack drop : player.getInventory().addItem(item).values())
|
||||
player.getWorld().dropItem(player.getLocation(), drop);
|
||||
}
|
||||
|
||||
// random offset between -a and a
|
||||
public static double rdm(double a) {
|
||||
return (random.nextDouble() - .5) * 2 * a;
|
||||
}
|
||||
|
||||
public static int getEffectDuration(PotionEffectType type) {
|
||||
|
||||
// confusion takes a lot of time to decay
|
||||
// night vision flashes your screen for the last 10sec of effect
|
||||
if (type.equals(PotionEffectType.NIGHT_VISION) || type.equals(PotionEffectType.CONFUSION))
|
||||
return 260;
|
||||
|
||||
// takes some time to decay
|
||||
if (type.equals(PotionEffectType.BLINDNESS))
|
||||
return 140;
|
||||
|
||||
// otherwise 4sec is high enough to maintain the effect even when the
|
||||
// server laggs
|
||||
return 80;
|
||||
}
|
||||
|
||||
public static String getDisplayName(ItemStack i) {
|
||||
if (!i.hasItemMeta())
|
||||
return MMOUtils.caseOnWords(i.getType().name().toLowerCase().replace("_", " "));
|
||||
return i.getItemMeta().hasDisplayName() ? i.getItemMeta().getDisplayName() : MMOUtils.caseOnWords(i.getType().name().toLowerCase().replace("_", " "));
|
||||
}
|
||||
|
||||
public static Integer[] getSocketSlots(List<String> lore) {
|
||||
List<Integer> list = new ArrayList<Integer>();
|
||||
for (int j = 0; j < lore.size(); j++)
|
||||
if (lore.get(j).equals(ItemStat.translate("empty-gem-socket").replace("#d", AltChar.diamond)))
|
||||
list.add(j);
|
||||
return list.toArray(new Integer[list.size()]);
|
||||
}
|
||||
|
||||
public static boolean twoHandedCase(Player player) {
|
||||
int normal = 0;
|
||||
int twoHanded = 0;
|
||||
for (ItemStack item : new ItemStack[] { player.getInventory().getItemInMainHand(), player.getInventory().getItemInOffHand() }) {
|
||||
if (item.getType() != Material.AIR)
|
||||
normal++;
|
||||
if (MMOItems.plugin.getNMS().getNBTItem(item).getBoolean("MMOITEMS_TWO_HANDED"))
|
||||
twoHanded++;
|
||||
}
|
||||
return twoHanded > 0 && normal > 1;
|
||||
}
|
||||
|
||||
public static String caseOnWords(String s) {
|
||||
StringBuilder builder = new StringBuilder(s);
|
||||
boolean isLastSpace = true;
|
||||
for (int i = 0; i < builder.length(); i++) {
|
||||
char ch = builder.charAt(i);
|
||||
if (isLastSpace && ch >= 'a' && ch <= 'z') {
|
||||
builder.setCharAt(i, (char) (ch + ('A' - 'a')));
|
||||
isLastSpace = false;
|
||||
} else if (ch != ' ')
|
||||
isLastSpace = false;
|
||||
else
|
||||
isLastSpace = true;
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
public static boolean isPluginItem(ItemStack item, boolean lore) {
|
||||
return item != null && item.getType() != Material.AIR && item.getItemMeta() != null && item.getItemMeta().getDisplayName() != null && (!lore || item.getItemMeta().getLore() != null);
|
||||
}
|
||||
|
||||
public static boolean isType(String s) {
|
||||
for (Type type : MMOItems.plugin.getTypes().getAll())
|
||||
if (type.getId().equalsIgnoreCase(s.replace("-", "_")))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void saturate(Player player, double saturation) {
|
||||
if (saturation > 0)
|
||||
player.setSaturation(Math.min(20, player.getSaturation() + (float) saturation));
|
||||
}
|
||||
|
||||
public static void feed(Player player, int feed) {
|
||||
if (feed > 0)
|
||||
player.setFoodLevel(Math.min(20, player.getFoodLevel() + feed));
|
||||
}
|
||||
|
||||
public static void heal(LivingEntity player, double heal) {
|
||||
if (heal > 0)
|
||||
player.setHealth(Math.min(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue(), player.getHealth() + heal));
|
||||
}
|
||||
|
||||
public static boolean canDamage(Player player, Entity target) {
|
||||
return canDamage(player, null, target);
|
||||
}
|
||||
|
||||
public static boolean canDamage(Entity target) {
|
||||
return canDamage(null, null, target);
|
||||
}
|
||||
|
||||
public static boolean canDamage(Player player, Location loc, Entity target) {
|
||||
|
||||
/*
|
||||
* cannot hit himself or non-living entities. careful, some entities are
|
||||
* weirdly considered as livingEntities like the armor stand. also check
|
||||
* if the entity is dead since a dying entity (dying effect takes some
|
||||
* time) can still be targeted but we dont want that
|
||||
*/
|
||||
if (target.equals(player) || !(target instanceof LivingEntity) || target instanceof ArmorStand || target.isDead())
|
||||
return false;
|
||||
|
||||
/*
|
||||
* can spam your console - an error message is sent each time an NPC
|
||||
* gets damaged since it is considered as a player.
|
||||
*/
|
||||
if (target.hasMetadata("NPC"))
|
||||
return false;
|
||||
|
||||
/*
|
||||
* the ability player damage option is cached for quicker access in the
|
||||
* config manager instance since it is used in runnables
|
||||
*/
|
||||
if (target instanceof Player && (!MMOItems.plugin.getLanguage().abilityPlayerDamage || !MMOItems.plugin.getFlags().isPvpAllowed(target.getLocation())))
|
||||
return false;
|
||||
|
||||
return loc == null ? true : MMOItems.plugin.getNMS().isInBoundingBox(target, loc);
|
||||
}
|
||||
|
||||
public static String intToRoman(int input) {
|
||||
if (input < 1 || input > 499)
|
||||
return ">499";
|
||||
|
||||
String s = "";
|
||||
while (input >= 400) {
|
||||
s += "CD";
|
||||
input -= 400;
|
||||
}
|
||||
while (input >= 100) {
|
||||
s += "C";
|
||||
input -= 100;
|
||||
}
|
||||
while (input >= 90) {
|
||||
s += "XC";
|
||||
input -= 90;
|
||||
}
|
||||
while (input >= 50) {
|
||||
s += "L";
|
||||
input -= 50;
|
||||
}
|
||||
while (input >= 40) {
|
||||
s += "XL";
|
||||
input -= 40;
|
||||
}
|
||||
while (input >= 10) {
|
||||
s += "X";
|
||||
input -= 10;
|
||||
}
|
||||
while (input >= 9) {
|
||||
s += "IX";
|
||||
input -= 9;
|
||||
}
|
||||
while (input >= 5) {
|
||||
s += "V";
|
||||
input -= 5;
|
||||
}
|
||||
while (input >= 4) {
|
||||
s += "IV";
|
||||
input -= 4;
|
||||
}
|
||||
while (input >= 1) {
|
||||
s += "I";
|
||||
input -= 1;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
public static double truncation(double x, int n) {
|
||||
double pow = Math.pow(10.0, n);
|
||||
return Math.floor(x * pow) / pow;
|
||||
}
|
||||
|
||||
public static Vector rotAxisX(Vector v, double a) {
|
||||
double y = v.getY() * Math.cos(a) - v.getZ() * Math.sin(a);
|
||||
double z = v.getY() * Math.sin(a) + v.getZ() * Math.cos(a);
|
||||
return v.setY(y).setZ(z);
|
||||
}
|
||||
|
||||
public static Vector rotAxisY(Vector v, double b) {
|
||||
double x = v.getX() * Math.cos(b) + v.getZ() * Math.sin(b);
|
||||
double z = v.getX() * -Math.sin(b) + v.getZ() * Math.cos(b);
|
||||
return v.setX(x).setZ(z);
|
||||
}
|
||||
|
||||
public static Vector rotAxisZ(Vector v, double c) {
|
||||
double x = v.getX() * Math.cos(c) - v.getY() * Math.sin(c);
|
||||
double y = v.getX() * Math.sin(c) + v.getY() * Math.cos(c);
|
||||
return v.setX(x).setY(y);
|
||||
}
|
||||
|
||||
public static Vector rotateFunc(Vector v, Location loc) {
|
||||
double yaw = loc.getYaw() / 180 * Math.PI;
|
||||
double pitch = loc.getPitch() / 180 * Math.PI;
|
||||
v = rotAxisX(v, pitch);
|
||||
v = rotAxisY(v, -yaw);
|
||||
return v;
|
||||
}
|
||||
|
||||
/*
|
||||
* method to get all entities surrounding a location. this method does not
|
||||
* take every entity in the world but rather takes all the entities from the
|
||||
* 9 chunks around the entity, so even if the location is at the border of a
|
||||
* chunk (worst case border of 4 chunks), the entity will still be included
|
||||
*/
|
||||
public static List<Entity> getNearbyChunkEntities(Location loc) {
|
||||
|
||||
/*
|
||||
* another method to save performance is if an entity bounding box
|
||||
* calculation is made twice in the same tick then the method does not
|
||||
* need to be called twice, it can utilize the same entity list since
|
||||
* the entities have not moved (e.g fireball which does 2+ calculations
|
||||
* per tick)
|
||||
*/
|
||||
List<Entity> entities = new ArrayList<>();
|
||||
|
||||
int cx = loc.getChunk().getX();
|
||||
int cz = loc.getChunk().getZ();
|
||||
|
||||
for (int x = -1; x < 2; x++)
|
||||
for (int z = -1; z < 2; z++)
|
||||
for (Entity entity : loc.getWorld().getChunkAt(cx + x, cz + z).getEntities())
|
||||
entities.add(entity);
|
||||
|
||||
return entities;
|
||||
}
|
||||
}
|
75
src/net/Indyuce/mmoitems/ability/Black_Hole.java
Normal file
75
src/net/Indyuce/mmoitems/ability/Black_Hole.java
Normal file
@ -0,0 +1,75 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Black_Hole extends Ability {
|
||||
public Black_Hole() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("radius", 2);
|
||||
addModifier("duration", 2);
|
||||
addModifier("cooldown", 35);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
Location loc = getTargetLocation(stats.getPlayer(), target);
|
||||
if (loc == null) {
|
||||
result.setSuccessful(false);
|
||||
return;
|
||||
}
|
||||
|
||||
double duration = data.getModifier("duration") * 20;
|
||||
double radius = data.getModifier("radius");
|
||||
|
||||
loc.getWorld().playSound(loc, VersionSound.ENTITY_ENDERMAN_TELEPORT.toSound(), 3, 1);
|
||||
new BukkitRunnable() {
|
||||
int ti = 0;
|
||||
double r = 4;
|
||||
|
||||
public void run() {
|
||||
if (ti++ > Math.min(300, duration))
|
||||
cancel();
|
||||
|
||||
loc.getWorld().playSound(loc, VersionSound.BLOCK_NOTE_BLOCK_HAT.toSound(), 2, 2);
|
||||
loc.getWorld().spawnParticle(Particle.EXPLOSION_LARGE, loc, 0);
|
||||
for (int j = 0; j < 3; j++) {
|
||||
double ran = random.nextDouble() * Math.PI * 2;
|
||||
double ran_y = random.nextDouble() * 2 - 1;
|
||||
double x = Math.cos(ran) * Math.sin(ran_y * Math.PI * 2);
|
||||
double z = Math.sin(ran) * Math.sin(ran_y * Math.PI * 2);
|
||||
Location loc1 = loc.clone().add(x * r, ran_y * r, z * r);
|
||||
Vector v = loc.toVector().subtract(loc1.toVector());
|
||||
loc1.getWorld().spawnParticle(Particle.SMOKE_LARGE, loc1, 0, v.getX(), v.getY(), v.getZ(), .1);
|
||||
}
|
||||
|
||||
for (Entity entity : MMOUtils.getNearbyChunkEntities(loc))
|
||||
if (entity.getLocation().distanceSquared(loc) < Math.pow(radius, 2) && MMOUtils.canDamage(stats.getPlayer(), entity))
|
||||
entity.setVelocity(normalizeIfNotNull(loc.clone().subtract(entity.getLocation()).toVector()).multiply(.5));
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* if the vector is null, you can't normalize it because you cannot divide
|
||||
* by 0.
|
||||
*/
|
||||
private Vector normalizeIfNotNull(Vector vector) {
|
||||
return vector.length() == 0 ? vector : vector.normalize();
|
||||
}
|
||||
}
|
38
src/net/Indyuce/mmoitems/ability/Blink.java
Normal file
38
src/net/Indyuce/mmoitems/ability/Blink.java
Normal file
@ -0,0 +1,38 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Blink extends Ability {
|
||||
public Blink() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("range", 8);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.EXPLOSION_LARGE, stats.getPlayer().getLocation().add(0, 1, 0), 0);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.SPELL_INSTANT, stats.getPlayer().getLocation().add(0, 1, 0), 32, 0, 0, 0, .1);
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), VersionSound.ENTITY_ENDERMAN_TELEPORT.toSound(), 1, 1);
|
||||
Location loc = stats.getPlayer().getTargetBlock((Set<Material>) null, (int) data.getModifier("range")).getLocation().add(0, 1, 0);
|
||||
loc.setYaw(stats.getPlayer().getLocation().getYaw());
|
||||
loc.setPitch(stats.getPlayer().getLocation().getPitch());
|
||||
stats.getPlayer().teleport(loc);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.EXPLOSION_LARGE, stats.getPlayer().getLocation().add(0, 1, 0), 0);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.SPELL_INSTANT, stats.getPlayer().getLocation().add(0, 1, 0), 32, 0, 0, 0, .1);
|
||||
}
|
||||
}
|
68
src/net/Indyuce/mmoitems/ability/Blizzard.java
Normal file
68
src/net/Indyuce/mmoitems/ability/Blizzard.java
Normal file
@ -0,0 +1,68 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Snowball;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
|
||||
public class Blizzard extends Ability implements Listener {
|
||||
public Blizzard() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("duration", 2.5);
|
||||
addModifier("damage", 2);
|
||||
addModifier("inaccuracy", 10);
|
||||
addModifier("force", 1);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double duration = data.getModifier("duration") * 10;
|
||||
double force = data.getModifier("force");
|
||||
double inaccuracy = data.getModifier("inaccuracy");
|
||||
|
||||
new BukkitRunnable() {
|
||||
int j = 0;
|
||||
double damage = data.getModifier("damage");
|
||||
|
||||
public void run() {
|
||||
j++;
|
||||
if (j > duration)
|
||||
cancel();
|
||||
|
||||
Location loc = stats.getPlayer().getEyeLocation();
|
||||
loc.setPitch((float) (loc.getPitch() + (random.nextDouble() - .5) * inaccuracy));
|
||||
loc.setYaw((float) (loc.getYaw() + (random.nextDouble() - .5) * inaccuracy));
|
||||
|
||||
loc.getWorld().playSound(loc, Sound.ENTITY_SNOWBALL_THROW, 1, 1);
|
||||
Snowball snowball = stats.getPlayer().launchProjectile(Snowball.class);
|
||||
snowball.setVelocity(loc.getDirection().multiply(1.3 * force));
|
||||
MMOItems.plugin.getEntities().registerCustomEntity(snowball, damage);
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 2);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void a(EntityDamageByEntityEvent event) {
|
||||
if (!(event.getDamager() instanceof Snowball))
|
||||
return;
|
||||
|
||||
Snowball snowball = (Snowball) event.getDamager();
|
||||
if (MMOItems.plugin.getEntities().isCustomEntity(snowball))
|
||||
event.setDamage((double) MMOItems.plugin.getEntities().getEntityData(snowball)[0]);
|
||||
}
|
||||
}
|
89
src/net/Indyuce/mmoitems/ability/Bouncy_Fireball.java
Normal file
89
src/net/Indyuce/mmoitems/ability/Bouncy_Fireball.java
Normal file
@ -0,0 +1,89 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
|
||||
public class Bouncy_Fireball extends Ability {
|
||||
public Bouncy_Fireball() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("cooldown", 20);
|
||||
addModifier("damage", 5);
|
||||
addModifier("ignite", 40);
|
||||
addModifier("speed", 1);
|
||||
addModifier("radius", 4);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), Sound.ENTITY_SNOWBALL_THROW, 2, 0);
|
||||
new BukkitRunnable() {
|
||||
int j = 0;
|
||||
Vector vec = getTargetDirection(stats.getPlayer(), target).setY(0).normalize().multiply(.5 * data.getModifier("speed"));
|
||||
Location loc = stats.getPlayer().getLocation().clone().add(0, 1.2, 0);
|
||||
int bounces = 0;
|
||||
|
||||
double y = .3;
|
||||
|
||||
public void run() {
|
||||
j++;
|
||||
if (j > 100) {
|
||||
loc.getWorld().spawnParticle(Particle.SMOKE_LARGE, loc, 32, 0, 0, 0, .05);
|
||||
loc.getWorld().playSound(loc, Sound.BLOCK_FIRE_EXTINGUISH, 1, 1);
|
||||
cancel();
|
||||
return;
|
||||
}
|
||||
|
||||
loc.add(vec);
|
||||
loc.add(0, y, 0);
|
||||
if (y > -.6)
|
||||
y -= .05;
|
||||
|
||||
loc.getWorld().spawnParticle(Particle.LAVA, loc, 0);
|
||||
loc.getWorld().spawnParticle(Particle.FLAME, loc, 4, 0, 0, 0, .03);
|
||||
loc.getWorld().spawnParticle(Particle.SMOKE_NORMAL, loc, 1, 0, 0, 0, .03);
|
||||
|
||||
if (loc.getBlock().getType().isSolid()) {
|
||||
loc.add(0, -y, 0);
|
||||
loc.add(vec.clone().multiply(-1));
|
||||
y = .4;
|
||||
bounces++;
|
||||
loc.getWorld().playSound(loc, Sound.ENTITY_BLAZE_HURT, 3, 2);
|
||||
}
|
||||
|
||||
if (bounces > 2) {
|
||||
double radius = data.getModifier("radius");
|
||||
double damage = data.getModifier("damage");
|
||||
double ignite = data.getModifier("ignite");
|
||||
|
||||
for (Entity entity : MMOUtils.getNearbyChunkEntities(loc))
|
||||
if (entity.getLocation().distanceSquared(loc) < radius * radius)
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), entity)) {
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) entity, damage, DamageType.MAGIC);
|
||||
((LivingEntity) entity).setFireTicks((int) (ignite * 20));
|
||||
}
|
||||
|
||||
loc.getWorld().spawnParticle(Particle.EXPLOSION_LARGE, loc, 12, 2, 2, 2, 0);
|
||||
loc.getWorld().spawnParticle(Particle.EXPLOSION_NORMAL, loc, 48, 0, 0, 0, .2);
|
||||
loc.getWorld().playSound(loc, Sound.ENTITY_GENERIC_EXPLODE, 3, 0);
|
||||
cancel();
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
80
src/net/Indyuce/mmoitems/ability/Bunny_Mode.java
Normal file
80
src/net/Indyuce/mmoitems/ability/Bunny_Mode.java
Normal file
@ -0,0 +1,80 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Bunny_Mode extends Ability implements Listener {
|
||||
private Map<UUID, Long> fallDamage = new HashMap<UUID, Long>();
|
||||
|
||||
public Bunny_Mode() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("duration", 20);
|
||||
addModifier("jump-force", 1);
|
||||
addModifier("cooldown", 50);
|
||||
addModifier("speed", 1);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double duration = data.getModifier("duration") * 20;
|
||||
double y = data.getModifier("jump-force");
|
||||
double xz = data.getModifier("speed");
|
||||
|
||||
new BukkitRunnable() {
|
||||
int j = 0;
|
||||
|
||||
public void run() {
|
||||
j++;
|
||||
if (j > duration)
|
||||
cancel();
|
||||
|
||||
if (stats.getPlayer().getLocation().add(0, -.5, 0).getBlock().getType().isSolid()) {
|
||||
stats.getPlayer().setVelocity(stats.getPlayer().getEyeLocation().getDirection().setY(0).normalize().multiply(.8 * xz).setY(0.5 * y / xz));
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), VersionSound.ENTITY_ENDER_DRAGON_FLAP.toSound(), 2, 1);
|
||||
for (double a = 0; a < Math.PI * 2; a += Math.PI / 12)
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.CLOUD, stats.getPlayer().getLocation(), 0, Math.cos(a), 0, Math.sin(a), .2);
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
|
||||
fallDamage.put(stats.getPlayer().getUniqueId(), (long) (System.currentTimeMillis() + duration * 100 + 3000));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void a(EntityDamageEvent event) {
|
||||
if (!(event.getEntity() instanceof Player) || event.getCause() != DamageCause.FALL)
|
||||
return;
|
||||
|
||||
Player player = (Player) event.getEntity();
|
||||
if (!fallDamage.containsKey(player.getUniqueId()))
|
||||
return;
|
||||
|
||||
if (fallDamage.get(player.getUniqueId()) > System.currentTimeMillis()) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
// clear player from map not to overload memory
|
||||
fallDamage.remove(player.getUniqueId());
|
||||
}
|
||||
}
|
66
src/net/Indyuce/mmoitems/ability/Burning_Hands.java
Normal file
66
src/net/Indyuce/mmoitems/ability/Burning_Hands.java
Normal file
@ -0,0 +1,66 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
|
||||
public class Burning_Hands extends Ability implements Listener {
|
||||
public Burning_Hands() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("duration", 3);
|
||||
addModifier("damage", 2);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double duration = data.getModifier("duration") * 10;
|
||||
double damage1 = data.getModifier("damage") / 2;
|
||||
|
||||
new BukkitRunnable() {
|
||||
int j = 0;
|
||||
|
||||
public void run() {
|
||||
j++;
|
||||
if (j > duration)
|
||||
cancel();
|
||||
|
||||
Location loc = stats.getPlayer().getLocation().add(0, 1.2, 0);
|
||||
loc.getWorld().playSound(loc, Sound.BLOCK_FIRE_AMBIENT, 1, 1);
|
||||
|
||||
for (double m = -45; m < 45; m += 5) {
|
||||
double a = (m + stats.getPlayer().getEyeLocation().getYaw() + 90) * Math.PI / 180;
|
||||
Vector vec = new Vector(Math.cos(a), (random.nextDouble() - .5) * .2, Math.sin(a));
|
||||
Location source = loc.clone().add(vec.clone().setY(0));
|
||||
source.getWorld().spawnParticle(Particle.FLAME, source, 0, vec.getX(), vec.getY(), vec.getZ(), .5);
|
||||
if (j % 2 == 0)
|
||||
source.getWorld().spawnParticle(Particle.SMOKE_NORMAL, source, 0, vec.getX(), vec.getY(), vec.getZ(), .5);
|
||||
}
|
||||
|
||||
if (j % 5 == 0)
|
||||
for (Entity entity : MMOUtils.getNearbyChunkEntities(loc))
|
||||
if (entity.getLocation().distanceSquared(loc) < 60)
|
||||
if (stats.getPlayer().getEyeLocation().getDirection().angle(entity.getLocation().toVector().subtract(stats.getPlayer().getLocation().toVector())) < Math.PI / 6)
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), entity))
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) entity, damage1, DamageType.MAGIC);
|
||||
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 2);
|
||||
}
|
||||
}
|
67
src/net/Indyuce/mmoitems/ability/Chicken_Wraith.java
Normal file
67
src/net/Indyuce/mmoitems/ability/Chicken_Wraith.java
Normal file
@ -0,0 +1,67 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Egg;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
|
||||
public class Chicken_Wraith extends Ability implements Listener {
|
||||
public Chicken_Wraith() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("duration", 2.5);
|
||||
addModifier("damage", 2);
|
||||
addModifier("inaccuracy", 10);
|
||||
addModifier("force", 1);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double duration = data.getModifier("duration") * 10;
|
||||
double force = data.getModifier("force");
|
||||
double inaccuracy = data.getModifier("inaccuracy");
|
||||
|
||||
new BukkitRunnable() {
|
||||
int j = 0;
|
||||
double damage = data.getModifier("damage");
|
||||
|
||||
public void run() {
|
||||
j++;
|
||||
if (j > duration)
|
||||
cancel();
|
||||
|
||||
Location loc = stats.getPlayer().getEyeLocation();
|
||||
loc.setPitch((float) (loc.getPitch() + (random.nextDouble() - .5) * inaccuracy));
|
||||
loc.setYaw((float) (loc.getYaw() + (random.nextDouble() - .5) * inaccuracy));
|
||||
|
||||
loc.getWorld().playSound(loc, Sound.ENTITY_CHICKEN_EGG, 1, 1);
|
||||
Egg snowball = stats.getPlayer().launchProjectile(Egg.class);
|
||||
snowball.setVelocity(loc.getDirection().multiply(1.3 * force));
|
||||
MMOItems.plugin.getEntities().registerCustomEntity(snowball, damage);
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 2);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void a(EntityDamageByEntityEvent event) {
|
||||
if (!(event.getDamager() instanceof Egg))
|
||||
return;
|
||||
|
||||
Egg egg = (Egg) event.getDamager();
|
||||
if (MMOItems.plugin.getEntities().isCustomEntity(egg))
|
||||
event.setDamage((double) MMOItems.plugin.getEntities().getEntityData(egg)[0]);
|
||||
}
|
||||
}
|
58
src/net/Indyuce/mmoitems/ability/Circular_Slash.java
Normal file
58
src/net/Indyuce/mmoitems/ability/Circular_Slash.java
Normal file
@ -0,0 +1,58 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
|
||||
public class Circular_Slash extends Ability {
|
||||
public Circular_Slash() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("damage", 6);
|
||||
addModifier("radius", 3);
|
||||
addModifier("knockback", 1);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double damage1 = data.getModifier("damage");
|
||||
double radius = data.getModifier("radius");
|
||||
double knockback = data.getModifier("knockback");
|
||||
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), Sound.ENTITY_ZOMBIE_ATTACK_IRON_DOOR, 2, .5f);
|
||||
stats.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 2, 254));
|
||||
for (Entity entity : stats.getPlayer().getNearbyEntities(radius, radius, radius)) {
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), entity)) {
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) entity, damage1, DamageType.PHYSICAL);
|
||||
Vector v1 = entity.getLocation().toVector();
|
||||
Vector v2 = stats.getPlayer().getLocation().toVector();
|
||||
double y = .5;
|
||||
Vector v3 = v1.subtract(v2).multiply(.5 * knockback).setY(knockback == 0 ? 0 : y);
|
||||
entity.setVelocity(v3);
|
||||
}
|
||||
}
|
||||
double step = 12 + (radius * 2.5);
|
||||
for (double j = 0; j < Math.PI * 2; j += Math.PI / step) {
|
||||
Location loc = stats.getPlayer().getLocation().clone();
|
||||
loc.add(Math.cos(j) * radius, .75, Math.sin(j) * radius);
|
||||
loc.getWorld().spawnParticle(Particle.SMOKE_LARGE, loc, 0);
|
||||
}
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.EXPLOSION_LARGE, stats.getPlayer().getLocation().add(0, 1, 0), 0);
|
||||
}
|
||||
}
|
68
src/net/Indyuce/mmoitems/ability/Contamination.java
Normal file
68
src/net/Indyuce/mmoitems/ability/Contamination.java
Normal file
@ -0,0 +1,68 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Contamination extends Ability {
|
||||
public Contamination() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("damage", 2);
|
||||
addModifier("duration", 8);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
Location loc = getTargetLocation(stats.getPlayer(), target);
|
||||
if (loc == null) {
|
||||
result.setSuccessful(false);
|
||||
return;
|
||||
}
|
||||
|
||||
double duration = Math.min(30, data.getModifier("duration")) * 20;
|
||||
|
||||
loc.add(0, .1, 0);
|
||||
new BukkitRunnable() {
|
||||
double ti = 0;
|
||||
int j = 0;
|
||||
double dps = data.getModifier("damage") / 2;
|
||||
|
||||
public void run() {
|
||||
j++;
|
||||
if (j >= duration)
|
||||
cancel();
|
||||
|
||||
MMOItems.plugin.getVersion().getVersionWrapper().spawnParticle(Particle.REDSTONE, loc.clone().add(Math.cos(ti / 3) * 5, 0, Math.sin(ti / 3) * 5), Color.PURPLE);
|
||||
for (int j = 0; j < 3; j++) {
|
||||
ti += Math.PI / 32;
|
||||
double r = Math.sin(ti / 2) * 4;
|
||||
for (double k = 0; k < Math.PI * 2; k += Math.PI * 2 / 3)
|
||||
loc.getWorld().spawnParticle(Particle.SPELL_WITCH, loc.clone().add(r * Math.cos(k + ti / 4), 0, r * Math.sin(k + ti / 4)), 0);
|
||||
}
|
||||
|
||||
if (j % 10 == 0) {
|
||||
loc.getWorld().playSound(loc, VersionSound.ENTITY_ENDERMAN_HURT.toSound(), 2, 1);
|
||||
for (Entity entity : MMOUtils.getNearbyChunkEntities(loc))
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), entity) && entity.getLocation().distanceSquared(loc) <= 25)
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) entity, dps, DamageType.MAGIC, false);
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
61
src/net/Indyuce/mmoitems/ability/Corrupt.java
Normal file
61
src/net/Indyuce/mmoitems/ability/Corrupt.java
Normal file
@ -0,0 +1,61 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Corrupt extends Ability {
|
||||
public Corrupt() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("damage", 8);
|
||||
addModifier("duration", 4);
|
||||
addModifier("amplifier", 1);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
Location loc = getTargetLocation(stats.getPlayer(), target);
|
||||
if (loc == null) {
|
||||
result.setSuccessful(false);
|
||||
return;
|
||||
}
|
||||
|
||||
double damage1 = data.getModifier("damage");
|
||||
double duration = data.getModifier("duration");
|
||||
double amplifier = data.getModifier("amplifier");
|
||||
double radius = 2.7;
|
||||
|
||||
loc.add(0, -1, 0);
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), VersionSound.ENTITY_ENDERMAN_HURT.toSound(), 1, .5f);
|
||||
for (double j = 0; j < Math.PI * 2; j += Math.PI / 36) {
|
||||
Location loc1 = loc.clone().add(Math.cos(j) * radius, 1, Math.sin(j) * radius);
|
||||
double y_max = .5 + random.nextDouble();
|
||||
for (double y = 0; y < y_max; y += .1)
|
||||
MMOItems.plugin.getVersion().getVersionWrapper().spawnParticle(Particle.REDSTONE, loc1.clone().add(0, y, 0), Color.PURPLE);
|
||||
}
|
||||
|
||||
for (Entity entity : MMOUtils.getNearbyChunkEntities(loc))
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), entity) && entity.getLocation().distanceSquared(loc) <= radius * radius) {
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) entity, damage1, DamageType.MAGIC);
|
||||
((LivingEntity) entity).removePotionEffect(PotionEffectType.WITHER);
|
||||
((LivingEntity) entity).addPotionEffect(new PotionEffect(PotionEffectType.WITHER, (int) (duration * 20), (int) amplifier));
|
||||
}
|
||||
}
|
||||
}
|
69
src/net/Indyuce/mmoitems/ability/Corrupted_Fangs.java
Normal file
69
src/net/Indyuce/mmoitems/ability/Corrupted_Fangs.java
Normal file
@ -0,0 +1,69 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.EvokerFangs;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
|
||||
public class Corrupted_Fangs extends Ability implements Listener {
|
||||
public Corrupted_Fangs() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("damage", 5);
|
||||
addModifier("cooldown", 12);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double damage1 = data.getModifier("damage");
|
||||
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), Sound.ENTITY_WITHER_SHOOT, 2, 2);
|
||||
new BukkitRunnable() {
|
||||
Vector vec = getTargetDirection(stats.getPlayer(), target).setY(0).multiply(2);
|
||||
Location loc = stats.getPlayer().getLocation();
|
||||
double ti = 0;
|
||||
|
||||
public void run() {
|
||||
ti += 2;
|
||||
loc.add(vec);
|
||||
|
||||
EvokerFangs evokerFangs = (EvokerFangs) stats.getPlayer().getWorld().spawnEntity(loc, EntityType.EVOKER_FANGS);
|
||||
MMOItems.plugin.getEntities().registerCustomEntity(evokerFangs, stats, damage1);
|
||||
|
||||
if (ti > 12)
|
||||
cancel();
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void a(EntityDamageByEntityEvent event) {
|
||||
if (event.getDamager() instanceof EvokerFangs && event.getEntity() instanceof LivingEntity) {
|
||||
EvokerFangs damager = (EvokerFangs) event.getDamager();
|
||||
if (!MMOItems.plugin.getEntities().isCustomEntity(damager))
|
||||
return;
|
||||
|
||||
event.setCancelled(true);
|
||||
Object[] data = MMOItems.plugin.getEntities().getEntityData(damager);
|
||||
TemporaryStats stats = (TemporaryStats) data[0];
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), event.getEntity()))
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) event.getEntity(), (double) data[1], DamageType.MAGIC);
|
||||
}
|
||||
}
|
||||
}
|
98
src/net/Indyuce/mmoitems/ability/Cursed_Beam.java
Normal file
98
src/net/Indyuce/mmoitems/ability/Cursed_Beam.java
Normal file
@ -0,0 +1,98 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Cursed_Beam extends Ability {
|
||||
public Cursed_Beam() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("damage", 8);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("duration", 5);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double duration = data.getModifier("duration");
|
||||
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), Sound.ENTITY_WITHER_SHOOT, 2, 2);
|
||||
new BukkitRunnable() {
|
||||
Vector dir = getTargetDirection(stats.getPlayer(), target).multiply(.3);
|
||||
Location loc = stats.getPlayer().getEyeLocation().clone();
|
||||
double r = 0.4;
|
||||
int ti = 0;
|
||||
|
||||
public void run() {
|
||||
ti++;
|
||||
if (ti > 50)
|
||||
cancel();
|
||||
|
||||
List<Entity> entities = MMOUtils.getNearbyChunkEntities(loc);
|
||||
for (double j = 0; j < 4; j++) {
|
||||
loc.add(dir);
|
||||
for (double i = 0; i < Math.PI * 2; i += Math.PI / 6) {
|
||||
Vector vec = MMOUtils.rotateFunc(new Vector(r * Math.cos(i), r * Math.sin(i), 0), loc);
|
||||
loc.add(vec);
|
||||
loc.getWorld().spawnParticle(Particle.SPELL_WITCH, loc, 0);
|
||||
loc.add(vec.multiply(-1));
|
||||
}
|
||||
|
||||
for (Entity target : entities)
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), loc, target)) {
|
||||
effect(target);
|
||||
double damage = data.getModifier("damage");
|
||||
loc.getWorld().playSound(loc, VersionSound.ENTITY_ENDERMAN_TELEPORT.toSound(), 2, .7f);
|
||||
|
||||
for (Entity aoeTarget : entities)
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), target) && loc.distanceSquared(aoeTarget.getLocation().add(0, 1, 0)) < 9) {
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) aoeTarget, damage, DamageType.MAGIC);
|
||||
((LivingEntity) aoeTarget).addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, (int) (duration * 20), 0));
|
||||
}
|
||||
cancel();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
|
||||
private void effect(Entity ent) {
|
||||
new BukkitRunnable() {
|
||||
final Location loc2 = ent.getLocation();
|
||||
double y = 0;
|
||||
|
||||
public void run() {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
y += .05;
|
||||
for (int j = 0; j < 2; j++) {
|
||||
double xz = y * Math.PI * .8 + (j * Math.PI);
|
||||
loc2.getWorld().spawnParticle(Particle.SPELL_WITCH, loc2.clone().add(Math.cos(xz) * 2.5, y, Math.sin(xz) * 2.5), 0);
|
||||
}
|
||||
}
|
||||
if (y >= 3)
|
||||
cancel();
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
71
src/net/Indyuce/mmoitems/ability/Earthquake.java
Normal file
71
src/net/Indyuce/mmoitems/ability/Earthquake.java
Normal file
@ -0,0 +1,71 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
|
||||
public class Earthquake extends Ability {
|
||||
public Earthquake() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("damage", 3);
|
||||
addModifier("duration", 2);
|
||||
addModifier("amplifier", 1);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
if (!stats.getPlayer().isOnGround()) {
|
||||
result.setSuccessful(false);
|
||||
return;
|
||||
}
|
||||
|
||||
double damage1 = data.getModifier("damage");
|
||||
double slowDuration = data.getModifier("duration");
|
||||
double slowAmplifier = data.getModifier("amplifier");
|
||||
|
||||
new BukkitRunnable() {
|
||||
Vector vec = getTargetDirection(stats.getPlayer(), target).setY(0);
|
||||
Location loc = stats.getPlayer().getLocation();
|
||||
int ti = 0;
|
||||
List<Integer> hit = new ArrayList<>();
|
||||
|
||||
public void run() {
|
||||
ti++;
|
||||
if (ti > 20)
|
||||
cancel();
|
||||
|
||||
loc.add(vec);
|
||||
loc.getWorld().spawnParticle(Particle.CLOUD, loc, 5, .5, 0, .5, 0);
|
||||
loc.getWorld().playSound(loc, Sound.BLOCK_GRAVEL_BREAK, 2, 1);
|
||||
|
||||
for (Entity entity : MMOUtils.getNearbyChunkEntities(loc))
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), entity) && loc.distanceSquared(entity.getLocation()) < 2 && !hit.contains(entity.getEntityId())) {
|
||||
hit.add(entity.getEntityId());
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) entity, damage1, DamageType.MAGIC);
|
||||
((LivingEntity) entity).addPotionEffect(new PotionEffect(PotionEffectType.SLOW, (int) (slowDuration * 20), (int) slowAmplifier));
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
84
src/net/Indyuce/mmoitems/ability/Explosive_Turkey.java
Normal file
84
src/net/Indyuce/mmoitems/ability/Explosive_Turkey.java
Normal file
@ -0,0 +1,84 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Chicken;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
|
||||
public class Explosive_Turkey extends Ability {
|
||||
public Explosive_Turkey() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("damage", 6);
|
||||
addModifier("radius", 4);
|
||||
addModifier("knockback", 1);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double damage1 = data.getModifier("damage");
|
||||
double radiusSquared = Math.pow(data.getModifier("radius"), 2);
|
||||
double knockback = data.getModifier("knockback");
|
||||
|
||||
final Chicken chicken = (Chicken) stats.getPlayer().getWorld().spawnEntity(stats.getPlayer().getLocation().add(0, 1.3, 0), EntityType.CHICKEN);
|
||||
chicken.setInvulnerable(true);
|
||||
|
||||
/*
|
||||
* when items are moving through the air, they loose a percent of their
|
||||
* velocity proportionally to their coordinates in each axis. this means
|
||||
* that if the trajectory is not affected, the ratio of x/y will always
|
||||
* be the same. check for any change of that ratio to check for a
|
||||
* trajectory change
|
||||
*/
|
||||
Vector vec = stats.getPlayer().getEyeLocation().getDirection().clone().multiply(.6);
|
||||
chicken.setVelocity(vec);
|
||||
final double trajRatio = chicken.getVelocity().getX() / chicken.getVelocity().getZ();
|
||||
|
||||
new BukkitRunnable() {
|
||||
double ti = 0;
|
||||
|
||||
public void run() {
|
||||
if (ti++ > 40 || chicken.isDead() || chicken == null) {
|
||||
chicken.remove();
|
||||
cancel();
|
||||
return;
|
||||
}
|
||||
|
||||
if (ti % 4 == 0)
|
||||
chicken.getWorld().playSound(chicken.getLocation(), Sound.ENTITY_CHICKEN_HURT, 2, 1);
|
||||
chicken.getWorld().spawnParticle(Particle.EXPLOSION_NORMAL, chicken.getLocation().add(0, .3, 0), 0);
|
||||
chicken.getWorld().spawnParticle(Particle.FIREWORKS_SPARK, chicken.getLocation().add(0, .3, 0), 1, 0, 0, 0, .05);
|
||||
double currentTrajRatio = chicken.getVelocity().getX() / chicken.getVelocity().getZ();
|
||||
if (chicken.isOnGround() || Math.abs(trajRatio - currentTrajRatio) > .1) {
|
||||
chicken.remove();
|
||||
chicken.getWorld().spawnParticle(Particle.FIREWORKS_SPARK, chicken.getLocation().add(0, .3, 0), 128, 0, 0, 0, .25);
|
||||
chicken.getWorld().spawnParticle(Particle.EXPLOSION_NORMAL, chicken.getLocation().add(0, .3, 0), 24, 0, 0, 0, .25);
|
||||
chicken.getWorld().playSound(chicken.getLocation(), Sound.ENTITY_GENERIC_EXPLODE, 2, 1.5f);
|
||||
for (Entity entity : MMOUtils.getNearbyChunkEntities(chicken.getLocation()))
|
||||
if (!entity.isDead() && entity.getLocation().distanceSquared(chicken.getLocation()) < radiusSquared && MMOUtils.canDamage(stats.getPlayer(), entity)) {
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) entity, damage1, DamageType.MAGIC);
|
||||
entity.setVelocity(entity.getLocation().toVector().subtract(chicken.getLocation().toVector()).multiply(.1 * knockback).setY(.4 * knockback));
|
||||
}
|
||||
cancel();
|
||||
return;
|
||||
}
|
||||
chicken.setVelocity(vec);
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
68
src/net/Indyuce/mmoitems/ability/Fire_Meteor.java
Normal file
68
src/net/Indyuce/mmoitems/ability/Fire_Meteor.java
Normal file
@ -0,0 +1,68 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Fire_Meteor extends Ability {
|
||||
public Fire_Meteor() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("damage", 6);
|
||||
addModifier("knockback", 1);
|
||||
addModifier("radius", 4);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), VersionSound.ENTITY_ENDERMAN_TELEPORT.toSound(), 3, 1);
|
||||
new BukkitRunnable() {
|
||||
double ti = 0;
|
||||
Location loc = stats.getPlayer().getLocation().clone().add(0, 10, 0);
|
||||
Vector vec = getTargetDirection(stats.getPlayer(), target).multiply(1.3).setY(-1).normalize();
|
||||
|
||||
public void run() {
|
||||
ti++;
|
||||
if (ti > 40)
|
||||
cancel();
|
||||
|
||||
loc.add(vec);
|
||||
loc.getWorld().spawnParticle(Particle.EXPLOSION_LARGE, loc, 0);
|
||||
loc.getWorld().spawnParticle(Particle.FLAME, loc, 4, .2, .2, .2, 0);
|
||||
if (loc.getBlock().getRelative(BlockFace.DOWN).getType().isSolid() || loc.getBlock().getType().isSolid()) {
|
||||
loc.getWorld().playSound(loc, Sound.ENTITY_GENERIC_EXPLODE, 3, .6f);
|
||||
loc.getWorld().spawnParticle(Particle.EXPLOSION_LARGE, loc, 10, 2, 2, 2, 0);
|
||||
loc.getWorld().spawnParticle(Particle.EXPLOSION_NORMAL, loc, 32, 0, 0, 0, .3);
|
||||
loc.getWorld().spawnParticle(Particle.FLAME, loc, 32, 0, 0, 0, .3);
|
||||
|
||||
double damage1 = data.getModifier("damage");
|
||||
double knockback = data.getModifier("knockback");
|
||||
double radius = data.getModifier("radius");
|
||||
for (Entity entity : loc.getWorld().getEntitiesByClass(LivingEntity.class))
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), entity) && entity.getLocation().distanceSquared(loc) < radius * radius) {
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) entity, damage1, DamageType.MAGIC);
|
||||
entity.setVelocity(entity.getLocation().toVector().subtract(loc.toVector()).multiply(.1 * knockback).setY(.4 * knockback));
|
||||
}
|
||||
cancel();
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
71
src/net/Indyuce/mmoitems/ability/Firebolt.java
Normal file
71
src/net/Indyuce/mmoitems/ability/Firebolt.java
Normal file
@ -0,0 +1,71 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Firebolt extends Ability {
|
||||
public Firebolt() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("damage", 6);
|
||||
addModifier("ignite", 3);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), VersionSound.ENTITY_FIREWORK_ROCKET_BLAST.toSound(), 1, 1);
|
||||
new BukkitRunnable() {
|
||||
Vector vec = getTargetDirection(stats.getPlayer(), target).multiply(.8);
|
||||
Location loc = stats.getPlayer().getEyeLocation();
|
||||
int ti = 0;
|
||||
|
||||
public void run() {
|
||||
ti++;
|
||||
if (ti > 20)
|
||||
cancel();
|
||||
|
||||
List<Entity> entities = MMOUtils.getNearbyChunkEntities(loc);
|
||||
loc.getWorld().playSound(loc, Sound.BLOCK_FIRE_AMBIENT, 2, 1);
|
||||
for (int j = 0; j < 2; j++) {
|
||||
loc.add(vec);
|
||||
if (loc.getBlock().getType().isSolid())
|
||||
cancel();
|
||||
|
||||
loc.getWorld().spawnParticle(Particle.FLAME, loc, 5, .12, .12, .12, 0);
|
||||
if (random.nextDouble() < .3)
|
||||
loc.getWorld().spawnParticle(Particle.LAVA, loc, 0);
|
||||
for (Entity target : entities)
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), loc, target)) {
|
||||
loc.getWorld().spawnParticle(Particle.FLAME, loc, 32, 0, 0, 0, .1);
|
||||
loc.getWorld().spawnParticle(Particle.LAVA, loc, 8, 0, 0, 0, 0);
|
||||
loc.getWorld().spawnParticle(Particle.EXPLOSION_LARGE, loc, 0);
|
||||
loc.getWorld().playSound(loc, Sound.ENTITY_GENERIC_EXPLODE, 3, 1);
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) target, data.getModifier("damage"), DamageType.MAGIC);
|
||||
target.setFireTicks((int) data.getModifier("ignite") * 20);
|
||||
cancel();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
86
src/net/Indyuce/mmoitems/ability/Firefly.java
Normal file
86
src/net/Indyuce/mmoitems/ability/Firefly.java
Normal file
@ -0,0 +1,86 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Firefly extends Ability {
|
||||
public Firefly() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("damage", 6);
|
||||
addModifier("duration", 2.5);
|
||||
addModifier("knockback", 1);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double duration = data.getModifier("duration") * 20;
|
||||
|
||||
new BukkitRunnable() {
|
||||
int j = 0;
|
||||
|
||||
public void run() {
|
||||
j++;
|
||||
if (j > duration)
|
||||
cancel();
|
||||
|
||||
if (stats.getPlayer().getLocation().getBlock().getType() == Material.WATER) {
|
||||
stats.getPlayer().setVelocity(stats.getPlayer().getVelocity().multiply(3).setY(1.8));
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), Sound.BLOCK_FIRE_EXTINGUISH, 1, .5f);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.EXPLOSION_NORMAL, stats.getPlayer().getLocation().add(0, 1, 0), 32, 0, 0, 0, .2);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.CLOUD, stats.getPlayer().getLocation().add(0, 1, 0), 32, 0, 0, 0, .2);
|
||||
cancel();
|
||||
return;
|
||||
}
|
||||
|
||||
for (Entity entity : stats.getPlayer().getNearbyEntities(1, 1, 1))
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), entity)) {
|
||||
double damage = data.getModifier("damage");
|
||||
double knockback = data.getModifier("knockback");
|
||||
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), Sound.ENTITY_ZOMBIE_ATTACK_IRON_DOOR, 1, .5f);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.LAVA, stats.getPlayer().getLocation().add(0, 1, 0), 32);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.SMOKE_LARGE, stats.getPlayer().getLocation().add(0, 1, 0), 24, 0, 0, 0, .3);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.FLAME, stats.getPlayer().getLocation().add(0, 1, 0), 24, 0, 0, 0, .3);
|
||||
entity.setVelocity(stats.getPlayer().getVelocity().setY(0.3).multiply(1.7 * knockback));
|
||||
stats.getPlayer().setVelocity(stats.getPlayer().getEyeLocation().getDirection().multiply(-3).setY(.5));
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) entity, damage, DamageType.MAGIC);
|
||||
cancel();
|
||||
return;
|
||||
}
|
||||
|
||||
Location loc = stats.getPlayer().getLocation().add(0, 1, 0);
|
||||
for (double a = 0; a < Math.PI * 2; a += Math.PI / 9) {
|
||||
Vector vec = new Vector(.6 * Math.cos(a), .6 * Math.sin(a), 0);
|
||||
vec = MMOUtils.rotateFunc(vec, loc);
|
||||
loc.add(vec);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.SMOKE_NORMAL, loc, 0);
|
||||
if (random.nextDouble() < .3)
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.FLAME, loc, 0);
|
||||
loc.add(vec.multiply(-1));
|
||||
}
|
||||
|
||||
stats.getPlayer().setVelocity(stats.getPlayer().getEyeLocation().getDirection());
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), VersionSound.ENTITY_FIREWORK_ROCKET_BLAST.toSound(), 1, 1);
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
77
src/net/Indyuce/mmoitems/ability/Freezing_Curse.java
Normal file
77
src/net/Indyuce/mmoitems/ability/Freezing_Curse.java
Normal file
@ -0,0 +1,77 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.manager.DamageManager.DamageType;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Freezing_Curse extends Ability {
|
||||
public Freezing_Curse() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("cooldown", 7);
|
||||
addModifier("duration", 3);
|
||||
addModifier("damage", 3);
|
||||
addModifier("radius", 3);
|
||||
addModifier("amplifier", 1);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
Location loc = getTargetLocation(stats.getPlayer(), target);
|
||||
if (loc == null) {
|
||||
result.setSuccessful(false);
|
||||
return;
|
||||
}
|
||||
|
||||
new BukkitRunnable() {
|
||||
final double rads = Math.toRadians(stats.getPlayer().getEyeLocation().getYaw() - 90);
|
||||
double ti = rads;
|
||||
int j = 0;
|
||||
|
||||
public void run() {
|
||||
|
||||
if (j++ % 2 == 0)
|
||||
loc.getWorld().playSound(loc, VersionSound.BLOCK_NOTE_BLOCK_PLING.toSound(), 2, (float) (.5 + ((ti - rads) / (Math.PI * 2) * 1.5)));
|
||||
for (int j = 0; j < 2; j++) {
|
||||
ti += Math.PI / 32;
|
||||
loc.getWorld().spawnParticle(Particle.SPELL_INSTANT, loc.clone().add(Math.cos(ti) * 3, .1, Math.sin(ti) * 3), 0);
|
||||
}
|
||||
|
||||
if (ti > Math.PI * 2 + rads) {
|
||||
loc.getWorld().playSound(loc, Sound.BLOCK_GLASS_BREAK, 3, .5f);
|
||||
|
||||
for (double j = 0; j < Math.PI * 2; j += Math.PI / 32)
|
||||
loc.getWorld().spawnParticle(Particle.CLOUD, loc.clone().add(Math.cos(j) * 3, .1, Math.sin(j) * 3), 0);
|
||||
|
||||
double radius = data.getModifier("radius");
|
||||
double amplifier = data.getModifier("amplifier");
|
||||
double duration = data.getModifier("duration");
|
||||
double damage = data.getModifier("damage");
|
||||
for (Entity entity : MMOUtils.getNearbyChunkEntities(loc))
|
||||
if (entity.getLocation().distanceSquared(loc) < radius * radius && MMOUtils.canDamage(stats.getPlayer(), entity)) {
|
||||
MMOItems.plugin.getDamage().damage(stats, (LivingEntity) entity, damage, DamageType.MAGIC);
|
||||
((LivingEntity) entity).removePotionEffect(PotionEffectType.SLOW);
|
||||
((LivingEntity) entity).addPotionEffect(new PotionEffect(PotionEffectType.SLOW, (int) (duration * 20), (int) amplifier));
|
||||
}
|
||||
cancel();
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
51
src/net/Indyuce/mmoitems/ability/Frog_Mode.java
Normal file
51
src/net/Indyuce/mmoitems/ability/Frog_Mode.java
Normal file
@ -0,0 +1,51 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.version.VersionSound;
|
||||
|
||||
public class Frog_Mode extends Ability implements Listener {
|
||||
public Frog_Mode() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("duration", 20);
|
||||
addModifier("jump-force", 1);
|
||||
addModifier("speed", 1);
|
||||
addModifier("cooldown", 50);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double duration = data.getModifier("duration") * 20;
|
||||
double y = data.getModifier("jump-force");
|
||||
double xz = data.getModifier("speed");
|
||||
|
||||
new BukkitRunnable() {
|
||||
int j = 0;
|
||||
|
||||
public void run() {
|
||||
j++;
|
||||
if (j > duration)
|
||||
cancel();
|
||||
|
||||
if (stats.getPlayer().getLocation().getBlock().getType() == Material.WATER) {
|
||||
stats.getPlayer().setVelocity(stats.getPlayer().getEyeLocation().getDirection().setY(0).normalize().multiply(.8 * xz).setY(0.5 / xz * y));
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), VersionSound.ENTITY_ENDER_DRAGON_FLAP.toSound(), 2, 1);
|
||||
for (double a = 0; a < Math.PI * 2; a += Math.PI / 12)
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.CLOUD, stats.getPlayer().getLocation(), 0, Math.cos(a), 0, Math.sin(a), .2);
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
61
src/net/Indyuce/mmoitems/ability/Frozen_Aura.java
Normal file
61
src/net/Indyuce/mmoitems/ability/Frozen_Aura.java
Normal file
@ -0,0 +1,61 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
|
||||
public class Frozen_Aura extends Ability implements Listener {
|
||||
public Frozen_Aura() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("duration", 6);
|
||||
addModifier("amplifier", 1);
|
||||
addModifier("radius", 10);
|
||||
addModifier("cooldown", 10);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double duration = data.getModifier("duration") * 20;
|
||||
double radiusSquared = Math.pow(data.getModifier("radius"), 2);
|
||||
double amplifier = data.getModifier("amplifier") - 1;
|
||||
|
||||
new BukkitRunnable() {
|
||||
double j = 0;
|
||||
int ti = 0;
|
||||
|
||||
public void run() {
|
||||
if (ti++ > duration)
|
||||
cancel();
|
||||
|
||||
j += Math.PI / 60;
|
||||
for (double k = 0; k < Math.PI * 2; k += Math.PI / 2)
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.SPELL_INSTANT, stats.getPlayer().getLocation().add(Math.cos(k + j) * 2, 1 + Math.sin(k + j * 7) / 3, Math.sin(k + j) * 2), 0);
|
||||
|
||||
if (ti % 2 == 0)
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), Sound.BLOCK_SNOW_BREAK, 1, 1);
|
||||
|
||||
if (ti % 7 == 0)
|
||||
for (Entity entity : MMOUtils.getNearbyChunkEntities(stats.getPlayer().getLocation()))
|
||||
if (entity.getLocation().distanceSquared(stats.getPlayer().getLocation()) < radiusSquared && MMOUtils.canDamage(stats.getPlayer(), entity)) {
|
||||
((LivingEntity) entity).removePotionEffect(PotionEffectType.SLOW);
|
||||
((LivingEntity) entity).addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 40, (int) amplifier));
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
39
src/net/Indyuce/mmoitems/ability/Grand_Heal.java
Normal file
39
src/net/Indyuce/mmoitems/ability/Grand_Heal.java
Normal file
@ -0,0 +1,39 @@
|
||||
package net.Indyuce.mmoitems.ability;
|
||||
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOUtils;
|
||||
import net.Indyuce.mmoitems.api.Ability;
|
||||
import net.Indyuce.mmoitems.api.AttackResult;
|
||||
import net.Indyuce.mmoitems.api.player.PlayerStats.TemporaryStats;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
|
||||
public class Grand_Heal extends Ability {
|
||||
public Grand_Heal() {
|
||||
super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK);
|
||||
|
||||
addModifier("heal", 5);
|
||||
addModifier("radius", 5);
|
||||
addModifier("cooldown", 15);
|
||||
addModifier("mana", 0);
|
||||
addModifier("stamina", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void whenCast(TemporaryStats stats, LivingEntity target, AbilityData data, AttackResult result) {
|
||||
double heal = data.getModifier("heal");
|
||||
double radius = data.getModifier("radius");
|
||||
|
||||
MMOUtils.heal(stats.getPlayer(), heal);
|
||||
stats.getPlayer().getWorld().playSound(stats.getPlayer().getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 1, 2);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.HEART, stats.getPlayer().getLocation().add(0, .75, 0), 16, 1, 1, 1, 0);
|
||||
stats.getPlayer().getWorld().spawnParticle(Particle.VILLAGER_HAPPY, stats.getPlayer().getLocation().add(0, .75, 0), 16, 1, 1, 1, 0);
|
||||
for (Entity entity : stats.getPlayer().getNearbyEntities(radius, radius, radius))
|
||||
if (entity instanceof Player)
|
||||
MMOUtils.heal((Player) entity, heal);
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user