【发布时间】:2021-07-30 22:28:01
【问题描述】:
我想制作一个插件,允许玩家自定义他们的盔甲模型和纹理。我希望服务器上的其他玩家能够看到这些自定义设置。
由于我从未在插件中进行纹理覆盖,因此我不知道这是否可行,并且我无法在网上找到任何相关内容。我知道你可以让方块看起来像其他方块,但盔甲就不行了。
我必须向在线玩家发送一个数据包,还是有其他方法可以做到这一点?如果可能,是否有地方记录如何执行此操作?
【问题讨论】:
-
你可以制作一个服务器端的材质包发送给客户端。
-
@Xiddoc 这将使只有客户可以看到他们自己的定制,并且定制模型目前也无法使用资源包。好主意,但不是我真正想要的。
-
首先——“定制模型”是什么意思?其次,服务器上的每个人都会看到客户端的自定义,因为每个人都会拥有相同的自定义纹理包(从服务器发送给他们之后)。
-
@Xiddoc 当我指的是自定义模型时,我的意思是在不移除普通版本的情况下制作 3D 盔甲,就像你可以对物品做的那样。它不是纹理,而是 3D 模型。尽管可能无法以任何方式自定义实体模型,但我听说这些模型是硬编码到客户端中的。现在,资源包没有能力为同一个盔甲提供多个纹理。所以玩家会看到他们对所有这类盔甲的定制。使其成为重新构造,而不是自定义。我希望有一种方法可以在使用插件的条件下重新构造盔甲。
-
如果硬编码到客户端是不可能做到的。如果您想编写高效的代码,我建议您尝试 Forge,因为我记得这是大多数 mod 的编写方式。如果你不能/不想使用 Forge,那么你可以尝试使用无形的盔甲架,它会一直传送到玩家身边,以复制“新盔甲模型”。我自己没有做过,也不知道它运行起来有多顺畅(考虑到你将同时传送大量实体),但这是我能想到的最好的原版实现。