Merge remote-tracking branch 'origin/master'

This commit is contained in:
Jules 2023-06-25 23:06:02 +02:00
commit fdd1234d68
103 changed files with 225 additions and 38 deletions

View File

@ -36,7 +36,8 @@ public class SoundObject {
} }
this.sound = sound; this.sound = sound;
this.key = key; this.key = key != null ? key.toLowerCase() : null;
volume = split.length > 1 ? Float.parseFloat(split[1]) : 1; volume = split.length > 1 ? Float.parseFloat(split[1]) : 1;
pitch = split.length > 2 ? Float.parseFloat(split[2]) : 1; pitch = split.length > 2 ? Float.parseFloat(split[2]) : 1;
@ -54,7 +55,7 @@ public class SoundObject {
} }
this.sound = sound; this.sound = sound;
this.key = key; this.key = key != null ? key.toLowerCase() : null;
volume = (float) config.getDouble("volume", 1); volume = (float) config.getDouble("volume", 1);
pitch = (float) config.getDouble("pitch", 1); pitch = (float) config.getDouble("pitch", 1);
@ -62,7 +63,7 @@ public class SoundObject {
/** /**
* @return If this object is custom a custom sound, potentially * @return If this object is custom a custom sound, potentially
* from a resource pack * from a resource pack
*/ */
public boolean isCustom() { public boolean isCustom() {
return sound == null; return sound == null;

View File

@ -6,6 +6,7 @@ import io.lumine.mythic.lib.api.stat.StatInstance;
import io.lumine.mythic.lib.api.stat.modifier.StatModifier; import io.lumine.mythic.lib.api.stat.modifier.StatModifier;
import io.lumine.mythic.lib.data.SynchronizedDataHolder; import io.lumine.mythic.lib.data.SynchronizedDataHolder;
import io.lumine.mythic.lib.player.cooldown.CooldownMap; import io.lumine.mythic.lib.player.cooldown.CooldownMap;
import io.lumine.mythic.lib.util.Closeable;
import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.ConfigMessage; import net.Indyuce.mmocore.api.ConfigMessage;
import net.Indyuce.mmocore.api.SoundEvent; import net.Indyuce.mmocore.api.SoundEvent;
@ -23,7 +24,6 @@ import net.Indyuce.mmocore.api.player.stats.PlayerStats;
import net.Indyuce.mmocore.api.quest.PlayerQuests; import net.Indyuce.mmocore.api.quest.PlayerQuests;
import net.Indyuce.mmocore.api.quest.trigger.StatTrigger; import net.Indyuce.mmocore.api.quest.trigger.StatTrigger;
import net.Indyuce.mmocore.api.quest.trigger.Trigger; import net.Indyuce.mmocore.api.quest.trigger.Trigger;
import net.Indyuce.mmocore.api.util.Closable;
import net.Indyuce.mmocore.api.util.MMOCoreUtils; import net.Indyuce.mmocore.api.util.MMOCoreUtils;
import net.Indyuce.mmocore.experience.EXPSource; import net.Indyuce.mmocore.experience.EXPSource;
import net.Indyuce.mmocore.experience.ExperienceObject; import net.Indyuce.mmocore.experience.ExperienceObject;
@ -67,7 +67,7 @@ import java.util.*;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class PlayerData extends SynchronizedDataHolder implements OfflinePlayerData, Closable, ExperienceTableClaimer, ClassDataContainer { public class PlayerData extends SynchronizedDataHolder implements OfflinePlayerData, Closeable, ExperienceTableClaimer, ClassDataContainer {
/** /**
* Can be null, the {@link #getProfess()} method will return the * Can be null, the {@link #getProfess()} method will return the
@ -1162,8 +1162,6 @@ public class PlayerData extends SynchronizedDataHolder implements OfflinePlayerD
boundSkills.forEach((slot, info) -> info.close()); boundSkills.forEach((slot, info) -> info.close());
boundSkills.clear(); boundSkills.clear();
//Update skill tree.
setupSkillTree();
// Update stats // Update stats
if (isOnline()) getStats().updateStats(); if (isOnline()) getStats().updateStats();
} }

View File

@ -1,15 +1,14 @@
package net.Indyuce.mmocore.api.quest; package net.Indyuce.mmocore.api.quest;
import io.lumine.mythic.lib.util.Closeable;
import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.player.PlayerData;
import net.Indyuce.mmocore.api.util.Closable; import net.Indyuce.mmocore.api.quest.objective.Objective;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.event.HandlerList; import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import net.Indyuce.mmocore.api.quest.objective.Objective; public abstract class ObjectiveProgress implements Closeable {
public abstract class ObjectiveProgress implements Closable {
private final Objective objective; private final Objective objective;
private final QuestProgress questProgress; private final QuestProgress questProgress;

View File

@ -3,9 +3,9 @@ package net.Indyuce.mmocore.api.quest;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import io.lumine.mythic.lib.util.Closeable;
import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.player.PlayerData;
import net.Indyuce.mmocore.api.util.Closable;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.NamespacedKey; import org.bukkit.NamespacedKey;
import org.bukkit.boss.BarColor; import org.bukkit.boss.BarColor;
@ -21,7 +21,7 @@ import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
import java.util.logging.Level; import java.util.logging.Level;
public class PlayerQuests implements Closable { public class PlayerQuests implements Closeable {
private final PlayerData playerData; private final PlayerData playerData;
private final Map<String, Long> finished = new HashMap<>(); private final Map<String, Long> finished = new HashMap<>();

View File

@ -1,15 +0,0 @@
package net.Indyuce.mmocore.api.util;
/**
* Indicates that a class temporarily registers something
* such as a Bukkit event, which needs to be unregistered
* when the class is finally garbage collected.
*/
public interface Closable {
/**
* Method that must be called before the class
* is garbage collected
*/
void close();
}

View File

@ -123,14 +123,14 @@ public class MMOCoreDataSynchronizer extends SQLDataSynchronizer<PlayerData> {
* These should be loaded after to make sure that the * These should be loaded after to make sure that the
* MAX_MANA, MAX_STAMINA & MAX_STELLIUM stats are already loaded. * MAX_MANA, MAX_STAMINA & MAX_STELLIUM stats are already loaded.
*/ */
getData().setHealth(result.getDouble("health")); double health = result.getDouble("health");
getData().setMana(result.getDouble("mana")); getData().setMana(result.getDouble("mana"));
getData().setStamina(result.getDouble("stamina")); getData().setStamina(result.getDouble("stamina"));
getData().setStellium(result.getDouble("stellium")); getData().setStellium(result.getDouble("stellium"));
if (getData().isOnline()) { if (getData().isOnline()) {
double health = getData().getHealth(); //If the player is not dead and the health is 0, this means that the data was
health = health == 0 ? getData().getPlayer().getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue() : health; //missing from the data base and it gives full health to the player.
health = health == 0 && !getData().getPlayer().isDead() ? getData().getPlayer().getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue() : health;
health = Math.max(Math.min(health, getData().getPlayer().getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()), 0); health = Math.max(Math.min(health, getData().getPlayer().getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()), 0);
getData().getPlayer().setHealth(health); getData().getPlayer().setHealth(health);
} }

View File

@ -1,16 +1,16 @@
package net.Indyuce.mmocore.player; package net.Indyuce.mmocore.player;
import io.lumine.mythic.lib.util.Closeable;
import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.event.PlayerCombatEvent; import net.Indyuce.mmocore.api.event.PlayerCombatEvent;
import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.player.PlayerData;
import net.Indyuce.mmocore.api.util.Closable;
import net.Indyuce.mmocore.command.PvpModeCommand; import net.Indyuce.mmocore.command.PvpModeCommand;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.scheduler.BukkitTask; import org.bukkit.scheduler.BukkitTask;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
public class CombatHandler implements Closable { public class CombatHandler implements Closeable {
private final PlayerData player; private final PlayerData player;
private long lastEntry = System.currentTimeMillis(), lastHit = System.currentTimeMillis(), invulnerableTill; private long lastEntry = System.currentTimeMillis(), lastHit = System.currentTimeMillis(), invulnerableTill;

View File

@ -149,7 +149,10 @@ public class ClassSkill implements CooldownObject, Unlockable {
// Calculate placeholders // Calculate placeholders
Placeholders placeholders = new Placeholders(); Placeholders placeholders = new Placeholders();
parameters.keySet().forEach(modifier -> placeholders.register(modifier, MythicLib.plugin.getMMOConfig().decimal.format(data.getMMOPlayerData().getSkillModifierMap().getInstance(skill.getHandler(), modifier).getTotal(parameters.get(modifier).calculate(x))))); parameters.keySet()
.forEach(param -> {
placeholders.register(param, skill.getDecimalFormat(param).format(data.getMMOPlayerData().getSkillModifierMap().getInstance(skill.getHandler(), param).getTotal(parameters.get(param).calculate(x))));
});
placeholders.register("mana_name", data.getProfess().getManaDisplay().getName()); placeholders.register("mana_name", data.getProfess().getManaDisplay().getName());
placeholders.register("mana_color", data.getProfess().getManaDisplay().getFull().toString()); placeholders.register("mana_color", data.getProfess().getManaDisplay().getFull().toString());

View File

@ -13,12 +13,16 @@ import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.text.DecimalFormat;
import java.util.*; import java.util.*;
public class RegisteredSkill { public class RegisteredSkill {
private final SkillHandler<?> handler; private final SkillHandler<?> handler;
private final String name; private final String name;
private final Map<String, LinearValue> defaultParameters = new HashMap<>(); private final Map<String, LinearValue> defaultParameters = new HashMap<>();
private final Map<String, DecimalFormat> parameterDecimalFormats = new HashMap<>();
private final ItemStack icon; private final ItemStack icon;
private final List<String> lore; private final List<String> lore;
private final List<String> categories; private final List<String> categories;
@ -42,10 +46,15 @@ public class RegisteredSkill {
else else
categories.add("ACTIVE"); categories.add("ACTIVE");
// Load default modifier formulas // Load default modifier formulas
for (String param : handler.getParameters()) for (String param : handler.getParameters()) {
if (config.contains(param + ".decimal-format"))
parameterDecimalFormats.put(param, new DecimalFormat(config.getString(param + ".decimal-format")));
defaultParameters.put(param, config.contains(param) ? new LinearValue(config.getConfigurationSection(param)) : LinearValue.ZERO); defaultParameters.put(param, config.contains(param) ? new LinearValue(config.getConfigurationSection(param)) : LinearValue.ZERO);
}
/* /*
* This is so that SkillAPI skill level matches the MMOCore skill level * This is so that SkillAPI skill level matches the MMOCore skill level
* https://gitlab.com/phoenix-dvpmt/mmocore/-/issues/531 * https://gitlab.com/phoenix-dvpmt/mmocore/-/issues/531
@ -111,6 +120,10 @@ public class RegisteredSkill {
defaultParameters.put(parameter, linear); defaultParameters.put(parameter, linear);
} }
public DecimalFormat getDecimalFormat(String parameter) {
return parameterDecimalFormats.getOrDefault(parameter, MythicLib.plugin.getMMOConfig().decimal);
}
@Deprecated @Deprecated
public void addModifierIfNone(String mod, LinearValue defaultValue) { public void addModifierIfNone(String mod, LinearValue defaultValue) {

View File

@ -1,15 +1,15 @@
package net.Indyuce.mmocore.skill.binding; package net.Indyuce.mmocore.skill.binding;
import io.lumine.mythic.lib.player.skill.PassiveSkill; import io.lumine.mythic.lib.player.skill.PassiveSkill;
import io.lumine.mythic.lib.util.Closeable;
import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.player.PlayerData;
import net.Indyuce.mmocore.api.quest.trigger.SkillModifierTrigger; import net.Indyuce.mmocore.api.quest.trigger.SkillModifierTrigger;
import net.Indyuce.mmocore.api.util.Closable;
import net.Indyuce.mmocore.skill.ClassSkill; import net.Indyuce.mmocore.skill.ClassSkill;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
public class BoundSkillInfo implements Closable { public class BoundSkillInfo implements Closeable {
private final SkillSlot skillSlot; private final SkillSlot skillSlot;
private final PlayerData playerData; private final PlayerData playerData;
private final ClassSkill classSkill; private final ClassSkill classSkill;

View File

@ -12,6 +12,9 @@ mana:
per-level: 1.0 per-level: 1.0
max: 0.0 max: 0.0
min: 0.0 min: 0.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
stamina: stamina:
base: 2.0 base: 2.0
per-level: 1.0 per-level: 1.0

View File

@ -11,6 +11,8 @@ duration:
per-level: 1 per-level: 1
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -9,6 +9,8 @@ material: BOOK
duration: duration:
base: 2 base: 2
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -7,6 +7,8 @@ material: FLINT
mana: mana:
base: 8.0 base: 8.0
per-level: 1.0 per-level: 1.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
stamina: stamina:
base: 2.0 base: 2.0
per-level: 1.0 per-level: 1.0

View File

@ -11,6 +11,8 @@ material: BLACK_DYE
duration: duration:
base: 4 base: 4
per-level: 0.5 per-level: 0.5
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -9,6 +9,8 @@ material: ENDER_EYE
duration: duration:
base: 5 base: 5
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
delay: delay:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -10,6 +10,8 @@ material: SNOWBALL
duration: duration:
base: 5 base: 5
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -8,6 +8,8 @@ material: REDSTONE
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
amount: amount:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -10,6 +10,8 @@ material: FIRE_CHARGE
timer: timer:
base: 2 base: 2
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -9,6 +9,8 @@ material: RABBIT_FOOT
duration: duration:
base: 6 base: 6
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -8,6 +8,8 @@ material: BOOK
duration: duration:
base: 4 base: 4
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -10,6 +10,8 @@ material: CAMPFIRE
duration: duration:
base: 2 base: 2
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -9,6 +9,8 @@ material: EGG
duration: duration:
base: 4 base: 4
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -11,6 +11,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -9,6 +9,8 @@ material: IRON_SWORD
damage: damage:
base: 9.0 base: 9.0
per-level: 1.3 per-level: 1.3
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
mana: mana:
base: 10.0 base: 10.0
per-level: -0.1 per-level: -0.1

View File

@ -11,6 +11,8 @@ timer:
per-level: 1 per-level: 1
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
delay: delay:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -9,6 +9,8 @@ material: POTION
duration: duration:
base: 4 base: 4
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -11,6 +11,8 @@ material: MAGENTA_DYE
duration: duration:
base: 2.0 base: 2.0
per-level: 1.0 per-level: 1.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
mana: mana:
base: 15.0 base: 15.0
per-level: 1.5 per-level: 1.5

View File

@ -10,6 +10,8 @@ material: LIME_DYE
duration: duration:
base: 4 base: 4
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -9,6 +9,8 @@ material: BOOK
duration: duration:
base: 4 base: 4
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 3 base: 3
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -8,6 +8,8 @@ material: BOOK
duration: duration:
base: 5 base: 5
per-level: 0.5 per-level: 0.5
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -10,6 +10,8 @@ material: REDSTONE
damage: damage:
base: 5.0 base: 5.0
per-level: 1.5 per-level: 1.5
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
mana: mana:
base: 8.0 base: 8.0
per-level: 3.0 per-level: 3.0

View File

@ -8,6 +8,8 @@ material: BOOK
duration: duration:
base: 5 base: 5
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -11,6 +11,8 @@ material: BONE_MEAL
mana: mana:
base: 4.0 base: 4.0
per-level: 1.0 per-level: 1.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
stamina: stamina:
base: 2.0 base: 2.0
per-level: 1.0 per-level: 1.0

View File

@ -11,6 +11,8 @@ duration:
per-level: 1.3 per-level: 1.3
max: 10.0 max: 10.0
min: 2.0 min: 2.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
mana: mana:
base: 8.0 base: 8.0
per-level: 3.0 per-level: 3.0

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 4 base: 4
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -7,6 +7,8 @@ mana:
per-level: 1.0 per-level: 1.0
max: 0.0 max: 0.0
min: 0.0 min: 0.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
stamina: stamina:
base: 2.0 base: 2.0
per-level: 1.0 per-level: 1.0

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -11,6 +11,8 @@ material: FIRE_CHARGE
duration: duration:
base: 8.0 base: 8.0
per-level: 1.0 per-level: 1.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 5.0 base: 5.0
per-level: 3.0 per-level: 3.0

View File

@ -11,6 +11,8 @@ material: BLAZE_POWDER
damage: damage:
base: 5.0 base: 5.0
per-level: 3.0 per-level: 3.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
ignite: ignite:
base: 2.0 base: 2.0
per-level: 1.1 per-level: 1.1

View File

@ -14,6 +14,8 @@ material: FIRE_CHARGE
damage: damage:
base: 5.0 base: 5.0
per-level: 3.0 per-level: 3.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
ignite: ignite:
base: 2.0 base: 2.0
per-level: 1.1 per-level: 1.1

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 3 base: 3
per-level: 1 per-level: 1

View File

@ -10,6 +10,8 @@ material: FLINT_AND_STEEL
duration: duration:
base: 5 base: 5
per-level: 2 per-level: 2
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -10,6 +10,8 @@ material: SNOWBALL
duration: duration:
base: 5 base: 5
per-level: 2 per-level: 2
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -10,6 +10,8 @@ material: SNOWBALL
duration: duration:
base: 3 base: 3
per-level: 2 per-level: 2
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -11,6 +11,8 @@ material: BOOK
duration: duration:
base: 10 base: 10
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 10 base: 10
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -9,6 +9,8 @@ material: COAL
damage: damage:
base: 5.0 base: 5.0
per-level: 1.5 per-level: 1.5
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
mana: mana:
base: 8.0 base: 8.0
per-level: 3.0 per-level: 3.0

View File

@ -11,6 +11,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
delay: delay:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -9,6 +9,8 @@ material: GOLDEN_APPLE
mana: mana:
base: 4.0 base: 4.0
per-level: 2.0 per-level: 2.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
stamina: stamina:
base: 2.0 base: 2.0
per-level: 1.0 per-level: 1.0

View File

@ -11,6 +11,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
delay: delay:
base: 2 base: 2
per-level: 0.1 per-level: 0.1

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 5 base: 5
per-level: 0.3 per-level: 0.3

View File

@ -13,6 +13,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
delay: delay:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -10,11 +10,14 @@ material: BOOK
duration: duration:
base: 4 base: 4
per-level: 3 per-level: 3
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
damage: damage:
base: 3 base: 3
per-level: 0.5 per-level: 0.5

View File

@ -14,6 +14,8 @@ redirect:
per-level: -2.0 per-level: -2.0
max: 30.0 max: 30.0
min: 20.0 min: 20.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
duration: duration:
base: 7.0 base: 7.0
per-level: 1.0 per-level: 1.0

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 4 base: 4
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -11,6 +11,8 @@ material: SNOWBALL
damage: damage:
base: 3.0 base: 3.0
per-level: 1.0 per-level: 1.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
mana: mana:
base: 20.0 base: 20.0
per-level: 2.0 per-level: 2.0

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 2 base: 2
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 4 base: 4
per-level: 1.1 per-level: 1.1

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
delay: delay:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -13,6 +13,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 6 base: 6
per-level: 0.3 per-level: 0.3

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 3 base: 3
per-level: 0.5 per-level: 0.5

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 5 base: 5
per-level: 0.5 per-level: 0.5
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -9,6 +9,8 @@ material: BOOK
duration: duration:
base: 10 base: 10
per-level: 3 per-level: 3
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -11,6 +11,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
ignite: ignite:
base: 3 base: 3
per-level: 0.3 per-level: 0.3

View File

@ -11,6 +11,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 3 base: 3
per-level: 0.1 per-level: 0.1

View File

@ -9,6 +9,8 @@ material: GOLDEN_APPLE
mana: mana:
base: 4.0 base: 4.0
per-level: 2.0 per-level: 2.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
stamina: stamina:
base: 2.0 base: 2.0
per-level: 1.0 per-level: 1.0

View File

@ -5,3 +5,5 @@ material: LILY_PAD
extra: extra:
base: 30.0 base: 30.0
per-level: 5.0 per-level: 5.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'

View File

@ -15,6 +15,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 6 base: 6
per-level: 1.2 per-level: 1.2

View File

@ -11,6 +11,8 @@ material: BOOK
duration: duration:
base: 10 base: 10
per-level: 0.3 per-level: 0.3
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -17,6 +17,8 @@ material: WITHER_SKELETON_SKULL
duration: duration:
base: 10.0 base: 10.0
per-level: 1.1 per-level: 1.1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
mana: mana:
base: 2.0 base: 2.0
per-level: 1.0 per-level: 1.0

View File

@ -11,6 +11,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 4 base: 4
per-level: 0.5 per-level: 0.5

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 5 base: 5
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -9,6 +9,8 @@ material: BOOK
duration: duration:
base: 10 base: 10
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 6 base: 6
per-level: 1.3 per-level: 1.3
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
delay: delay:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 4 base: 4
per-level: 1.5 per-level: 1.5

View File

@ -13,6 +13,8 @@ duration:
per-level: -0.5 per-level: -0.5
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 4 base: 4
per-level: 1.1 per-level: 1.1

View File

@ -8,6 +8,8 @@ material: DIAMOND_SWORD
mana: mana:
base: 8.0 base: 8.0
per-level: 1.0 per-level: 1.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
stamina: stamina:
base: 2.0 base: 2.0
per-level: 1.0 per-level: 1.0

View File

@ -12,6 +12,8 @@ material: BOOK
duration: duration:
base: 6 base: 6
per-level: 0.5 per-level: 0.5
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 4 base: 4
per-level: 0.5 per-level: 0.5

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
delay: delay:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 4.2 base: 4.2
per-level: 1.1 per-level: 1.1

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 6 base: 6
per-level: 0.2 per-level: 0.2
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 10 base: 10
per-level: 0.5 per-level: 0.5
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -10,6 +10,8 @@ material: BOOK
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 4 base: 4
per-level: 0.5 per-level: 0.5

View File

@ -13,6 +13,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
ignite: ignite:
base: 3 base: 3
per-level: 0.5 per-level: 0.5

View File

@ -12,6 +12,8 @@ duration:
per-level: 1.1 per-level: 1.1
max: 6.0 max: 6.0
min: 3.0 min: 3.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
mana: mana:
base: 20.0 base: 20.0
per-level: 2.0 per-level: 2.0

View File

@ -10,6 +10,8 @@ material: BOOK
duration: duration:
base: 3 base: 3
per-level: 1.1 per-level: 1.1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -12,6 +12,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 6 base: 6
per-level: 0.3 per-level: 0.3

View File

@ -13,6 +13,8 @@ timer:
per-level: 0 per-level: 0
min: 0 min: 0
max: 0 max: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
delay: delay:
base: 0 base: 0
per-level: 0 per-level: 0

View File

@ -10,6 +10,8 @@ material: BOOK
timer: timer:
base: 2 base: 2
per-level: 1 per-level: 1
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
delay: delay:
base: 2 base: 2
per-level: 1 per-level: 1

View File

@ -11,6 +11,8 @@ material: BOOK
timer: timer:
base: 0 base: 0
per-level: 0 per-level: 0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
damage: damage:
base: 6 base: 6
per-level: 0.5 per-level: 0.5

View File

@ -9,6 +9,8 @@ material: ENDER_PEARL
mana: mana:
base: 8.0 base: 8.0
per-level: 3.0 per-level: 3.0
#Optional: The decimal format used for this skill parameter.
decimal-format: '0.#'
stamina: stamina:
base: 2.0 base: 2.0
per-level: 1.0 per-level: 1.0

Some files were not shown because too many files have changed in this diff Show More