有个1.8的mod叫TimeChanger,能改变游戏内显示时间而不修改实际时间,例如实际晚上时依然刷怪,但显示白天。没找到1.12.2的类似mod,想问问大概怎么实现(如果详细点或者给代码示例更好)
666
拦截并处理net.minecraft.network.play.server.SPacketTimeUpdate
或者你仅仅只需要每时每刻控制住本地世界的时间就行
或者你仅仅只需要每时每刻控制住本地世界的时间就行
ESS,修改个人时间/ptime 1300 再想个办法锁住个人时间完事了,A A
/time set 数字(0是清晨)
改的不难主要是要记得指令
终是放下她 发表于 2020-8-5 21:25
/time set 数字(0是清晨)
这个是修改游戏时间
终是放下她 发表于 2020-8-5 21:25
/time set 数字(0是清晨)
需要仅修改客户端显示时间,服务端(单机也是内置服务端吧)时间正常,如晚上刷怪白天部分怪物燃烧
Hueihuea 发表于 2020-8-5 20:21
拦截并处理net.minecraft.network.play.server.SPacketTimeUpdate
或者你仅仅只需要每时每刻控制住本地世界 ...
按照我了解的试了下,结果还是不行,能给个示例源码吗
Moonboos_666 发表于 2020-8-5 21:45
按照我了解的试了下,结果还是不行,能给个示例源码吗
你说不行是指没有现象吗?
南柯郡守 发表于 2020-8-6 01:04
https://bukkit.windit.net/javadoc/org/bukkit/entity/Player.html#setPlayerTime-long-boolean-
设置玩 ...
这个是bukkit的吧,之前没注意网址,还试了试。因为想做的是单机mod,内置服务端应该不能改吧(为了个mod改游戏肯定不太行)
Moonboos_666 发表于 2020-8-7 08:17
这个是bukkit的吧,之前没注意网址,还试了试。因为想做的是单机mod,内置服务端应该不能改吧(为了个mod ...
Bukkit的底层是MC源码
这个方法是修改了
public long timeOffset;
public boolean relativeTime;
都是EntityPlayer类,但是Forge反混淆不一样,你可以自己找找看
https://github.com/X-Green/Replay-Addon-Fabric
这个项目可以参考一下。虽然是fabric的,但是基本原理是一模一样的,都是拦截SPacketTimeUpdate。
这个项目可以参考一下。虽然是fabric的,但是基本原理是一模一样的,都是拦截SPacketTimeUpdate。