标签: Minecraft

著名的像素沙盒游戏 Minecraft

9 篇文章

thumbnail
简单记录一下 MySQL 大数据量大字段去重批量插入问题
在开发 ItemVoid 时遇到了一个技术性问题,关于在大数据量下如何保证插入性能的情况下进行去重的问题。需求分析为:分批大量数据插入,预期为 150~1500 个物品/s,每 5 秒插入一次由于应用侧缓存容量有限,因此数据库需要承担去重的任务,且需要保证去重的性能……
thumbnail
用 CrowdinCopyDeploy 和 CloudFlare R2 自己搭建一个兼容的 Crowdin Content Delivery 服务
在我们自建这套系统之前,我们一直依赖 Crowdin 提供的 Over-The-Air Content Delivery 功能,为安装在众多服务器上的 QuickShop Hikari/Reremake 在线更新本地化语言文件。 那么好端端的,你们怎么突然自建了 很简单,付不起钱了?。 作为个人开发者维护的完全免费的软件,每年找要我们 100 USD 我们可吃不消,更何况用户越来越多。 最初 Crowdin 免费提供该功能,但在中途修改为了付费服务(然而我并不知情),直到22年12月圣诞节期间,Crowdin 团队年底清算的时候给我发来了一封邮件: Crowdin CDN payment (s…
thumbnail
Minecraft 大型多人游戏的未来?—— MultiPaper
从今年早些时候开始关注 MultiPaper,到现在 MultiPaper 的完成度终于值得让我写一篇文章赞美一下了(好欸!  GitHubMultiPaper/MultiPaper   MultiPaper 诞生的背景 TPS 的概念 每个架设过 Minecraft 的服主都多多少少要和 TPS (ticks per second) 打交道,MC 这个游戏的游戏世界所有内容都基于一个循环进行计算,每一个循环称为 1 个tick,每秒循环 20 次,如果这一秒循环次数不够 20 次,则会出现卡顿的情况,服务器会在下一秒尝试多循环补偿 tick 丢失。 由于每个部分(方块、生物、AI等等)他们之…
thumbnail
失踪人口回归 六月纪要
首先热烈庆祝终于迎来30天的超长暑假,从烤箱回到了空调房。 忙碌的考试周终于结束了,也有时间重新投入到各种稀奇古怪的东西上了。 由于期末的原因,过去的一个月基本都在忙碌的实习、写报告、准备考试之间打转╮(╯▽╰)╭,没抽出太多时间来干别的,不过要说的话还是搞了点东西的。 银行卡那些事儿 首先是四月份网申的中国银行上海支行的非人哉万事达借记卡终于寄到手了。 快件 信封 卡面大概长这个样子,摸上去手感意外的好? 卡面 如果有人想办的话,可以参考这篇文章:安利一张中国银行非人哉万事达借记卡——SnowNekoのBlog 拿到卡第二天顶着38度高温跑了一趟线下激活了卡,然后买了点美元和卢布(?),然后…
thumbnail
RE: 关于社区型Minecraft服务器的一些思考
这是一篇 “回复” 文章“回复”类文章通常对于某个特定的文章/帖子进行回复并在其基础上延申探讨一些问题,通常由于评论区不适合构建长文章因而单开撰写。 本文回复:关于社区型Minecraft服务器的一些思考 —— 单项式 实际上我在 4 月 7 号晚上时候就在 RIA 组内看到了这篇文章,不过确实有很多想说的话,于是决定今天专门写一篇文章来发表一下自己的看法。 RE: 一个“社区型服务器”到底需要什么,才可以长久持续运营下去? 在我来到 RIA 之前,运营 SunnySide 那段时间里,我曾以 RIA 和 毛线/喵窝 作为参考寻找 “社区化” 的方向。 从很早的时候,其实 SunnySide …
thumbnail
Bukkit 通过 StackTrace 追踪调用者插件实例
有时候在编写 Bukkit 的插件的时候,需要追踪特定方法调用者,以做出不同的行为和响应。但由于 Bukkit 的插件生态系统不同的插件由不同的作者维护,请求其他开发者适配你的接口通常比较困难。 好在,有一种方式可以间接的获取调用者的插件名,进而可以通过 PluginManager 取得插件实例。 获取谁调用的方法通常通过 StackTrace 进行。低版本的 Java 可以通过 new 一个 Exception 获得,而高版本中,Java 提供了一个 StackWalker 更高性能的方式获取。本文中使用 StackWalker 进行演示,演示环境为(JDK 17 + Spigot 1.18…
thumbnail
Bukkit 宝藏类库合集 #1
突然发现自己 star 了超过 300 个 repo,翻了一下整理了一份Bukkit 宝藏类库合集(大概是第一期?),一个是自己要用的时候找起来方便,也希望可以帮助到更多的人少走弯路~ 合集内容较多,您可以使用左侧的菜单快速跳转~ 富文本处理-Minedown  GitHubPhoenix616/MineDown   特别好用! Minedown 使用类似 Markdown 的语法,以一种 human-friendly 的格式实现 Minecraft 原始JSON文本格式消息的功能。 Minedown 同时支持 BungeeChat 和 Adventure 两个文本库的分支。Adventure…
thumbnail
一种基于循环的游戏控制的设计思路
因为最近心血来潮在写小游戏插件,可以理解为彩虹六号:异种的MC复刻。 于是就要设计一套游戏控制流来引导玩家完成任务等操作。 然后我就写了一套挺烂的控制流( 主要部分 Game - 游戏实例 每个 Game Object 代表了一个游戏实例,下面所讲的一切都发生在 Game Object 中。 虽然一个 Spigot 实例只跑一个 Game,但是这样设计如果以后要改一个 Spigot 实例跑多个 Game 的话就不用重构插件了。 Module - 实例模块 一个 Game 中可以存在多个 Module。 每个 Module 在 Game 开始之后遵从 Minecraft 的游戏世界循环(也称 t…
thumbnail
Recaf - 更好用的 Java Decompiler
在接触 Recaf 之前,我一般都是使用 JD-GUI, Luyten, 或是将需要反编译的 Jar 文件加入 IDEA 的 classpath 以使用 IDEA 的反编译器。 对于常规的还好说,不过遇到混淆的 Jar 文件,这两者的反编译的结果都多多少少有点问题,IDEA在实践中又太过于麻烦。 Luyten 和 JD-GUI 反编译同一个文件 而 Recaf 则可以很好的解决这个问题。Recaf 内建多个反编译器可以在反编译出错时,切换到其他反编译器。 Recaf 切换反编译器 最重要的是,Recaf 不仅仅可以反编译,还可以修改 Jar。 如同在 IDE 中一样,只需要在代码编辑窗口中进行…