MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接
    1. 主页
    2. Vincent-Du-Hello
    V
    • 资料
    • 关注 0
    • 粉丝 0
    • 主题 1
    • 帖子 3
    • 最佳 0
    • 有争议的 0
    • 群组 0

    Vincent-Du-Hello

    @Vincent-Du-Hello

    0
    声望
    1
    资料浏览
    3
    帖子
    0
    粉丝
    0
    关注
    注册时间 最后登录

    Vincent-Du-Hello 取消关注 关注

    Vincent-Du-Hello 发布的最新帖子

    • RE: 使用java开发时JAutoSavePluginData不保存东西

      Data.java:package top.yuyanmc.data;

      import net.mamoe.mirai.console.data.Value;
      import net.mamoe.mirai.console.data.java.JAutoSavePluginData;
      import org.jetbrains.annotations.NotNull;

      import java.util.HashMap;
      import java.util.Map;

      public class Data extends JAutoSavePluginData {
      public static final Data INSTANCE = new Data("Misuka_data");
      public final Value<Map<Long, Long>> signed = typedValue(createKType(Map.class, createKType(Long.class), createKType(Long.class)));
      public final Value<Map<Long, Long>> point = typedValue(createKType(Map.class, createKType(Long.class), createKType(Long.class)));

      public Data(@NotNull String saveName) {
          super(saveName);
      }
      

      }

      发布在 开发交流
      V
      Vincent-Du-Hello
    • RE: 使用java开发时JAutoSavePluginData不保存东西

      Plugin.java:package top.yuyanmc;

      import net.mamoe.mirai.console.data.Value;
      import net.mamoe.mirai.console.plugin.jvm.JavaPlugin;
      import net.mamoe.mirai.console.plugin.jvm.JvmPluginDescriptionBuilder;
      import net.mamoe.mirai.event.GlobalEventChannel;
      import net.mamoe.mirai.event.events.GroupMessageEvent;
      import net.mamoe.mirai.message.data.*;
      import top.yuyanmc.data.Data;

      import java.util.Map;

      public final class Plugin extends JavaPlugin {
      public static final Plugin INSTANCE = new Plugin();

      private Plugin() {
          super(new JvmPluginDescriptionBuilder("top.yuyanmc.plugin", "1.1-beta")
                  .name("Misuka Server Plugin")
                  .author("yuyanMC")
                  .build());
      }
      
      @Override
      public void onEnable() {
          this.reloadPluginData(Data.INSTANCE);
          getLogger().info("Plugin loaded!");
          GlobalEventChannel.INSTANCE.subscribeAlways(GroupMessageEvent.class, (GroupMessageEvent event) ->{
              if(event.getMessage().contentToString().contains("awa")) {
                  event.getGroup().sendMessage("awa");
              }
              if(event.getMessage().contentEquals("签到",false)) {
                  getLogger().info(event.getSender().getNick() + "signed.");
                  Value<Map<Long, Long>> signed_warped = Data.INSTANCE.signed;
                  Map<Long, Long> signed = signed_warped.get();
                  if(signed.containsKey(event.getSender().getId()) && signed.get(event.getSender().getId())/86400000 >= System.currentTimeMillis()/86400000) {
                      MessageContent messageContent;
                      MessageContent messageContent2;
                      messageContent = new At(event.getSender().getId());
                      messageContent2 = new PlainText("你已经签到过了!");
                      MessageChain messageChain = MessageUtils.newChain(messageContent, messageContent2);
                      event.getGroup().sendMessage(messageChain);
                  } else {
                      MessageContent messageContent;
                      MessageContent messageContent2;
                      messageContent = new At(event.getSender().getId());
                      signed.put(event.getSender().getId(), System.currentTimeMillis());
                      Value<Map<Long, Long>> point_warped = Data.INSTANCE.point;
                      Map<Long, Long> point = point_warped.get();
                      if(point.containsKey(event.getSender().getId())){
                          point.put(event.getSender().getId(), point.get(event.getSender().getId())+10);
                      }else{
                          point.put(event.getSender().getId(), 10L);
                      }
                      messageContent2 = new PlainText("签到成功!\n当前积分:"+point.get(event.getSender().getId()).toString());
                      point_warped.set(point);
                      Data.INSTANCE.onValueChanged(point_warped);
                      MessageChain messageChain = MessageUtils.newChain(messageContent, messageContent2);
                      event.getGroup().sendMessage(messageChain);
                  }
                  signed_warped.set(signed);
                  Data.INSTANCE.onValueChanged(signed_warped);
                  savePluginData(Data.INSTANCE);
              }
          });
      }
      

      }

      发布在 开发交流
      V
      Vincent-Du-Hello
    • 使用java开发时JAutoSavePluginData不保存东西

      data文件里只有"{}"两个字符

      发布在 开发交流
      V
      Vincent-Du-Hello