Java 重写minecraft服务器(获取/编辑源代码并重新编译)

Java 重写minecraft服务器(获取/编辑源代码并重新编译),java,ide,minecraft,Java,Ide,Minecraft,我想编辑minecraft服务器代码并添加/删除我需要或不需要的内容 首先,我可以编辑minecraft服务器代码吗 我得到了 IntelliJ中minecraft_server.jar的源代码,但如果我想 编译时,我会收到100个错误,因为代码中有如下内容: switch(1.$SwitchMap$io$netty$handler$codec$http$websocketx$WebSocket08FrameDecoder$State[((State)State()).ordinal()]){

我想编辑minecraft服务器代码并添加/删除我需要或不需要的内容

  • 首先,我可以编辑minecraft服务器代码吗
  • 我得到了 IntelliJ中minecraft_server.jar的源代码,但如果我想 编译时,我会收到100个错误,因为代码中有如下内容:
    switch(1.$SwitchMap$io$netty$handler$codec$http$websocketx$WebSocket08FrameDecoder$State[((State)State()).ordinal()]){
我真的不知道如何处理这些错误,因为在finshed jar中,它就在那里,就像我的示例一样


Minecraft服务器:

Minecraft服务器不是开源的。因此您无法合法获取源文件

我想编辑minecraft服务器代码并添加/删除我需要或不需要的内容

我怀疑有些东西是你不需要的,如果需要的话……不要使用它们


但是也有开源的minecraft服务器(比如bukkit),可以很容易地用插件进行定制。

我认为minecraft服务器的源代码打算关闭(你甚至不应该能够获得它)

不过,修改服务器的源代码可能是开放的,请查看Bukkit和类似的项目

请记住,如果您能够找到一个打开的项目,并且您决定添加或删除各种内容,那么您将全权负责确保客户机仍然可以正常连接和操作

像Bukkit这样的项目可以通过编写自己的插件来修改,因此,除非您真的想改变minecraft的运行方式(通过添加新的块或其他东西!),否则您应该能够编写自己的插件,而无需手动编写服务器源代码


我佩服你的热情,但要确保你知道自己在做什么!:)

如果Bukkit不是你想要的,我建议使用Minecraft Forge(谷歌it)进行服务器和客户端的修改。

在获得所有文件夹后,使用spigot中解释的构建工具 进入文件夹插口,进入文件夹插口服务器 然后是inisde src,然后是main,然后是java,然后是net,然后是minecraft,然后是server,然后就是那里 是源代码,修改那些.java文件中需要的内容,准备好后返回到spiget/spiget服务器文件夹并放置此命令 清洁包装
就是这样…你可能需要安装一些依赖项,比如maven…但这将使spigot.jar在文件夹中成为目标,并对minecraft进行修改…

是的,我知道bukkit,但对于插件我做得不够,这就是为什么我需要更改一些类,并且有一个主线程运行任务,我不需要执行什么任务你不需要?每一个,除了伤害滴答声(像火一样)我知道bukkit,它可以重写bukkit,但是我需要从minecraft服务器更改一些类,我不能用插件来做这些:)对!如果你想删除一些东西或修改以添加新功能,你可以这样做!不要直接从mojang编辑代码。找一个像bukkit这样的项目,并获取它们的源代码code。这是完全合法的,您不太可能遇到问题,因为代码将更可读,而不是您已反编译的内容。我知道,但bukkit只“重写”一些类,并且在我构建jar时添加minecraft服务器代码,如果我尝试编辑minecraft_server.jar(通过编译添加)我不能导致我在main poststrung中得到的错误。我会认为Bukkit完全在他们的版本中编写了代码。如果他们只更改了某些方法/类,而原始jar仍然包括在内,那么您不能合法地修改原始jar,但有权修改Bukkit团队编写的任何代码,或者添加您自己的代码。如果Bukkit团队成功地覆盖了默认的mojang类,那么您也许可以研究他们是如何做到的,并覆盖更多的原始代码!祝您好运!编辑这么大的项目可能会让人望而生畏,但如果您成功,回报是巨大的!:)如果您只想要minecraft而不是插口,您可以获得并解压缩minecraft服务器在那里…并在eclipse上使用该源代码和JAR,您将在那里运行它,甚至在调试模式下编译它…intelig应该是相同的…如果需要帮助,msg me xD