9
0
mirror of https://gitlab.com/SamB440/rpgregions-2.git synced 2026-01-06 15:41:35 +00:00

Cache barrier particle info for entry prevention

This commit is contained in:
SamB440
2023-04-24 16:00:07 +01:00
parent 9876076ef7
commit 2c52aea10f

View File

@@ -4,6 +4,7 @@ import io.papermc.lib.PaperLib;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Particle;
import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
@@ -16,6 +17,9 @@ public enum PreventType {
private static final String[] SPLIT_VERSION = Bukkit.getBukkitVersion().split("-")[0].split("\\.");
private static final int VERSION_INT = Integer.parseInt(SPLIT_VERSION[1]);
private static final Particle BARRIER_PARTICLE = VERSION_INT <= 17 ? Particle.valueOf("BARRIER") : Particle.BLOCK_MARKER;
private static final BlockData BARRIER_DATA = Material.BARRIER.createBlockData();
public void prevent(PlayerMoveEvent event) {
if (event.getTo() == null) return;
Player player = event.getPlayer();
@@ -26,10 +30,6 @@ public enum PreventType {
case CANCEL -> event.setCancelled(true);
}
if (VERSION_INT <= 17) {
player.spawnParticle(Particle.valueOf("BARRIER"), event.getTo().getBlock().getLocation().add(0.5, 0.5, 0.5), 1);
} else {
player.spawnParticle(Particle.BLOCK_MARKER, event.getTo().getBlock().getLocation().add(0.5, 0.5, 0.5), 1, Material.BARRIER.createBlockData());
}
player.spawnParticle(BARRIER_PARTICLE, event.getTo().getBlock().getLocation().add(0.5, 0.5, 0.5), 1, BARRIER_DATA);
}
}