Browse Source

Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable

nossr50 6 năm trước cách đây
mục cha
commit
fc7455354f

+ 8 - 0
Changelog.txt

@@ -1,4 +1,9 @@
 Version 2.2.0
+    !!!!!!!!!!!!!!!!!!!!!!!!
+    !!!!!!!!!!!!!!!!!!!!!!!!
+    This changelog is not complete, I'll be going over it and cleaning it up once 2.2 is close to release
+    !!!!!!!!!!!!!!!!!!!!!!!!
+    !!!!!!!!!!!!!!!!!!!!!!!!
     mcMMO's config system has been rewritten
     Nearly every config setting has been renamed and most have brand new comments
     You can now add an unlimited number of custom XP perks with custom defined XP boosts
@@ -155,6 +160,9 @@ Version 2.2.0
     Added API method to grab the level cap of a skill by its PrimarySkillType ENUM definition
     Added API method to check if a skill was being level capped
     Added 'UndefinedSkillBehaviour' for trying to use a method that has no behaviour defined for the provided skill
+Version 2.1.68
+    Updated Japanese locale (thanks Snake)
+    Fixed a bug where consuming food in the off hand did not trigger the Diet abilities
 
 Version 2.1.67
     The XP bar now reflects whether or not the player is receiving the early game boost

+ 46 - 0
src/main/java/com/gmail/nossr50/core/MaterialMapStore.java

