Skip to content

Commit

Permalink
2.1.214
Browse files Browse the repository at this point in the history
  • Loading branch information
nossr50 committed Jun 10, 2022
1 parent 1a34d2f commit 444e153
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 30 deletions.
10 changes: 10 additions & 0 deletions 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
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.gmail.nossr50.mcMMO</groupId>
<artifactId>mcMMO</artifactId>
<version>2.1.213</version>
<version>2.1.214</version>
<name>mcMMO</name>
<url>https://github.com/mcMMO-Dev/mcMMO</url>
<scm>
Expand Down
@@ -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);
// }
//}
7 changes: 3 additions & 4 deletions src/main/java/com/gmail/nossr50/listeners/PlayerListener.java
Expand Up @@ -8,7 +8,6 @@
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;
Expand Down Expand Up @@ -841,7 +840,7 @@ public void onPlayerInteractMonitor(PlayerInteractEvent event) {

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) {
Expand All @@ -860,7 +859,7 @@ public void onPlayerInteractMonitor(PlayerInteractEvent event) {
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)) {
Expand All @@ -871,7 +870,7 @@ public void onPlayerInteractMonitor(PlayerInteractEvent event) {
/* 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)) {
Expand Down
19 changes: 10 additions & 9 deletions src/main/java/com/gmail/nossr50/util/EventUtils.java
Expand Up @@ -44,6 +44,7 @@
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;
Expand Down Expand Up @@ -225,12 +226,12 @@ public static SubSkillEvent callSubSkillEvent(Player player, AbstractSubSkill ab
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);
Expand Down Expand Up @@ -315,9 +316,9 @@ public static boolean simulateBlockBreak(Block block, Player player, boolean sho
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);
Expand Down
Expand Up @@ -626,7 +626,7 @@ public void acceptRankData(Map<PrimarySkillType, Integer> rankData) {
}
}

public void acceptLeaderboardData(List<PlayerStat> leaderboardData) {
public void acceptLeaderboardData(@NotNull List<PlayerStat> leaderboardData) {
for (PlayerStat stat : leaderboardData) {
String name = stat.name;

Expand Down
Expand Up @@ -681,7 +681,7 @@ public static void applyAbilityAoE(@NotNull Player attacker, @NotNull LivingEnti
continue;
}

EventUtils.callFakeArmSwingEvent(attacker);
//EventUtils.callFakeArmSwingEvent(attacker);

switch (type) {
case SWORDS:
Expand Down

0 comments on commit 444e153

Please sign in to comment.