Added Fake Event check (#4296)

Thanks you @TheBusyBiscuit
This commit is contained in:
TheBusyBiscuit
2020-10-14 21:11:15 +02:00
committed by GitHub
parent 8d6d0cf254
commit f29370a1c8
10 changed files with 42 additions and 9 deletions

View File

@ -44,6 +44,7 @@ import org.bukkit.event.Event;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.player.PlayerFishEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import java.util.HashMap;
@ -52,10 +53,30 @@ import java.util.Map;
/**
* This class is meant to help make event related code less boilerplate
*/
public class EventUtils {
public final class EventUtils {
/**
* This is a static utility class, therefore we don't want any instances of
* this class. Making the constructor private prevents accidents like that.
*/
private EventUtils() {}
/*
* Quality of Life methods
*/
/**
* This is a simple check to see if an {@link Event} is fake or not.
* {@link FakeEvent FakeEvents} should not be processed like normally and maybe even
* be ignored by other {@link Plugin plugins} completely.
*
* @param event The {@link Event} in question
* @return Whether this {@link Event} has been faked by mcMMO and should not be processed normally.
*/
public static boolean isFakeEvent(Event event) {
return event instanceof FakeEvent;
}
/**
* Checks to see if damage is from natural sources
* This cannot be used to determine if damage is from vanilla MC, it just checks to see if the damage is from a complex behaviour in mcMMO such as bleed.
@ -69,6 +90,7 @@ public class EventUtils {
/**
* This little method is just to make the code more readable
*
* @param entity target entity
* @return the associated McMMOPlayer for this entity
*/