Initial commit
This commit is contained in:
93
src/com/alphaae/mcpe/servers/InfoDisplay.java
Normal file
93
src/com/alphaae/mcpe/servers/InfoDisplay.java
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
package com.alphaae.mcpe.servers;
|
||||||
|
|
||||||
|
import cn.nukkit.Player;
|
||||||
|
import cn.nukkit.event.EventHandler;
|
||||||
|
import cn.nukkit.event.EventPriority;
|
||||||
|
import cn.nukkit.event.Listener;
|
||||||
|
import cn.nukkit.event.player.PlayerFormRespondedEvent;
|
||||||
|
import cn.nukkit.event.player.PlayerJoinEvent;
|
||||||
|
import cn.nukkit.event.player.PlayerQuitEvent;
|
||||||
|
import cn.nukkit.form.element.ElementButton;
|
||||||
|
import cn.nukkit.form.element.ElementButtonImageData;
|
||||||
|
import cn.nukkit.form.response.FormResponse;
|
||||||
|
import cn.nukkit.form.response.FormResponseModal;
|
||||||
|
import cn.nukkit.form.window.FormWindowModal;
|
||||||
|
import cn.nukkit.form.window.FormWindowSimple;
|
||||||
|
import cn.nukkit.scheduler.NukkitRunnable;
|
||||||
|
import cn.nukkit.scheduler.Task;
|
||||||
|
import cn.nukkit.scheduler.TaskHandler;
|
||||||
|
import cn.nukkit.utils.TextFormat;
|
||||||
|
|
||||||
|
public class InfoDisplay implements Listener {
|
||||||
|
|
||||||
|
private TaskHandler infoHandler;
|
||||||
|
|
||||||
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
|
||||||
|
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||||
|
final Player player = event.getPlayer();
|
||||||
|
|
||||||
|
showTestWindow(player);
|
||||||
|
// showJoinWindow(player);
|
||||||
|
|
||||||
|
try {
|
||||||
|
infoHandler = TestPlugin.getPlugin().getServer().getScheduler().scheduleDelayedRepeatingTask(new Task() {
|
||||||
|
@Override
|
||||||
|
public void onRun(int i) {
|
||||||
|
String name = player.getName();
|
||||||
|
int ping = player.getPing();
|
||||||
|
player.sendActionBar(TextFormat.colorize("&b" + name + " &fping: " + ping + "ms "));
|
||||||
|
}
|
||||||
|
}, 100, 10);
|
||||||
|
} catch (Exception e) {
|
||||||
|
infoHandler.cancel();
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
|
||||||
|
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||||
|
if (infoHandler != null)
|
||||||
|
infoHandler.cancel();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void showJoinWindow(Player player) {
|
||||||
|
new NukkitRunnable() {
|
||||||
|
public void run() {
|
||||||
|
FormWindowSimple form = new FormWindowSimple("介绍", "欢迎你 " + player.getName() + " \n\n介绍什么的懒得写了,还在开发中。。。\nQwQ\n\n\n\n\n\n\n\n\n\n");
|
||||||
|
form.addButton(new ElementButton("关闭"));
|
||||||
|
|
||||||
|
player.showFormWindow(form);
|
||||||
|
}
|
||||||
|
}.runTaskLater(TestPlugin.getPlugin(), 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void showTestWindow(Player player) {
|
||||||
|
new NukkitRunnable() {
|
||||||
|
public void run() {
|
||||||
|
FormWindowSimple form = new FormWindowSimple("商店", "");
|
||||||
|
form.addButton(new ElementButton("购买", new ElementButtonImageData(ElementButtonImageData.IMAGE_DATA_TYPE_PATH, "textures/items/apple.png")));
|
||||||
|
form.addButton(new ElementButton("购买", new ElementButtonImageData(ElementButtonImageData.IMAGE_DATA_TYPE_PATH, "textures/items/apple_golden.png")));
|
||||||
|
form.addButton(new ElementButton("购买", new ElementButtonImageData(ElementButtonImageData.IMAGE_DATA_TYPE_PATH, "textures/items/diamond_helmet.png")));
|
||||||
|
form.addButton(new ElementButton("购买", new ElementButtonImageData(ElementButtonImageData.IMAGE_DATA_TYPE_PATH, "textures/items/pumpkin_pie.png")));
|
||||||
|
form.addButton(new ElementButton("购买", new ElementButtonImageData(ElementButtonImageData.IMAGE_DATA_TYPE_PATH, "textures/items/melon.png")));
|
||||||
|
|
||||||
|
// FormWindowModal formWindowModal = new FormWindowModal("协议", "猝死了要自己负责哦!", "确认", "你只能确认");
|
||||||
|
// FormResponseModal f1 = formWindowModal.getResponse();
|
||||||
|
//// f1.getClickedButtonId();
|
||||||
|
player.showFormWindow(form);
|
||||||
|
}
|
||||||
|
}.runTaskLater(TestPlugin.getPlugin(), 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
|
||||||
|
public void onPlayerFormResponded(PlayerFormRespondedEvent event) {
|
||||||
|
final Player player = event.getPlayer();
|
||||||
|
final FormResponse formResponse = event.getResponse();
|
||||||
|
|
||||||
|
// FormResponseModal response = (FormResponseModal) formResponse;
|
||||||
|
// player.sendMessage("" + response.getClickedButtonId());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
56
src/com/alphaae/mcpe/servers/TestPlugin.java
Normal file
56
src/com/alphaae/mcpe/servers/TestPlugin.java
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
package com.alphaae.mcpe.servers;
|
||||||
|
|
||||||
|
import cn.nukkit.Player;
|
||||||
|
import cn.nukkit.command.Command;
|
||||||
|
import cn.nukkit.command.CommandSender;
|
||||||
|
import cn.nukkit.plugin.Plugin;
|
||||||
|
import cn.nukkit.plugin.PluginBase;
|
||||||
|
import cn.nukkit.plugin.PluginManager;
|
||||||
|
|
||||||
|
public class TestPlugin extends PluginBase {
|
||||||
|
|
||||||
|
private static Plugin plugin;
|
||||||
|
|
||||||
|
public static Plugin getPlugin() {
|
||||||
|
return plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoad() {
|
||||||
|
getLogger().info("onLoad! QwQ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
plugin = this;
|
||||||
|
PluginManager pluginManager = getServer().getPluginManager();
|
||||||
|
pluginManager.registerEvents(new InfoDisplay(), this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisable() {
|
||||||
|
super.onDisable();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
|
Player player = sender.getServer().getPlayer(sender.getName());
|
||||||
|
switch (command.getName()) {
|
||||||
|
case "hi":
|
||||||
|
if (sender.isPlayer()) {
|
||||||
|
player.sendTitle("Hi TiTle");
|
||||||
|
player.sendPopup("Hi Popup");
|
||||||
|
player.sendActionBar("Hi ActionBar");
|
||||||
|
player.sendTip("Hi Tip");
|
||||||
|
}
|
||||||
|
sender.sendMessage("Hi " + sender.getName());
|
||||||
|
return true;
|
||||||
|
//
|
||||||
|
// case "menu":
|
||||||
|
// player.chat("/el open default.yml");
|
||||||
|
// return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
28
src/resources/plugin.yml
Normal file
28
src/resources/plugin.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
name: TestPlugin
|
||||||
|
main: com.alphaae.mcpe.servers.TestPlugin
|
||||||
|
version: "1.0.0"
|
||||||
|
api: ["1.0.8"]
|
||||||
|
|
||||||
|
load: POSTWORLD
|
||||||
|
|
||||||
|
author: alphaAE
|
||||||
|
description: AlpheAE的测试插件
|
||||||
|
website: http://www.alphaae.com
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
testplugin.command.hi:
|
||||||
|
description: 允许用户使用hi指令
|
||||||
|
default: true
|
||||||
|
testplugin.command.menu:
|
||||||
|
description: 允许用户使用menu指令
|
||||||
|
default: true
|
||||||
|
|
||||||
|
commands:
|
||||||
|
hi:
|
||||||
|
description: hi指令
|
||||||
|
usage: "/hi"
|
||||||
|
permission: testplugin.command.hi
|
||||||
|
# menu:
|
||||||
|
# description: 菜单指令
|
||||||
|
# usage: "/menu"
|
||||||
|
# permission: testplugin.command.hi
|
Reference in New Issue
Block a user