Minecraft(我的世界)中文论坛

标题: [娱乐|机械|编程]地图绘画——地图画画打游戏*娱乐一整天[上古之石][1.8.x-1.9.2]

作者: CustomStuff    时间: 2016-3-11 16:24
标题: [娱乐|机械|编程]地图绘画——地图画画打游戏*娱乐一整天[上古之石][1.8.x-1.9.2]
本帖最后由 1582952890 于 2017-9-16 20:45 编辑

1. 插件介绍

把图片直接导入地图上显示的插件大家都见得多了,那在地图上直接作画呢?
如果你以前没见过能在地图上画画的插件,那这款插件就能满足你的猎奇欲望!
如果你以前觉得用方块堆像素画很抖M,没事,这个插件更抖M!
想象一下,在Minecraft里面写生,是什么样的感受,难道你不想试一下吗?


http://v.youku.com/v_show/id_XMTUwOTAzOTMwNA==.html
想在纯原版的服务器里玩街机游戏?可能吗?可能!这个插件就帮你实现!
想在Minecraft中开游戏机厅?想拥有个人电脑?这个插件就帮你实现!
不要三四千,不要一两千,更不需要九九八!!

githubhttps://github.com/aegistudio/MapPainting
spigotmchttps://www.spigotmc.org/resources/map-painting.19823/
(本插件全部免费,但为了确保作者不会弃坑,精神上的鼓励还是需要的。。。
可以的话github上求个小星星,spigotmc上给个五星,作者会很开心然后更的更快,更牛逼了!

2. 如何画画?
2.1 创建画布

2.2 删除画布

2.3 画画!

2.4 将画送给别人

2.5 让你的小伙伴和你一起画!

2.6 你需要更多的颜色吗?

2.7 合成颜料桶!

2.8 哎呦!画错了!

2.9 提高像素风

2.10 拷贝画布


3. 如何玩游戏?
3.1 加载游戏

3.2 如何设计一个脚本游戏?开发者专题

3.3 脚本如何与游戏进行交互?开发者专题

3.4 使用回调表开发者专题

3.5 绘制图形开发者专题

3.6 使用卡带开发者专题

4. 指令
所有指令均以/mpp开头,mpp是MaP Painting的简写。

颜色表达式用于表达颜色,它的格式有两种:

5. 配置文件
用英文写插件是基本礼仪,不过有中文配置,覆盖掉原来的config.yml然后reload即可。
  1. tool:
  2.   pencil:
  3.     tipMessage: 在[$x, $y]处用($r, $g, $b)颜色点了一笔。
  4.     lineMessage: 用($r, $g, $b)颜色从[$x1, $y1]到[$x2, $y2]画了一条线。
  5.   paintBucket:
  6.     fillMessage: 在[$x, $y]使用($r, $g, $b)颜色进行填充。
  7. palette:
  8.   identifier: §r§t调色物品
  9.   cyan: §r§b§l青色含量:§r
  10.   magenta: §r§d§l洋红色含量:§r
  11.   yellow: §r§e§l黄色含量:§r
  12.   fillBucket: §r颜料桶
  13.   drinkPaintBucket: §k====§r好喝吗?§k=====
  14. command:
  15.   subcommand:
  16.     create:
  17.       description: 根据给定参数创建一张新的画布。
  18.       onlyPlayer: §c只有玩家可以使用创建画布的指令。
  19.       mapAlreadyBound: 你手里拿着的地图已经和一个画布链接起来了。你可以进行确认来创建一张新的地图。
  20.       canvasAlreadyExisted: §c画布§b$canvasName§c已经存在!
  21.       typeUnsupported: §c画布类型§a$typeName§c在这个服务器上不支持!
  22.       bound: 你成功创建了画布§b$canvasName§r!
  23.       noCreatePermission: §c你没有创建类型为§a$typeName§c的画布的权限!
  24.       subcommand:
  25.         normal:
  26.           description: 一个覆盖整个地图的方形画布。
  27.           invalidFormat: §c你指定的画布大小格式不对!请输入整数!
  28.           outOfRange: §c你输入的画布太大或太小了!
  29.         clone:
  30.           description: 一份指定画布的独立拷贝。
  31.           clonedUnspecified: §c在拷贝之前你需要指定画布的名称!
  32.           canvasNotExists: §c不能拷贝画布§b$canvasName§c!指定的画布§b$canvasName§c不存在!
  33.       notHoldingMap: 你手里没有拿着一张地图。如果你想凭空创建一张画布的话,请进行确认。
  34.       tooManyMap: §c看起来你分服务器上已经有太多的地图了,不能创建新的画布!
  35.     destroy:
  36.       description: 删除一张画布,使得它再度成为一张地图。
  37.       onlyPlayer: §c只有玩家才能在使用删除画布指令时不指定画布名称!
  38.       canvasNotExists: §c不能删除§b$canvasName§c!你指定的画布§b$canvasName§c不存在!
  39.       noPermission: §c你既不是画布§b$canvasName§c的持有者又不是没有画布管理权限!
  40.       unbound: 你成功删除了画布§b$canvasName§r!
  41.     confirm:
  42.       nothingToConfirm: §c你没有需要确认的指令!只有在执行了危险指令之后才需要进行确认!
  43.       pleaseConfirm: 你正在执行一条危险指令!如果你真要执行的话,请输入§e/mpp confirm§r。
  44.       description: 当你执行危险指令之前进行确认。
  45.     chown:
  46.       description: 将你手中的或你指定的画布的所有权转给别人。
  47.       onlyPlayer: §c只有玩家才能在使用变更所有权指令时不指定画布名称!
  48.       canvasNotExists: §c不能变更§b$canvasName§c的所有权,指定的画布§b$canvasName§c不存在!
  49.       ownershipChanged: 你成功地把画布§b$canvasName§r的所有权转给了§9$newOwner§r!
  50.       ownershipGained: 你刚刚获得了画布§b$canvasName§r的所有权!
  51.       notHolding: §c你要么在手里拿着一张画布,要么指定画布的名称!
  52.       noChownPermission: §c你没有权限变更画布啊§b$canvasName§c的拥有者!
  53.     chmod:
  54.       description: 管理你手中的或你指定的画布的画家。
  55.       onlyPlayer: §c只有玩家才能在使用模式变更指令是不指定画布名称!
  56.       canvasNotExists: §c不可以添加或删除§b$canvasName§c的画家!指定的画布§b$canvasName§c不存在!
  57.       painterModified: 你成功管理了画布§b$canvasName§r的画家!
  58.       painterAdded: 你被添加为画布§b$canvasName§r的画家!
  59.       painterRemoved: 你不再是画布§b$canvasName§r的画家了。
  60.       notHolding: §c你要么在手里拿着一张画布,要么指定画布的名称!
  61.       noChmodPermission: §c你没有权限管理画布§b$canvasName§c的画家!
  62.     pigment:
  63.       description: 给玩家一个特定颜色的颜料。
  64.       onlyPlayer: §c只有在线的玩家才能使用颜料指令!
  65.       noPermission: §c你没有使用颜料指令的权限!
  66.       invalidFormat: §c你输入的颜色格式不正确!请输入一个整数!
  67.     list:
  68.       description: 显示你拥有的所有画布。
  69.       noPossess: §c你没有拥有任何画布!
  70.       entry: §b$name§r
  71.       possess: 你拥有的画布有:$list.
  72.     undo:
  73.       description: 撤销你刚才进行的操作。
  74.       nothingToUndo: §c在画布§b$canvasName§c上你没有可以撤销的操作!
  75.       noUndoPermission: §c你没有在画布§b$canvasName§c上撤销权限!
  76.       undoFinish: 你成功地撤销了在画布§b$canvasName§r上§n$memoto§r的操作!
  77.       noModifiedCanvas: §c在撤销之前,你需要指定画布名称或者在某一画布上进行操作!
  78.       canvasNotExists: §c不能在画布§b$canvasName§c上进行撤销!指定的画布§b$canvasName§c不存在!
  79.     redo:
  80.       description: 重做你刚才撤销了的操作。
  81.       nothingToRedo: §c在画布§b$canvasName§c上你没有可以重做的操作!
  82.       noRedoPermission: §c你没有在画布§b$canvasName§c上重做的权限!
  83.       redoFinish: 你成功地重做了在画布§b$canvasName§r上§n$memoto§r的操作!
  84.       noModifiedCanvas: §c在重做之前,你需要指定画布名称或者在某一画布上进行操作!
  85.       canvasNotExists: §c不能在画布§b$canvasName§c上进行重做!指定的画布§b$canvasName§c不存在!
  86.   listing: 正在列出§e$prefix§r的§l子命令§r:
  87.   nextPage: 请输入§e$prefix $nextPage§r来查看更多§l子命令§r。
  88.   lastPage: 这已经是§e$prefix§r的§l子命令§r列表的最后一页了。
  89.   commandsPerPage: 5
  90. canvas:
  91.   map: {}
复制代码

6. 权限
该插件有两类权限,一类是显式的权限,能在权限配置文件或插件中配置;另一类是隐式的权限,取决于本插件的状态。

  1. mpp.paint:玩家在他拥有的画布上画画的的权限。默认为true。
  2. mpp.interact:玩家与任意一张画布交互的权限。默认为true。
  3. mpp.command:使用/mpp指令的权限。默认为true。
  4. mpp.create.*:使用/mpp create指令创建任何一种画布的指令。
  5. -   mpp.create.normal:创建类型为normal的画布的指令。默认为true。
  6. -   mpp.create.clone:拷贝已有的画布。默认为true。
  7. mpp.chown:变更玩家所拥有的画布所有权的权限。默认为true。
  8. mpp.chmod:管理玩家自己拥有的画布的画家的权限。默认为true。
  9. mpp.destroy:删除玩家自己拥有的画布的权限。默认为true。
  10. mpp.undo:在自己拥有的画布上进行撤销。默认为true。
  11. mpp.redo:在自己拥有的画布上进行重做。默认为true。
  12. mpp.manager:对任意一张画布使用管理指令的权限。默认为op。
  13. mpp.pigment:直接使用指令获得某一种颜色的指令。默认为op。
复制代码
  1. mpp.owner:拥有一张画布的权限,当玩家是画布的拥有者时为真,可以使用画布管理指令。
  2. mpp.painter:在一张画布上使用绘画工具的权限,当玩家在画布的画家列表中时为真。
复制代码

7. 更新日志
1.5.6(去地图化更新)(2016-4-18)
1. 使用挂画物品代替地图物品,再也不需要合成地图和物品展示框了,很开心!
2. API更新,现在画布可以知道自己被放置在什么地方,以及什么时候被从世界中移除。

1.5.3b(颜料桶漏洞修复)
(2016-4-4)


1.5.2b(刷新漏洞修复)(2016-4-4)


1.5b(接口更新)
(2016-4-2)


1.4b(脚本更新)
(2016-3-23)


1.3b
操作性更新
(2016-3-19)
(该版本不兼容以前的任何版本,如果有需要迁移的画可以私信开发者提供迁移服务)

1.2b
颜料更新)(2016-3-14)


