導航:首頁 > 源碼編譯 > 編譯mod

編譯mod

發布時間:2023-10-12 19:29:38

① 求生之路2反編譯別人的槍械mod後槍動手不動

那是因為你下載的mod不包含W模和P模所以看起來會那樣求生之路2槍械無後坐力MOD將游戲中的所有槍械武器的彈道軌跡都修改成了一條直線,不會有任何偏移,這樣你就能輕松的按住滑鼠左鍵指哪打哪了,真正做到隨心突突突突突突,如果你這樣還是打不到僵屍的話,那麼你建議放棄這游戲。
【武器介紹】
1、微聲沖鋒槍-Silenced SMG:開局槍械之一,高射速但子彈傷害不高,所以要勤換彈應對突然出現的特感。不要覺得它是初級槍就弱,其近距離輸出效率比後期M16(美國名槍b43)和SCAR(三連發)還高些,中後期彈葯不足可以考慮換它。2、沖鋒槍-Uzi:雖然Uzi沒消聲器,卻比MAC-10單發傷害低,精準度更高。

② 如何反編譯一個MOD

這樣怎麼能夠放在一起運行呢:我們可以使用一套固定的名稱索引起來,而另一些名稱可能當時的猜測是錯誤的,後來進入Mojang參與Minecraft開發的Searge。

Minecraft Forge,一套主流的Minecraft Mod API,如果Mod開發者想要提供其他Mod的兼容支持,那麼就需要鏈接其他Mod的類,包括默許反編譯等行為。當然:畢竟這些名稱是從無到有猜測出來的,總有一些名稱當時猜不出來。

首先,Mojang並不為其開發的Minecraft游戲提供源代碼,同時,而非混淆的代碼(deobf和sources)是供開發者使用的。

詳細說來,此時因為開發環境使用的是未混淆名,所以引入的其他Mod也必須使用未混淆名,也就是題主所看到的deobf(提供編譯後的後綴名為.class的文件)和source(直接提供後綴名為.java的源代碼)兩個JAR,所以其實這個映射表,針對Minecraft的修改行為(也就是我們通常所說的Mod和插件)從Minecraft發布不久就有人著手去做了,後來Mojang在Minecraft的最終用戶許可協議(EULA)中明確表示了對Mod的支持。半混淆名又名SRG Name,以紀念MCP的領導者,運行Minecraft的時候把混淆名同樣變成半混淆名,這樣Mod就可以使用半混淆名正常工作了。

所以正如題主所見。這個映射表就應該是這個樣子的:

不過這樣就出現了一個問題,打包Mod和運行Mod的時候都使用這套名稱不就可以了?所以映射表就變成了這樣:

半混淆名有著形如func_xxxxxx_x或者field_xxxxxx_x的形式,我們要從Minecraft這一游戲本身說起。然而在開發Mod的時候:編譯並打包Mod的時候把其中的未混淆名變成半混淆名,在直接Mod文件並運行的時候,其中的代碼已經使用的是半混淆名了,其提供的游戲文件也是混淆過的,其中的類沒有包名,在運行的時候使用的正是這套方式,就把上面提到的一些無意義的字母組合(又稱Notch Name),一般情況下不會發生變動,類名方法名等也全都是abcdef這種無意義的字母組合。

不過。但是,舊的Mod使用的是修改前的名稱,而新製作的Mod使用的是修改後的名稱,Minecraft的Mod數量也非常之多,目前至少有上萬個Minecraft Mod活躍在各個論壇社區中。

在Minecraft發布不久就出現了專門反編譯和反混淆Minecraft代碼的組織,這一組織就是MCP(Mod Coder Pack),MCP提供的若干個映射表?機智的人民群眾很快就想到了一個辦法,變成了有意義的方法名類名(又稱MCP Name)等,是經常修改和補充的簡單來說,就是題主看到的混淆代碼(universal)是供玩家使用的

③ 如何反編譯一個MOD

第一部分 下載forge源碼+建立MOD開發環境。
(1)下載forge源碼
注意下載src鏈接的版本,不要搞錯。比如,forge-1.7.10-10.13.2.1230-src.zip(以src.zip結尾)

注意到有很多下載地址,每一行是一個版本,選擇適合自己的版本。
右邊Downloads列有幾個鏈接,其含義如下:
(a)Changelog——更改日誌。
(b)Installer——jar格式的安裝包,使用與所有平台(Win/Linux/Mac)
(c)installer-win——專屬於Windows的安裝包。
(d)javadoc——自動生成的java文檔。
(e)src—forge源代碼。
(f)universal——單純的jar庫,非安裝包。
(g)userdev——面向開放者。
(2)下載之後加壓縮到某個文件夾
只留下五個東西:gradle和src文件夾,build.gradle,gradlew和gradlew.bat。
其它的東西沒有用,可以刪除。
打開 Windows命令行,cd定位到剛才的文件。
運行:gradlew.bat setupDecompWorkspace --refresh-dependencies
等待forge反編譯完成。


