2014-11-21 96 views
0

我想讓我的Java遊戲可以修改。我在想Lua,但我不太喜歡這個想法。基本上我只是想爲我的遊戲製作API,它將包含一些可供製作mod的人使用的方法。在我做mod之後,我想以某種方式將它編譯成一個jar文件。最棘手的部分是加載文件(國防部)作爲國防部。我從來沒有做過這樣的事情,但我已經使用Minecraft Forge API爲遊戲Minecraft創建了一些mod,所以我知道這是可能的。讓我的遊戲可以修改

+0

想到第一件事......寫一個類加載器,在運行時從'plugins'或'mods'目錄加載jar。有mods實現一些共同的接口。 – 2014-11-21 22:25:02

+0

另一個我的世界立方傢伙nah ... – RussianVodka 2014-11-22 00:25:07

+0

當然。 :)但是我並沒有製作類似Minecraft的遊戲。 :)這只是一個例子。 – Samuel 2014-11-22 09:52:12

回答

1

我想使我的Java遊戲可修改。

IMO,最好的辦法是讓你的程序的完整源代碼免費提供給任何需要它的人。

但是,假設你的意思是你的遊戲的「mods」不涉及黑客攻擊核心代碼的人,那麼在Java中實現「插件」功能的標準方法是。基本上,你構建應用程序,這樣,你想要的行爲的區域是「MOD-能夠」有:

  • 一個精心設計的interface說,「國防部」編碼器可以實現,
  • 一個插件,發現裝載機並從某處加載自定義代碼(mods),並且允許您的應用程序查找代碼的某種註冊表機制。

此外,使代碼開放源代碼使mod編碼器更容易編碼和調試他們的mod。如果他們可以看到核心代碼,他們可以弄清楚他們需要編寫代碼來與其交互。

+0

是的,但我想讓遊戲一次支持多個mod,並且將遊戲開放源代碼並不是解決方案。 – Samuel 2014-11-21 22:29:56

+0

@Samuel - 這不是解決方案。但我認爲這是解決方案的**部分**。 – 2014-11-23 00:27:18

相關問題