我做写了个指令用来打开一个自定义的gui,但是指令输入之后gui却没有出现(虽然我还没写gui里面长什么样,但是讲道理会背景变暗才对),我找了20分钟bug但是还是没有解决,没办法只能来问问了
代码在附件
代码在附件
控制台有报错吗
绝对零度233 发表于 2022-9-18 09:06
控制台有报错吗
无报错,啥都没有
你把你ClientProxy里的init方法删掉看看
本帖最后由 洞穴夜莺 于 2022-9-18 10:17 编辑
虽然不知道你现在使用的版本是什么(某 Forge),但是1.18.2Fabric中有个叫renderBackGround的方法,gui不调用它就不会变暗
虽然不知道你现在使用的版本是什么(某 Forge),但是1.18.2Fabric中有个叫renderBackGround的方法,gui不调用它就不会变暗
洞穴夜莺 发表于 2022-9-18 10:16
虽然不知道你现在使用的版本是什么(某 Forge),但是1.18.2Fabric中有个叫renderBackGround的方法,gui不 ...
1.8.9forge
crow02531 发表于 2022-9-18 09:47
你把你ClientProxy里的init方法删掉看看
好,我试试
crow02531 发表于 2022-9-18 09:47
你把你ClientProxy里的init方法删掉看看
!解决了,但是原因是什么呢,为什么删掉ClientProxy的init就可以了
没人理的jhh 发表于 2022-9-18 13:46
!解决了,但是原因是什么呢,为什么删掉ClientProxy的init就可以了
启动客户端的时候你的@SideProxy加载的是ClientProxy,ClientProxy继承CommonProxy并写了个空的init方法,而new GuiElementLoader()的调用发生在CommonProxy的init里,所以你的MOD根本就没有调用new GuiElementLoader()
crow02531 发表于 2022-9-18 16:17
启动客户端的时候你的@SideProxy加载的是ClientProxy,ClientProxy继承CommonProxy并写了个空的init方法 ...
噢这样啊,谢谢了,对了我还有个小问题,就是重写CommandBase里面的getRequiredPermissionLevel,返回值是1的话,按道理,单人游戏不需要作弊权限也能使用,为什么我这边测试的时候还是需要作弊才可以使用呢?
本帖最后由 crow02531 于 2022-9-18 22:06 编辑
命令这块我不是很清楚。命令权限具体怎运作的可以看EntityPlayerMP.canUseCommand方法。如果你单机没开允许作弊的话,那么你只能调用seed,tell,help,me,trigger,自定义的命令不论权限多低都没用。
没人理的jhh 发表于 2022-9-18 18:42
噢这样啊,谢谢了,对了我还有个小问题,就是重写CommandBase里面的getRequiredPermissionLevel,返回值 ...
命令这块我不是很清楚。命令权限具体怎运作的可以看EntityPlayerMP.canUseCommand方法。如果你单机没开允许作弊的话,那么你只能调用seed,tell,help,me,trigger,自定义的命令不论权限多低都没用。