切換
舊版
前往
大廳
主題

【雪色】【指令】生物計時器,讓實體不再用連閃指令計時

雪色 | 2017-09-25 12:36:18 | 巴幣 4 | 人氣 654


前言:
在Minecraft中,最難深入應用的特性大概是「dataTag 資料標籤」,
我自己覺得要能「活用標籤」是一個比入門記分板指令還要困難的事情,
「活用標籤」大概就是利用生物的標籤特性去延伸進行額外的系統,
像是做出計時器、右鍵村民對話、防作弊模組系統...等
應用範圍並沒有特別廣,因為實際上會時常有標籤數據變更的標籤只有幾個,
但也可以做出幾個很方便、實用的功能



正文:
你有沒有注意到一些標籤是會跟著世界時間變更的?
像是Age (生物年紀值)、Duration (藥水計時)、Time (落沙消失剩餘時間)...等
而我們在這裡使用的是HurtTime (被擊中的倒數時間)

那麼為什麼我要用HurtTime呢?
如果你仔細觀察每個實體的標籤的話,
你會發現幾乎每個實體都有HurtTime標籤,
這也包含了用於作為機關最常應用的「盔甲架」
首先你要先知道如果實體被攻擊/擊中的話,HurtTime數值會更新成10 (HurtTime:10s),
並且以每tick倒數至0後停止,故我們可以偵測{HurtTime:0s}時就引發事件的功能


而同樣的我們可以用entitydata指令讓HurtTime的數值變成一個自定義數並開始倒數
利用這種特性我們就可以做出個別實體的獨立計時應用
(●註:HurtTime標籤的最大值是32767)
》優點:可以不用持續連閃加分或減分來進行計時
(1.13將data標籤偵測功能加入[(位置資料)],
我個人推測將不再會持續連閃來抓取標籤的符合對象,比1.12偵測還要優化)
》缺點:不能像記分板有非自定義時間的功能,而且生物被攻擊後數值會重置為10

創作回應

大同寶寶
HurtTime真的是個好用的標籤,就算扣除計時能力,回歸本質也算實用

我目前在弄的自定義NPC中就有用到,當玩家試圖攻擊NPC時會受到反擊
2017-09-25 16:09:50
雪色
我是想說可以省掉持續在生物上執行加分指令來的優化,原本以為只有age標籤可以用,突然看到盔甲架裡有個HurtTime時眼睛就發亮了
2017-09-25 21:43:21
雪色
HurtTime可以對實體左鍵偵測算是真的蠻方便的
2017-09-25 21:44:29
雪色
我是看在1.13把tag併到[位置資料]裡的優化(好處)所以把這個技巧發佈的,不然原本不會想發(因為偵測標籤疑似比持續加分來的盪?(我並不確定
2017-09-25 21:46:32
追蹤 創作集

作者相關創作

更多創作