Virtual Blok Perubahan
Virtual blok perubahan memungkinkan anda untuk membuatnya tampak seolah-olah blok telah berubah pada klien tanpa benar-benar mengubah setiap blok fisik di dunia.
Mengirimkan perubahan blok virtual ke klien itu semudah memanggil metode Viewer#sendBlockChange(int, int, int, BlockState). Anda perlu menetapkan koordinat blok yang ingin anda ubah, juga yang baru BlockState. Contoh ditunjukkan di bawah ini:
import org.spongepowered.api.block.BlockTypes;
import org.spongepowered.api.effect.Viewer;
viewer.sendBlockChange(0, 65, 0, BlockTypes.COMMAND_BLOCK.getDefaultState());
Ini akan membuatnya terlihat sebagaimana jika blok pada koordinat 0, 65, 0
telah berubah menjadi sebuah perintah blok. Tentunya, anda tidak akan dibatasi pada keadaan default blok, suatu BlockState
diterima oleh metode sendBlockChange()
.
Selain melakukan spesifikasi tiga bilangan bulat untuk koordinat, kamu juga bisa melakukan spesifikasi sebuah Vector3i
. sebuah contoh dari penggunaan :javadoc:`Viewer#sendBlockChange(Vector3i, BlockState)`metode ditunjukkan dibawah:
import com.flowpowered.math.vector.Vector3i;
Vector3i vector = new Vector3i(0, 65, 0);
viewer.sendBlockChange(vector, BlockTypes.COMMAND_BLOCK.getDefaultState());
Ulang Perubahan
Untuk mengubah suatu perubahan yang tekah kamu buat kepada klien pada lokasi tertentu. kamu bisa memanggil metode Viewer#resetBlockChange(int, int, int). sebagai contoh, untuk mengembalikan kerusakan dari contoh sebelumnya, kita bisa memanggil metode resetBlockChange()
metode untuk melakukan spesifikasi koordinat dari sebelumnya:
viewer.resetBlockChange(0, 65, 0);
Catatan bahwa anda juga dapat menggunakan Vector3i
di tempat tiga bilangan bulat dengan metode ini juga.