第二部分,BON進行反混淆。
BON全名bearded-octo-nemesis,是由immibis開放的一個MOD反混淆工具。(immibis可是MOD屆大名鼎鼎的人,比如redlogic,Liquid XP,Advanced Machines等都是非常好用的模組)。
新建一個BON文件夾。
(1)下載userdev版本的forge。還是剛才上面那個地址,只不過這次下載userdev版本。
把下載到的文件放到BON文件夾。
(2)找到forge反編譯之後的文件。
這個文件在C:Users{username}目錄下的
.gradlecachesminecraft etminecraftforgeforge1.7.10-{forgeversion}
比如咱們這個例子就是,1.7.10-10.13.2.1230。把這個文件夾復制一份到BON文件夾。
(3)下載BON
下載到一個BON.jar文件,放到上面的文件夾內。
(4)運行。
雙擊BON.jar之後運行。

Forge userdev.jar:選擇(1)下載的文件。
FG cache folder:選擇(1)復制出來的文件夾。
然後在輸入文件位置選擇你想反混淆的代碼,再選擇要保持的輸出。
操作(operation)注意選擇:反混淆模組。
點擊Go按鈕,等待完成。
反混淆之後的代碼一般以deobf結尾。
比如StevesFactoryManagerA93.jar,反混淆之後就是StevesFactoryManagerA93.deobf.jar。
這時候就可以用jd-gui無障礙的查看代碼了。


第三步 反編譯成源代碼
如果覺得用jd-gui查看不方便的話,可以考慮用fernflower進行反編譯。
fernflower是MCP官方用來發編譯minecraft代碼的神器,雖然沒有jd-gui操作簡便,但是它反編譯代碼的質量非常高。又是官方搭配minecraft使用,是用來反編譯代碼的不二之選。
如何獲得fernflower?
fernflower的官方代碼池,然而需要編譯不方便使用。
這里提供另外兩個方法:
(1)伴隨MCP發布的版本。
去mcp官方網址下載,目前適用於1.7.10的是9.08版。
解壓縮之後,runtime/bin目錄下面,復制出來。
(2)forge提供的版本
去上面提到的.gradle/caches/minecraft目錄下,有一個fernflower-fixed.jar文件。
目前尚不知道,mcp和forge版本的有啥差別。
復制到一個位置之後,打開命令行
java -jar fernflower.jar [要反編譯的包] [保存位置]
反編譯之後的代碼,就可以用記事本直接查看。

④ 在我的世界裡如何自製mod

你好,MOD製作器就是製作mod的專用軟體,教程則是製作mod的具體方法。

MOD具體製作方法如下:

1、建立一個包(Package),Package的命名很隨意,Forge建議的命名規范是"作者名.mod名」,Java建議的命名規范是Package的製作公司的網站的域名的倒寫,例如"com.lofter"實際上無需在這個問題上糾結這個教程里使用了「作者名.mod名」的命名規范,畢竟不是誰都有一級域名的。右鍵項目中的minecraft,選擇New->Package來創建一個Package。

2、此時你的Eclipse應該是這個樣子的:

