This commit is contained in:
AlphaAE
2019-05-09 15:17:49 +08:00
parent 0a91ebcf17
commit 69efe92737
4 changed files with 36 additions and 32 deletions

View File

@ -52,6 +52,6 @@ public class MainPlugin extends PluginBase {
pluginManager.registerEvents(new PlayerJoinQuitEvent(), this); pluginManager.registerEvents(new PlayerJoinQuitEvent(), this);
pluginManager.registerEvents(new PlayerInteractSetEvent(), this); pluginManager.registerEvents(new PlayerInteractSetEvent(), this);
pluginManager.registerEvents(new FormRespondedEvent(), this); pluginManager.registerEvents(new FormRespondedEvent(), this);
pluginManager.registerEvents(new PlayerInventoryEvent(), this); // pluginManager.registerEvents(new PlayerInventoryEvent(), this);
} }
} }

View File

@ -11,6 +11,7 @@ import cn.nukkit.event.player.PlayerInteractEvent;
import cn.nukkit.event.player.PlayerItemHeldEvent; import cn.nukkit.event.player.PlayerItemHeldEvent;
import cn.nukkit.item.Item; import cn.nukkit.item.Item;
import cn.nukkit.utils.TextFormat; import cn.nukkit.utils.TextFormat;
import com.alphaae.mcpe.servers.MainPlugin;
import com.alphaae.mcpe.servers.form.FormWindowMeun; import com.alphaae.mcpe.servers.form.FormWindowMeun;
import com.alphaae.mcpe.servers.form.FormWindowOtherPlayer; import com.alphaae.mcpe.servers.form.FormWindowOtherPlayer;
@ -19,15 +20,15 @@ public class PlayerInteractSetEvent implements Listener {
//玩家长按交互事件 //玩家长按交互事件
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) @EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
public void onPlayerInteract(PlayerInteractEvent event) { public void onPlayerInteract(PlayerInteractEvent event) {
Player player = event.getPlayer(); // Player player = event.getPlayer();
Item item = event.getItem(); // Item item = event.getItem();
Block block = event.getBlock(); // Block block = event.getBlock();
if (player != null && item != null) { // if (player != null && item != null) {
if (item.getId() == 0 && block.getId() == 0) { // if (item.getId() == 0 && block.getId() == 0) {
FormWindowMeun form = new FormWindowMeun(player); // FormWindowMeun form = new FormWindowMeun(player);
player.showFormWindow(form); // player.showFormWindow(form);
} // }
} // }
} }
//玩家手持物品事件 //玩家手持物品事件
@ -35,8 +36,14 @@ public class PlayerInteractSetEvent implements Listener {
public void onPlayerItemHeld(PlayerItemHeldEvent event) { public void onPlayerItemHeld(PlayerItemHeldEvent event) {
Player player = event.getPlayer(); Player player = event.getPlayer();
Item item = event.getItem(); Item item = event.getItem();
int slot = event.getSlot();
if (player != null && item != null) { if (player != null && item != null) {
if (item.getId() == 347) { if (item.getId() == 347) {
if (slot != 0) {
player.getInventory().setHeldItemSlot(0);
} else {
player.getInventory().setHeldItemSlot(1);
}
FormWindowMeun form = new FormWindowMeun(player); FormWindowMeun form = new FormWindowMeun(player);
player.showFormWindow(form); player.showFormWindow(form);
} }

View File

@ -1,6 +1,5 @@
package com.alphaae.mcpe.servers.event; package com.alphaae.mcpe.servers.event;
import cn.nukkit.Player;
import cn.nukkit.event.EventHandler; import cn.nukkit.event.EventHandler;
import cn.nukkit.event.EventPriority; import cn.nukkit.event.EventPriority;
import cn.nukkit.event.Listener; import cn.nukkit.event.Listener;
@ -8,10 +7,9 @@ import cn.nukkit.event.inventory.InventoryClickEvent;
public class PlayerInventoryEvent implements Listener { public class PlayerInventoryEvent implements Listener {
//点击物品栏事件
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) @EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
public void onInventoryClick(InventoryClickEvent event) { public void onInventoryClick(InventoryClickEvent event) {
Player player = event.getPlayer(); //在背包打开状态下才有效
int slot = event.getSlot();
player.sendMessage("Solt: " + slot);
} }
} }

View File

@ -26,9 +26,7 @@ public class DisplayInfoBlock implements JoinQuitEventBlock {
final UUID uuid = player.getUniqueId(); final UUID uuid = player.getUniqueId();
try { try {
infoHandler = MainPlugin.getPlugin().getServer().getScheduler().scheduleDelayedRepeatingTask(new Task() { infoHandler = MainPlugin.getPlugin().getServer().getScheduler().scheduleDelayedRepeatingTask(MainPlugin.getPlugin(), () -> {
@Override
public void onRun(int i) {
try { try {
RePlayer rePlayer = StaticData.rePlayerMap.get(uuid); RePlayer rePlayer = StaticData.rePlayerMap.get(uuid);
String name = player.getDisplayName(); String name = player.getDisplayName();
@ -44,8 +42,9 @@ public class DisplayInfoBlock implements JoinQuitEventBlock {
player.sendActionBar(TextFormat.colorize(showText.toString())); player.sendActionBar(TextFormat.colorize(showText.toString()));
} catch (Exception e) { } catch (Exception e) {
cancel(); if (infoHandler != null)
} infoHandler.cancel();
e.printStackTrace();
} }
}, Config.JOIN_WAITING_TIME, 36); }, Config.JOIN_WAITING_TIME, 36);
} catch (Exception e) { } catch (Exception e) {