Sanal Blok Değişiklikleri
Sanal blok değişiklikleri, dünyadaki herhangi bir fiziksel bloğu değiştirmeden bir bloğun istemcide değiştirilmiş gibi görünmesini sağlamanıza izin verir.
Müşteriye bir sanal blok değişikliği göndermek, :javadoc: Viewer # sendBlockChange (int, int, int, BlockState) yöntemini çağırmak kadar basittir. Değiştirmek istediğiniz bloğun koordinatlarını ve yeni: javadoc: `BlockState`yi belirtmeniz gerekecektir. Aşağıda bir örnek gösterilmiştir:
import org.spongepowered.api.block.BlockTypes;
import org.spongepowered.api.effect.Viewer;
viewer.sendBlockChange(0, 65, 0, BlockTypes.COMMAND_BLOCK.getDefaultState());
Bu, sanki “0, 65, 0” koordinatlarındaki blok bir komut bloğuna dönüşmüş gibi görünür hale gelecektir. Tabii ki, bir blokun varsayılan durumu ile sınırlı değilsiniz. Herhangi bir `` BlockState``, `` sendBlockChange () `` yöntemi tarafından kabul edilir.
Koordinatlar için üç tam sayı belirlemenin yanı sıra bir “Vector3i” de belirtebilirsiniz. :Javadoc: Viewer # sendBlockChange (Vector3i, BlockState) yönteminin kullanımına bir örnek aşağıda gösterilmiştir:
import org.spongepowered.math.vector.Vector3i;
Vector3i vector = new Vector3i(0, 65, 0);
viewer.sendBlockChange(vector, BlockTypes.COMMAND_BLOCK.getDefaultState());
Tüyo
If you wish to send a virtual block to all clients, you can now use BlockChangeFlags#NOTIFY_CLIENTS
Değişiklikleri sıfırlama
İstemciye belirli bir konumda yaptığınız değişiklikleri sıfırlamak için: javadoc: Viewer # resetBlockChange (int, int, int) yöntemini çağırabilirsiniz. Örneğin, önceki örnekteki hasarımızı geri almak için, daha önce gelen koordinatları belirten `` resetBlockChange () `` yöntemini çağırabiliriz:
viewer.resetBlockChange(0, 65, 0);
Ayrıca, bu yöntemle üç tamsayı yerine bir “Vector3i” kullanabileceğinizi unutmayın.