多玩我的世界皮肤背包?
我声明一点,我没有使用过这个插件。所以下文的所有内容仅限于对插件功能的探讨及可能的实现方式上的说明,并不保证插件就是这种情况或者支持这种功能(毕竟我没用过)。如有错误,欢迎指正! 下面开始正文: 我所了解的“多玩我的世界皮肤背包”功能大致是这样:进入游戏后,按下某个键,然后就能从右边的窗口里选择一个皮肤或资源包。 这个功能在MCBBS上有一个类似的帖子,作者没有发布相关的插件文件,但是发了一张截图,如图所示: 这里需要说明一点,根据我的实验以及网上的相关资料,发现用版本号来获取插件权限的方法已经失效,现在MC版本的切换需要重新安装插件,否则会显示不全或者无法使用相应的功能(比如1.7.10的插件无法用在1.8.8上)。因此该插件应该在最新的版本下才能正常执行。当然,可能有的开发者会添加对旧版本的支持,但是我想说明的是,无论是对于官方版本还是自定义版本,插件开发应该以最新版本为基础。因为更新都是增量式的,每次新版本都加入新的功能和修复旧的BUG,而插件的开发也应该在这种“增加”上进行工作,这样才能保持插件的功能性与稳定性。否则就会出现像之前Minecraft version 1.7.2时所有插件不能使用的尴尬局面。
说完了“多玩我的世界皮肤背包”,再来说说它的竞争对手“MC客户端优化神器”。这个插件的功能也是在游戏中按一下快捷键,在右侧的窗口中显示当前玩家可用的皮肤(或是资源包)。但是从原理上来讲它和上述的“多玩我的世界皮肤背包”有很大的不同。 如图,这是使用MC客户端优化神器的时候,在启动游戏之后弹出的对话框,可以从里面看到当前安装的皮肤包(或是默认使用的皮肤) 上图是使用MC客户端优化神器的时候,在右侧窗口中展示的皮肤信息 接下来简单说说如何实现这两个插件,不过由于时间的关系,我并没有实现它们,具体的细节可能会有遗漏或者不对的地方。不过大体上的思路应该是这样的: 在游戏的快捷方式或者运行程序的命令行中加入参数-XX 这样就会在游戏的主进程外面再建立一个线程,然后在这个线程中不断的检测是否有需要更新的资源包,如果有的话则加载并替换掉游戏数据,并在游戏界面上显示出更换的资源包。 当玩家按下某些设定的热键(可以在这里设置),就会唤醒一个用于接收用户输入的类(这里的接收用户输入可以是键盘、鼠标、手柄甚至是手机APP),然后根据用户的输入寻找对应的资源包,如果存在则加载,同时通知界面刷新。