找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 1545|回复: 7

[插件开发教程] Sponge插件命令系统简介[InfStudio] [复制链接]

发表于 2016-12-7 18:10:19 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 ustc_zzzz 于 2017-1-19 13:33 编辑

引言:

这篇文章为本人Blog中的一篇Post,因排版原因,就不贴全部内容了,只贴出概述部分。

Q:为什么访问速度这么慢?
A:因为访问速度就是慢=_=||洛杉矶的机房呢=_=||
Q:为什么URL是汉语拼音?
A:Blog系统自动生成的=_=||本人看着这个URL还可以就没改=_=||
现在URL被我改成英文的了→_→


概述:

我们假设需要做一个传送命令(这里就姑且叫做TryTeleport吧),我们想要什么呢?

  • 输入/tryteleport notch 64 128 64
    将把玩家notch传送到坐标为(64,128,64)的位置
  • 输入/tryteleport 64 128 64
    将把自己传送到坐标为(64,128,64)的位置
  • 输入/tryteleport DIM-1 64 128 64
    将把自己传送到坐标为(64,128,64)的下界位置
  • 输入/tryteleport notch 64 128 64 0 0
    将把玩家notch传送到坐标为(64,128,64)的位置,
    同时后两个参数决定了传送时的姿态坐标(Yaw和Pitch)
  • 输入/tryteleport notch ~ ~ ~
    将把玩家notch传送到自己所在的位置
  • 输入/tryteleport @a ~ ~ ~
    将把所有玩家传送到自己所在的位置

需求其实挺复杂,但是还不止这些:

  • 如果试图传送自己的是服务端控制台,那么将出错
  • 如果试图在位置坐标处输入一些不合法的字符串,那么也会出错
  • 如果试图传送的玩家不在线,那么将出错

还有呢:

  • 输入/tryteleport后,按下Tab键会自动轮流弹出世界中所有玩家的名字

还有一项需求:

  • 输入/help tryteleport后,会得到相关的参数信息,这里我希望它是:
    Usage: /tryteleport [<source>] <location> [<yaw> <pitch>]

所以说,定义一个命令,主要定义的就是这四部分:功能错误处理自动补全、以及帮助信息

实际上我们可以注意到,很多情况下处理命令的行为都类似,比方说输入玩家:

  • 处理一个字符串作为玩家名称
  • 若字符串对应的玩家不在线则出错
  • 在按下Tab时自动从世界寻找已有玩家并轮流返回其名称
  • 输出的帮助信息中,玩家参数的相应位置应输出<player>

在软件工程中,遇到重复的代码就需要想想如何合并,开发Sponge插件亦是如此。而(至少据我所知)Bukkit插件没有提供行之有效的手段,所以开发者就需要一遍一遍地写重复的处理命令的代码,如果涉及到选择器等情况问题还会变得更加复杂。Sponge(至少目前看来)很好地解决了这一问题。

本篇Post的内容就是简要介绍Sponge插件的命令系统。


正文内容:

http://blog.ustc-zzzz.net/sponge-plugin-command-system-brief-introduction/

来自群组: InfinityStudio

评分

参与人数 6人气 +12 金粒 +131 收起 理由
丶皇天 + 2 + 35 庆祝4z大佬3精
_Benson_ + 4 MCBBS有你更精彩~
gooding300 + 4 + 50 dalao
Wander_X + 1 很棒的作品!
volta薯片~ + 15 Henry叫的dalao,一定是dalao中的dalao a.a.
henry5041 + 2 + 30 dalao

查看全部评分

回复

使用道具 举报

发表于 2016-12-17 13:01:28 | 显示全部楼层
既然没人回复我就来占个沙发
给我们和蔼可亲的4z点个赞
然后我想问一下能不能把右边的目录调到左边,强迫症受不了啊。。
回复

使用道具 举报

发表于 2016-12-19 03:11:57 | 显示全部楼层
这。。。。秒开的呀。你说洛杉矶机房,吓得我赶紧挂上VPN。结果比不挂还要慢那么点。
然后那目录实在受不了。习惯了word的目录。
回复

使用道具 举报

发表于 2016-12-29 18:07:16 | 显示全部楼层
这站点优化的好快啊 我那个新加坡的机房 速度慢的可怜
回复

使用道具 举报

头像被屏蔽
发表于 2017-1-2 14:12:59 | 显示全部楼层
666太厉害了帮助巨大,收藏点赞
回复

使用道具 举报

发表于 2017-1-7 00:40:00 | 显示全部楼层
不错不错 好东西 收
回复

使用道具 举报

发表于 2017-1-22 13:38:49 | 显示全部楼层
很强的插件,就是等待换机房,很大帮助,收藏支持

点评

ustc_zzzz 机房一时半会是不会换了= =国内备案太麻烦 (可能有一天我会换成新加坡的?)  详情 回复 发表于 2017-1-29 14:15
回复

使用道具 举报

 楼主| 发表于 2017-1-29 14:15:32 | 显示全部楼层
545822830 发表于 2017-1-22 13:38
很强的插件,就是等待换机房,很大帮助,收藏支持

机房一时半会是不会换了= =国内备案太麻烦
(可能有一天我会换成新加坡的?)
回复

使用道具 举报

Archiver|Mcbbs.net ( 浙ICP备12024311号-2 ) | 手机版

GMT+8, 2017-2-21 15:42 , Processed in 0.038531 second(s), by mc-app, 8 queries .

版权所有 不得转载 © 2010-2016 Minecraft中文论坛

本网站图文非经原创作者同意不得转载或公开传播

返回顶部