diff --git a/.gitattributes b/.gitattributes index 1fb5395e5..0280f24bd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,3 +2,4 @@ *.png binary *.wav binary +p \ No newline at end of file diff --git a/Changelog.txt b/Changelog.txt index 1dbd3dba2..9757aa906 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -204,19 +204,21 @@ Version 2.2.0 Added 'UndefinedSkillBehaviour' for trying to use a method that has no behaviour defined for the provided skill Version 2.1.115 + Green Thumb now requires a hoe to activate + Hoes no longer give free replants + You can sneak to break plants with a hoe in your hand (or just put the hoe away) + Using a hoe on non-fully grown crops will replant them as a convenience feature + New sound option in sounds.yml called 'ITEM_CONSUMED', plays when eating seeds for Green Thumb Cocoa plants now require GT of at least 2 to start at the second stage of growth Green Terra now boosts growth on Green Thumb by 1 stage (doesn't go above the maximum value though) - Green Thumb now requires a hoe to activate - You can sneak to break plants with a hoe in your hand (or just put the hoe away) - Hoes no longer give free replants There is now a feature in place to prevent breaking a newly automatically replanted (via green thumb) crop from being breakable for a few seconds after it appears - Using a hoe on non-fully grown crops will replant them as a convenience feature for those who can't bother to wait for all of their plants to grow (put away the hoe to break non-fully grown crops) Fixed a bug where Salvage always gave the best results Fixed an issue with arrows causing exceptions with players not yet having data loaded Spectral arrows are now tracked by mcMMO Use minimum level of salvageable properly Fix Axes Critical Strikes default permissions ( new fixed permission: mcmmo.ability.axes.criticalstrikes ) Fix potential null pointer exception for salvage + Updated locale entry 'Herbalism.SubSkill.GreenTerra.Description' Version 2.1.114 Fix some more locale usages, should aim to further prevent issues with oddball locales diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/commands/admin/NBTToolsCommand.java b/mcmmo-core/src/main/java/com/gmail/nossr50/commands/admin/NBTToolsCommand.java index 5db9e8d1e..4e36613f6 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/commands/admin/NBTToolsCommand.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/commands/admin/NBTToolsCommand.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.commands.admin; import co.aikar.commands.BaseCommand; import co.aikar.commands.annotation.*; import com.gmail.nossr50.mcMMO; -import com.sk89q.worldedit.bukkit.BukkitAdapter; import net.kyori.text.TextComponent; import net.kyori.text.adapter.bukkit.TextAdapter; import net.kyori.text.format.TextColor; diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java b/mcmmo-core/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java index 96c93c9d9..6feb6091b 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java @@ -39,7 +39,6 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.plugin.Plugin; -import org.jetbrains.annotations.NotNull; import java.util.HashMap; import java.util.Map; diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/datatypes/skills/behaviours/HerbalismBehaviour.java b/mcmmo-core/src/main/java/com/gmail/nossr50/datatypes/skills/behaviours/HerbalismBehaviour.java index 5dc35ffe6..2fbe6e8fa 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/datatypes/skills/behaviours/HerbalismBehaviour.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/datatypes/skills/behaviours/HerbalismBehaviour.java @@ -1,6 +1,5 @@ package com.gmail.nossr50.datatypes.skills.behaviours; -import com.gmail.nossr50.core.MetadataConstants; import com.gmail.nossr50.mcMMO; import org.bukkit.Material; import org.bukkit.block.BlockState; diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/mcMMO.java b/mcmmo-core/src/main/java/com/gmail/nossr50/mcMMO.java index abf0eb680..0fa590b5e 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/mcMMO.java @@ -44,7 +44,6 @@ import com.gmail.nossr50.util.skills.*; import com.gmail.nossr50.util.sounds.SoundManager; import com.gmail.nossr50.worldguard.WorldGuardManager; import com.gmail.nossr50.worldguard.WorldGuardUtils; -import net.kyori.text.adapter.bukkit.TextAdapter; import net.shatteredlands.shatt.backup.ZipLibrary; import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/runnables/skills/BleedTimerTask.java b/mcmmo-core/src/main/java/com/gmail/nossr50/runnables/skills/BleedTimerTask.java index 2b061d1ea..1ce9d0e17 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/runnables/skills/BleedTimerTask.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/runnables/skills/BleedTimerTask.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.datatypes.interactions.NotificationType; import com.gmail.nossr50.datatypes.skills.BleedContainer; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.util.skills.ParticleEffectUtils; import com.gmail.nossr50.util.sounds.SoundType; import org.bukkit.Bukkit; import org.bukkit.entity.LivingEntity; diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java b/mcmmo-core/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java index 877c1e337..eb7456b6e 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java @@ -3,11 +3,9 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.core.MetadataConstants; import com.gmail.nossr50.datatypes.meta.RecentlyReplantedCropMeta; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.util.skills.ParticleEffectUtils; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; import org.bukkit.block.BlockState; import org.bukkit.block.data.Ageable; import org.bukkit.event.block.BlockBreakEvent; @@ -43,7 +41,7 @@ public class DelayedCropReplant extends BukkitRunnable { BlockState currentState = cropBlock.getState(); //Remove the metadata marking the block as recently replanted - new markPlantAsOld(blockBreakEvent.getBlock().getLocation()).runTaskLater(pluginRef, 20*5); + new markPlantAsOld(blockBreakEvent.getBlock().getLocation()).runTaskLater(pluginRef, 10); if(blockBreakEvent.isCancelled()) { wasImmaturePlant = true; @@ -91,10 +89,11 @@ public class DelayedCropReplant extends BukkitRunnable { @Override public void run() { Block cropBlock = cropLoc.getBlock(); - if(cropBlock.getMetadata(MetadataConstants.REPLANT_META_KEY).size() > 0) - cropBlock.setMetadata(MetadataConstants.REPLANT_META_KEY, new RecentlyReplantedCropMeta(pluginRef, false)); - pluginRef.getParticleEffectUtils().playFluxEffect(cropLocation); + if(cropBlock.getMetadata(MetadataConstants.REPLANT_META_KEY).size() > 0) { + cropBlock.setMetadata(MetadataConstants.REPLANT_META_KEY, new RecentlyReplantedCropMeta(pluginRef, false)); + pluginRef.getParticleEffectUtils().playFluxEffect(cropLocation); + } } } diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java b/mcmmo-core/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java index 3deb52181..195b7aad5 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java @@ -10,7 +10,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.datatypes.skills.behaviours.AcrobaticsBehaviour; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.skills.SkillManager; -import com.gmail.nossr50.util.skills.ParticleEffectUtils; import com.gmail.nossr50.util.skills.SkillActivationType; import org.bukkit.Location; import org.bukkit.entity.Entity; diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/skills/axes/AxesManager.java b/mcmmo-core/src/main/java/com/gmail/nossr50/skills/axes/AxesManager.java index b6884d3df..9d538506d 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/skills/axes/AxesManager.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/skills/axes/AxesManager.java @@ -9,7 +9,6 @@ import com.gmail.nossr50.datatypes.skills.ToolType; import com.gmail.nossr50.datatypes.skills.behaviours.AxesBehaviour; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.skills.SkillManager; -import com.gmail.nossr50.util.skills.ParticleEffectUtils; import com.gmail.nossr50.util.skills.SkillActivationType; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java b/mcmmo-core/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java index 78dd03786..f4f4fe51e 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java @@ -15,13 +15,10 @@ import com.gmail.nossr50.datatypes.skills.behaviours.HerbalismBehaviour; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.skills.DelayedCropReplant; import com.gmail.nossr50.runnables.skills.DelayedHerbalismXPCheckTask; -import com.gmail.nossr50.runnables.skills.HerbalismBlockUpdaterTask; import com.gmail.nossr50.skills.SkillManager; import com.gmail.nossr50.util.StringUtils; import com.gmail.nossr50.util.skills.SkillActivationType; -import com.gmail.nossr50.util.sounds.SoundManager; import com.gmail.nossr50.util.sounds.SoundType; -import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; @@ -32,7 +29,6 @@ import org.bukkit.entity.Player; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.PlayerInventory; -import org.bukkit.metadata.FixedMetadataValue; import java.util.ArrayList; import java.util.Collection; @@ -190,7 +186,12 @@ public class HerbalismManager extends SkillManager { //When replanting a immature crop we cancel the block break event and back out if(greenThumbActivated) { - return; + if(originalBreak.getBlock().getBlockData() instanceof Ageable) { + Ageable ageableCrop = (Ageable) originalBreak.getBlock().getBlockData(); + if(!isAgeableMature(ageableCrop)) { + return; + } + } } /* diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java b/mcmmo-core/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java index e8f6ba16c..f742853f6 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java @@ -13,7 +13,6 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.skills.SkillManager; import com.gmail.nossr50.util.StringUtils; import com.gmail.nossr50.util.random.RandomChanceSkillStatic; -import com.gmail.nossr50.util.skills.ParticleEffectUtils; import com.gmail.nossr50.util.skills.SkillActivationType; import com.gmail.nossr50.util.sounds.SoundType; import org.bukkit.Location; diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java b/mcmmo-core/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java index 96d1fdb4e..d440d1917 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java @@ -2,7 +2,6 @@ package com.gmail.nossr50.skills.taming; import com.gmail.nossr50.datatypes.skills.subskills.taming.CallOfTheWildType; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.util.skills.ParticleEffectUtils; import org.bukkit.Location; import org.bukkit.Sound; import org.bukkit.entity.LivingEntity; diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/text/TextManager.java b/mcmmo-core/src/main/java/com/gmail/nossr50/text/TextManager.java index cc51662e3..c4d74afd9 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/text/TextManager.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/text/TextManager.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.mcMMO; import net.kyori.text.TextComponent; import net.kyori.text.adapter.bukkit.TextAdapter; import net.kyori.text.serializer.gson.GsonComponentSerializer; -import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; import org.jetbrains.annotations.NotNull; diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/util/skills/ParticleEffectUtils.java b/mcmmo-core/src/main/java/com/gmail/nossr50/util/skills/ParticleEffectUtils.java index e0b6d7f3f..caea0504d 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/util/skills/ParticleEffectUtils.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/util/skills/ParticleEffectUtils.java @@ -1,7 +1,6 @@ package com.gmail.nossr50.util.skills; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.util.sounds.SoundManager; import com.gmail.nossr50.util.sounds.SoundType; import org.bukkit.Effect; import org.bukkit.Location; diff --git a/mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_en_US.properties b/mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_en_US.properties index 1b65e1511..ae0bf6205 100644 --- a/mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_en_US.properties +++ b/mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_en_US.properties @@ -268,7 +268,7 @@ Herbalism.Ability.Lower=[[GRAY]]You lower your Hoe. Herbalism.Ability.Ready=[[DARK_AQUA]]You [[GOLD]]ready[[DARK_AQUA]] your Hoe. Herbalism.Ability.ShroomThumb.Fail=**SHROOM THUMB FAIL** Herbalism.SubSkill.GreenTerra.Name=Green Terra -Herbalism.SubSkill.GreenTerra.Description=Spread the Terra, 3x Drops +Herbalism.SubSkill.GreenTerra.Description=Spread the Terra, 3x Drops, Boosts Green Thumb Herbalism.SubSkill.GreenTerra.Stat=Green Terra Duration Herbalism.SubSkill.GreenThumb.Name=Green Thumb Herbalism.SubSkill.GreenThumb.Description=Auto-Plants crops when harvesting