Skip to content

Commit

Permalink
Merge pull request #4 from Kittengarten-Official/开发
Browse files Browse the repository at this point in the history
2.0更新
  • Loading branch information
Kittengarten authored Jul 3, 2021
2 parents 3ea4250 + cd27cf1 commit df03a30
Show file tree
Hide file tree
Showing 20 changed files with 509 additions and 21 deletions.
51 changes: 49 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,53 @@ Kitten_Anno
# 简介
Kitten_Anno是一个基于[世界树纪元](https://github.com/Kittengarten-Official/World_Tree_Anno)的Minecraft Java版`Spigot`插件,由`Java 16`编译,仅支持`1.17`以上版本。
# 功能
* 定期播报
* 主动查询
* 定期自动播报
* 使用命令`/anno`主动查询
* 加入服务器时的欢迎语
* 每月初一自动播报时,为**在线**玩家提供与月份相关的奖励
* 每月十一自动播报时,为**在线**玩家提供随机的奖励
# 提示
* 睡觉、使用命令调整时间,**无法**影响世界树纪元
* 世界树纪元与Minecraft的昼夜变化无关
* 自动播报的时间点,往往不是世界树纪元每天的起始点
> 往往会出现已经到了第二天但还未自动播报的情况
>
> 如需得知当前的正确日期,使用命令进行查询
* 世界树纪元只与服务端当前加载的第一个世界已运行的总时间有关
* 在线玩家需要背包有剩余空间,否则无法获取
* 在线玩家即使没有重生,也可获取
> 原理:即使没有重生,背包也处于可用状态
* 如因为背包已满,未能获取奖励,不予处理
# 奖励
|奖励 |数量|提供奖励的月份|随机提供奖励的权重|
|:--------------:|:--:|:-----------:|:--------------:|
|下界之星 | 1 | 寂月 | 1% |
|雪块 | 64 | 雪月 | 1% |
|海洋之心 | 1 | 海月 | 1% |
|龙首 | 1 | 夜月 | 1% |
|哭泣的黑曜石 | 1 | 彗月 | 5% |
|蓝冰 | 64 | 凉月 | 1% |
|绿宝石矿石 | 64 | 芷月 | 1% |
|海龟壳 | 1 | 茸月 | 5% |
|鹦鹉螺壳 | 4 | 雨月 | 2% |
|凋零玫瑰 | 1 | 花月 | 2% |
|海晶灯 | 16 | 梦月 | 2% |
|随机音乐唱片 | 1 | 音月 | 5% |
|潜影壳 | 2 | 晴月 | 10% |
|三叉戟 | 1 | 岚月 | 5% |
|不死图腾 | 1 | 萝月 | 5% |
|盛开的杜鹃花丛 | 1 | 苏月 | 1% |
|附魔金苹果 | 1 | 茜月 | 10% |
|黏液块 | 16 | 梨月 | 2% |
|黏土块 | 16 | 荷月 | 5% |
|TNT | 4 | 茶月 | 1% |
|海绵 | 4 | 茉月 | 2% |
|| 1 | 铃月 | 1% |
|命名牌 | 4 | 信月 | 2% |
|龙息 | 4 | 瑶月 | 10% |
|鞘翅 | 1 | 风月 | 2% |
|远古残骸 | 4 | 叶月 | 5% |
|钻石矿石 | 8 | 霜月 | 2% |
|附魔书(经验修补)| 1 | 奈月 | 10% |
# Bug提交
可通过本仓库的Issues或开发者任意联系方式提交Bug,有关信息务必详尽,以方便分析原因并修复。
2 changes: 1 addition & 1 deletion kitten_anno/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>tk.iluyf.mc</groupId>
<artifactId>kitten_anno</artifactId>
<version>1.1</version>
<version>2.0</version>

<name>kitten_anno</name>
<!-- FIXME change it to the project's website -->
Expand Down
161 changes: 160 additions & 1 deletion kitten_anno/src/main/java/config.yml
Original file line number Diff line number Diff line change
@@ -1 +1,160 @@
welcome_messages: 欢迎来到幼喵园!
welcome_messages: 欢迎来到幼喵园!
reward:
month0:
name: 下界之星
id: NETHER_STAR
quantity: 1
weight: 0
month1:
name: 雪块
id: SNOW_BLOCK
quantity: 64
weight: 1
month2:
name: 海洋之心
id: HEART_OF_THE_SEA
quantity: 1
weight: 2
month3:
name: 龙首
id: DRAGON_HEAD
quantity: 1
weight: 3
month4:
name: 哭泣的黑曜石
id: CRYING_OBSIDIAN
quantity: 1
weight: 4
month5:
name: 蓝冰
id: BLUE_ICE
quantity: 64
weight: 9
month6:
name: 绿宝石矿石
id: EMERALD_ORE
quantity: 64
weight: 10
month7:
name: 海龟壳
id: TURTLE_HELMET
quantity: 1
weight: 11
month8:
name: 鹦鹉螺壳
id: NAUTILUS_SHELL
quantity: 4
weight: 16
month9:
name: 凋零玫瑰
id: WITHER_ROSE
quantity: 1
weight: 18
month10:
name: 海晶灯
id: SEA_LANTERN
quantity: 16
weight: 20
month11:
name: 随机音乐唱片
ids:
id1: MUSIC_DISC_13
id2: MUSIC_DISC_CAT
id3: MUSIC_DISC_BLOCKS
id4: MUSIC_DISC_CHIRP
id5: MUSIC_DISC_FAR
id6: MUSIC_DISC_MALL
id7: MUSIC_DISC_MELLOHI
id8: MUSIC_DISC_STAL
id9: MUSIC_DISC_STRAD
id10: MUSIC_DISC_WARD
id11: MUSIC_DISC_11
id12: MUSIC_DISC_WAIT
id13: MUSIC_DISC_PIGSTEP
quantity: 1
weight: 22
month12:
name: 潜影壳
id: SHULKER_SHELL
quantity: 2
weight: 27
month13:
name: 三叉戟
id: TRIDENT
quantity: 1
weight: 37
month14:
name: 不死图腾
id: TOTEM_OF_UNDYING
quantity: 1
weight: 42
month15:
name: 盛开的杜鹃花丛
id: FLOWERING_AZALEA
quantity: 1
weight: 47
month16:
name: 附魔金苹果
id: ENCHANTED_GOLDEN_APPLE
quantity: 1
weight: 48
month17:
name: 黏液块
id: SLIME_BLOCK
quantity: 16
weight: 58
month18:
name: 黏土块
id: CLAY
quantity: 16
weight: 60
month19:
name: TNT
id: TNT
quantity: 4
weight: 65
month20:
name: 海绵
id: SPONGE
quantity: 4
weight: 66
month21:
name:
id: BELL
quantity: 1
weight: 68
month22:
name: 命名牌
id: NAME_TAG
quantity: 4
weight: 69
month23:
name: 龙息
id: DRAGON_BREATH
quantity: 4
weight: 71
month24:
name: 鞘翅
id: ELYTRA
quantity: 1
weight: 81
month25:
name: 远古残骸
id: ANCIENT_DEBRIS
quantity: 4
weight: 83
month26:
name: 钻石矿石
id: DIAMOND_ORE
quantity: 8
weight: 88
month27:
name: 附魔书(经验修补)
id: ENCHANTED_BOOK
quantity: 1
weight: 90





2 changes: 1 addition & 1 deletion kitten_anno/src/main/java/plugin.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Kitten_Anno
main: tk.iluyf.mc.KittenAnno
version: 1.0
version: 2.0
api-version: 1.17
author: Kittengarten
commands:
Expand Down
25 changes: 21 additions & 4 deletions kitten_anno/src/main/java/tk/iluyf/mc/AnnoCompute.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ public class AnnoCompute {
short monthCycle_FirstdayDay[] = new short[monthCycle + 1];
short yearCycle_FirstmonthMonth[] = new short[yearCycle + 1];

public String main(long annoDayNew) {
return annoToString(annoDayNew);
public String output(long annoDay) {
return annoToString(annoDay);
}

public AnnoCompute() {
Expand Down Expand Up @@ -103,9 +103,9 @@ private final long[] monthToYear(long month) {
return yearMonthNumber;
}

private String annoToString(long annoDayNew) {
private String annoToString(long annoDay) {
long monthDay[] = new long[2];
monthDay = dayToMonth(annoDayNew);
monthDay = dayToMonth(annoDay);
short dayNumber = (short) monthDay[1];
long yearMonth[] = new long[2];
yearMonth = monthToYear(monthDay[0]);
Expand All @@ -119,6 +119,23 @@ private String annoToString(long annoDayNew) {
}
}

public long[] annoToValue(long annoDay) {
long monthDay[] = new long[2];
monthDay = dayToMonth(annoDay);
short dayNumber = (short) monthDay[1];
long yearMonth[] = new long[2];
yearMonth = monthToYear(monthDay[0]);
short monthNumber = (short) yearMonth[1];
long yearNumber = yearMonth[0];
if (yearNumber > 0 && monthNumber >= 0 && dayNumber > 0) {
long[] returnValue = { yearNumber, monthNumber, dayNumber };
return returnValue;
} else {
long[] returnValue = { -1L, -1L, -1L };
return returnValue;
}
}

public static void main(String[] args) {
AnnoCompute meow = new AnnoCompute();
System.out.println(meow.annoToString(170425/* 可以是任意天数 */));
Expand Down
18 changes: 11 additions & 7 deletions kitten_anno/src/main/java/tk/iluyf/mc/KittenAnno.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,25 @@
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;

import static org.bukkit.ChatColor.*;

public final class KittenAnno extends JavaPlugin implements Listener {
public class KittenAnno extends JavaPlugin implements Listener {
public static FileConfiguration config;

private void annoBroadcast(String annoString) {
Bukkit.broadcastMessage(annoString);
public KittenAnno() {
config = getConfig();
}

private String getAnnoBroadcast() {
public String getAnnoBroadcast() {
long annoTick = Bukkit.getWorlds().get(0).getGameTime();
long annoDay = 1 + annoTick / 24000;
AnnoCompute annoCompute_ = new AnnoCompute();
return annoCompute_.main(annoDay);
return annoCompute_.output(annoDay);
}

@Override
Expand All @@ -38,10 +40,12 @@ public void onEnable() {
new BukkitRunnable() {
@Override
public void run() {
annoBroadcast(getAnnoBroadcast());
Bukkit.broadcastMessage(getAnnoBroadcast());
long annoTick = Bukkit.getWorlds().get(0).getGameTime();
long annoDay = 1 + annoTick / 24000;
new Reward().giveReward(annoDay);
}
}.runTaskTimer(this, 100L, 24000L);

}

@Override
Expand Down
Loading

0 comments on commit df03a30

Please sign in to comment.