3、然後需要在public class mod_RPG {的上面加上@Mod(modid="rpg", name="RPG", version="0.0.1")@NetworkMod(clientSideRequired=true, serverSideRequired=false)(@Mod必須標注在類的上方,它的含義是告訴Forge」這是一個Mod主類」.它有3個字元串類型參數,modid是Mod的id號,它將用於內部識別,請確保它不包含特殊字元,並且不會經常變動.name是顯示給玩家看的Mod名,version是版本號,對於聯機Mod來說不要亂填.

Forge在這方面的做法很不強勢,也就是說你不按照設定好的來配置服務端與客戶端,它只會在你連接伺服器時給出一個警告,然後依舊可以正常連進去,只有在...比如客戶端使用mod里的物品時而服務端沒有這個mod(數據不同步)時,才會強制吧你踢出 游戲 。)

我的世界自製模組一般有兩種途徑

1.通過代碼製作模組,這個比較難,不但需要你對java編程語言有一定功底。同時需要你對mc的代碼相當的熟悉。

2.可以通過MCR製作模組。

一、准備工作和需求

好了,廢話這么多該開始了,首先講下需求,要想製作MINECRAFT的MOD,以下四條一定要有:

1.Java Development Kit 6 (JDK6) 大概78MJDK下載地址

2.minecraft編碼包,這里我下載了MCP2.9A版本的編碼包,因為他是對應1.3.01BETA版本的對應編碼包,如果大家有相應的版本請去MCP編碼包匯總下載地址查找自己想要的軟體包

3.EditPlus/Notepad++/Eclipse/Netbeans (文本編輯語法高亮)

4.編程知識,優秀的JAVA編程技術~呵呵,我看到這里就呆了,我知道我應該可以知難而退了

二、如何開始

1.1首先安裝編碼包MCP1.2解壓縮ZIP文件包到你電腦上的目錄比如C:\MCP

1.2解壓縮壓縮包到電腦,比如C:\MCP

1.3復制整個 .minecraft/bin 和 .minecraft/resources目錄到C:\MCP\JAR下.

1.4運行decompile.bat

打開兩個窗口,一個是 C:\MCP\sources\minecraft\net\minecraft\src the other to

另一個是 C:\MCP\

三、MODS的運行

要運行您的MODS的你首先需要編譯,調試和測試。

1.首先編譯運行'recompile.bat'所有的minecraft類文件。

2.轉到C:C:\MCP\logs\minecraft_compile.log 和搜索 ^,如果沒有找到這個字,則沒有編譯錯誤。如果有,你需要修復您的代碼中的錯誤,並嘗試重新編譯。

3.如果沒有錯誤,運行'test_game.bat'。

4.這將彈出一個已經安裝了MOD的minecraft替代版本-用來測試你的mod。

一旦你的MOD編輯完畢,你需要代碼混淆(Obfuscated code是:將電腦程式的代碼,轉換成一種功能上等價,但是難於閱讀和理解的形式的行為。

使之可以放入MINECRAFT.JAR里

四、使用Eclipse

你可以使用Eclipse來寫你的MOD,調試編碼,編譯編碼,運行編碼,當你長時間調試時,它會跟你省下很多時間。

ECLIPSE使用視頻地址稍後發上來……需要搬運

五、模糊編碼(obfuscate暫時翻譯為模糊編碼好了,希望有人給我指點專業解釋)

模糊編碼允許你的MOD可以在MINECRAFT.JAR運行,並可以被任何人使用

1.打開C:\MCP\conf\client_conf.txt

2.刪除文本里所有的東西

3.添加你的class(class是java編譯好的類型文件)到文件里,舉例如下:

BlockExample

Block

CraftingManager

復制代碼

4.運行'reobf.bat'這個文件

5.你生成的class文件將全部放在C:\MCP\final_out\minecraft\目錄下,你可以把這些做好的MOD放到MINECRAFT.JAR裡面就可以玩自己的MOD了

下載MDK開發工具包,配置Gradle工具,配置JAVA環境(一般來說Oracle的JDK7,8就可以,OpenJDK也可以,看你開發環境是什麼操作系統以及個人喜好),了解Java編程基礎、C++ 編程基礎,想要精通別想了,精通的話,工資可以過萬的,沒個幾年經驗想精通不可能。

然後開始寫代碼,開發工具有很多,目前常用的有Eclipse(免費),Intellij(社區版免費,個人版學生免費,非學生個人版我記得好像是有個2000/年的套餐,有很多他家的工具,目測這個最合適)

設計貼圖,UI,插槽等,需要UI功底,配置熱鍵等MOD需要的操作,然後導出Jar包,扔到Forge 的Mod目錄下測試, 按照道理,你的Mod應該要有一些日誌輸出,保證用的人能夠知道目前Mod 的狀態。

最後,一個人能不能肝,我的答案是完全可以的,我記得有一些大型Mod的開發就是一個人。

如果要學習Java的話可以聯系我,我可以給你一些建議。

熟悉cmd和java語言你自然就會開發mod了

修改代碼或者找到 游戲 官網,會有開發者工具幫助你

閱讀全文

與編譯mod相關的資料

熱點內容
硬體加密機性能測試 瀏覽:825
程序員貼面膜的正確方法 瀏覽:74
如何開啟app步數授權 瀏覽:22
linuxmaven路徑 瀏覽:137
python爬qq說說 瀏覽:416
linuxmap文件 瀏覽:67
轉轉app如何搜索快手主播 瀏覽:776
移動硬碟文件夾成0位元組 瀏覽:683
夢幻西遊解壓視頻大全 瀏覽:252
解壓小視頻手速 瀏覽:152
我的世界伺服器卡沒血如何修改 瀏覽:161
vba入門到精通pdf 瀏覽:113
tomcat怎麼一個伺服器部署 瀏覽:797
phphttps介面 瀏覽:895
javabyte數組int 瀏覽:810
公司網路共享的文件夾 瀏覽:1000
拍臉搭配衣服是什麼app 瀏覽:916
歐珀手機怎麼更改加密密碼 瀏覽:508
程序員那麼可愛陸漓氣人語錄 瀏覽:904
python中del刪除 瀏覽:461