琴川印象
本帖最后由 琴川印象 于 2022-8-9 17:29 编辑
这是我本人制作的第五个插件,我会制作一整套生存玩法的插件!

插件前言:这个插件论坛内已经有类似的了,但是获得奖励的方式不是我想要的,所以我决定自己写一个,所有代码均是我原创的,但鉴于此类型的插件已经有了,所以我选择的是重置。
插件不会在指定位置生成宝箱,需要你跑过去,右键藏宝图,才能获得奖励,且每次只能获得1个。



配置文件: config
#设置插件消息的前缀
message: "§e[藏宝图] §a"
#设置藏宝图的样式 序列号要与item中的奖励序列号一致 插件判断为typenamelore一起判断。type默认为paper(纸)暂不支持修改
#宝图text中 必须包含 ([X],[Y],[Z]) 不可拆分 括号也是!!!
map:
  1:
    name: "§e§l藏宝图"
    lore:
      - "§f一张记载着宝藏位置的地图。"
      - "§e【类型】普通藏宝图"
      - "§e【坐标】右键使用后显示"
    replace:
      sign: 2
      text: "§e【坐标】§a[world]([X],[Y],[Z])"
  2:
    name: "§e§l高级藏宝图"
    lore:
      - "§f一张记载着宝藏位置的地图。"
      - "§e【类型】高级藏宝图"
      - "§e【坐标】右键使用后显示"
    replace:
      sign: 2
      text: "§e【坐标】§a[world]([X],[Y],[Z])"
#设置哪些世界会在藏宝图上生成
world:
  - world
#这些世界在藏宝图上显示的名称是什么? 与上面对应
alias:
  - "生存世界"
#宝藏会在什么范围内生成? 以0,0,0为中心 若设置2000则为  -2000~+2000之间生成宝藏   宝藏会自动生成在玩家可以到达的位置 所以Y坐标不需要设置
range: 2000
#允许玩家在地点几格内探宝 因为Mc坐标不是整数 玩家很难走到一模一样的位置 例如设置3 就代表以坐标中心 周围3格内 都可以使用藏宝图
deviation: 4
#特殊事件
配置文件:item.yml

## 1config中的map项下面的1对应 代表藏宝图在配置文件里的序号 2同理 weight代表权重 越高挖宝出现的概率就越大 每次在游戏中修改后会默认为1 需要重新改
1:
  0:
    weight: 1
    item:
      ==: org.bukkit.inventory.ItemStack
      type: BOOK
  1:
    weight: 1
    item:
      ==: org.bukkit.inventory.ItemStack
      type: BOOK
2:
  0:
    weight: 1
    item:
      ==: org.bukkit.inventory.ItemStack
      type: DIAMOND
  1:
    weight: 1
    item:
      ==: org.bukkit.inventory.ItemStack
      type: DIAMOND

玩家可以自定义宝图的名称、Lore,可以创建新的宝图,并且配置单独的奖励池,可以给每个物品设置权重  weight 越大出现的概率越高


命令都是管理员命令,

commandSender.sendMessage("§e>>>命令帮助<<<");
commandSender.sendMessage("§a/TreasureMap give [宝图编号] [玩家] §f给予玩家一张宝图 玩家可以不填");
commandSender.sendMessage("§a/TreasureMap edit [奖励编号] §f打开修改奖励Gui");//shift+右键保存
commandSender.sendMessage("§a/TreasureMap readconfig §f重读配置文件");


插件效果图:








奖励设置支持GUi Shift+右键保存



MyTreasureMap.jar (12.32 KB, 下载次数: 43)


本插件所用所有代码均为原创,不存在借用/抄袭等行为

所有BUG都会妥善解决



haozi。
这样我可以让玩家在主城搜宝了
话说,是只要到达制定位置【具体到xyz吗】再右键藏宝图就能获得奖励了?

琴川印象
haozi。 发表于 2022-3-30 19:40
这样我可以让玩家在主城搜宝了
话说,是只要到达制定位置【具体到xyz吗】再右键藏宝图就能获得奖励 ...

是的,你还可以设置偏移,就是玩家可以离个3-5格也能右键

大米我这呢
很不错的插件支持作者加油!

奥力給
希望可以支持粒子特效指引式寻找

不咸
看起来不错 作者继续加油

哈萨克才不拉大
楼能写个sponge端的吗

七毛钱的苹果
莫名想起一个叫做RainbowsPro的付费插件 https://www.mcbbs.net/thread-1134669-1-1.html
不过这个是免费的要什么自行车

MingTao
请问这是随机生成,还是管理生成?地点是随机么

mintarlay
这样我可以让玩家在主城搜宝了

琴川印象
MingTao 发表于 2022-3-31 09:29
请问这是随机生成,还是管理生成?地点是随机么

全部都是随机的

作梦
要是在到达寻宝地点,右键地图加个寻宝中的倒计时就更好了

琴川印象
作梦 发表于 2022-3-31 10:10
要是在到达寻宝地点,右键地图加个寻宝中的倒计时就更好了

比较插件服嘛,要是Mod我高地得加个进度条,哈哈。插件服只能整文字的,看着也不好看

苏子峰
可以更新显示 海底遗迹 沙漠神庙的 位置 吗

琴川印象
苏子峰 发表于 2022-3-31 13:49
可以更新显示 海底遗迹 沙漠神庙的 位置 吗

没看懂,这个功能是具体要干嘛的...能展开说一下嘛

苏子峰
琴川印象 发表于 2022-3-31 13:50
没看懂,这个功能是具体要干嘛的...能展开说一下嘛

就是右键后 , 显示 那个遗迹的坐标在物品上 ,

遗迹: 沙漠神殿
坐标:  1,12,13

