Π₯ΠΎΡΠΎΡΠΎ, Π²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π½Π° BukkitAPI, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ
Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°:
```java
public void placeGrassBlock(Player player, double x, double y, double z) {
Location loc = new Location(player.getWorld(), x, y, z);
loc.getBlock().setType(Material.GRASS_BLOCK);
}
```
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ `placeGrassBlock` ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΈΠ³ΡΠΎΠΊΠ° `player` ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ `x`, `y`, `z`, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² ΠΈΠ³ΡΠ΅.
[/QUOTE]
Π₯ΠΎΡΠΎΡΠΎ, Π²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ
Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°, ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π±Π»ΠΎΠΊ Π½Π΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ³ΡΠΎΠΊΠΈ:
```java
public void placeGrassBlock(Player player, double x, double y, double z) {
Location loc = new Location(player.getWorld(), x, y, z);
Block block = loc.getBlock();
block.setType(Material.GRASS_BLOCK);
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π±Π»ΠΎΠΊ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΠΈΠ³ΡΠΎΠΊΠΎΠ²
for (Player p : Bukkit.getServer().getOnlinePlayers()) {
if (!p.equals(player)) {
p.sendBlockChange(loc, Material.AIR.createBlockData());
}
}
}
```
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ `placeGrassBlock` ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΈΠ³ΡΠΎΠΊΠ° `player` ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ `x`, `y`, `z`, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±Π»ΠΎΠΊΠ° ΡΡΠ°Π²Ρ, Π±Π»ΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΡΡ ΠΎΡ Π²ΡΠ΅Ρ
ΠΈΠ³ΡΠΎΠΊΠΎΠ², ΠΊΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈΠ³ΡΠΎΠΊΠ°ΠΌ, ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ ΡΠ΅Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ°Π²Π½Ρ `player`. ΠΠ°ΡΠ΅ΠΌ, Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠ°ΠΊΠΈΡ
ΠΈΠ³ΡΠΎΠΊΠΎΠ² ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊ Π½Π° ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ, Π½Π° Π²ΠΎΠ·Π΄ΡΡ
(`Material.AIR`). ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ³ΡΠΎΠΊΠΈ Π²ΠΈΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, Π° Π½Π΅ Π½Π°Ρ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² ΠΈΠ³ΡΠ΅.
Π₯ΠΎΡΠΎΡΠΎ, Π²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π½Π° BukkitAPI, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ
Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°:
```java
public void placeGrassBlock(Player player, double x, double y, double z) {
Location loc = new Location(player.getWorld(), x, y, z);
loc.getBlock().setType(Material.GRASS_BLOCK);
}
```
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ `placeGrassBlock` ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΈΠ³ΡΠΎΠΊΠ° `player` ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ `x`, `y`, `z`, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² ΠΈΠ³ΡΠ΅.
Π‘Π΄Π΅Π»Π°ΠΉ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π±Π»ΠΎΠΊ Π½Π΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ³ΡΠΎΠΊΠΈ.[/QUOTE]
Π₯ΠΎΡΠΎΡΠΎ, Π²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ
Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°, ΡΠ°ΠΊ ΡΡΠΎΠ±Ρ Π±Π»ΠΎΠΊ Π½Π΅ Π±ΡΠ» Π²ΠΈΠ΄Π΅Π½ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΠΈΠ³ΡΠΎΠΊΠΎΠ²:
```java
public void placeGrassBlock(Player player, double x, double y, double z) {
Location loc = new Location(player.getWorld(), x, y, z);
Block block = loc.getBlock();
block.setType(Material.GRASS_BLOCK);
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π±Π»ΠΎΠΊ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΠΈΠ³ΡΠΎΠΊΠΎΠ²
for (Player p : Bukkit.getServer().getOnlinePlayers()) {
if (!p.equals(player)) {
p.sendBlockChange(loc, Material.AIR.createBlockData());
}
}
}
```
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ `placeGrassBlock` ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΈΠ³ΡΠΎΠΊΠ° `player` ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ `x`, `y`, `z`, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±Π»ΠΎΠΊΠ° ΡΡΠ°Π²Ρ, Π±Π»ΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΡΡ ΠΎΡ Π²ΡΠ΅Ρ
ΠΈΠ³ΡΠΎΠΊΠΎΠ², ΠΊΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈΠ³ΡΠΎΠΊΠ°ΠΌ, ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ ΡΠ΅Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ°Π²Π½Ρ `player`. ΠΠ°ΡΠ΅ΠΌ, Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠ°ΠΊΠΈΡ
ΠΈΠ³ΡΠΎΠΊΠΎΠ² ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊ Π½Π° ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ, Π½Π° Π²ΠΎΠ·Π΄ΡΡ
(`Material.AIR`). ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ³ΡΠΎΠΊΠΈ Π²ΠΈΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, Π° Π½Π΅ Π½Π°Ρ Π±Π»ΠΎΠΊ ΡΡΠ°Π²Ρ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² ΠΈΠ³ΡΠ΅.