Skip to content

Olaylar ​

Bir mod, olaylara abone olarak oyuna tepki verir:

lua
bh.events.on("chat", function(ev)
	if string.find(ev.text, "badword") then
		ev.cancelled = true            -- mesaj hiç gösterilmez
	end
end, { priority = "lowest" })

bh.events.on bir id döndürür; bh.events.off(id) işleyiciyi kaldırır.

Olay türleri ​

TürNe zamanNeyi değiştirebilir
player-join, player-quitbir oyuncu katıldı / ayrıldı–
chatbir sohbet mesajı, gösterilmeden önceiptal, ev.text
commandbir /komut satırı, herhangi bir işleyiciden önceiptal (yutar)
tickher dünya adımı (0,2 sn)–
world-loaded, world-savedünya yüklendi / kaydediliyor (pre, post)–
player-pre-loginbir oyuncu katılma kontrollerini geçtiiptal (reddet), ev.reason
block-place, block-breakbir oyuncu blok koyar / kaldırıriptal
object-placebir oyuncu tezgah, sandık, kapı vb. koyariptal
block-changedherhangi bir kare değişti; büyüme veya fizik de dahil– (yalnızca izle)
damagebir blockhead zarar görmek üzereiptal, ev.amount
deathbir blockhead öldü–
player-movebir blockhead başka bir kareye girdi–

player-pre-login'den aşağıdaki türler API 0.2 gerektirir (API sürümleri). Tüm alanlar: events başvurusu.

İptal edilen bir blok değişikliği, korumalı bir karedeki gibi oyuncunun ekranında geri alınır.

Öncelik ​

İşleyiciler lowest'ten highest'e, sonra monitor olarak çalışır:

lowest → low → normal (varsayılan) → high → highest → monitor

  • Sonraki işleyiciler seni ezebilecekse erken çalış (lowest, low); örneğin yumuşak bir filtre.
  • Son sözü söylemek için geç çalış (high, highest); örneğin bir koruma modu.
  • monitor nihai sonucu görür ve değiştiremez. Günlükler ve istatistikler için kullan.

Aynı öncelik içinde modlar yüklenme sırasıyla çalışır (önce bağımlılıklar).

İptal etmek ​

  • İptal etmek için ev.cancelled = true yap. Sonraki bir işleyici bunu tekrar false yapabilir.
  • { ignore_cancelled = true }, olay iptal edilmişken işleyicini atlar.
  • İptal edilemeyen olaylardaki değişiklikler yok sayılır ve günlüğe uyarı yazılır.

İşleyiciler sunucunun ana iş parçacığında tek tek çalışır ve hızlı olmalıdır (sınırlar).

Resmî olmayan topluluk projesi. Majic Jungle Software veya Noodlecake ile bağlantısı yoktur. Oyun dosyası içermez.