1.1b
所有权更新)(2016-3-12)
(该版本不兼容以前的任何版本)

1.0b
(2016-3-11)


8. 卡带商店
这里是售卖游戏卡带的地方,价格统一0元,一律0元!
#1. Dodge:躲避子弹
作者:aegistudio(楼主)

下载:https://raw.githubusercontent.co ... mpp/script/dodge.js

#2:Pong:平面乒乓球
作者:deluxghost(@ylmars )

下载:https://raw.githubusercontent.co ... ipts/master/pong.js

9. 问题
Q: 为啥是/mpp不是/map?
A: mpp是MaP Painting的缩写。

Q:楼主画画好难看啊?
A:谢谢你。

Q:为啥功能这么少?
A:以后会多的,你看mc一开始还只能放石头呢。

Q:你这插件和ImageOnMap啊SketchMap啊之类的有什么联系?
A:首先虽然我知道这俩东西,不过我做这个完全是某个姓鸡名排的服主让我做的。啊并不是,是我自己要做的。从代码上我没参考他们的代码,他们的代码也没有我的代码,毕竟他们不能在展示框里面的地图上画画是吧。然后一个导图片到地图里面一个在地图上画画你觉得想法上有什么联系?
A:现在真的一点联系都没有了!他们不能打游戏,哈哈哈哈哈哈(馆长笑)。

