Moonboos_666
有个1.8的mod叫TimeChanger,能改变游戏内显示时间而不修改实际时间,例如实际晚上时依然刷怪,但显示白天。没找到1.12.2的类似mod,想问问大概怎么实现(如果详细点或者给代码示例更好)

发给你发的个
666

Hueihuea
拦截并处理net.minecraft.network.play.server.SPacketTimeUpdate
或者你仅仅只需要每时每刻控制住本地世界的时间就行

Tlhk
ESS,修改个人时间/ptime 1300 再想个办法锁住个人时间完事了,A A

终是放下她
/time set 数字(0是清晨)

终是放下她
改的不难主要是要记得指令

Moonboos_666
终是放下她 发表于 2020-8-5 21:25
/time set 数字(0是清晨)

这个是修改游戏时间

Moonboos_666
终是放下她 发表于 2020-8-5 21:25
/time set 数字(0是清晨)

需要仅修改客户端显示时间,服务端(单机也是内置服务端吧)时间正常,如晚上刷怪白天部分怪物燃烧

Moonboos_666
Hueihuea 发表于 2020-8-5 20:21
拦截并处理net.minecraft.network.play.server.SPacketTimeUpdate
或者你仅仅只需要每时每刻控制住本地世界 ...

按照我了解的试了下,结果还是不行,能给个示例源码吗

洞穴夜莺
Moonboos_666 发表于 2020-8-5 21:45
按照我了解的试了下,结果还是不行,能给个示例源码吗

你说不行是指没有现象吗?

南柯郡守
https://bukkit.windit.net/javado ... rTime-long-boolean-

设置玩家客户端时间 并不会改变服务器中的真实时间

Moonboos_666
南柯郡守 发表于 2020-8-6 01:04
https://bukkit.windit.net/javadoc/org/bukkit/entity/Player.html#setPlayerTime-long-boolean-

设置玩 ...

这个是bukkit的吧,之前没注意网址,还试了试。因为想做的是单机mod,内置服务端应该不能改吧(为了个mod改游戏肯定不太行)

William_Shi
Moonboos_666 发表于 2020-8-7 08:17
这个是bukkit的吧,之前没注意网址,还试了试。因为想做的是单机mod,内置服务端应该不能改吧(为了个mod ...

Bukkit的底层是MC源码
这个方法是修改了

  
  public long timeOffset;
  
  public boolean relativeTime;
  

都是EntityPlayer类,但是Forge反混淆不一样,你可以自己找找看

xiaolv5122
https://github.com/X-Green/Replay-Addon-Fabric
这个项目可以参考一下。虽然是fabric的,但是基本原理是一模一样的,都是拦截SPacketTimeUpdate。

第一页 上一页 下一页 最后一页