导航:首页 > 程序命令 > 程序员编我的世界代码

程序员编我的世界代码

发布时间: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);}

阅读全文

与程序员编我的世界代码相关的资料

热点内容
我们不做程序员还能干什么 浏览:988
怎么购买离岸服务器 浏览:282
加密市场监管信息汇总 浏览:677
程序的加密文件是哪个 浏览:400
app首屏图一张图怎么做 浏览:499
如何重启数据库服务器 浏览:660
联通程序员发展怎么样 浏览:709
山东省联想服务器供货商云空间 浏览:147
鸿天神尊小说哪个app可以看 浏览:396
做程序员的没朋友吗 浏览:360
阿里云服务器传奇微端 浏览:924
phplinux时间 浏览:452
云服务器20性能 浏览:986
android强制系统横屏 浏览:283
怎么提前看未播出的电视剧app 浏览:666
cad转pdf图层 浏览:602
程序员接私活初级 浏览:436
全无油润滑压缩机 浏览:188
代码加密常用方法 浏览:956
安卓手机如何解除已禁用 浏览:398