Q:你这画的点不准啊?
A:现在已经很准了亲。画画的时候不要随便乱动,你以为你在舞狮啊!

10. 统计数据

玩家和服务器统计(没什么人用的证明)


插件使用地区组成(远销海外的证明)

作者: 187sama    时间: 2016-3-11 16:36
火钳刘明
这插件666 收下了
作者: TDSZ    时间: 2016-3-11 17:14
楼主画画好难看啊#(滑稽)
作者: Feb26_1994    时间: 2016-3-11 17:28
バ~カ~
作者: zmdd    时间: 2016-3-11 17:44
玩家也有权限,如果没有就可以给vip玩玩(笑
作者: guaihuishao    时间: 2016-3-11 17:44
赞赞赞,超级赞啊
作者: stszx    时间: 2016-3-11 17:44
前排日紫菜
作者: CustomStuff    时间: 2016-3-11 20:06
本帖最后由 CustomStuff 于 2016-3-12 20:12 编辑

被spigotmc的版主回复了,随便开心开心。


作者: CustomStuff    时间: 2016-3-12 00:17
本帖最后由 CustomStuff 于 2016-3-12 11:52 编辑

2016-3-12进度
1. 修正了旋转物品展示框之后绘画出问题的Bug。
2. 修正了有时保存画面会出错的bug。(注意不能以1.0b兼容!)
3. 加入了confirm指令,当用户需要执行类似destroy等的指令的时候可用!
4. 允许用户直接删除他手里的画布(如果有的话)。
5. 加入了chown指令,允许玩家变更画布的所有权。
6. 加入了chmod指令,允许玩家指定画布的画家(能在画布上画画的人)。

作者: 神の手    时间: 2016-3-12 09:53
原创好评!楼主加油!
诶对了突然想起来有的时候ImageOnMap插件生成地图的时候经常地图抽掉变成透明的,然而配置文件Image里面保存的图片是正常的。lz这个不会有这种BUG吧……(简单说就是画着画着过几天就抽掉没了){:10_510:}
作者: qq573686835    时间: 2016-3-12 12:41
有没有1.7.10的嘞
作者: CustomStuff    时间: 2016-3-12 12:42
新版本v1.1b已发布,教程已修改。
作者: qq573686835    时间: 2016-3-12 12:46
CustomStuff 发表于 2016-3-12 12:47
可以放到1.7里面去试一试,我猜可以。。。

{:10_503:}
作者: CustomStuff    时间: 2016-3-12 12:47
qq573686835 发表于 2016-3-12 12:41
有没有1.7.10的嘞

可以放到1.7里面去试一试,我猜可以。。。
作者: x2467772768    时间: 2016-3-12 15:03
6666666666666666666
作者: CustomStuff    时间: 2016-3-12 19:54
神の手 发表于 2016-3-12 09:53
原创好评!楼主加油!
诶对了突然想起来有的时候ImageOnMap插件生成地图的时候经常地图抽掉变成透明的,然 ...

不太知道ImageOnMap会抽掉是怎么回事。。。
个人试验的时候倒是没有这个问题,要到多人游戏里面试验才比较清楚。。
作者: adfjlj    时间: 2016-3-12 20:00
如果能添加个改变【画笔】大小的功能就好了
作者: CustomStuff    时间: 2016-3-12 20:02
adfjlj 发表于 2016-3-12 20:00
如果能添加个改变【画笔】大小的功能就好了

画笔更新大概要到1.3beta才会有。。。
1.2beta已经预计好了是调色板更新(要知道1.9的地图支持36*4种颜色,没有调色板太浪费。。。)

目前版本是1.1beta,按照每两天一更的速度大概四天之后吧(
作者: 神の手    时间: 2016-3-12 20:41
CustomStuff 发表于 2016-3-12 19:54
不太知道ImageOnMap会抽掉是怎么回事。。。
个人试验的时候倒是没有这个问题,要到多人游戏里面试验才比 ...

试了一下重启服务器后过大概几个小时显示画布存在但是无法做更改,unbind以后原地图无法复原
作者: CustomStuff    时间: 2016-3-12 21:54
本帖最后由 CustomStuff 于 2016-3-12 21:58 编辑
神の手 发表于 2016-3-12 20:41
试了一下重启服务器后过大概几个小时显示画布存在但是无法做更改,unbind以后原地图无法复原 ...

用的是1.0b么,貌似在压缩图像的时候有bug(我的锅),但是在1.1b里面修复了。
(现在放上去的是1.1b)
作者: szszss    时间: 2016-3-12 21:57
火钳刘明 (手动斜眼)
作者: CustomStuff    时间: 2016-3-12 22:07
本帖最后由 CustomStuff 于 2016-3-12 22:10 编辑
szszss 发表于 2016-3-12 21:57
火钳刘明 (手动斜眼)

谢大神资磁,奉上人生精验一枚(误

作者: 康嘉成    时间: 2016-3-12 22:10
好屌,好厉害的插件。吾辈收走了
作者: gyalo    时间: 2016-3-12 22:40
楼主画画技术不咋地哈
作者: andylizi    时间: 2016-3-12 23:30
本帖最后由 andylizi 于 2016-3-12 23:33 编辑

插件版第5个精华,好评
建议:
加入油漆桶fill功能,擦除功能
感觉这插件最难的地方在于计算向量,fill的话,blood fill算法就足够了

您要对得起您的精华啊
作者: CustomStuff    时间: 2016-3-12 23:40
andylizi 发表于 2016-3-12 23:30
插件版第5个精华,好评
建议:
加入油漆桶fill功能,擦除功能

哈哈哈最后那句说的我感觉版主压在了我身上(鸭梨好大

其实我目前在寻思怎么调色的问题。。。(要对得起36*4种颜色)
这个是1.2b计划的内容。。。
作者: andylizi    时间: 2016-3-12 23:48
CustomStuff 发表于 2016-3-12 23:40
哈哈哈最后那句说的我感觉版主压在了我身上(鸭梨好大

其实我目前在寻思怎么调色的问题。。。(要对得起 ...

可以实现,插件自定义合成,多种颜色合成可以混合颜色:合成后的物品,名字叫颜料,lore里写明rgb
其实我那句话没说完,应该是:你要对得起插件版  5精华 : 约3105插件  的精华比例啊!
作者: CustomStuff    时间: 2016-3-12 23:58
andylizi 发表于 2016-3-12 23:48
可以实现,插件自定义合成,多种颜色合成可以混合颜色:合成后的物品,名字叫颜料,lore里写明rgb
其 ...

我的想法其实比较丧病。。。
玩家可以用指令获取绘画工具(可以设置权限),也可以自己合成。
合成的话,例如用煤炭和粘土合成笔心,再加上颜料成为铅笔工具。。
颜料桶可以用水桶和颜料合成。。。

然后问题又回到怎么合成颜料这里。。。
我是用合成台合呢还是专门弄个gui呢(
作者: andylizi    时间: 2016-3-13 00:02
CustomStuff 发表于 2016-3-12 23:58
我的想法其实比较丧病。。。
玩家可以用指令获取绘画工具(可以设置权限),也可以自己合成。
合成的话, ...

。。确实丧病
弄个gui太麻烦了吧
而且,画笔又不是什么特殊的东西,需要像ic一样,弄个什么粉碎机之类的
作者: 神の手    时间: 2016-3-13 11:51
本帖最后由 神の手 于 2016-3-13 11:54 编辑
CustomStuff 发表于 2016-3-12 19:54
不太知道ImageOnMap会抽掉是怎么回事。。。
个人试验的时候倒是没有这个问题,要到多人游戏里面试验才比 ...

谢谢楼主这么耐心的回答问题{:10_512:}
其实还有个小建议就是我觉得可以像AF[类似输入指令可以直接在物品展示框里创建地图(也就是创建画布)
比起用空地图一个一个打开再放到展示框里要方便点吧……
ah,对了,感觉是不是加一个mpp list类似的指令来列出当前拥有的画布是不是会好点..感觉创建的画布多了就记不住了

作者: xiao_ci    时间: 2016-3-13 14:26
支持1.7.2么
作者: CustomStuff    时间: 2016-3-13 14:33
神の手 发表于 2016-3-13 11:51
谢谢楼主这么耐心的回答问题
其实还有个小建议就是我觉得可以像AF[类似输入指令可以直接在物品 ...

会有的。。慢慢来。。
作者: MinEvil    时间: 2016-3-13 15:55
187sama 发表于 2016-3-11 16:36
火钳刘明
这插件666 收下了

这插件好正好需要呢感谢LZ大大
作者: qq573686835    时间: 2016-3-13 16:06
有没有1.7.10的啊
作者: 熱帶魚    时间: 2016-3-13 16:25
好屌{:10_492:}
作者: CustomStuff    时间: 2016-3-13 17:03
本帖最后由 CustomStuff 于 2016-3-13 19:52 编辑
  1. java.util.concurrent.ExecutionException: java.lang.NullPointerException
  2.         at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:?]
  3.         at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:?]
  4.         at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:46) [spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  5.         at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721) [spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  6.         at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  7.         at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  8.         at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  9.         at java.lang.Thread.run(Thread.java:746) [?:?]
  10. Caused by: java.lang.NullPointerException
  11.         at net.minecraft.server.v1_9_R1.ShapedRecipes.craftItem(ShapedRecipes.java:150) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  12.         at net.minecraft.server.v1_9_R1.CraftingManager.craft(CraftingManager.java:306) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  13.         at net.minecraft.server.v1_9_R1.ContainerWorkbench.a(ContainerWorkbench.java:56) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  14.         at net.minecraft.server.v1_9_R1.InventoryCrafting.setItem(InventoryCrafting.java:115) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  15.         at net.minecraft.server.v1_9_R1.Slot.set(Slot.java:55) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  16.         at org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventoryView.setItem(CraftInventoryView.java:54) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  17.         at net.minecraft.server.v1_9_R1.Container.a(Container.java:196) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  18.         at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1806) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  19.         at net.minecraft.server.v1_9_R1.PacketPlayInWindowClick.a(SourceFile:33) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  20.         at net.minecraft.server.v1_9_R1.PacketPlayInWindowClick.a(SourceFile:10) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  21.         at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  22.         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]
  23.         at java.util.concurrent.FutureTask.run(FutureTask.java:265) ~[?:?]
  24.         at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) ~[spigot-1.9.jar:git-Spigot-6f291ea-1386bd3]
  25.         ... 5 more
复制代码
把调色板的合成表加进去之后,一合成就。。。卧槽这是谁的锅。
难道是我的姿势问题么?一脸懵逼:
  1.     public void addPaletteRecipe(MapPainting painting) {
  2.         ItemStack itemStack = new ItemStack(Material.PISTON_EXTENSION, 1);
  3.         ItemMeta meta = itemStack.getItemMeta();
  4.         meta.setDisplayName(manager.itemName);
  5.         ArrayList<String> lores = new ArrayList<String>();
  6.         lores.add(manager.identifier);
  7.         meta.setLore(lores);
  8.         itemStack.setItemMeta(meta);
  9.         
  10.         ShapedRecipe recipe = new ShapedRecipe(itemStack);
  11.         recipe.shape("BWB", "WCW", "BWB");
  12.         recipe.setIngredient('B', Material.BOWL);
  13.         recipe.setIngredient('C', Material.WORKBENCH);
  14.         recipe.setIngredient('W', Material.WOOL);
  15.         
  16.         painting.getServer().addRecipe(recipe);
  17.     }
复制代码

好了debug完了,又是mojang的锅,以前还能获得的BlockItem现在不能获得了。
mojang获得了sb前缀。

作者: 2212386387    时间: 2016-3-13 18:46
爆炸的插件!!!!
作者: Diaed    时间: 2016-3-13 21:16
不错啊!这插件66666
作者: CustomStuff    时间: 2016-3-13 23:52
本帖最后由 CustomStuff 于 2016-3-14 01:48 编辑

今天日更内容:颜料

可以代表地图里面所有颜色了。

颜料的图标是与颜料颜色最接近的染料。

关于上面的Cyan(青)、Magenta(洋红)和Yellow(黄)实际上是工业染料的三原色(对,就是常说的红黄蓝的真实颜色)。
但由于还没写合成所以暂时不发为更新。




1:39 AM
啊楼主混色终于写完了,现在支持两种混色方式。
平均混色:直接使用颜料进行混色,混色结果是所有颜料的平均,当然个数也是所有颜料的总和。
其实平均混色就是把各种颜料磨成粉末均匀混合在一起的结果。
当要使颜色变浓/变淡时,推荐使用平均混色。


加性混色:使用颜料和水进行混合,混色结果是所有输入颜色的加和。
加性混色等于把所有颜料加水后混合在一起,再晒干。
当要使用类似黄+蓝(实际上是青色)=绿的时候,推荐使用加性混色。

上图出来的结果实际上是绿色(看CMY值)。

作者: 187sama    时间: 2016-3-14 02:08
qq573686835 发表于 2016-3-13 20:06
有没有1.7.10的啊

1.8特性插件
作者: Yy星人    时间: 2016-3-14 12:50
这个真的好评啊.....RPG服务器的福利啊
作者: CustomStuff    时间: 2016-3-15 02:01
本帖最后由 CustomStuff 于 2016-3-15 04:05 编辑

楼主今天更新颜料桶填充。。。。
结果写个最简单的种子填充算法都写到堆栈溢出,想戳死自己。


亲自动手改了种子填充,现在终于能用了。。
然后发现一个弱智的遗留bug,wpcap。。
然后这次手动线性拟合了一下,发现真的是差了半个头(0.04),但还是不完全准。。。


总之,插件已经更新到1.2beta了,请下载最新版~

作者: CustomStuff    时间: 2016-3-15 13:38
1.3b开工,预计内容:
1. 图章(stamp):可以直接粘贴在画面上,为已经存在的画面,或者来自网络/用户加入的画面。
2. 自动创建地图:可以不手里拿着地图时,直接创建一个新地图。注意这要求confirm。
3. 格式更新:原来的normal类型支持多种原生的精度级,并且把尽可能多的信息,比如画布格式,存放在mpp文件中(最后一次不兼容以前版本,不过真的是最后一次了,但愿如此)。
作者: CustomStuff    时间: 2016-3-16 14:15
本帖最后由 CustomStuff 于 2016-3-17 19:11 编辑

然而1.3b被实现的第一个特性是undo/redo。
正在考虑和背景相关的事情。。。
请大家继续支持(
顺便有必要以快照(snapshot)的形式发布功能吗?
只是问一下。。

楼主求内推被狠狠地骂了一顿,今天在赶简历,简直要飞。

作者: cth25836700    时间: 2016-3-18 19:30
666666666留名
作者: CustomStuff    时间: 2016-3-19 03:32
本帖最后由 CustomStuff 于 2016-3-19 13:26 编辑

最近真忙死了,写简历,写团队作业,准备期末考什么的。。(而且还没完)
如无意外,今天中午发布1.3b。

1.3b(操作性更新)更新内容:
1. 增加undo/redo指令,可以撤销/恢复对画布做的修改。
2. 增加clone指令,可以完全地拷贝一份原来的画布。
3. 修改mpp格式(会导致与以前的版本都不兼容),使得mpp文件彻底独立于具体的config中的配置,也就是说完全可以通过复制mpp文件来达到在不同的服务器间转移画布和复制画布的目的。
4. 现在create指令可以在没有画布的条件下直接创建一张画布!
*5. 支持history指令,查看当前画布进行过的操作。
*6. 修改normal类型画布,normal类型画布现在支持多种大小(从1~128)。
*7. 支持wrap类型画布,可以通过指令修改wrap类型画布中包含的画布(这个为后面的红石更新作准备)。


加*的内容可能不在这次更新中发表。

作者: 懒虫哥    时间: 2016-3-19 12:53
这个插件!!!!有点666
作者: LittleHei    时间: 2016-3-19 14:09
可以啊,这插件不错,做出来真心给力!
作者: CustomStuff    时间: 2016-3-19 15:32
本帖最后由 CustomStuff 于 2016-3-19 15:55 编辑

插件和教程已更新,由于最近期末考比较忙,预计下次更新需要4月3号以后。。

顺便提一下,下次更新是红石更新。
有兴趣做冒险地图的可以关心一下,非常非常变态的更新。

作者: zwlbaby    时间: 2016-3-20 00:09
这个插件真好 支持 收下
作者: 鹿鸣呦    时间: 2016-3-20 01:36
赞一个,每个人的帖子都是好帖子
作者: 鹿鸣呦    时间: 2016-3-20 01:38
赞一个,每个人的帖子都是好帖子
作者: qq1468993126    时间: 2016-3-20 05:38
表示PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar这个核心连配置文件都没用生成啊
作者: kanming    时间: 2016-3-20 10:28
CustomStuff 发表于 2016-3-12 22:07
谢大神资磁,奉上人生精验一枚(误

画的不错嘛QAQ给你一个赞
作者: CustomStuff    时间: 2016-3-20 10:47
qq1468993126 发表于 2016-3-20 05:38
表示PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar这个核心连配置文件都没用生成啊

啥意思。。配置文件不是跑的时候才生成的么。。
我测试时用的是spigot-1.8.7-R0.1-SNAPSHOT.jar。
作者: CustomStuff    时间: 2016-3-20 10:59
qq1468993126 发表于 2016-3-20 05:38
表示PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar这个核心连配置文件都没用生成啊

1. 建议提供例如latest.log之类的文件的内容,不然不好定位。
2. 如果使用过旧版本的插件,请注意各个版本之间的兼容性为1.3b不兼容以前的任何版本,1.1b不兼容1.0b。
作者: Bmsiecd    时间: 2016-3-20 11:01
只限于1.8-1.9的,这也许是这些版本的新特性吧,我在想这样子多了的话会不会卡服?
作者: CustomStuff    时间: 2016-3-20 11:05
Bmsiecd 发表于 2016-3-20 11:01
只限于1.8-1.9的,这也许是这些版本的新特性吧,我在想这样子多了的话会不会卡服? ...

是bukkit的API的锅。
作者: CustomStuff    时间: 2016-3-20 11:11
Bmsiecd 发表于 2016-3-20 11:01
只限于1.8-1.9的,这也许是这些版本的新特性吧,我在想这样子多了的话会不会卡服? ...

准确说也不是bukkit API的锅,只是版本太旧的话bug shooting会很麻烦,所以没写支持以前的版本。。
作者: qq1468993126    时间: 2016-3-20 11:38
我用的最新版的
表示插件扔进去都没加载就是没开启的意思
作者: 1012514182    时间: 2016-3-20 22:09
CustomStuff 发表于 2016-3-12 00:17
2016-3-12进度
1. 修正了旋转物品展示框之后绘画出问题的Bug。
2. 修正了有时保存画面会出错的bug。(注意 ...

请问楼主能兼容1.7吗!
作者: 1012514182    时间: 2016-3-20 22:10
大赞啊,服务器需要啊!
作者: CustomStuff    时间: 2016-3-21 00:23
1012514182 发表于 2016-3-20 22:09
请问楼主能兼容1.7吗!

不能,1.7的Bukkit API版本太低,使用的时候貌似会炸。
而且地图刷新和1.8/1.9不一样,画面坐标也的计算也不一样。
作者: hoige123    时间: 2016-3-21 00:31
这啥东西来的= =
作者: lstzww    时间: 2016-3-21 11:31
太厉害了⊙▽⊙谢谢分享⊙▽⊙
作者: CustomStuff    时间: 2016-3-21 13:45
CustomStuff 发表于 2016-3-21 13:46
红石更新在路上。
预计1.4的内容为:
1. 通过指令控制画面内容,例如在画面上绘画,填充,以及切换画面等, ...

预计这个更新对解密类地图、街机插件、自动售货机之类的插件有帮助。
作者: CustomStuff    时间: 2016-3-21 13:46
本帖最后由 CustomStuff 于 2016-3-21 13:51 编辑

红石更新在路上。
预计1.4的内容为:
1. 通过指令控制画面内容,例如在画面上绘画,填充,以及切换画面等,就像这样:


2. 在画面上添加热区域,用户可以通过点击热区域,触发红石信号,或者执行指令等。

没错我就是在做红石插件,应该可以算得上是最恐怖的红石插件的一种吧。


至于为啥更的这么慢,是因为这个插件被我多次重构了,当然慢了(

作者: CustomStuff    时间: 2016-3-21 14:15
CustomStuff 发表于 2016-3-21 13:45
预计这个更新对解密类地图、街机插件、自动售货机之类的插件有帮助。

怎么样,这个对得起精华的质量吧(
作者: CanonFantic    时间: 2016-3-21 16:57
真心好东西  以后没事干就可以用这个插件取乐了{:10_512:}
作者: 动物的世界    时间: 2016-3-21 19:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: CustomStuff    时间: 2016-3-21 22:44
楼主已经忍不住了,楼主要放大招了。
楼主打算加入javascript类型的canvas,把脚本更新提前到红石更新之前。
作者: CustomStuff    时间: 2016-3-22 03:12

我是绝对不跳票的,为自己代言。
差不多证明这个东西是可行的,虽然这个比想象中难写。。。
作者: Bryan33    时间: 2016-3-22 19:08
CustomStuff 发表于 2016-3-22 03:12
我是绝对不跳票的,为自己代言。
差不多证明这个东西是可行的,虽然这个比想象中难写。。。 ...

能否提供字符输出在画上的功能 以及API等

这样就能在我那个彩票插件里做出能看的彩票了
作者: CustomStuff    时间: 2016-3-22 22:28
a390807154 发表于 2016-3-22 19:08
能否提供字符输出在画上的功能 以及API等

这样就能在我那个彩票插件里做出能看的彩票了 ...

正在写(如果能用再发API
作者: CustomStuff    时间: 2016-3-23 02:04
一个好消息!
脚本画布的代码已经写好了,现在在写DEMO!
我觉得在Minecraft里面玩osu不会远了!
作者: CustomStuff    时间: 2016-3-23 06:07
本帖最后由 CustomStuff 于 2016-3-23 06:27 编辑

第一个DEMO:Dodge
游戏内容是玩家控制一个点,躲避飞来的子弹。玩家每被子弹击中一次损失一点生命,一共有20点生命。
抖M级别游戏注意。



视频:
http://v.youku.com/v_show/id_XMTUwOTAzOTMwNA==.html

作者: 1QAZ3EDCS    时间: 2016-3-23 09:07
虽然你的插件有点小问题...但是我还是十分喜欢这个插件
所以我想给你提几个功能
希望能修改一下
谢谢了
1:加入重载指令 不得不说现在的语言文件太丑了 我打算改一下 可是每次改都要/reload 神烦....
2:手里没地图 创建一个为什么要确认? 挺麻烦的
3:创建出来的画布叫 地图  #13 为什么不能自定义一下 叫画布 #13呢?
4:你既然限制了一个服务器最大拥有的画布数量 为什么不限制一个玩家只能拥有几张画布呢?
5:再加一个画布过期自动清理功能? 画布拥有者X天不上线 则会进行清理
作者: CustomStuff    时间: 2016-3-23 10:47
本帖最后由 CustomStuff 于 2016-3-23 10:50 编辑
1QAZ3EDCS 发表于 2016-3-23 09:07
虽然你的插件有点小问题...但是我还是十分喜欢这个插件
所以我想给你提几个功能
希望能修改一下

0. 比较想知道“小问题”是什么。。
1/5 我先考虑一下,暂不回答。
2/3 本来是同一个问题:你们希望的地图和画布的关系是什么?
       如果地图和画布就是一对一的关系,而且一个世界只可以有一个地图或画布,那么2的答案就是根本不需要确认,3的答案就是直接改名字。否则就是我原来的方案。
       注意我用前一个方案,消耗可用的地图的速度比后一种快多了。

4. 前一个问题的答案是这是mojang限定的然后地图只有32768张,应该搜一下维基就能搜出来。
       后面的我再考虑一下,暂不回答。
作者: 1QAZ3EDCS    时间: 2016-3-23 12:02
谢谢了 我会继续支持你的XD 我说的小问题就是下面那些问题...
作者: Bryan33    时间: 2016-3-23 12:54
CustomStuff 发表于 2016-3-23 02:04
一个好消息!
脚本画布的代码已经写好了,现在在写DEMO!
我觉得在Minecraft里面玩osu不会远了! ...

有玩OSU!
加下好友吧
Bryan_lzh
作者: 昔日※辉煌    时间: 2016-3-23 12:57
这种高级插件都很麻烦
作者: CustomStuff    时间: 2016-3-23 23:50
CustomStuff 发表于 2016-3-23 06:07
第一个DEMO:Dodge
游戏内容是玩家控制一个点,躲避飞来的子弹。玩家每被子弹击中一次损失一点生命,一共有 ...

Spigot上基本没人说话。
作者: stszx    时间: 2016-3-24 18:24
紫菜又来收割膝盖了233不过我的早就给你了
作者: CustomStuff    时间: 2016-3-24 20:57
插件资源和API已经更新完毕。
作者: ylmars    时间: 2016-3-25 13:13
颜料桶无法合成。。服务器是spigot-1.9
只要一点合成产物,所有东西都会消失
作者: CustomStuff    时间: 2016-3-25 14:17
ylmars 发表于 2016-3-25 13:13
颜料桶无法合成。。服务器是spigot-1.9
只要一点合成产物,所有东西都会消失 ...

后台有刷exception吗
作者: ylmars    时间: 2016-3-25 15:40
CustomStuff 发表于 2016-3-25 14:17
后台有刷exception吗

没有报错。
我翻了一下github,但是并没看出什么。。。我暂时还理解不清楚你的代码
作者: Bryan33    时间: 2016-3-25 17:43
@CustomStuff
LZ JS学的这么好
有没有写过RPGMaker MV的脚本
作者: CustomStuff    时间: 2016-3-25 18:21
a390807154 发表于 2016-3-25 17:43
@CustomStuff
LZ JS学的这么好
有没有写过RPGMaker MV的脚本

没有诶。。。
作者: CustomStuff    时间: 2016-3-25 18:25
ylmars 发表于 2016-3-25 15:40
没有报错。
我翻了一下github,但是并没看出什么。。。我暂时还理解不清楚你的代码 ...

表示我试的时候也出了这个问题。。。
我想知道这个是spigot的锅还是我的锅。。。
我觉得可能是spigot锅毕竟在1.8里面没这个问题。。
作者: ylmars    时间: 2016-3-25 21:44
CustomStuff 发表于 2016-3-25 18:25
表示我试的时候也出了这个问题。。。
我想知道这个是spigot的锅还是我的锅。。。
我觉得可能是spigot锅毕 ...

希望能解决吧。。因为这个问题挺奇怪的。。我也没法再提供更多信息了。。一开始我还以为是你做了什么保护措施导致的。。然而并没有
作者: Fly_Blues薄荷    时间: 2016-3-26 12:43
CustomStuff 发表于 2016-3-23 06:07
第一个DEMO:Dodge
游戏内容是玩家控制一个点,躲避飞来的子弹。玩家每被子弹击中一次损失一点生命,一共有 ...

这插件我收下了!哦呵呵(开玩笑啦)
作者: ylmars    时间: 2016-3-26 13:17
现在这样不能解释python脚本?
写了个测试脚本但是无效
作者: CustomStuff    时间: 2016-3-26 13:22
ylmars 发表于 2016-3-26 13:17
现在这样不能解释python脚本?
写了个测试脚本但是无效

貌似和java装的脚本解析引擎有关。。。
用的是啥引擎?jython吗?
(还没写jython的部分。。)
作者: CustomStuff    时间: 2016-3-26 14:12
我在想要不要搞成左右键分离,甚至可以加入工具。
这样可以方便弄成右键移动,左键射击,之类的。
作者: ylmars    时间: 2016-3-26 16:40
CustomStuff 发表于 2016-3-26 13:22
貌似和java装的脚本解析引擎有关。。。
用的是啥引擎?jython吗?
(还没写jython的部分。。) ...

我不是很了解java什么的,但好像解释器是要用jython才行
现在大概我只能先用同样不太熟悉的js来写
作者: ylmars    时间: 2016-3-26 16:48
ylmars 发表于 2016-3-26 16:40
我不是很了解java什么的,但好像解释器是要用jython才行
现在大概我只能先用同样不太熟悉的js来写 ...

检测手中物品,实现不同功能,大概是现在改起来比较容易的一个方法了,但是缺点就是操作更慢了。2333333
作者: ylmars    时间: 2016-3-26 16:50
CustomStuff 发表于 2016-3-26 14:12
我在想要不要搞成左右键分离,甚至可以加入工具。
这样可以方便弄成右键移动,左键射击,之类的。 ...

是的,我觉得至少应该增加一些交互方式,只能右键的话,局限太大了。当然我和朋友讨论之后也觉得增加交互方式比较困难,大概需要更大的脑洞。这个接口完善起来的话,能够实现很多酷炫的东西。实际上我在考虑脚本的时候,基本上只拿画布当作电脑屏幕来思考。现在只能右键的话,一些复杂的操作就像是鼠标玩触屏游戏一样蛋疼。不知道检测+还原玩家位置的效率怎么样,如果能的话,加入方向键也不是不可能,目前接口只适合一些慢节奏,少操作的游戏,例如棋牌类,但是想复刻FC游戏之类的,还有很长的路要走
作者: HaoZai    时间: 2016-3-26 16:59
请问这个有1.7.10的版本吗 蛮喜欢这个 但是版本不对
作者: ylmars    时间: 2016-3-26 17:02
话说用红石信号控制屏幕开关会不会很酷炫