第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有什么辦法可以刪除某個塊放在另一個特定塊的頂部?

有沒有什么辦法可以刪除某個塊放在另一個特定塊的頂部?

一只斗牛犬 2023-02-16 16:19:14
我試圖找到最簡單的方法來刪除例如放置在粘液塊頂部的導(dǎo)軌。我不想掃描特定半徑內(nèi)的所有塊,因為我不想讓插件使用太多內(nèi)存。我希望只有在放置在粘液塊頂部時才刪除導(dǎo)軌。感謝您的任何回答。
查看完整描述

1 回答

?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗 獲得超11個贊

就像 Benjamin Urquhart 所做的那樣,總是將你的問題分成更小的子問題,如果你搜索它們而不是搜索主要問題,這些問題可以更容易地得到解決,因為主要問題很可能是你獨有的,而子問題是不是。


考慮到這一點,我們需要開始監(jiān)聽一個事件。更具體地說是BlockPlaceEvent。將您的班級設(shè)置為偵聽器并注冊它。


在事件中,我們需要檢查放置的方塊是否是鐵軌,下方的方塊是否是粘液,如果是,則取消事件以防止其被放置。請注意,取消事件只會阻止放置鐵軌,而不會刪除。如果你想刪除軌道,你必須將它的類型設(shè)置為 AIR 而不是取消事件。


你最終會得到這樣的結(jié)果:


@EventHandler

public void onBlockPlace(BlockPlaceEvent event) {

    Block block = event.getBlock();

    Block against = event.getBlockAgainst();


    if(block.getType().equals(Material.RAIL) && against.getType().equals(Material.SLIME_BLOCK)) {

        event.setCancelled(true);

    }

}

您必須將此代碼放入已注冊的偵聽器類中才能調(diào)用它。我選擇使用#getBlockAgainst()來檢查我們的粘液塊。請注意,此方法返回我們放置軌道的塊,在我們的例子中,軌道只能放置在塊的頂部,這意味著該方法必須返回下面的塊。但是,請記住該方法不能確保使用鐵路以外的其他方塊。


在其他情況下,您可能必須在 coordinate 處獲取塊block.getY()-1,這將始終返回下面的塊,但需要更高的性能。我選擇是event.getBlockAgainst()因為您考慮到了性能。


查看完整回答
反對 回復(fù) 2023-02-16
  • 1 回答
  • 0 關(guān)注
  • 84 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號