Implement basic canDamage
This commit is contained in:
parent
0735b415cf
commit
498df70a1f
@ -3,10 +3,12 @@ package mineplex.core.antihack;
|
|||||||
import net.minecraft.server.v1_8_R3.MinecraftServer;
|
import net.minecraft.server.v1_8_R3.MinecraftServer;
|
||||||
import net.minecraft.server.v1_8_R3.MobEffect;
|
import net.minecraft.server.v1_8_R3.MobEffect;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
|
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
import com.mineplex.anticheat.api.MineplexLink;
|
import com.mineplex.anticheat.api.MineplexLink;
|
||||||
@ -21,6 +23,8 @@ public class MineplexLinkImpl implements MineplexLink
|
|||||||
{
|
{
|
||||||
private final DisguiseManager _disguiseManager = Managers.require(DisguiseManager.class);
|
private final DisguiseManager _disguiseManager = Managers.require(DisguiseManager.class);
|
||||||
|
|
||||||
|
private final RegisteredServiceProvider<RelationProvider> _relationProvider = Bukkit.getServicesManager().getRegistration(RelationProvider.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EntityType getActiveDisguise(Player player)
|
public EntityType getActiveDisguise(Player player)
|
||||||
{
|
{
|
||||||
@ -74,6 +78,6 @@ public class MineplexLinkImpl implements MineplexLink
|
|||||||
@Override
|
@Override
|
||||||
public boolean canDamage(Player attacker, Entity target)
|
public boolean canDamage(Player attacker, Entity target)
|
||||||
{
|
{
|
||||||
return true;
|
return _relationProvider != null && _relationProvider.getProvider().canDamage(attacker, target);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
package mineplex.core.antihack;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public interface RelationProvider
|
||||||
|
{
|
||||||
|
boolean canDamage(Player player, Entity target);
|
||||||
|
}
|
@ -7,7 +7,10 @@ import mineplex.core.aprilfools.AprilFoolsManager;
|
|||||||
import net.minecraft.server.v1_8_R3.MinecraftServer;
|
import net.minecraft.server.v1_8_R3.MinecraftServer;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.plugin.ServicePriority;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import org.spigotmc.SpigotConfig;
|
import org.spigotmc.SpigotConfig;
|
||||||
|
|
||||||
@ -19,6 +22,7 @@ import mineplex.core.TwitchIntegrationFix;
|
|||||||
import mineplex.core.account.CoreClientManager;
|
import mineplex.core.account.CoreClientManager;
|
||||||
import mineplex.core.achievement.AchievementManager;
|
import mineplex.core.achievement.AchievementManager;
|
||||||
import mineplex.core.antihack.AntiHack;
|
import mineplex.core.antihack.AntiHack;
|
||||||
|
import mineplex.core.antihack.RelationProvider;
|
||||||
import mineplex.core.antihack.logging.AntihackLogger;
|
import mineplex.core.antihack.logging.AntihackLogger;
|
||||||
import mineplex.core.blockrestore.BlockRestore;
|
import mineplex.core.blockrestore.BlockRestore;
|
||||||
import mineplex.core.blood.Blood;
|
import mineplex.core.blood.Blood;
|
||||||
@ -80,6 +84,7 @@ import mineplex.minecraft.game.core.combat.CombatManager;
|
|||||||
import mineplex.minecraft.game.core.damage.DamageManager;
|
import mineplex.minecraft.game.core.damage.DamageManager;
|
||||||
|
|
||||||
import nautilus.game.arcade.anticheatmetadata.GameInfoMetadata;
|
import nautilus.game.arcade.anticheatmetadata.GameInfoMetadata;
|
||||||
|
import nautilus.game.arcade.game.Game;
|
||||||
import nautilus.game.arcade.game.GameServerConfig;
|
import nautilus.game.arcade.game.GameServerConfig;
|
||||||
import static mineplex.core.Managers.require;
|
import static mineplex.core.Managers.require;
|
||||||
|
|
||||||
@ -97,6 +102,26 @@ public class Arcade extends JavaPlugin
|
|||||||
@Override
|
@Override
|
||||||
public void onEnable()
|
public void onEnable()
|
||||||
{
|
{
|
||||||
|
getServer().getServicesManager().register(RelationProvider.class, new RelationProvider()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean canDamage(Player player, Entity target)
|
||||||
|
{
|
||||||
|
if (target instanceof Player)
|
||||||
|
{
|
||||||
|
return _gameManager.canHurt(player, (Player) target);
|
||||||
|
}
|
||||||
|
else if (target instanceof LivingEntity)
|
||||||
|
{
|
||||||
|
return _gameManager.GetGame() != null && _gameManager.GetGame().GetState() == Game.GameState.Live;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, this, ServicePriority.Normal);
|
||||||
|
|
||||||
Bukkit.setSpawnRadius(0);
|
Bukkit.setSpawnRadius(0);
|
||||||
//Delete Old Games Folders
|
//Delete Old Games Folders
|
||||||
DeleteFolders();
|
DeleteFolders();
|
||||||
|
Loading…
Reference in New Issue
Block a user