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