最MC论坛

标题: [娱乐]经济飞机场插件 [打印本页]

作者: 我是小蟑螂~    时间: 2017-12-5 15:51
标题: [娱乐]经济飞机场插件
[New API][经济飞机场插件木牌指令全汉化+BUG完美修复]

★ 飞机场的木牌指令支持中文!
★ 文本汉化语言尽量贴近生活!
★ 木牌飞机场只支持单程航线!
★ 木牌飞机场不支持多世界!
★ 本次汉化修复 1 个严重BUG!

★创建飞机场木牌指令格式★
一、起点飞机场:
第一行:  飞机场
第二行:  起点
第三行:  <机票价格>
第四行:  <目的地>
二、终点飞机场:
第一行:  飞机场
第二行:  终点
第三行:  <目的地>
第四行:  空

(木牌指令使用权限: OP管理员)

详细使用说明:
★1 创建飞机场的步骤: (权限: OP管理员)
(直接编辑木牌即可)
第一步:  创建终点飞机场

第二步:  创建起点飞机场

(注: 先创建起点飞机场,后创建终点飞机场,是无效的,2个飞机场不会相通.原因在于,只有先创建了终点飞机场,再创建起点飞机场,起点飞机场才能保存终点飞机场的坐标信息,从而建立关联)

2 使用飞机场木牌: (权限: 所有玩家)
(直接点击起点飞机场木牌即可,点击终点飞机场木牌无效,因为是单程航线)

3 移除飞机场木牌: (权限: OP管理员)

★ 对本次修复的BUG详细说明! ★
public function onBlockTouch(PlayerInteractEvent $event){
        $block = $event->getBlock();
        if(isset($this->airport[$block->getX().":".$block->getY().":".$block->getZ().":".$block->getLevel()->getFolderName()])){
                $airport = $this->airport[$block->getX().":".$block->getY().":".$block->getZ().":".$block->getLevel()->getFolderName()];
                $player = $event->getPlayer();
        if(isset($this->airport[$airport["targetX"].":".$airport["targetY"].":".$airport["targetZ"].":".$airport["targetLevel"]])){
...
改为
public function onBlockTouch(PlayerInteractEvent $event){
        $block = $event->getBlock();
        if(isset($this->airport[$block->getX().":".$block->getY().":".$block->getZ().":".$block->getLevel()->getFolderName()])){
                $airport = $this->airport[$block->getX().":".$block->getY().":".$block->getZ().":".$block->getLevel()->getFolderName()];
                $player = $event->getPlayer();
                       
                if($airport["type"] === 1){
                        $player->sendMessage("这是单程航班的终点站, 无法搭乘哦 !");
                        return;
                }

      if(isset($this->airport[$airport["targetX"].":".$airport["targetY"].":".$airport["targetZ"].":".$airport["targetLevel"]])){
...
错误说明:onBlockTouch本来的目的是接收玩家点击起点飞机场木牌的PlayerInteractEvent事件来处理搭乘飞机的请求;但是原代码却忽略了玩家点击终点飞机场木牌的PlayerInteractEvent事件,未做限制判断,从而导致数组越界的严重错误.原因在于起点飞机场木牌和终点飞机场木牌保存的信息是不一样的,处理方式当然也不能一样;我在这里加上了限制判断,从而避免了数组越界的BUG!



                     下载地址在



下载地址


下载地址



作者: wanna63    时间: 2017-12-11 15:53
123
作者: 2459347184    时间: 2018-10-5 22:18
我是来qwq
作者: Superfish    时间: 2019-11-25 19:02
刚好陪我的服务器
作者: zzm233    时间: 2020-2-14 12:44
看着不错

作者: Lightinkov    时间: 2020-3-7 18:33
虽然自定义npc也能传送不过这个好像能省点事





欢迎光临 最MC论坛 (http://www.zuimc.com/) Powered by Discuz! X3.2