From d543843235f003db5a6e93798aa1b08f6dfedddc Mon Sep 17 00:00:00 2001 From: abridgedcarp <37029664+abridgedcarp@users.noreply.github.com> Date: Thu, 9 Jun 2022 21:26:50 +0000 Subject: [PATCH 1/9] Fix Maven build failure (#4779) --- .../gmail/nossr50/events/fake/FakePlayerAnimationEvent.java | 5 +++-- .../java/com/gmail/nossr50/listeners/PlayerListener.java | 2 +- src/main/java/com/gmail/nossr50/util/EventUtils.java | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/events/fake/FakePlayerAnimationEvent.java b/src/main/java/com/gmail/nossr50/events/fake/FakePlayerAnimationEvent.java index 075928bb4..3f7a8cfec 100644 --- a/src/main/java/com/gmail/nossr50/events/fake/FakePlayerAnimationEvent.java +++ b/src/main/java/com/gmail/nossr50/events/fake/FakePlayerAnimationEvent.java @@ -2,12 +2,13 @@ package com.gmail.nossr50.events.fake; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerAnimationEvent; +import org.bukkit.event.player.PlayerAnimationType; /** * Called when handling extra drops to avoid issues with NoCheat. */ public class FakePlayerAnimationEvent extends PlayerAnimationEvent implements FakeEvent { - public FakePlayerAnimationEvent(Player player) { - super(player); + public FakePlayerAnimationEvent(Player player, PlayerAnimationType playerAnimationType) { + super(player, playerAnimationType); } } diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 2eb17c405..c28a91ef5 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -841,7 +841,7 @@ public class PlayerListener implements Listener { HerbalismManager herbalismManager = mcMMOPlayer.getHerbalismManager(); - FakePlayerAnimationEvent fakeSwing = new FakePlayerAnimationEvent(event.getPlayer()); //PlayerAnimationEvent compat + FakePlayerAnimationEvent fakeSwing = new FakePlayerAnimationEvent(event.getPlayer(), PlayerAnimationType.ARM_SWING); //PlayerAnimationEvent compat if(!event.isCancelled() || event.useInteractedBlock() != Event.Result.DENY) { //TODO: Is this code to set false from bone meal even needed? I'll have to double check later. if (heldItem.getType() == Material.BONE_MEAL) { diff --git a/src/main/java/com/gmail/nossr50/util/EventUtils.java b/src/main/java/com/gmail/nossr50/util/EventUtils.java index 81bec7e50..7ccfa1856 100644 --- a/src/main/java/com/gmail/nossr50/util/EventUtils.java +++ b/src/main/java/com/gmail/nossr50/util/EventUtils.java @@ -44,6 +44,7 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.player.PlayerAnimationType; import org.bukkit.event.player.PlayerFishEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.Plugin; @@ -225,7 +226,7 @@ public final class EventUtils { } public static FakePlayerAnimationEvent callFakeArmSwingEvent(Player player) { - FakePlayerAnimationEvent event = new FakePlayerAnimationEvent(player); + FakePlayerAnimationEvent event = new FakePlayerAnimationEvent(player, PlayerAnimationType.ARM_SWING); mcMMO.p.getServer().getPluginManager().callEvent(event); return event; From 1a34d2f647b9f778802d01184166c2fc19b53797 Mon Sep 17 00:00:00 2001 From: Smudge <68658429+smuddgge@users.noreply.github.com> Date: Thu, 9 Jun 2022 22:31:06 +0100 Subject: [PATCH 2/9] Added 25% xp boost permission (#4773) --- .../com/gmail/nossr50/util/Permissions.java | 7 +- .../gmail/nossr50/util/skills/PerksUtils.java | 3 + src/main/resources/plugin.yml | 71 +++++++++++++++++++ 3 files changed, 80 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gmail/nossr50/util/Permissions.java b/src/main/java/com/gmail/nossr50/util/Permissions.java index 2dabff51e..c405f84ab 100644 --- a/src/main/java/com/gmail/nossr50/util/Permissions.java +++ b/src/main/java/com/gmail/nossr50/util/Permissions.java @@ -133,7 +133,12 @@ public final class Permissions { return permissible.hasPermission("mcmmo.perks.xp.50percentboost.all") || permissible.hasPermission("mcmmo.perks.xp.50percentboost." + skill.toString().toLowerCase(Locale.ENGLISH)); } - + + public static boolean oneAndAQuarterXp(Permissible permissible, PrimarySkillType skill) { + return permissible.hasPermission("mcmmo.perks.xp.25percentboost.all") + || permissible.hasPermission("mcmmo.perks.xp.25percentboost." + skill.toString().toLowerCase(Locale.ENGLISH)); + } + public static boolean oneAndOneTenthXp(Permissible permissible, PrimarySkillType skill) { return permissible.hasPermission("mcmmo.perks.xp.10percentboost.all") || permissible.hasPermission("mcmmo.perks.xp.10percentboost." + skill.toString().toLowerCase(Locale.ENGLISH)); diff --git a/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java b/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java index 1aa39105a..2d83cb063 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java @@ -74,6 +74,9 @@ public final class PerksUtils { else if (Permissions.oneAndOneHalfXp(player, skill)) { modifier = 1.5; } + else if (Permissions.oneAndAQuarterXp(player, skill)) { + modifier = 1.25; + } else if (Permissions.oneAndOneTenthXp(player, skill)) { modifier = 1.1; } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 2173e7de9..23915d427 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1495,6 +1495,7 @@ permissions: children: mcmmo.perks.xp.150percentboost.all: true mcmmo.perks.xp.50percentboost.all: true + mcmmo.perks.xp.25percentboost.all: true mcmmo.perks.xp.10percentboost.all: true mcmmo.perks.xp.customboost.all: true mcmmo.perks.xp.double.all: true @@ -1640,6 +1641,76 @@ permissions: mcmmo.perks.xp.50percentboost.woodcutting: default: false description: Multiplies incoming Woodcutting XP by 1.5 + mcmmo.perks.xp.25percentboost.*: + default: false + description: Multiplies incoming XP by 1.25 + children: + mcmmo.perks.xp.25percentboost.all: true + mcmmo.perks.xp.25percentboost: + default: false + description: Multiplies incoming XP by 1.25 + children: + mcmmo.perks.xp.25percentboost.all: true + mcmmo.perks.xp.25percentboost.all: + default: false + description: Multiplies incoming XP by 1.25 + children: + mcmmo.perks.xp.25percentboost.acrobatics: true + mcmmo.perks.xp.25percentboost.alchemy: true + mcmmo.perks.xp.25percentboost.archery: true + mcmmo.perks.xp.25percentboost.axes: true + mcmmo.perks.xp.25percentboost.excavation: true + mcmmo.perks.xp.25percentboost.fishing: true + mcmmo.perks.xp.25percentboost.herbalism: true + mcmmo.perks.xp.25percentboost.mining: true + mcmmo.perks.xp.25percentboost.repair: true + mcmmo.perks.xp.25percentboost.smelting: true + mcmmo.perks.xp.25percentboost.swords: true + mcmmo.perks.xp.25percentboost.taming: true + mcmmo.perks.xp.25percentboost.unarmed: true + mcmmo.perks.xp.25percentboost.woodcutting: true + mcmmo.perks.xp.25percentboost.acrobatics: + default: false + description: Multiplies incoming Acrobatics XP by 1.25 + mcmmo.perks.xp.25percentboost.alchemy: + default: false + description: Multiplies incoming Acrobatics XP by 1.25 + mcmmo.perks.xp.25percentboost.archery: + default: false + description: Multiplies incoming Archery XP by 1.25 + mcmmo.perks.xp.25percentboost.axes: + default: false + description: Multiplies incoming Axes XP by 1.25 + mcmmo.perks.xp.25percentboost.excavation: + default: false + description: Multiplies incoming Excavation XP by 1.25 + mcmmo.perks.xp.25percentboost.fishing: + default: false + description: Multiplies incoming Fishing XP by 1.25 + mcmmo.perks.xp.25percentboost.herbalism: + default: false + description: Multiplies incoming Herbalism XP by 1.25 + mcmmo.perks.xp.25percentboost.mining: + default: false + description: Multiplies incoming Mining XP by 1.25 + mcmmo.perks.xp.25percentboost.repair: + default: false + description: Multiplies incoming Repair XP by 1.25 + mcmmo.perks.xp.25percentboost.smelting: + default: false + description: Multiplies incoming Smelting XP by 1.25 + mcmmo.perks.xp.25percentboost.swords: + default: false + description: Multiplies incoming Swords XP by 1.25 + mcmmo.perks.xp.25percentboost.taming: + default: false + description: Multiplies incoming Taming XP by 1.25 + mcmmo.perks.xp.25percentboost.unarmed: + default: false + description: Multiplies incoming Unarmed XP by 1.5 + mcmmo.perks.xp.25percentboost.woodcutting: + default: false + description: Multiplies incoming Woodcutting XP by 1.25 mcmmo.perks.xp.10percentboost.*: default: false description: Multiplies incoming XP by 1.1 From 444e1532f2f43d103d0bfde2dd41cf6433ffca57 Mon Sep 17 00:00:00 2001 From: nossr50 Date: Thu, 9 Jun 2022 22:39:11 -0700 Subject: [PATCH 3/9] 2.1.214 --- Changelog.txt | 10 +++++++ pom.xml | 2 +- .../events/fake/FakePlayerAnimationEvent.java | 28 +++++++++---------- .../nossr50/listeners/PlayerListener.java | 7 ++--- .../com/gmail/nossr50/util/EventUtils.java | 19 +++++++------ .../util/scoreboards/ScoreboardWrapper.java | 2 +- .../nossr50/util/skills/CombatUtils.java | 2 +- 7 files changed, 40 insertions(+), 30 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index eb6674753..1227eb850 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,3 +1,13 @@ +Version 2.1.214 + Temporarily removed FakePlayerAnimationEvent (see notes) + + NOTES: + Spigot updated PlayerAnimationEvent with an API break between versions 1.18 and 1.19, as a temporary fix for mcMMO to be able to support both of these + Minecraft versions I have temporarily removed FakePlayerAnimationEvent. I am working on a fix to dynamically use the correct API depending on the version of MC + as many people will likely be stuck on 1.18 for a while. + FakePlayerAnimationEvent existed to circumvent false positives on anti-cheat plugins such as NoCheat, however + I am unsure if it is still needed and removing it may have no ill effects.. however I cannot be certain. + Anti-cheat plugin authors should be informed to update if you run into false positives with mcMMO after this update so they can make the appropriate changes. Version 2.1.213 Updated various mechanics to recognize and understand the new blocks Added 'Packed_Mud' to mining xp diff --git a/pom.xml b/pom.xml index e2ecfc1cf..bdbb9333c 100755 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.gmail.nossr50.mcMMO mcMMO - 2.1.213 + 2.1.214 mcMMO https://github.com/mcMMO-Dev/mcMMO diff --git a/src/main/java/com/gmail/nossr50/events/fake/FakePlayerAnimationEvent.java b/src/main/java/com/gmail/nossr50/events/fake/FakePlayerAnimationEvent.java index 3f7a8cfec..e4eb1ec88 100644 --- a/src/main/java/com/gmail/nossr50/events/fake/FakePlayerAnimationEvent.java +++ b/src/main/java/com/gmail/nossr50/events/fake/FakePlayerAnimationEvent.java @@ -1,14 +1,14 @@ -package com.gmail.nossr50.events.fake; - -import org.bukkit.entity.Player; -import org.bukkit.event.player.PlayerAnimationEvent; -import org.bukkit.event.player.PlayerAnimationType; - -/** - * Called when handling extra drops to avoid issues with NoCheat. - */ -public class FakePlayerAnimationEvent extends PlayerAnimationEvent implements FakeEvent { - public FakePlayerAnimationEvent(Player player, PlayerAnimationType playerAnimationType) { - super(player, playerAnimationType); - } -} +//package com.gmail.nossr50.events.fake; +// +//import org.bukkit.entity.Player; +//import org.bukkit.event.player.PlayerAnimationEvent; +//import org.bukkit.event.player.PlayerAnimationType; +// +///** +// * Called when handling extra drops to avoid issues with NoCheat. +// */ +//public class FakePlayerAnimationEvent extends PlayerAnimationEvent implements FakeEvent { +// public FakePlayerAnimationEvent(Player player, PlayerAnimationType playerAnimationType) { +// super(player, playerAnimationType); +// } +//} diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index c28a91ef5..9ebc19ad4 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -8,7 +8,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.datatypes.skills.subskills.taming.CallOfTheWildType; import com.gmail.nossr50.events.McMMOReplaceVanillaTreasureEvent; -import com.gmail.nossr50.events.fake.FakePlayerAnimationEvent; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.party.ShareHandler; @@ -841,7 +840,7 @@ public class PlayerListener implements Listener { HerbalismManager herbalismManager = mcMMOPlayer.getHerbalismManager(); - FakePlayerAnimationEvent fakeSwing = new FakePlayerAnimationEvent(event.getPlayer(), PlayerAnimationType.ARM_SWING); //PlayerAnimationEvent compat + // FakePlayerAnimationEvent fakeSwing = new FakePlayerAnimationEvent(event.getPlayer(), PlayerAnimationType.ARM_SWING); //PlayerAnimationEvent compat if(!event.isCancelled() || event.useInteractedBlock() != Event.Result.DENY) { //TODO: Is this code to set false from bone meal even needed? I'll have to double check later. if (heldItem.getType() == Material.BONE_MEAL) { @@ -860,7 +859,7 @@ public class PlayerListener implements Listener { if (herbalismManager.canGreenThumbBlock(blockState)) { //call event for Green Thumb Block if(!EventUtils.callSubSkillBlockEvent(player, SubSkillType.HERBALISM_GREEN_THUMB, block).isCancelled()) { - Bukkit.getPluginManager().callEvent(fakeSwing); + // Bukkit.getPluginManager().callEvent(fakeSwing); player.getInventory().getItemInMainHand().setAmount(heldItem.getAmount() - 1); player.updateInventory(); if (herbalismManager.processGreenThumbBlocks(blockState) && EventUtils.simulateBlockBreak(block, player, false)) { @@ -871,7 +870,7 @@ public class PlayerListener implements Listener { /* SHROOM THUMB CHECK */ else if (herbalismManager.canUseShroomThumb(blockState)) { if(!EventUtils.callSubSkillBlockEvent(player, SubSkillType.HERBALISM_SHROOM_THUMB, block).isCancelled()) { - Bukkit.getPluginManager().callEvent(fakeSwing); + // Bukkit.getPluginManager().callEvent(fakeSwing); event.setCancelled(true); if (herbalismManager.processShroomThumb(blockState) && EventUtils.simulateBlockBreak(block, player, false)) { diff --git a/src/main/java/com/gmail/nossr50/util/EventUtils.java b/src/main/java/com/gmail/nossr50/util/EventUtils.java index 7ccfa1856..c92b1f10d 100644 --- a/src/main/java/com/gmail/nossr50/util/EventUtils.java +++ b/src/main/java/com/gmail/nossr50/util/EventUtils.java @@ -44,6 +44,7 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.player.PlayerAnimationEvent; import org.bukkit.event.player.PlayerAnimationType; import org.bukkit.event.player.PlayerFishEvent; import org.bukkit.inventory.ItemStack; @@ -225,12 +226,12 @@ public final class EventUtils { return event; } - public static FakePlayerAnimationEvent callFakeArmSwingEvent(Player player) { - FakePlayerAnimationEvent event = new FakePlayerAnimationEvent(player, PlayerAnimationType.ARM_SWING); - mcMMO.p.getServer().getPluginManager().callEvent(event); - - return event; - } +// public static Event callFakeArmSwingEvent(@NotNull Player player) { +// PlayerAnimationEvent event = new FakePlayerAnimationEvent(player, PlayerAnimationType.ARM_SWING); +// mcMMO.p.getServer().getPluginManager().callEvent(event); +// +// return event; +// } public static boolean tryLevelChangeEvent(Player player, PrimarySkillType skill, int levelsChanged, float xpRemoved, boolean isLevelUp, XPGainReason xpGainReason) { McMMOPlayerLevelChangeEvent event = isLevelUp ? new McMMOPlayerLevelUpEvent(player, skill, levelsChanged, xpGainReason) : new McMMOPlayerLevelDownEvent(player, skill, levelsChanged, xpGainReason); @@ -315,9 +316,9 @@ public final class EventUtils { PluginManager pluginManager = mcMMO.p.getServer().getPluginManager(); // Support for NoCheat - if (shouldArmSwing) { - callFakeArmSwingEvent(player); - } + //if (shouldArmSwing) { + // callFakeArmSwingEvent(player); + //} FakeBlockDamageEvent damageEvent = new FakeBlockDamageEvent(player, block, player.getInventory().getItemInMainHand(), true); pluginManager.callEvent(damageEvent); diff --git a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java index be3e97cb4..24634bad2 100644 --- a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java +++ b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java @@ -626,7 +626,7 @@ public class ScoreboardWrapper { } } - public void acceptLeaderboardData(List leaderboardData) { + public void acceptLeaderboardData(@NotNull List leaderboardData) { for (PlayerStat stat : leaderboardData) { String name = stat.name; diff --git a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java index 85c1e09b2..bf4a3a4ee 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java @@ -681,7 +681,7 @@ public final class CombatUtils { continue; } - EventUtils.callFakeArmSwingEvent(attacker); + //EventUtils.callFakeArmSwingEvent(attacker); switch (type) { case SWORDS: From fa82fe8e6788e57553371d58fa783df01c32717f Mon Sep 17 00:00:00 2001 From: nossr50 Date: Thu, 9 Jun 2022 22:50:36 -0700 Subject: [PATCH 4/9] Level up broadcasts should be visible to the player of origin --- Changelog.txt | 1 + .../com/gmail/nossr50/datatypes/LevelUpBroadcastPredicate.java | 2 +- .../gmail/nossr50/datatypes/PowerLevelUpBroadcastPredicate.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index 1227eb850..098c849e4 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,5 +1,6 @@ Version 2.1.214 Temporarily removed FakePlayerAnimationEvent (see notes) + Players can now see their own level up broadcasts NOTES: Spigot updated PlayerAnimationEvent with an API break between versions 1.18 and 1.19, as a temporary fix for mcMMO to be able to support both of these diff --git a/src/main/java/com/gmail/nossr50/datatypes/LevelUpBroadcastPredicate.java b/src/main/java/com/gmail/nossr50/datatypes/LevelUpBroadcastPredicate.java index 1644fdd1b..f19ec041e 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/LevelUpBroadcastPredicate.java +++ b/src/main/java/com/gmail/nossr50/datatypes/LevelUpBroadcastPredicate.java @@ -74,7 +74,7 @@ public class LevelUpBroadcastPredicate implements Predi } //Visibility checks - if(!listeningPlayer.canSee(mmoBroadcastingPlayer.getPlayer())) { + if(!listeningPlayer.canSee(mmoBroadcastingPlayer.getPlayer()) && listeningPlayer != mmoBroadcastingPlayer.getPlayer()) { return false; //Player who leveled should be invisible to this player so don't send the message } diff --git a/src/main/java/com/gmail/nossr50/datatypes/PowerLevelUpBroadcastPredicate.java b/src/main/java/com/gmail/nossr50/datatypes/PowerLevelUpBroadcastPredicate.java index 17bc2fd04..05e7a3a1a 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/PowerLevelUpBroadcastPredicate.java +++ b/src/main/java/com/gmail/nossr50/datatypes/PowerLevelUpBroadcastPredicate.java @@ -74,7 +74,7 @@ public class PowerLevelUpBroadcastPredicate implements } //Visibility checks - if(!listeningPlayer.canSee(mmoBroadcastingPlayer.getPlayer())) { + if(!listeningPlayer.canSee(mmoBroadcastingPlayer.getPlayer()) && listeningPlayer != mmoBroadcastingPlayer.getPlayer()) { return false; //Player who leveled should be invisible to this player so don't send the message } From aa4011a2263fd043269d468c907fef8b5e4a5cc7 Mon Sep 17 00:00:00 2001 From: destro174 <40720638+destro174@users.noreply.github.com> Date: Sun, 12 Jun 2022 01:41:27 +0200 Subject: [PATCH 5/9] Use item in mainhand to get drops when using treefeller (#4781) --- .../nossr50/skills/woodcutting/WoodcuttingManager.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java b/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java index d08cad2da..866ef91d2 100644 --- a/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java +++ b/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java @@ -281,6 +281,7 @@ public class WoodcuttingManager extends SkillManager { Player player = getPlayer(); int xp = 0; int processedLogCount = 0; + ItemStack itemStack = player.getInventory().getItemInMainHand(); for (BlockState blockState : treeFellerBlocks) { int beforeXP = xp; @@ -299,7 +300,7 @@ public class WoodcuttingManager extends SkillManager { xp += processTreeFellerXPGains(blockState, processedLogCount); //Drop displaced block - Misc.spawnItemsFromCollection(getPlayer(), Misc.getBlockCenter(blockState), block.getDrops(), ItemSpawnReason.TREE_FELLER_DISPLACED_BLOCK); + Misc.spawnItemsFromCollection(getPlayer(), Misc.getBlockCenter(blockState), block.getDrops(itemStack), ItemSpawnReason.TREE_FELLER_DISPLACED_BLOCK); //Bonus Drops / Harvest lumber checks processHarvestLumber(blockState); @@ -307,7 +308,7 @@ public class WoodcuttingManager extends SkillManager { //Drop displaced non-woodcutting XP blocks if(RankUtils.hasUnlockedSubskill(player, SubSkillType.WOODCUTTING_KNOCK_ON_WOOD)) { - Misc.spawnItemsFromCollection(getPlayer(), Misc.getBlockCenter(blockState), block.getDrops(), ItemSpawnReason.TREE_FELLER_DISPLACED_BLOCK); + Misc.spawnItemsFromCollection(getPlayer(), Misc.getBlockCenter(blockState), block.getDrops(itemStack), ItemSpawnReason.TREE_FELLER_DISPLACED_BLOCK); if(RankUtils.hasReachedRank(2, player, SubSkillType.WOODCUTTING_KNOCK_ON_WOOD)) { if(mcMMO.p.getAdvancedConfig().isKnockOnWoodXPOrbEnabled()) { @@ -319,7 +320,7 @@ public class WoodcuttingManager extends SkillManager { } } else { - Misc.spawnItemsFromCollection(getPlayer(), Misc.getBlockCenter(blockState), block.getDrops(), ItemSpawnReason.TREE_FELLER_DISPLACED_BLOCK, 1); + Misc.spawnItemsFromCollection(getPlayer(), Misc.getBlockCenter(blockState), block.getDrops(itemStack), ItemSpawnReason.TREE_FELLER_DISPLACED_BLOCK, 1); } } From 90721ee85935bed9eaedad5ec350cde45fdb6a6f Mon Sep 17 00:00:00 2001 From: nossr50 Date: Sun, 26 Jun 2022 18:43:09 -0700 Subject: [PATCH 6/9] Add missing Mangrove_Log to experience.yml --- Changelog.txt | 2 ++ pom.xml | 2 +- src/main/resources/experience.yml | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Changelog.txt b/Changelog.txt index 098c849e4..33c72dd20 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,3 +1,5 @@ +Version 2.1.215 + Version 2.1.214 Temporarily removed FakePlayerAnimationEvent (see notes) Players can now see their own level up broadcasts diff --git a/pom.xml b/pom.xml index bdbb9333c..7decc9e6e 100755 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.gmail.nossr50.mcMMO mcMMO - 2.1.214 + 2.1.215-SNAPSHOT mcMMO https://github.com/mcMMO-Dev/mcMMO diff --git a/src/main/resources/experience.yml b/src/main/resources/experience.yml index e63f1663d..0855dd341 100644 --- a/src/main/resources/experience.yml +++ b/src/main/resources/experience.yml @@ -304,6 +304,7 @@ Experience_Values: Acacia_Wood: 70 Dark_Oak_Wood: 70 Mangrove_Wood: 80 + Mangrove_Log: 95 Mangrove_Roots: 10 Red_Mushroom_Block: 70 Brown_Mushroom_Block: 70 From 2c09a0fdb64d5df0032e950bbd20c5fe2d1ca96d Mon Sep 17 00:00:00 2001 From: PikaMug <2267126+PikaMug@users.noreply.github.com> Date: Sat, 2 Jul 2022 22:25:27 -0400 Subject: [PATCH 7/9] Switch to new sk89q repo (#4791) --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 7decc9e6e..e97572fca 100755 --- a/pom.xml +++ b/pom.xml @@ -226,8 +226,8 @@ https://repo.codemc.org/repository/maven-public - sk89q-repo - https://maven.sk89q.com/repo/ + enginehub-repo + https://maven.enginehub.org/repo/ sonatype-oss From 88b6517f8843e6c9af6f929134a464fc0ae64304 Mon Sep 17 00:00:00 2001 From: Greymagic27 <46166848+Greymagic27@users.noreply.github.com> Date: Fri, 15 Jul 2022 23:07:19 +0100 Subject: [PATCH 8/9] Added Dripstone Block to experience.yml (#4796) --- src/main/resources/experience.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/experience.yml b/src/main/resources/experience.yml index 0855dd341..cf3e4003f 100644 --- a/src/main/resources/experience.yml +++ b/src/main/resources/experience.yml @@ -497,6 +497,7 @@ Experience_Values: Purpur_Stairs: 250 Packed_Mud: 30 Mud_Bricks: 40 + Dripstone_Block: 35 Repair: Base: 1000.0 Wood: 0.6 From edd85c2f197ec25dd22f6db0ee3d055a311a15dd Mon Sep 17 00:00:00 2001 From: Greymagic27 <46166848+Greymagic27@users.noreply.github.com> Date: Sun, 17 Jul 2022 21:38:44 +0100 Subject: [PATCH 9/9] Updated kyori adventure-platform dependencies (#4797) --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e97572fca..a297fdfa7 100755 --- a/pom.xml +++ b/pom.xml @@ -279,12 +279,12 @@ net.kyori adventure-platform-bukkit - 4.0.1 + 4.1.1 net.kyori adventure-platform-api - 4.0.1 + 4.1.1 org.apache.maven.scm