removed helper book

This commit is contained in:
iceBear67 committed 2024-07-14 15:12:53 +08:00
1 parent b9a1cc56c6
commit 5bed73ba3c
1 file changed
+3 -29
@@ -18,6 +18,7 @@ import net.minecraft.item.Items;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.server.network.ServerPlayNetworkHandler; import net.minecraft.server.network.ServerPlayNetworkHandler;
import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.ClickEvent;
import net.minecraft.text.RawFilteredPair; import net.minecraft.text.RawFilteredPair;
import net.minecraft.text.Text; import net.minecraft.text.Text;
@@ -61,43 +62,16 @@ public class WelcomeModule extends ServerModule {
player.sendMessage(Text.of("§a§l欢迎加入 SaltedFish Club Server!")); player.sendMessage(Text.of("§a§l欢迎加入 SaltedFish Club Server!"));
player.sendMessage(Text.of("§a您受本服务器成员邀请加入本服务器,以下是一些注意事项:")); player.sendMessage(Text.of("§a您受本服务器成员邀请加入本服务器,以下是一些注意事项:"));
player.sendMessage(Text.of(" - 服务器内已有的设施均为其他玩家的财产,(如可以)使用时请注意礼貌")); player.sendMessage(Text.of(" - 服务器内已有的设施均为其他玩家的财产,(如可以)使用时请注意礼貌"));
player.sendMessage(Text.literal(" - 服务器内有一些非原版特性,可以点击此条消息查看 [特性列表]")
.styled(s -> s.withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://wiki.sfclub.cc/s/sfcraft-features"))));
player.sendMessage(Text.of(" - 工作日下午 " + config.maintainceStartHour + " 至 " + config.maintainceEndHour + "点 为服务器维护时间 (防沉迷)")); player.sendMessage(Text.of(" - 工作日下午 " + config.maintainceStartHour + " 至 " + config.maintainceEndHour + "点 为服务器维护时间 (防沉迷)"));
player.sendMessage(Text.of("§c - 邀请新成员即等同为其作担保")); player.sendMessage(Text.of("§c - 邀请新成员即等同为其作担保"));
player.sendMessage(Text.of("§7如果您想邀请朋友加入服务器, 可以向管理员提出申请§7 (需备注正/盗版/小号)")); player.sendMessage(Text.of("§7如果您想邀请朋友加入服务器, 可以向管理员提出申请§7 (需备注正/盗版/小号)"));
player.sendMessage(Text.of("§7此外, 本服务器无密码登录,盗版账号安全责任自负")); player.sendMessage(Text.of("§7此外, 本服务器无密码登录,盗版账号安全责任自负"));
player.giveItemStack(generateHelperBook(updateLog, player));
unlockRecipe(player); unlockRecipe(player);
} }
} }
private ItemStack generateHelperBook(String updateLog, ServerPlayerEntity player) {
Clock clock = null;
if (player.networkHandler.getConnectionAddress() instanceof InetSocketAddress addr) {
try {
clock = geoIPService.clockOf(addr.getAddress());
} catch (GeoIp2Exception ignored) {
}
}
if (clock == null) clock = Clock.systemDefaultZone();
var book = new ItemStack(Items.WRITTEN_BOOK);
var updLog = new ArrayList<String>();
updLog.add("本书修订截至至您加入服务器的那一刻 (" + FMT.format(ZonedDateTime.now(clock)) + ")\n" + "更多内容请查阅群公告");
final var pageLen = 100;
var pages = updateLog.length() / pageLen;
for (int i = 0; i < pages; i++) {
updLog.add(updateLog.substring(i * pageLen, (i + 1) * pageLen));
}
updLog.add(updateLog.substring(pages * pageLen));
var component = new WrittenBookContentComponent(
RawFilteredPair.of("特性列表"),
"icybear & You",
1,
updLog.stream().map(it -> RawFilteredPair.of(Text.of(it))).toList(),
false
);
book.set(DataComponentTypes.WRITTEN_BOOK_CONTENT, component);
return book;
}
private void unlockRecipe(ServerPlayerEntity player) { private void unlockRecipe(ServerPlayerEntity player) {
var recipe = player.getRecipeBook(); var recipe = player.getRecipeBook();