導航:首頁 > 程序命令 > 程序員編我的世界代碼

程序員編我的世界代碼

發布時間:2022-07-03 13:22:54

㈠ 從編程的角度來看,Minecraft 是怎麼樣設計的

1.整體架構
對於modder來說,寫Mc mod的的時候,我總是想著java怎麼就不提供個直接能覆蓋掉MC原類的關鍵字呢?Mc源代碼在部分層面的邏輯非常混亂,後面慢慢吐,不急。Mc的混亂不在於不同程序員間的代碼風格迥異(當然也是因素之一),更在於Mc與他的「歷史遺留問題」。打個比方說,一個孩子在搭積木,他開始用了方形的結構磕磕絆絆的搭了好幾層,後來,他發現三角形結構更加穩定。然而他那時偷了點懶,在方形的基礎上構造一層層穩固的三角形。積木越搭越高,卻也越來搖搖欲墜。當孩子望著這些積木打算著手修改時,卻發現問題早就樹大根深了。Mc就是這樣,Notch早期很明顯的以小項目為基礎考慮而構建的代碼、邏輯結構很大程度上或多或少禍害了如今的Mc。不是說Notch開始不對,是說Mc在還來得及的時候沒有痛下決心重寫項目。後來的程序中,當然不乏漂亮的邏輯,但是這都有一個蹩腳的點為根基。從根本上講,Mc「根本」不行。由於當初小項目開發的前瞻性不足,如今留給mod開發者抑或是Mojang的開發空間十分狹隘。得虧有了ASM得以使開發者在源碼上鑿開空間。
2.Truck
你你你……我我我……唉:-(!
Mc效率差的原因之一。這樣吧,這部分我先靜一靜,有機會說說哈。
3.繪制
有答案已經提了,直接給數據什麼的……不提效率,反問Mojang團隊自己看不看得懂自己在寫什麼!
4.邏輯
為什麼一個方塊有4種得到掉落物的方法,還附贈一個掉落物品的方法?為什麼縱使每種物品方塊幾乎都有class,指定他們的硬度等參數還要在init里?這么說吧,我植物這方面做的比較多,如果你的植物不屬於換了材質的小麥,基本就是要繼承Block再造輪子了。沒辦法,原版植物誰用誰知道。
5.GUI
又要造一波輪子。個人想法:mc的GUI本身的滑鼠部分寫的太次了!完全沒有繼承價值,屬於重載了super都不帶一句那種。自帶的GuiButton就是個擺設。
6.硬編碼
Mojang喜歡硬編碼跟見了親人一樣。比如物品Id、方塊Id、子物品、RenderType……分配一個,用registry很難嗎?
/==================
專門來一篇Minecraft的介紹。先聲明,這里只是普通的Moder。
1.Minecraft的地圖生成演算法
Minecraft的地形演算法是基於Perlin Noise的2-pass過程。關於Perlin Noise的,可以看看git上我寫的版本(鏈接:https://github.com/kaaass/JavaPerlin 直到目前尚未完成)。第一次:基本生成,確定biome,建立基礎地形。第二次:特性生成,從layout開始(河流等等),然後是洞穴、樹、村莊什麼的。由於存在先後多次生成,就會偶爾遇到村莊位於峽谷上等等奇葩景觀。
2.Minecraft的Block
方塊具有很多特性,這里只講一點。先是metadata,諸如植物(單指Corp)不同的生長狀態都是不同的metadata決定的。TileEntity,entity是實體,諸如玩家、怪物都屬於entity。metadata的存儲數據量對部分方塊,比如箱子。所以引入了TileEntity的形式。暫時就說辣么多。
3.物品
物品具有和block相似的機制。存儲狀態使用damage值決定。沒錯很多時候物品就是用名字上叫「耐久」的值存儲狀態的。然後是subitem的機制,就是子物品。比如染料(dye),染料很多,然而其實物品id是一樣的。

㈡ 求JAVA程序員修改一段Minecraft插件的代碼

已刪除

命令]commandeny-release.jar" wealth="0" />

㈢ 我的世界這款游戲為什麼要用java的語言編寫

用java的語言編寫,其優點是消耗電腦資源相對較少,適用於資源稀缺的設備,像是空調,洗衣機什麼的。但缺點卻是開發成本太高。

當初《我的世界》作者花了一周就做出了游戲最初版本,用c語言恐怕得一年甚至永遠不可能做出來,這樣的話我們就會永遠的和這個游戲錯過了。而且做出來界面很醜,我沒學過c語言的圖形界面部分內容,只是不明覺厲,覺得c語言和黑窗口才是絕配。

天氣系統

《Minecraft》的世界中不僅為玩家提供了晝夜,也會有一些天氣變化,最常見的就是雨和雷暴。

在我的世界中除了可以用代碼使天氣發生各種變化之外,還有另外一種指令是調整時間的。因為即便當前的天氣是你想要的但是光亮度不夠,對某些建築或者操作來說也是特別不方便,所以這時我們就需要改變時間來調整世界的亮度。

當天黑的時候需要試驗一些只有高亮度下才能做的試驗時,就可以輸入/time set 1000來直接進入白天,這只是調整世界的時間點,並不是使世界的時間流逝瞬間穿越,所以這種方法不可以使得植物快速生長。

㈣ 求二十個有用的我的世界種子代碼(配上輸入後會產生的情況)

村莊:
asd

707751277

三個村莊 三個沙漠神殿 2個叢林神廟 2個地牢 大型廢棄礦洞 :1058978104520713210

叢林神廟:
-6512117631397814807
4812143340034124329

蘑菇島
i
dont care
沼澤
zhangbo
沙漠
-3783495550425123442Chuck

NorrisBombasticdeadmau5
45987280
山地
-9028489474908844496
-1784338777788894343AMERICA
冰雪世界
N64OpiumLOTS
OF
LAVA
平原
-6233942100435987048
海島
CHICKENS!!!!!!!!
其他推薦:
Glacier
54254960426753438113dm
-9134205115985855594
1185574164307751512
-139245063185577081

㈤ GG修改器修改我的世界代碼

你玩的什麼版本,修改代碼,你是程序員?你的意思是修改游戲一些數據吧,有個叫做地圖編輯器的東西,可以調節生存創造物品還有時間等等

㈥ 我的世界清除聊天記錄的指令

輸入/gamerule commandblockoutput false不顯示命令方塊的輸出內容和/gamerule seedcommandfeedback false不顯示命令的輸出內容。

在允許作弊情況下,在游戲中按T調出輸入框。打斜杠gamemode 0 是生存模式, 打斜杠gamemode 1 是創造模式。

我的世界游戲

首先登陸游戲,在單人游戲中創造新的世界,在命名新世界後,點擊更高級選項設置。接下來就出現了高級設置的選項,其中的將作弊選項選為開。然後點擊下方的創造新的世界。

選擇後,就進入了新的世界,接下來打開e鍵會發現現在是生存模式。生存模式改為創造模式,我們把輸入法調為英文輸入法,點擊T鍵,輸入/gamemode 1按下空格鍵就切換成創造模式。再需要由創造模式切換為生存模式,則按T鍵,輸入gamemode 0按空格則又換成了生存模式。

㈦ 我的世界1.7.10死亡不掉落指令

死亡不掉落指令是:gamerule keepInventory true,使用方法如下:

需要工具:電腦、我的世界

一、死亡不掉落指令是:gamerule keepInventory true,注意我們輸入的時候先按鍵盤上的斜杠/,然後在輸入gamerule keepInventory true

㈧ 我的世界手機版10000掠奪如何用指令獲取

如玩家想要1000鋒利的鑽石劍,那麼可以輸入:/give (你的ID) minecraft:diamond_sword 1 0 {ench:[{id:16,lvl:10000}]}。

如玩家想要鋒利10000以及火焰10000,那麼可以輸入 :/give (你的ID) minecraft:diamond_sword 1 0 {ench:[{id:16,lvl:10000},{id:20,lvl:10000}]}。

玩家要注意,括弧中id指的是玩家想要獲得的物品id並不是其它方面,所以來說玩家一定要掌握附魔id,不然的沒有任何的作用。

我的世界手機造別墅指令介紹:

我的世界按T打開指令輸入框。

在輸入框中輸入/give @a command_block來獲得命令方塊。

在命令方塊中輸入造房子指令,就可以直接生成房子。

這讓很多建房子的玩家省事了不少,資深玩家還可以更改這些指令。

㈨ 程序員可以一邊玩我的世界中編程嗎

可以,但是你需要先學習命令方塊編程。
指令大全:https://www.sogou.com/sgo?query=%E6%88%91%E7%9A%84%E4%B8%96%E7%95%8C%E5%91%BD%E4%BB%A4%E6%96%B9%E5%9D%97%E6%8C%87%E4%BB%A4&hdq=sogou-wsse-16bda725ae44af3b-0099&lxod=2_128_0_-1_0&lxea=2-2-A-8.4.0.1062-3-CN-50-0-1--151&lxoq=&lkx=0&ie=utf8

㈩ 程序員的表白代碼

程序員的表白代碼

第一條語言:Java代碼翻譯:直到死之前,每天愛你多一點代碼:while(lifeend){love++;}

第二條語言:C語言代碼翻譯:.代碼:#incldestdio.hintmain(){printf(HelloWorldn);retrn0;}//.

第三條語言:python代碼翻譯:山無陵,江水為竭,冬雷震震,夏雨雪,天地合,乃敢與君絕!代碼:if(mountain.arris==None):if(river.water==None):if(winter.thunder==True):if(summer.snow==True):if(sky.height==ground.height):i.withyou=Falseelse:i.withyou=True.

第四條語言:Erlang代碼代碼翻譯:深圳相遇,至死不渝代碼:-mole(you_and_me).-export([start/1]).-record(person,{name,address,status}).start(Name)-one_world(Name).one_world(Name)keep_to_love_you(Person).say_goodbye(Person)-io:format(~p:seeyounextworld!~n,[Person#person.name]).see_you_next_world(Name)-one_world(Name).

第五條語言:Java語言代碼翻譯:愛你到天荒地老代碼:while(!world.destroy){System.out.println(iloveyou);}

閱讀全文

與程序員編我的世界代碼相關的資料

熱點內容
蘋果庫樂隊怎麼連接伺服器 瀏覽:552
程序員埋bug的心理 瀏覽:257
好多個g的文件夾怎麼轉發 瀏覽:321
javadesaes加密 瀏覽:126
基於單片機的wifi設計 瀏覽:885
國什麼app 瀏覽:366
rtk文件夾沒了怎麼辦 瀏覽:187
飢荒安卓閃退怎麼辦 瀏覽:635
python二次開發cad 瀏覽:304
程序員直播機器人舞團 瀏覽:769
devc指針編譯問題 瀏覽:1002
支持dsd硬解壓音效卡 瀏覽:771
怎麼查看u盤加密區 瀏覽:184
台電加密是什麼格式 瀏覽:158
php論壇版塊在哪個文件夾 瀏覽:442
暗黑的伺服器為什麼維護 瀏覽:624
android內存溢出的原因 瀏覽:18
標志307的壓縮比是多少 瀏覽:637
伺服器啟動為什麼叫三聲 瀏覽:997
追風箏的人英文pdf 瀏覽:940