@@ -20,6 +20,7 @@ public class MaterialMapStore {
     private HashSet<String> blockCrackerWhiteList;
     private HashSet<String> canMakeShroomyWhiteList;
     private HashSet<String> multiBlockEntities;
+    private HashSet<String> foodItemWhiteList;
 
     public MaterialMapStore() {
         abilityBlackList = new HashSet<>();
@@ -30,6 +31,7 @@ public class MaterialMapStore {
         blockCrackerWhiteList = new HashSet<>();
         canMakeShroomyWhiteList = new HashSet<>();
         multiBlockEntities = new HashSet<>();
+        foodItemWhiteList = new HashSet<>();
 
         fillHardcodedHashSets();
     }
@@ -75,6 +77,50 @@ public class MaterialMapStore {
         fillBlockCrackerWhiteList();
         fillShroomyWhiteList();
         fillMultiBlockEntitiesList();
+        fillFoodWhiteList();
+    }
+
+    private void fillFoodWhiteList() {
+        foodItemWhiteList.add("apple");
+        foodItemWhiteList.add("baked_potato");
+        foodItemWhiteList.add("beetroot");
+        foodItemWhiteList.add("beetroot_soup");
+        foodItemWhiteList.add("bread");
+        foodItemWhiteList.add("cake");
+        foodItemWhiteList.add("carrot");
+        foodItemWhiteList.add("chorus_fruit");
+        foodItemWhiteList.add("cooked_chicken");
+        foodItemWhiteList.add("cooked_cod");
+        foodItemWhiteList.add("cooked_mutton");
+        foodItemWhiteList.add("cooked_porkchop");
+        foodItemWhiteList.add("cooked_rabbit");
+        foodItemWhiteList.add("cooked_salmon");
+        foodItemWhiteList.add("cookie");
+        foodItemWhiteList.add("dried_kelp");
+        foodItemWhiteList.add("golden_apple");
+        foodItemWhiteList.add("enchanted_golden_apple");
+        foodItemWhiteList.add("golden_carrot");
+        foodItemWhiteList.add("melon_slice");
+        foodItemWhiteList.add("mushroom_stew");
+        foodItemWhiteList.add("poisonous_potato");
+        foodItemWhiteList.add("potato");
+        foodItemWhiteList.add("pumpkin_pie");
+        foodItemWhiteList.add("rabbit_stew");
+        foodItemWhiteList.add("raw_beef");
+        foodItemWhiteList.add("raw_chicken");
+        foodItemWhiteList.add("raw_cod");
+        foodItemWhiteList.add("raw_mutton");
+        foodItemWhiteList.add("raw_porkchop");
+        foodItemWhiteList.add("raw_rabbit");
+        foodItemWhiteList.add("raw_salmon");
+        foodItemWhiteList.add("rotten_flesh");
+        foodItemWhiteList.add("suspicious_stew");
+        foodItemWhiteList.add("sweet_berries");
+        foodItemWhiteList.add("tropical_fish");
+    }
+
+    public boolean isFood(Material material) {
+        return foodItemWhiteList.contains(material.getKey().getKey());
     }
 
     private void fillMultiBlockEntitiesList() {

+ 13 - 1
src/main/java/com/gmail/nossr50/listeners/EntityListener.java

@@ -778,12 +778,24 @@ public class EntityListener implements Listener {
             return;
         }
 
+        //Determine which hand is eating food
+        //The main hand is used over the off hand if they both have food, so check the main hand first
+        Material foodInHand;
+
+        if(mcMMO.getMaterialMapStore().isFood(player.getInventory().getItemInMainHand().getType())) {
+            foodInHand = player.getInventory().getItemInMainHand().getType();
+        } else if(mcMMO.getMaterialMapStore().isFood(player.getInventory().getItemInOffHand().getType())) {
+            foodInHand = player.getInventory().getItemInOffHand().getType();
+        } else {
+            return; //Not Food
+        }
+
         /*
          * Some foods have 3 ranks Some foods have 5 ranks The number of ranks
          * is based on how 'common' the item is We can adjust this quite easily
          * if we find something is giving too much of a bonus
          */
-        switch (player.getInventory().getItemInMainHand().getType()) {
+        switch (foodInHand) {
             case BAKED_POTATO: /*
              * RESTORES 3 HUNGER - RESTORES 5 1/2 HUNGER @
              * 1000

+ 0 - 1
src/main/java/com/gmail/nossr50/util/experience/ExperienceBarWrapper.java

@@ -6,7 +6,6 @@ import com.gmail.nossr50.locale.LocaleLoader;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.util.StringUtils;
 import com.gmail.nossr50.util.player.PlayerLevelUtils;
-import org.bukkit.Server;
 import org.bukkit.boss.BarColor;
 import org.bukkit.boss.BarStyle;
 import org.bukkit.boss.BossBar;

+ 43 - 4
src/main/resources/locale/locale_ja_JP.properties

@@ -32,7 +32,7 @@ JSON.URL.Patreon=nossr50\u3068\u5f7c\u306emcMMO\u3078\u306e\u50cd\u304d\u3092Pat
 JSON.URL.Spigot=mcMMO\u306e\u516c\u5f0fSpigot\u30ea\u30bd\u30fc\u30b9\u30da\u30fc\u30b8
 JSON.URL.Translation=mcMMO\u3092\u4ed6\u306e\u8a00\u8a9e\u306b\u7ffb\u8a33\u3059\u308b\uff01
 JSON.URL.Wiki=mcMMO\u516c\u5f0fwiki
-JSON.SkillUnlockMessage=[[GOLD]][ mcMMO[[YELLOW]] @[[DARK_AQUA]]{0} [[GOLD]]\u30e9\u30f3\u30af [[DARK_AQUA]]{1}[[GOLD]] \\u30a2\\u30f3\\u30ed\\u30c3\\u30af\uff01 ]
+JSON.SkillUnlockMessage=[[GOLD]][ mcMMO[[YELLOW]] @[[DARK_AQUA]]{0} [[GOLD]]\u30e9\u30f3\u30af [[DARK_AQUA]]{1}[[GOLD]] \u30a2\u30f3\u30ed\u30c3\u30af\uff01 ]
 JSON.Hover.Rank=&9&l\u30e9\u30f3\u30af&r&7-&r &e{0}
 JSON.Hover.NextRank=&7&o{0}\u30ec\u30d9\u30eb\u3067\u306e\u6b21\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9
 JSON.Hover.Mystery=[[GRAY]]???
@@ -89,6 +89,8 @@ Commands.mcc.Header=[[RED]]---[][[GREEN]]mcMMO \u30b3\u30de\u30f3\u30c9[[RED]][]
 Commands.Other=[[RED]]---[][[GREEN]]\u30b9\u30da\u30b7\u30e3\u30eb\u30b3\u30de\u30f3\u30c9[[RED]][]---
 Commands.Party.Header=[[RED]]-----[][[GREEN]]\u30d1\u30fc\u30c6\u30a3\u30fc[[RED]][]-----
 Commands.Party.Features.Header=[[RED]]-----[][[GREEN]]\u7279\u5fb4[[RED]][]-----
+XPBar.Template={0}
+XPBar.Template.EarlyGameBoost=[[GOLD]]\u65b0\u3057\u3044\u30b9\u30ad\u30eb\u3092\u5b66\u3093\u3067\u3044\u307e\u3059...
 XPBar.Acrobatics=\u30a2\u30af\u30ed\u30d0\u30c6\u30a3\u30c3\u30af Lv.[[GOLD]]{0}
 XPBar.Alchemy=\u91b8\u9020 Lv.[[GOLD]]{0}
 XPBar.Archery=\u5f13 Lv.[[GOLD]]{0}
@@ -161,8 +163,13 @@ Axes.Ability.Bonus.2=\u30a2\u30fc\u30de\u30fc\u30a4\u30f3\u30d1\u30af\u30c8
 Axes.Ability.Bonus.3=\u9632\u5177\u306b{0}\u306e\u30dc\u30fc\u30ca\u30b9\u30c0\u30e1\u30fc\u30b8\u3092\u4e0e\u3048\u308b
 Axes.Ability.Bonus.4=\u30b0\u30ea\u30fc\u30bf\u30fc\u30a4\u30f3\u30d1\u30af\u30c8
 Axes.Ability.Bonus.5=\u9632\u5177\u306e\u306a\u3044\u6575\u306b{0}\u306e\u30dc\u30fc\u30ca\u30b9\u30c0\u30e1\u30fc\u30b8\u3092\u4e0e\u3048\u308b
+Axes.Ability.Lower=[[GRAY]]\u65a7\u3092\u4e0b\u3052\u305f\u3002
+Axes.Ability.Ready=[[DARK_AQUA]]\u65a7\u3092[[GOLD]]\u6e96\u5099[[DARK_AQUA]]\u3057\u305f\u3002
 Axes.Combat.CritStruck=[[DARK_RED]]\u3042\u306a\u305f\u306f\u91cd\u5927\u306a\u30c0\u30e1\u30fc\u30b8\u3092\u53d7\u3051\u307e\u3057\u305f\uff01
 Axes.Combat.CriticalHit=\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u30d2\u30c3\u30c8\uff01
+Axes.Combat.GI.Proc=[[GREEN]]**\u5927\u304d\u306a\u529b\u304c\u8972\u3063\u3066\u304d\u305f**
+Axes.Combat.GI.Struck=**\u30b0\u30ec\u30fc\u30bf\u30fc\u30a4\u30f3\u30d1\u30af\u30c8\u306b\u8972\u308f\u308c\u305f\uff01**
+Axes.Combat.SS.Struck=[[DARK_RED]]\u30b9\u30ab\u30eb\u30b9\u30d7\u30ea\u30c3\u30bf\u30fc\u306b\u8972\u308f\u308c\u305f\uff01
 Axes.SubSkill.SkullSplitter.Name=\u30b9\u30ab\u30eb\u30b9\u30d7\u30ea\u30c3\u30bf\u30fc
 Axes.SubSkill.SkullSplitter.Description=AoE\u30c0\u30e1\u30fc\u30b8\u3092\u4e0e\u3048\u308b\u3002
 Axes.SubSkill.SkullSplitter.Stat=\u30b9\u30ab\u30eb\u30b9\u30d7\u30ea\u30c3\u30bf\u30fc \u671f\u9593
@@ -176,7 +183,7 @@ Axes.SubSkill.AxesLimitBreak.Description=\u9650\u754c\u3092\u7834\u308b\u3002
 Axes.SubSkill.AxesLimitBreak.Stat=\u9650\u754c\u7a81\u7834 \u8ffd\u52a0\u30c0\u30e1\u30fc\u30b8
 Axes.SubSkill.ArmorImpact.Name=\u30a2\u30fc\u30de\u30fc\u30a4\u30f3\u30d1\u30af\u30c8
 Axes.SubSkill.ArmorImpact.Description=\u9632\u5177\u3092\u7c89\u7815\u3059\u308b\u5a01\u529b\u3067\u653b\u6483\u3059\u308b\u3002
-Axes.SubSkill.GreaterImpact.Name=\u30b0\u30ea\u30fc\u30bf\u30fc\u30a4\u30f3\u30d1\u30af\u30c8
+Axes.SubSkill.GreaterImpact.Name=\u30b0\u30ec\u30fc\u30bf\u30fc\u30a4\u30f3\u30d1\u30af\u30c8
 Axes.SubSkill.GreaterImpact.Description=\u9632\u5177\u306e\u306a\u3044\u6575\u306b\u8ffd\u52a0\u30c0\u30e1\u30fc\u30b8\u3092\u4e0e\u3048\u308b\u3002
 Axes.Listener=\u65a7:
 Axes.SkillName=\u65a7
@@ -187,6 +194,8 @@ Axes.Skills.SS.Other.Off=[[YELLOW]]{0}\u304c [[WHITE]]\u30b9\u30ab\u30eb\u30b9\u
 Axes.Skills.SS.Other.On=[[GREEN]]{0}[[DARK_GREEN]]\u304c [[RED]]\u30b9\u30ab\u30eb\u30b9\u30d7\u30ea\u30c3\u30bf\u30fc [[DARK_GREEN]]\u3092\u4f7f\u3063\u305f\uff01
 
 #EXCAVATION
+Excavation.Ability.Lower=[[GRAY]]\u30b7\u30e3\u30d9\u30eb\u3092\u4e0b\u3052\u305f\u3002
+Excavation.Ability.Ready=[[DARK_AQUA]]\u30b7\u30e3\u30d9\u30eb\u3092[[GOLD]]\u6e96\u5099[[DARK_AQUA]]\u3057\u305f\u3002
 Excavation.SubSkill.GigaDrillBreaker.Name=\u30ae\u30ac\u30c9\u30ea\u30eb\u30d6\u30ec\u30fc\u30ab\u30fc
 Excavation.SubSkill.GigaDrillBreaker.Description=3x \u30c9\u30ed\u30c3\u30d7\u7387, 3x EXP, +\u30b9\u30d4\u30fc\u30c9
 Excavation.SubSkill.GigaDrillBreaker.Stat=\u30ae\u30ac\u30c9\u30ea\u30eb\u30d6\u30ec\u30fc\u30ab\u30fc \u671f\u9593
@@ -231,11 +240,17 @@ Fishing.SubSkill.IceFishing.Stat=\u7a74\u91e3\u308a
 Fishing.Chance.Raining=[[BLUE]] \u96e8\u30dc\u30fc\u30ca\u30b9
 Fishing.Listener=\u91e3\u308a:
 Fishing.Ability.TH.MagicFound=[[GRAY]]\u9b54\u6cd5\u3092\u611f\u3058\u307e\u3059\u3002
+Fishing.Ability.TH.Boom=[[GRAY]]BOOM TIME!!!
 Fishing.Ability.TH.Poison=[[GRAY]]\u306a\u304b\u306a\u304b\u3044\u3044\u5302\u3044\u304c\u3057\u306a\u3044...
 Fishing.SkillName=\u91e3\u308a
 
 #HERBALISM
 Herbalism.Ability.GTe.NeedMore=\u7dd1\u3092\u5897\u3084\u3059\u306b\u306f\u3082\u3063\u3068\u7a2e\u304c\u5fc5\u8981\u3067\u3059\u3002
+Herbalism.Ability.GTh.Fail=**\u7dd1\u8272\u306e\u89aa\u6307 \u5931\u6557**
+Herbalism.Ability.GTh=[[GREEN]]**\u7dd1\u8272\u306e\u89aa\u6307**
+Herbalism.Ability.Lower=[[GRAY]]\u30af\u30ef\u3092\u4e0b\u3052\u305f\u3002
+Herbalism.Ability.Ready=[[DARK_AQUA]]\u30af\u30ef\u3092[[GOLD]]\u6e96\u5099[[DARK_AQUA]]\u3057\u305f\u3002
+Herbalism.Ability.ShroomThumb.Fail=**\u30ad\u30ce\u30b3\u306e\u89aa\u6307 \u5931\u6557**
 Herbalism.SubSkill.GreenTerra.Name=\u30b0\u30ea\u30fc\u30f3\u30c6\u30e9
 Herbalism.SubSkill.GreenTerra.Description=\u7dd1\u3092\u5e83\u3052\u308b, 3x \u30c9\u30ed\u30c3\u30d7
 Herbalism.SubSkill.GreenTerra.Stat=\u30b0\u30ea\u30fc\u30f3\u30c6\u30e9 \u671f\u9593
@@ -251,8 +266,13 @@ Herbalism.SubSkill.FarmersDiet.Stat=\u8fb2\u5bb6\u306e\u98df\u4e8b: [[GREEN]]\u3
 Herbalism.SubSkill.DoubleDrops.Name=\u30c9\u30ed\u30c3\u30d7\u4e8c\u500d
 Herbalism.SubSkill.DoubleDrops.Description=\u30c9\u30ed\u30c3\u30d7\u304c\u4e8c\u500d\u306b\u306a\u308b\u3002
 Herbalism.SubSkill.DoubleDrops.Stat=\u30c9\u30ed\u30c3\u30d7\u4e8c\u500d \u78ba\u7387
+Herbalism.SubSkill.HylianLuck.Name=\u30cf\u30a4\u30ea\u30a2\u306e\u904b
 Herbalism.SubSkill.HylianLuck.Description=\u5e0c\u5c11\u54c1\u3092\u898b\u3064\u3051\u308b\u78ba\u7387\u304c\u4e0a\u304c\u308b\u3002
+Herbalism.SubSkill.HylianLuck.Stat=\u30cf\u30a4\u30ea\u30a2\u306e\u904b \u78ba\u7387
+Herbalism.SubSkill.ShroomThumb.Name=\u30ad\u30ce\u30b3\u306e\u89aa\u6307
 Herbalism.SubSkill.ShroomThumb.Description=\u571f\u3084\u8349\u306b\u83cc\u7cf8\u3092\u5e83\u3052\u308b\u3002
+Herbalism.SubSkill.ShroomThumb.Stat=\u30ad\u30ce\u30b3\u306e\u89aa\u6307 \u78ba\u7387
+Herbalism.HylianLuck=[[GREEN]]\u30cf\u30a4\u30e9\u30eb\u306e\u904b\u306f\u4eca\u65e5\u306e\u3042\u306a\u305f\u306b\u3064\u3044\u3066\u3044\u307e\u3059\uff01
 Herbalism.Listener=\u8fb2\u696d:
 Herbalism.SkillName=\u8fb2\u696d
 Herbalism.Skills.GTe.Off=**\u304c\u3059\u308a\u6e1b\u3063\u305f \u3092\u6469\u640d\u3057\u305f**
@@ -265,6 +285,8 @@ Herbalism.Skills.GTe.Other.On=[[GREEN]]{0}[[DARK_GREEN]]\u304c [[RED]]\u30b0\u30
 Mining.Ability.Locked.0=LOCKED UNTIL {0}+ SKILL (\u30d6\u30e9\u30b9\u30c8\u30de\u30a4\u30cb\u30f3\u30b0)
 Mining.Ability.Locked.1=LOCKED UNTIL {0}+ SKILL (\u5927\u304d\u306a\u7206\u5f3e)
 Mining.Ability.Locked.2=LOCKED UNTIL {0}+ SKILL (\u89e3\u4f53\u5c02\u9580\u77e5\u8b58)
+Mining.Ability.Lower=[[GRAY]]\u30d4\u30c3\u30b1\u30eb\u3092\u4e0b\u3052\u305f\u3002
+Mining.Ability.Ready=[[DARK_AQUA]]\u30d4\u30c3\u30b1\u30eb\u3092[[GOLD]]\u6e96\u5099[[DARK_AQUA]]\u3057\u305f\u3002
 Mining.SubSkill.SuperBreaker.Name=\u30b9\u30fc\u30d1\u30fc\u30d6\u30ec\u30fc\u30ab\u30fc
 Mining.SubSkill.SuperBreaker.Description=\u30b9\u30d4\u30fc\u30c9+, \u30c9\u30ed\u30c3\u30d7\u7387\u4e09\u500d
 Mining.SubSkill.SuperBreaker.Stat=\u30b9\u30fc\u30d1\u30fc\u30d6\u30ec\u30fc\u30ab\u30fc\u306e\u9577\u3055
@@ -289,7 +311,11 @@ Mining.Skills.SuperBreaker.Other.Off=[[YELLOW]]{0}\u304c [[WHITE]]\u30b9\u30fc\u
 Mining.Skills.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]]\u304c [[RED]]\u30b9\u30fc\u30d1\u30fc\u30d6\u30ec\u30fc\u30ab\u30fc [[DARK_GREEN]]\u3092\u4f7f\u3063\u305f\uff01
 
 #Blast Mining
+Mining.Blast.Boom=[[GRAY]]**BOOM**
+Mining.Blast.Cooldown=
+Mining.Blast.Effect=+{0} ore yield, -{1} debris yield, {2}x \u30c9\u30ed\u30c3\u30d7
 Mining.Blast.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u304c [[RED]]\u30d6\u30e9\u30b9\u30c8\u30de\u30a4\u30cb\u30f3\u30b0 [[DARK_GREEN]]\u3092\u4f7f\u3063\u305f\uff01
+Mining.Blast.Refresh=[[YELLOW]]\u30d6\u30e9\u30b9\u30c8\u30de\u30a4\u30cb\u30f3\u30b0[GREEN]]\u30a2\u30d3\u30ea\u30c6\u30a3\u304c\u56de\u5fa9\u3057\u307e\u3057\u305f\uff01
 
 #REPAIR
 Repair.SubSkill.Repair.Name=\u4fee\u7406
@@ -343,9 +369,13 @@ Salvage.SubSkill.ArcaneSalvage.Description=\u30a2\u30a4\u30c6\u30e0\u304b\u3089\
 Salvage.SubSkill.ArcaneSalvage.Stat=\u96e3\u89e3\u306a\u30b5\u30eb\u30d9\u30fc\u30b8: [[YELLOW]]Rank {0}/{1}
 Salvage.Ability.Locked.0=LOCKED UNTIL {0}+ SKILL (\u9ad8\u5ea6\u306a\u30b5\u30eb\u30d9\u30fc\u30b8)
 Salvage.Ability.Bonus.0=\u9ad8\u5ea6\u306a\u30b5\u30eb\u30d9\u30fc\u30b8
+Salvage.Ability.Bonus.1=\u30b5\u30eb\u30d9\u30fc\u30b8\u306b\u3088\u308a\u6700\u5927{0}\u500b\u306e\u7d20\u6750\u3092\u56de\u53ce
+Salvage.Arcane.ExtractFull=[[GRAY]]\u30d5\u30eb\u30a8\u30f3\u30c1\u30e3\u30f3\u30c8 \u78ba\u7387 
+Salvage.Arcane.ExtractPartial=[[GRAY]]\u90e8\u5206\u7684\u306a\u30a8\u30f3\u30c1\u30e3\u30f3\u30c8 \u78ba\u7387
 Salvage.Skills.Success=[[GREEN]]\u30a2\u30a4\u30c6\u30e0\u3092\u30b5\u30eb\u30d9\u30fc\u30b8\uff01
 Salvage.Skills.Adept.Damaged=[[DARK_RED]]\u3042\u306a\u305f\u306f\u8010\u4e45\u5024\u306e\u6e1b\u3063\u305f\u30a2\u30a4\u30c6\u30e0\u3092\u30b5\u30eb\u30d9\u30fc\u30b8\u3059\u308b\u306e\u306b\u5341\u5206\u306a\u7df4\u5ea6\u3092\u5f97\u3066\u3044\u307e\u305b\u3093\u3002
 Salvage.Skills.Adept.Level=[[YELLOW]]{1} [[RED]]\u3092\u30b5\u30eb\u30d9\u30fc\u30b8\u3059\u308b\u305f\u3081\u306b\u306f [[YELLOW]]{0} [[RED]]\u30ec\u30d9\u30eb\u304c\u5fc5\u8981\u3067\u3059\u3002
+Salvage.Skills.TooDamaged=[[DARK_RED]]\u3053\u306e\u30a2\u30a4\u30c6\u30e0\u306f\u30c0\u30e1\u30fc\u30b8\u3092\u53d7\u3051\u3066\u3044\u308b\u305f\u3081\u3001\u30b5\u30eb\u30d9\u30fc\u30b8\u3067\u304d\u307e\u305b\u3093\u3002
 Salvage.Skills.ArcaneFailed=[[RED]]\u3053\u306e\u30a2\u30a4\u30c6\u30e0\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u77e5\u8b58\u3092\u62bd\u51fa\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 Salvage.Skills.ArcanePartial=[[RED]]\u3053\u306e\u30a2\u30a4\u30c6\u30e0\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u77e5\u8b58\u3092\u4e00\u90e8\u3057\u304b\u62bd\u51fa\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 Salvage.Skills.ArcaneSuccess=[[GREEN]]\u3053\u306e\u30a2\u30a4\u30c6\u30e0\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u77e5\u8b58\u3092\u62bd\u51fa\u3067\u304d\u307e\u3057\u305f\uff01
@@ -357,6 +387,9 @@ Salvage.SkillName=\u30b5\u30eb\u30d9\u30fc\u30b8
 Anvil.Unbreakable=\u3053\u306e\u30a2\u30a4\u30c6\u30e0\u306f\u58ca\u308c\u307e\u305b\u3093\uff01
 
 #SWORDS
+Swords.Ability.Lower=[[GRAY]]\u5263\u3092\u4e0b\u3052\u305f\u3002
+Swords.Ability.Ready=[[DARK_AQUA]]\u5263\u3092[[GOLD]]\u6e96\u5099[[DARK_AQUA]]\u3057\u305f\u3002
+Swords.Combat.Rupture.Note=[[GREY]]\u6ce8\u610f\uff1a[[YELLOW]] 0.5\u79d2\u3054\u3068\u306b1tick\u304c\u767a\u751f\u3057\u307e\u3059\u3002
 Swords.Combat.Bleeding.Started=[[DARK_RED]] \u3042\u306a\u305f\u306f\u51fa\u8840\u3057\u3066\u3044\u307e\u3059\uff01
 Swords.Combat.Bleeding.Stopped=[[GRAY]]\u51fa\u8840\u304c [[GREEN]]\u6b62\u307e\u308a\u307e\u3057\u305f[[GRAY]]\uff01
 Swords.Combat.Bleeding=[[GREEN]]**\u30a8\u30cd\u30df\u30fc \u51fa\u8840**
@@ -415,7 +448,7 @@ Taming.SubSkill.ShockProof.Name=\u885d\u6483\u8010\u6027
 Taming.SubSkill.ShockProof.Description=\u7206\u767a\u30c0\u30e1\u30fc\u30b8\u306e\u8efd\u6e1b
 Taming.SubSkill.CallOfTheWild.Name=\u30ef\u30a4\u30eb\u30c9\u30aa\u30d6\u30b3\u30fc\u30eb
 Taming.SubSkill.CallOfTheWild.Description=\u52d5\u7269\u3092\u53ec\u559a\u3059\u308b\u3002
-Taming.SubSkill.CallOfTheWild.Description.2=[[GRAY]]COTW: Crouch and left-click with\n  {0} {1} (Ocelot), {2} {3} (Wolf), {4} {5} (Horse)
+Taming.SubSkill.CallOfTheWild.Description.2=[[GRAY]]COTW: \u3057\u3083\u304c\u3093\u3067\u5de6\u30af\u30ea\u30c3\u30af\n  {0} {1} (\u732b), {2} {3} (Wolf), {4} {5} (\u99ac)
 Taming.SubSkill.FastFoodService.Name=\u30d5\u30a1\u30fc\u30b9\u30c8\u30d5\u30fc\u30c9\u30b5\u30fc\u30d3\u30b9
 Taming.SubSkill.FastFoodService.Description=\u78ba\u7387\u3067\u72fc\u304c\u653b\u6483\u6642\u56de\u5fa9\u3059\u308b\u3002
 Taming.SubSkill.HolyHound.Name=\u30db\u30fc\u30ea\u30fc\u30cf\u30a6\u30f3\u30c9
@@ -435,6 +468,7 @@ Taming.Listener.Wolf=[[DARK_GRAY]]\u72fc\u306f\u3042\u306a\u305f\u306e\u3082\u30
 Taming.Listener=\u8abf\u6559:
 Taming.SkillName=\u8abf\u6559
 Taming.Summon.Complete=[[GREEN]]\u53ec\u559a\u5b8c\u4e86
+Taming.Summon.Lifespan= (\u5bff\u547d: {0}\u79d2)
 Taming.Summon.Fail.Ocelot=[[RED]]\u8fd1\u304f\u306b\u732b\u304c\u305f\u304f\u3055\u3093\u3044\u308b\u305f\u3081\u3053\u308c\u4ee5\u4e0a\u53ec\u559a\u3067\u304d\u307e\u305b\u3093\u3002
 Taming.Summon.Fail.Wolf=[[RED]]\u8fd1\u304f\u306b\u72fc\u304c\u305f\u304f\u3055\u3093\u3044\u308b\u305f\u3081\u3053\u308c\u4ee5\u4e0a\u53ec\u559a\u3067\u304d\u307e\u305b\u3093\u3002
 Taming.Summon.Fail.Horse=[[RED]]\u8fd1\u304f\u306b\u99ac\u304c\u305f\u304f\u3055\u3093\u3044\u308b\u305f\u3081\u3053\u308c\u4ee5\u4e0a\u53ec\u559a\u3067\u304d\u307e\u305b\u3093\u3002
@@ -446,6 +480,8 @@ Unarmed.Ability.Bonus.0=\u9244\u8155\u30b9\u30bf\u30a4\u30eb
 Unarmed.Ability.Bonus.1=+{0} \u30c0\u30e1\u30fc\u30b8\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9
 Unarmed.Ability.IronGrip.Attacker=\u76f8\u624b\u306f\u30a2\u30a4\u30a2\u30f3\u30b0\u30ea\u30c3\u30d7\u3092\u6301\u3063\u3066\u3044\u307e\u3059\uff01
 Unarmed.Ability.IronGrip.Defender=[[GREEN]]\u30a2\u30a4\u30a2\u30f3\u30b0\u30ea\u30c3\u30d7\u304c\u6b66\u88c5\u89e3\u9664\u3092\u9632\u304e\u307e\u3057\u305f\uff01
+Unarmed.Ability.Lower=[[GRAY]]\u7d20\u624b\u3092\u4e0b\u3052\u305f\u3002
+Unarmed.Ability.Ready=[[DARK_AQUA]]\u7d20\u624b\u3092[[GOLD]]\u6e96\u5099[[DARK_AQUA]]\u3057\u305f\u3002
 Unarmed.SubSkill.Berserk.Name=\u30d0\u30fc\u30b5\u30fc\u30ab\u30fc
 Unarmed.SubSkill.Berserk.Description=+50% \u30c0\u30e1\u30fc\u30b8, \u5f31\u3044\u30de\u30c6\u30ea\u30a2\u30eb\u3092\u58ca\u3059
 Unarmed.SubSkill.Berserk.Stat=\u30d0\u30fc\u30b5\u30fc\u30ab\u30fc \u9577\u3055
@@ -498,6 +534,7 @@ Woodcutting.Skills.TreeFeller.On=[[GREEN]]**\u30c4\u30ea\u30fc\u30d5\u30a7\u30e9
 Woodcutting.Skills.TreeFeller.Refresh=[[YELLOW]]\u30c4\u30ea\u30fc\u30d5\u30a7\u30e9\u30fc [[GREEN]]\u30a2\u30d3\u30ea\u30c6\u30a3\u304c\u56de\u5fa9\u3057\u307e\u3057\u305f\uff01
 Woodcutting.Skills.TreeFeller.Other.Off=[[YELLOW]]{0}\u304c [[WHITE]]\u30c4\u30ea\u30fc\u30d5\u30a7\u30e9\u30fc [[GREEN]]\u3092\u6469\u640d\u3057\u305f
 Woodcutting.Skills.TreeFeller.Other.On=[[GREEN]]{0}[[DARK_GREEN]]\u304c [[RED]]\u30c4\u30ea\u30fc\u30d5\u30a7\u30e9\u30fc [[DARK_GREEN]]\u3092\u4f7f\u3063\u305f\uff01
+Woodcutting.Skills.TreeFeller.Splinter=\u65a7\u306f\u4f55\u5341\u3082\u306e\u7834\u7247\u306b\u7815\u3051\u305f\uff01
 Woodcutting.Skills.TreeFeller.Threshold=\u6728\u304c\u5927\u304d\u3059\u304e\u308b\uff01
 
 #ABILITIY
@@ -506,8 +543,10 @@ Combat.ArrowDeflect=[[WHITE]]**\u77e2\u3092\u305d\u3089\u3057\u305f**
 Combat.BeastLore=[[GREEN]]**\u30d3\u30fc\u30b9\u30c8\u30ed\u30a2**
 Combat.BeastLoreHealth=[[DARK_AQUA]]\u4f53\u529b ([[GREEN]]{0}[[DARK_AQUA]]/{1})
 Combat.BeastLoreOwner=[[DARK_AQUA]]\u6240\u6709\u8005 ([[RED]]{0}[[DARK_AQUA]])
-Combat.Gore=[[GREEN]]**\u30b4\u30a2**
+Combat.Gore=[[GREEN]]**\u6d41\u8840**
+Combat.StruckByGore=**\u6d41\u8840\u3057\u3066\u3044\u307e\u3059**
 Combat.TargetDazed=\u30bf\u30fc\u30b2\u30c3\u30c8\u306f[[DARK_RED]]\u5e7b\u60d1[[[RESET]]\u3060\u3063\u305f
+Combat.TouchedFuzzy=[[DARK_RED]]Touched Fuzzy. Felt Dizzy.
 
 #COMMANDS
 ##generic

+ 1 - 1
src/main/resources/plugin.yml

@@ -1260,7 +1260,7 @@ permissions:
             mcmmo.item.all: true
             mcmmo.tools.all: true
     mcmmo.item.*:
-        default: false
+        default: true
         description: Implies all mcmmo.item permissions
         children:
             mcmmo.item.all: true