mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-22 15:53:49 -07:00
SPIGOT-2620: Add Player#sendBlockChanges()
By: Parker Hawke <hawkeboyz2@hotmail.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package org.bukkit.entity;
|
package org.bukkit.entity;
|
||||||
|
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
import java.util.Collection;
|
||||||
import org.bukkit.DyeColor;
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.Effect;
|
import org.bukkit.Effect;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
@@ -18,6 +19,7 @@ import org.bukkit.WorldBorder;
|
|||||||
import org.bukkit.advancement.Advancement;
|
import org.bukkit.advancement.Advancement;
|
||||||
import org.bukkit.advancement.AdvancementProgress;
|
import org.bukkit.advancement.AdvancementProgress;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.block.BlockState;
|
||||||
import org.bukkit.block.Sign;
|
import org.bukkit.block.Sign;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
import org.bukkit.conversations.Conversable;
|
import org.bukkit.conversations.Conversable;
|
||||||
@@ -491,6 +493,28 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|||||||
*/
|
*/
|
||||||
public void sendBlockChange(@NotNull Location loc, @NotNull BlockData block);
|
public void sendBlockChange(@NotNull Location loc, @NotNull BlockData block);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send a multi-block change. This fakes a block change packet for a user
|
||||||
|
* at multiple locations. This will not actually change the world in any
|
||||||
|
* way.
|
||||||
|
* <p>
|
||||||
|
* This method may send multiple packets to the client depending on the
|
||||||
|
* blocks in the collection. A packet must be sent for each chunk section
|
||||||
|
* modified, meaning one packet for each 16x16x16 block area. Even if only
|
||||||
|
* one block is changed in two different chunk sections, two packets will
|
||||||
|
* be sent.
|
||||||
|
* <p>
|
||||||
|
* Additionally, this method cannot guarantee the functionality of changes
|
||||||
|
* being sent to the player in chunks not loaded by the client. It is the
|
||||||
|
* responsibility of the caller to ensure that the client is within range
|
||||||
|
* of the changed blocks or to handle any side effects caused as a result.
|
||||||
|
*
|
||||||
|
* @param blocks the block states to send to the player
|
||||||
|
* @param suppressLightUpdates whether or not light updates should be
|
||||||
|
* suppressed when updating the blocks on the client
|
||||||
|
*/
|
||||||
|
public void sendBlockChanges(@NotNull Collection<BlockState> blocks, boolean suppressLightUpdates);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send block damage. This fakes block break progress for a user at a
|
* Send block damage. This fakes block break progress for a user at a
|
||||||
* certain location. This will not actually change the block's break
|
* certain location. This will not actually change the block's break
|
||||||
|
Reference in New Issue
Block a user