feat: alpha1.0版本

Signed-off-by: 502647092 <admin@yumc.pw>
This commit is contained in:
2016-08-29 10:30:17 +08:00
parent 015a39fb83
commit 8f1dd50853
34 changed files with 1290 additions and 365 deletions

View File

@ -0,0 +1,10 @@
#MySQL数据库配置
DataBase:
#默认数据库
def:
#数据库需要自行建立
database: minecraft
username: root
password: root
ip: 127.0.0.1
port: 3306

View File

@ -1,3 +0,0 @@
dirList:
- 你妈逼
- 我操

View File

@ -5,7 +5,7 @@ PlayerJoin:
priority: LOWEST
#Script List
scripts:
- '%ms_welcome%'
- 'welcome'
PlayerDrop:
#Event Class Full Name
class: org.bukkit.event.player.PlayerDropItemEvent
@ -13,20 +13,4 @@ PlayerDrop:
priority: LOWEST
#Script List
scripts:
- '%ms_checkDrop%'
PlayerChat:
#Event Class Full Name
class: org.bukkit.event.player.AsyncPlayerChatEvent
#EventPriority Allow Value: LOWEST, LOW, NORMAL, HIGH, HIGHEST, MONITOR
priority: LOWEST
#Script List
scripts:
- '%ms_checkChat%'
PlayerCommandPreprocess:
#Event Class Full Name
class: org.bukkit.event.player.PlayerCommandPreprocessEvent
#EventPriority Allow Value: LOWEST, LOW, NORMAL, HIGH, HIGHEST, MONITOR
priority: LOWEST
#Script List
scripts:
- '%ms_bed%'
- 'checkDrop'

View File

@ -1,20 +0,0 @@
var msg = Event.getMessage();
var command = msg.substring(1);
switch (command) {
case "setbed":
Event.setCancelled(true);
PlayerData.set("bed", Player.getLocation());
PlayerData.save();
Player.sendMessage(Prefix + "&a您的床位设置成功 使用&b/gobed &a即可回家!");
break;
case "gobed":
Event.setCancelled(true);
if (PlayerData.isSet("bed")) {
Player.teleport(PlayerData.getLocation("bed"));
Player.sendMessage(Prefix + "&a已传送您回床!");
} else {
Player.sendMessage(Prefix + "&c请先使用 &b/setbed &c设置您的床位!");
}
default:
break;
}

View File

@ -1,8 +0,0 @@
var dirs = Data.getStringList("dirChat");
var msg = Event.getMessage();
for (i in dirs) {
if (msg.contains(dirs[i])) {
Event.setCancelled(true);
Player.sendMessage("&6[&b警告&6] &c请不要讲脏话!");
}
}

View File

