Minecraft 开发手记

图标、发光、材质、地牢生成等 MC 开发实践

共 7 篇文章
如何在MC的游戏画面中画出原神的路径点图标?

如何在MC的游戏画面中画出原神的路径点图标?

分析 首先是对OpenGL绘图的一些小分析 注:笔者在图中忘记画z轴的偏移了 代码 java ClientHandler.getTrackingWaypoints().forEach(waypoint { if (waypoint == null) return; / 路径点距离标准化部分 / Vec3d player

MC的生物发光逻辑以及方块发光

MC的生物发光逻辑以及方块发光

前言 如何在只使用Bukkit服务端插件的情况下,不改动客户端逻辑使MC的生物和方块发出不同颜色的光? 游戏版本:1.12.2 环境:Taboolib 6.2,Kotlin 1.9.24 注:以下关于数据包的描述均局限于1.12.2的通讯协议(340),命名采用Bukkit NMS的命名,其他版本有出入 MC的发光逻辑

通过非对称加密实现“氨醛”的客户端动态材质加载

通过非对称加密实现“氨醛”的客户端动态材质加载

前言 在某些情况下,我们需要在游戏客户端中动态地加载材质贴图,而我们又不想将贴图文件不与加密的存储在客户端中,因此这种情况下我们可能会选择将材质加密后存储于客户端本地,而后通过网络发送密钥至客户端解密

设计渲染旁路让MC支持GIF图片渲染

设计渲染旁路让MC支持GIF图片渲染

前言 参考以下文章 深入浅出高版本渲染系统 —— GuiComponent的消逝与GuiGraphics的新生 Fabric Minecraft渲染导论(Forge没有,可能觉得自己很高冷(?))

使用JDK底层魔法类和字节汇编为Forge引入运行时动态依赖加载

使用JDK底层魔法类和字节汇编为Forge引入运行时动态依赖加载

目标 在Forge扫描Mod之前将 它的依赖下载并动态注入到ClassLoader,而不是shadow打包FatJar,目的是为了减小Mod的体积。下载部分不再阐述,本文只探讨动态注入部分 思路 因为

大型Minecraft关卡系统设计:程序化全自动地牢生成(Bukkit API & 图论)

大型Minecraft关卡系统设计:程序化全自动地牢生成(Bukkit API & 图论)

前言 近几年国外涌现了许多诸如MythicDungeons的优秀地牢插件,以MD为例,其在近期加入了程序化地牢生成的功能,如果笔者未曾记错的话,国外做此类副本生成的插件最早可以追溯到几年前的Dunge

ServerSync: Bukkit企业级分布式强一致同步的探索

ServerSync: Bukkit企业级分布式强一致同步的探索

ServerSync 分布式数据同步系统 - 从原理到实现 一个为MC跨服架构设计的强一致性数据同步方案 快速使用 第一章:为什么需要 ServerSync 1.1 从一个痛点说起 假设你正在运营

1