mirror of
https://github.com/jie65535/mirai-console-jcab-arg-plugin.git
synced 2024-07-27 19:14:54 +08:00
v1.0
This commit is contained in:
parent
b9268d7b90
commit
df5723a63a
@ -1,12 +1,12 @@
|
|||||||
package top.jie65535
|
package top.jie65535
|
||||||
|
|
||||||
import net.mamoe.mirai.console.command.CommandManager.INSTANCE.register
|
|
||||||
import net.mamoe.mirai.console.command.CommandSender
|
|
||||||
import net.mamoe.mirai.console.command.SimpleCommand
|
|
||||||
import net.mamoe.mirai.console.plugin.jvm.JvmPluginDescription
|
import net.mamoe.mirai.console.plugin.jvm.JvmPluginDescription
|
||||||
import net.mamoe.mirai.console.plugin.jvm.KotlinPlugin
|
import net.mamoe.mirai.console.plugin.jvm.KotlinPlugin
|
||||||
|
import net.mamoe.mirai.event.GlobalEventChannel
|
||||||
|
import net.mamoe.mirai.event.events.MessageEvent
|
||||||
|
import net.mamoe.mirai.message.data.content
|
||||||
import net.mamoe.mirai.utils.info
|
import net.mamoe.mirai.utils.info
|
||||||
import java.util.Random
|
import java.util.*
|
||||||
|
|
||||||
object JAlchemyRecipeGenerator : KotlinPlugin(
|
object JAlchemyRecipeGenerator : KotlinPlugin(
|
||||||
JvmPluginDescription(
|
JvmPluginDescription(
|
||||||
@ -20,17 +20,22 @@ object JAlchemyRecipeGenerator : KotlinPlugin(
|
|||||||
) {
|
) {
|
||||||
|
|
||||||
override fun onEnable() {
|
override fun onEnable() {
|
||||||
JargCommand.register()
|
GlobalEventChannel.parentScope(this).subscribeAlways<MessageEvent> {
|
||||||
|
val msg = message.content
|
||||||
|
if (msg.startsWith("/chaos ")) {
|
||||||
|
val seedStr = msg.removePrefix("/chaos ").trim()
|
||||||
|
var seed = seedStr.toLongOrNull()
|
||||||
|
if (seed == null) {
|
||||||
|
seed = seedStr.hashCode().toLong()
|
||||||
|
}
|
||||||
|
subject.sendMessage(gen(seed))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
logger.info { "Plugin loaded" }
|
logger.info { "Plugin loaded" }
|
||||||
}
|
}
|
||||||
|
|
||||||
object JargCommand : SimpleCommand(
|
private fun gen(seed: Long): String {
|
||||||
JAlchemyRecipeGenerator, "chaos", "催化",
|
|
||||||
description = "输入地图种子,得到催化配方"
|
|
||||||
) {
|
|
||||||
@Handler
|
|
||||||
suspend fun CommandSender.onCommand(seed: Long) {
|
|
||||||
val random = Random(seed)
|
val random = Random(seed)
|
||||||
val sb = StringBuilder()
|
val sb = StringBuilder()
|
||||||
for (catalyst in catalysts) {
|
for (catalyst in catalysts) {
|
||||||
@ -39,29 +44,30 @@ object JAlchemyRecipeGenerator : KotlinPlugin(
|
|||||||
sb.append(catalyst.materials[random.nextInt(catalyst.materials.size)]).append(' ')
|
sb.append(catalyst.materials[random.nextInt(catalyst.materials.size)]).append(' ')
|
||||||
sb.appendLine()
|
sb.appendLine()
|
||||||
|
|
||||||
val ret = IntArray(6) { it }
|
for (i in 1..5) {
|
||||||
for (i in ret.size-1 downTo 1) {
|
random.nextInt()
|
||||||
val j = random.nextInt(i+1)
|
|
||||||
val temp = ret[i]
|
|
||||||
ret[i] = ret[j]
|
|
||||||
ret[j] = temp
|
|
||||||
}
|
}
|
||||||
sb.append('[')
|
// val ret = IntArray(6) { it }
|
||||||
for (i in ret) {
|
// for (i in ret.size-1 downTo 1) {
|
||||||
sb.append(' ').append(i).append(',')
|
// val j = random.nextInt(i+1)
|
||||||
|
// val temp = ret[i]
|
||||||
|
// ret[i] = ret[j]
|
||||||
|
// ret[j] = temp
|
||||||
|
// }
|
||||||
|
// sb.append('[')
|
||||||
|
// for (i in ret) {
|
||||||
|
// sb.append(' ').append(i).append(',')
|
||||||
|
// }
|
||||||
|
// sb.appendLine(']')
|
||||||
}
|
}
|
||||||
sb.appendLine(']')
|
return sb.toString()
|
||||||
}
|
}
|
||||||
sendMessage(sb.toString())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private val catalysts = arrayOf(
|
private val catalysts = arrayOf(
|
||||||
Catalyst("火成催化剂", arrayOf("安山岩", "闪长岩", "花岗岩", "圆石", "玄武岩", "辉长岩")),
|
Catalyst("火成催化剂", arrayOf("安山岩", "闪长岩", "花岗岩", "圆石", "玄武岩", "辉长岩")),
|
||||||
Catalyst("草本催化剂", arrayOf("绯红", "橙色", "下界", "黑曜石", "蓝色", "品红色")),
|
Catalyst("草本催化剂", arrayOf("绯红", "橙色", "下界", "黑曜石", "蓝色", "品红色")),
|
||||||
Catalyst("不稳定催化剂", arrayOf("烈焰", "史莱姆", "花岗岩", "圆石", "火药", "海晶")),
|
Catalyst("不稳定催化剂", arrayOf("烈焰", "史莱姆", "花岗岩", "圆石", "火药", "海晶")),
|
||||||
Catalyst("晶化催化剂", arrayOf("神秘", "磷灰石", "硫磺", "硝石", "赛特斯石英", "下届石英")),
|
Catalyst("晶化催化剂", arrayOf("神秘", "磷灰石", "硫磺", "硝石", "赛特斯石英", "下界石英")),
|
||||||
Catalyst("金属催化剂", arrayOf("锌", "铜", "铁", "镍", "铅", "金")),
|
Catalyst("金属催化剂", arrayOf("锌", "铜", "铁", "镍", "铅", "金")),
|
||||||
Catalyst("宝石催化剂", arrayOf("朱砂", "青金石", "蓝宝石", "绿宝石", "红宝石", "钻石")),
|
Catalyst("宝石催化剂", arrayOf("朱砂", "青金石", "蓝宝石", "绿宝石", "红宝石", "钻石")),
|
||||||
Catalyst("混沌催化剂", arrayOf("火成催化剂", "草本催化剂", "不稳定催化剂", "晶化催化剂", "金属催化剂", "宝石催化剂")),
|
Catalyst("混沌催化剂", arrayOf("火成催化剂", "草本催化剂", "不稳定催化剂", "晶化催化剂", "金属催化剂", "宝石催化剂")),
|
||||||
|
Loading…
Reference in New Issue
Block a user