-
1 # Ctntyzx729
-
2 # 趙小私頻道
可以這麼說,任何程式都有BUG,完全沒有bug的程式是不存在的,更高階的程式設計師總是可以找出bug,《我的世界》說到底也是一款程式,所以bug的一定有的。
然而我要說的就是Minecraft最出名的bug。
目前官方版本的mc已經出到了1.13,那麼現在還在玩1.7.10版本的玩家是怎麼做到的呢?經常玩國際版mc的朋友可能會說,是用forge。那麼forge是什麼呢?其實就是利用了軟體的“漏洞”開啟一個缺口,從這個小門裡讓遊戲軟體降級。
但這個也算不上bug,因為官方是知道的,也是默許的。為什麼呢?因為mods,也就是模組。
最早還是一些技術宅把mojang的原始碼扒開,往裡面塞了點東西,發現還能玩,也就是模組的雛形。能讓mc走到今天的也就是模組、紅石、建築黨 這三個了,而最開始的模組也只是在原始碼上動了動手腳而已。
如果形象點打個比方,原版mc就是一間房子的大客廳,而臥室卻是不同的裝修風格,不同的體驗,也就是模組。而forge就是中間的門,像橋樑一樣連線起mc主體和模組或者低版本。
-
3 # YOTO油桃小朋友
【MCBE】伺服器命令方塊系統bug合集
最近看了許多用於MCBE原版伺服器使用的命令方塊系統,看得最多的就是“選單”、“傳送”、“商店”、“防熊”。
其中有許多系統存在者bug,雖說一些bug只會給遊戲體驗帶來小小的瑕疵,但有的bug甚至能夠刷物品,下面我會列舉一些常犯的錯誤,供各位腐竹、op參考。
1.目標選擇器不加範圍
比如說一個擺在伺服器生存區入口的命令方塊,上面是一個壓力板,裡面有這樣的指令
/tp @p 0 64 0 (主城的座標)
看上去毫無問題,然而玩家a某天在附近挖礦,忽然就被傳送到主城(a:???)
原來有一隻動物路過踩到了壓力板......
/tp @p[r=5] 0 64 0
改成如上就不會出現問題了,因為這樣一來便限定了目標的範圍,確保離這個命令方塊很遠的玩家不會被莫名其妙傳送。
2.所有玩家共同計算延遲
說通俗點就是“用中繼器延遲”,下面舉個“玩家間傳送系統”的例子。
功能: 玩家a低頭,玩家b抬頭,三秒後將a傳送到b的位置。
實現起來非常簡單,用teatfor指令探測低頭玩家和抬頭玩家,連線與門,輸出端接一串中繼器,最後是一個命令方塊,將所有低頭玩家傳送至抬頭玩家。
玩家間傳送系統(有bug)找兩個人測試一下,正常執行,看樣子應該沒有bug了吧?
錯了,當延時2.9秒後,玩家c忽然低頭,或許他只是想挖腳下的礦,但卻被瞬間傳送到玩家b的位置。
問題出在哪裡?中繼器只有一串,因此這個延遲並不代表a傳送的延遲,而是代表整個系統的延遲,相當於a和c“共享”了一個計時器。
解決方法是建立兩個用來傳送延遲的計分板dt和tt,為每個玩家單獨計算延遲。
①為所有低頭玩家增加dt的分數,抬頭玩家同理
②把所有沒有低頭的玩家dt的分數設為,抬頭玩家同理
④用tp讓 所有 在tt分數大於60的玩家 旁邊的玩家 停止低頭
3.目標數量不確定
例子還是用剛剛的“玩家間傳送系統”,如果抬頭的玩家不止一個該怎麼辦?這時就需要想辦法彌補,比如說傳送的時候用@r選取隨機一個抬頭玩家。或者改用新的思路解決問題
4.用比較器做條件判斷
為什麼這個算bug?因為太慢了,會出事。
命令方塊響應到比較器輸出要2gametick,比較器輸出到啟用下一個命令方塊又要2gametick
這樣一來,我就可以趁判斷的時候幹壞事,比如檢測箱子裡有物品a就給玩家經驗,並清除箱子中物品,我可以在放進去的一瞬間再把它拿出來,這樣我就可以什麼也不付出而獲得經驗。
兩種判斷條件方法解決方法就是把第二個方塊換成連鎖命令方塊緊跟在後面,設定為條件允許,總是開啟。這樣就是0延遲的瞬間處理。
有時候非要趕著輸出紅石訊號也要用上面的方式setblock紅石塊。
5.用@e[name=x]指定掉落物
為什麼不能這麼用?因為name是物品的名字,而不是種類。
我把泥土重新命名成“鑽石”可以輕而易舉欺騙命令方塊,它分辨不出是挖鑽石礦掉出來的鑽石,還是名叫“鑽石”的泥土。
更有甚者,連type=item都不加,那就可以用命名牌重新命名生物或盔甲架,在一些用到kill的地方會出現很嚴重的事故。
解決方法是勸退。
解決方法是尋找替代的方案或等mojang更新。
6.靠clear檢測揹包內物品數量
這類bug在“物品商店”裡最常見
clear @p iron 0 64
當這條命令執行成功時,並不代表玩家有64個鐵,而是代表玩家有1個以上的鐵。
這個bug不修復後果很嚴重,64鐵換1鑽石變成1鐵換1鑽石......
解決方法是改成兩條,先clear 63個,再clear 1個,這樣不足64鐵時第二條命令就會執行失敗。但這樣又帶來了新的bug,鐵不夠會直接消失,白白浪費。
新的解決辦法是放牌子警告玩家,或者改用testforblocks檢測容器的方法做商店
感謝各位的耐心觀看,求按下!
回覆列表
牛頓已哭暈在廁所裡。
——題記
我的世界當然有Bug!不過大部分不能稱之為Bug,應該稱之為“特性”。例如……
1.方塊浮空相信很多玩家都知道這點,這個Bug(特性)應該是Notch特意不修改的:除了沙子、各色砂礫、實體和鐵砧等都是可以懸浮的!
3.水下呼吸(部分方法不能在基岩版海洋更新使用!)
1.在水下用空桶右擊就會取水,這樣可以把你面前的水挖掉,就在這0.5秒你就可以呼吸到空氣了,氧氣值也滿了(由於海洋版設定了回氣延遲,所以此方法不建議在海洋版本使用)
2.使用附魔臺(或用鐵砧和附魔書)把頭盔附魔上水下呼吸,即可延長呼吸時間。
3.藥水:
這裡有一些附加效果(延長時間)就不說了。
題外話:雖然河豚會讓玩家中毒,但是使用河豚馴服豹貓並不會讓豹貓中毒。
跑題了,趕緊迴歸正題!
4.關於方塊的疊加首先,一個方塊可以疊加64個?這就很不正常了,但想知道更不正常的事嗎?
百度上說,一立方金(金塊)3.2t重,則金錠為3.2/9=0.3555t=3555555g,史蒂夫物品欄一共有36格,外加4格合成,1格左手,共41格,潛影盒有27格,箱子有27格,設一個蘋果200g,附魔金蘋果則為200+3555555*8+3555555*8=56889080g≈57t,把附魔金蘋果裝滿箱子後重量為57t*27=1539t,把箱子裝滿潛影盒後為1539*27=41553t,裝滿物品欄後為41553*41=1703673t!設一輛車為1.1t,則史蒂夫揹著約1548794輛車!驚不驚訝?
5.略結尾不知道寫啥……