GA9527
我觉得这个寻宝更赞

lms2084736198
MCBBS有你更精彩~

HASep_HySen
不戳的插件,做菜单很合适呀!

你没洗头
支持mod的道具吗会不会消失

琴川印象
你没洗头 发表于 2022-4-4 11:24
支持mod的道具吗会不会消失

你放的进Gui能保存就支持 放不进去就不支持

StMan_
想提个小要求,定义范围默认是输入“半径”,那能不能取决于两个对角点或者多个不规则点所形成的范围呢?

StMan_
想提个小要求,定义范围默认是输入“半径”,那能不能取决于两个对角点或者多个不规则点所形成的范围呢?
能自定义图标那就更好啦

琴川印象
situfangjian 发表于 2022-4-18 10:58
想提个小要求,定义范围默认是输入“半径”,那能不能取决于两个对角点或者多个不规则点所形成的范围呢?
...

自定义材质的问题因为我感觉会有腐竹瞎写导致插件报错,我就没写这个功能,可以配合材质包来修改图标。
不规则点肯定是不支持的,因为没这个必要,毕竟是轻量插件,太多判断就导致插件臃肿了。
对角线功能这个功能原本是存在的,还是和之前一样,我怕坐标乱填。所以配置文件就想着怎么简单怎么来,就少了很多自定义性,后续我回归Mcbbs在更新这个插件,目前在玩别的游戏了,只维护BUG,暂时不作更新,抱歉!

迷之审判
不错挺有意思的

不咸
不错 先观望一手

poi兔
奖励也是随机的吗

琴川印象
222222033 发表于 2022-5-8 11:10
奖励也是随机的吗

自己配置的,还可以在配置文件里修改权重(出现的概率),不设置就是一样的概率

TS_Hope
增加寻宝 增加了很多乐趣

cnjj
正好让玩家跑图不枯燥了

小奇又来了
夺宝奇兵吗

xiaodoudou1
添加在RPG服务器里作为特色寻宝玩法,很有趣啊,感谢楼主的分享!

CMCat
可以做出近似hypixel skyblock的diana活动了:)

qq540878935
很不错的插件 作者加油

从命呀
66666666666666666666666666

秋风赋
似乎看着不错,试试

w52152121
很强大的插件如果能在开宝图的时候触发指令就更加完美了

1522952496
啊   希望能出1.16.5

A_Di666
生成宝箱的地方,会不会把玩家的建筑卡掉

琴川印象
A_Di666 发表于 2022-8-24 13:14
生成宝箱的地方,会不会把玩家的建筑卡掉

我这个插件不会生成宝箱

A_Di666
琴川印象 发表于 2022-8-24 16:49
我这个插件不会生成宝箱

好滴我试试看

shasho123456
[05:05:37 ERROR]: Could not pass event PlayerInteractEvent to MyTreasureMap v1.0  org.bukkit.event.EventException: null         at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[pa tched_1.12.2.jar:git-Paper-1620]         at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:7 8) ~[patched_1.12.2.jar:git-Paper-1620]         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) ~[patched_1.12.2.jar:git-Paper-1620]         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:513) ~[patched_1.12.2.jar:git-Paper-1620]         at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInt eractEvent(CraftEventFactory.java:236) ~[patched_1.12.2.jar:git-Paper-1620]         at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInt eractEvent(CraftEventFactory.java:203) ~[patched_1.12.2.jar:git-Paper-1620]         at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInt eractEvent(CraftEventFactory.java:199) ~[patched_1.12.2.jar:git-Paper-1620]         at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.jav a:1049) ~[patched_1.12.2.jar:git-Paper-1620]         at net.minecraft.server.v1_12_R1.PacketPlayInBlockPlace.a(PacketPlayInBl ockPlace.java:26) ~[patched_1.12.2.jar:git-Paper-1620]         at net.minecraft.server.v1_12_R1.PacketPlayInBlockPlace.a(PacketPlayInBl ockPlace.java:5) ~[patched_1.12.2.jar:git-Paper-1620]         at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMain Thread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.2.jar:git-Paper-1620]         at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~ [?:1.8.0_321]         at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_321]         at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[patched_ 1.12.2.jar:git-Paper-1620]         at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java: 850) ~[patched_1.12.2.jar:git-Paper-1620]         at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java: 423) ~[patched_1.12.2.jar:git-Paper-1620]         at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java: 774) ~[patched_1.12.2.jar:git-Paper-1620]         at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.jav a:666) ~[patched_1.12.2.jar:git-Paper-1620]         at java.lang.Thread.run(Unknown Source) [?:1.8.0_321] Caused by: java.lang.IllegalArgumentException: Cannot measure distance between s c and world         at org.bukkit.Location.distanceSquared(Location.java:469) ~[patched_1.12 .2.jar:git-Paper-1620]         at org.bukkit.Location.distance(Location.java:452) ~[patched_1.12.2.jar: git-Paper-1620]         at minecraft.treasuremap.jt.item(jt.java:64) ~[?:?]         at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventEx ecutor978.execute(Unknown Source) ~[?:?]         at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[pa tched_1.12.2.jar:git-Paper-1620]         ... 18 more

shasho123456
我tp到了位置以后就一直刷报错了

shasho123456
嗯抱歉我没看到只支持spigot

shasho123456
e我测试了一下发现spigot 1.12.2也不行

琴川印象
shasho123456 发表于 2022-8-27 05:19
e我测试了一下发现spigot 1.12.2也不行

请提供下报错的完整报告 spigot的

Gyzer
很有意思的插件!

shasho123456
等一下我发

shasho123456
e发不了图片吗

shasho123456
链接是这个你可以看看

第一页 上一页 下一页 最后一页