Update 5.14
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
package io.izzel.taboolib.common.event;
|
||||
|
||||
import io.izzel.taboolib.module.event.EventCancellable;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PlayerAttackEvent extends EventCancellable<PlayerAttackEvent> {
|
||||
|
||||
private Player player;
|
||||
private Entity target;
|
||||
|
||||
public PlayerAttackEvent(Player player, Entity target) {
|
||||
this.player = player;
|
||||
this.target = target;
|
||||
async(true);
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return this.player;
|
||||
}
|
||||
|
||||
public Entity getTarget() {
|
||||
return target;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package io.izzel.taboolib.common.listener;
|
||||
|
||||
import io.izzel.taboolib.common.event.PlayerAttackEvent;
|
||||
import io.izzel.taboolib.module.nms.NMS;
|
||||
import io.izzel.taboolib.module.packet.Packet;
|
||||
import io.izzel.taboolib.module.packet.TPacket;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
* @Author sky
|
||||
* @Since 2020-01-14 21:26
|
||||
*/
|
||||
public class ListenerPlayerAttack {
|
||||
|
||||
@TPacket(type = TPacket.Type.RECEIVE)
|
||||
static boolean e(Player player, Packet packet) {
|
||||
if (packet.is("PacketPlayInUseEntity") && packet.read("action").equals("ATTACK")) {
|
||||
try {
|
||||
Entity entityById = NMS.handle().getEntityById(packet.read("a", Integer.TYPE));
|
||||
if (entityById != null && new PlayerAttackEvent(player, entityById).call().isCancelled()) {
|
||||
return false;
|
||||
}
|
||||
} catch (Throwable ignored) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,12 +9,16 @@ import io.izzel.taboolib.module.inject.TListener;
|
||||
import io.izzel.taboolib.module.locale.TLocale;
|
||||
import io.izzel.taboolib.module.locale.logger.TLogger;
|
||||
import io.izzel.taboolib.module.tellraw.TellrawJson;
|
||||
import io.izzel.taboolib.util.ArrayUtil;
|
||||
import io.izzel.taboolib.util.item.Items;
|
||||
import io.izzel.taboolib.util.lite.Signs;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
import org.bukkit.event.server.ServerCommandEvent;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author sky
|
||||
*/
|
||||
@@ -39,6 +43,12 @@ public class ListenerPlayerCommand implements Listener {
|
||||
e.setCancelled(true);
|
||||
e.getPlayer().sendMessage(InternalPluginBridge.handle().setPlaceholders(e.getPlayer(), "§8[§3§lTabooLib§8] §7PlaceholderAPI Test: §f%player_name%"));
|
||||
}
|
||||
if (e.getMessage().equalsIgnoreCase("/fakesignTest") && e.getPlayer().hasPermission("&")) {
|
||||
e.setCancelled(true);
|
||||
Signs.fakeSign(e.getPlayer(), ArrayUtil.asArray("§nFakeSign Test"), lines -> {
|
||||
e.getPlayer().sendMessage("§8[§3§lTabooLib§8] §7FakeSign Lines: §f" + Arrays.toString(lines));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
||||
Reference in New Issue
Block a user