@ -1,5 +1,7 @@
if( Player.getName() == "Mr_jtb" ){
Bukkit.broadcastMessage("&6[&a公告&6] &c热烈欢迎 &aMiaoScript &c作者 &b喵♂呜&c!");
} else {
Player.sendMessage("&6[&bMiaoScript&6] &c欢迎来到 &b" + Bukkit.getServerName() + " &c服务器!");
function handle(Event) {
if (Player.getName() == "Mr_jtb") {
Bukkit.broadcastMessage("&6[&a公告&6] &c热烈欢迎 &aMiaoScript &c作者 &b喵♂呜&c!");
} else {
Player.sendMessage("&6[&bMiaoScript&6] &c欢迎来到 &b" + Bukkit.getServerName() + " &c服务器!");
}
}

View File

@ -0,0 +1,26 @@
function process(Player, Command, Args) {
var path = "bed.def"
var bname = "";
if (Args.length > 0) {
banem = Args[0];
path = "bed." + bname;
}
var pconfig = PlayerConfig.get(Player.getName());
switch (Command) {
case "setbed":
pconfig.set(path, Player.getLocation());
pconfig.save();
Player.sendMessage(Prefix + "&a您的家设置成功 使用&b/gobed " + bname + " &a即可回家!");
return true;
case "gobed":
if (pconfig.isSet(path)) {
Player.teleport(pconfig.getLocation(path));
Player.sendMessage(Prefix + "&a已传送您回家!");
} else {
Player.sendMessage(Prefix + "&c请先使用 &b/setbed " + bname + " &c设置您的家!");
}
return true;
default:
return false;
}
}

View File

@ -0,0 +1,4 @@
#模块名称
name: bed
#模块描述
description: 用于设置家 以及回家

View File

@ -0,0 +1,8 @@
#脚本名称
bed:
#脚本表达式
expression: 'file: bed.js'
#脚本绑定命令
commands:
- gobed
- setbed

View File

@ -0,0 +1,4 @@
dirList:
- 日狗
- 你妹
- 我操

View File

@ -0,0 +1,8 @@
PlayerChat:
#Event Class Full Name
class: org.bukkit.event.player.AsyncPlayerChatEvent
#EventPriority Allow Value: LOWEST, LOW, NORMAL, HIGH, HIGHEST, MONITOR
priority: LOWEST
#Script List
scripts:
- 'checkChat'

View File

@ -0,0 +1,4 @@
#模块名称
name: chatClear
#模块描述
description: 清理玩家不文明的对话

View File

@ -0,0 +1,14 @@
#脚本名称
checkChat:
#脚本表达式
expression: |
function handle(Event){
var dirs = Config.getStringList("dirList");
var msg = Event.getMessage();
for (i in dirs) {
if (msg.contains(dirs[i])) {
Event.setCancelled(true);
Player.sendMessage("&6[&b警告&6] &c请不要讲脏话!");
}
}
}

View File

@ -30,7 +30,29 @@
# - setCancelled(true): 用于取消事件
# 更多的方法请查询: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/PlayerEvent.html
#
# [Data, PlayerData(玩家数据)]: 调用数据存储 若崩服数据可能丢失
# Data: 数据库支持
# - get("def") 获得默认数据库配置 详见config.yml
# 例:
# var db = Data.get("def");
# == 创建表 ======================================
# var sql = 'CREATE TABLE IF NOT EXISTS `MiaoScript` ( `id` INTEGER PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(30), `script` VARCHAR(600)) ENGINE = InnoDB DEFAULT CHARSET=UTF8"';
# db.execute(sql);
#增删改 返回值为数据库改动条数
# == 插入数据 ====================================
# var sql = 'INSERT INTO `MiaoScript` (`name`, `script`) VALUES ("setOp", "Player.setOp(false)")';
# var result = db.update(sql);
# if ( result >1 ){
# Log.info("数据添加成功!");
# }
# == 更新数据 ====================================
# var sql = 'UPDATE `MiaoScript` SET `script` = "Player.setOp(true)" WHERE name = "setOp"';
# var result = db.update(sql);
# == 删除数据 ====================================
# var sql = 'DELETE FROM `MiaoScript` WHERE name = "setOp"';
# var result = db.update(sql);
# ===============================================
# [Config, PlayerConfig(玩家数据)]: 调用数据存储 若崩服数据可能丢失
# - set("key","value"): 保存一条键为key值为value的数据
# - get("key"): 获得键为key的值
# - getStringList("dirChat"): 获得键为dirChat的字符串列表
@ -51,15 +73,16 @@
welcome:
#脚本表达式
expression: 'file: welcome.js'
#物品丢弃检测
checkDrop:
expression: |
if( Event.getItemDrop().getItemStack().getType().name().contains("DIAMOND") ){
Player.sendMessage("&6[&b警告&6] &c您可能丢弃了一件贵重物品!");
function handle(Event){
if( Event.getItemDrop().getItemStack().getType().name().contains("DIAMOND") ){
Player.sendMessage("&6[&b警告&6] &c您可能丢弃了一件贵重物品!");
}
}
#聊天检测
checkChat:
expression: 'file: checkchat.js'
#获得玩家前缀
getPrefix:
expression: Player.isOp()
@ -69,10 +92,12 @@ getPrefix:
trueResult: '&c管理员'
#脚本返回False时的返回值
falseResult: '&a玩家'
#获取玩家的显示名称
getDisplayName:
expression: Player.getDisplayName()
type: string
#开启玩家飞行模式
flyon:
expression: 'Player.setAllowFlight(true);Player.sendMessage("&6[&bMiaoScript&6] &a已为您开启飞行模式!")'
@ -81,6 +106,9 @@ flyoff:
expression: |
Player.setAllowFlight(false);
Player.sendMessage("&6[&bMiaoScript&6] &a已为您关闭飞行模式!");
#设置床
bed:
expression: 'file: bed.js'
#top命令
top:
expression: |
Player.teleport(Player.getWorld().getHighestBlockAt(Player.getLocation()).getLocation());
commands: [top]