新年总结汇总 2023-2026

2026

新年快乐!

今年依旧在GTNH跨年, 但是这次是在朋友的服务器.

今年的的模组之旅… 发布了三个模组, 其中两个整活向的, 一个半实用向的, 不得不说我可能还是更适合做灵感驱动的小模组. 但是这不是我所期望的. 一年前说的制作大型玩法模组今年算是开了个头, 预计明年很快可以公布.

今年在网络上做的更大的事情是创建了自己的网站, 期望每个月发布一篇文章, 随便记录一点开发中的经验.

明年要面对考研了, 很难表达感想, 就这样吧.

image-20251231235947161

java黑魔法-注解处理器修改java源代码

如果读者接触过一些java项目, 可能看到过lombok这个依赖, 其提供的@Getter @Setter等注解会在编译时往源类添加/修改代码, 从而方便开发。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
	
@Getter
@Setter
public String str;

/*
编译后
|
V
*/

public String str;

@Generated
public String getStr() {
return this.str;
}

@Generated
public void setStr(String str) {
this.str = str;
}

然而如果你真的试图复现一个简单的@Getter @Setter类似物, 会发现java提供的公开API只能通过注解处理器创建新的.java文件并写入新源码, 并不能修改源类代码. 所以本文下面简单介绍如何不使用外部依赖的情况下通过纯注解处理器修改编译时源类代码. 并逐步实现一个可以简化Minecraft模组网络包编写与注册的注解。