Fixed signs using SpigotAdapter instead of BukkitAdapter

This commit is contained in:
Intelli 2023-07-13 19:41:51 -06:00
parent f32a3e7c5e
commit bdde2d36be
9 changed files with 75 additions and 91 deletions

View file

@ -17,6 +17,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.ItemFrame;
import org.bukkit.entity.LivingEntity;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.MerchantRecipe;
@ -229,4 +230,30 @@ public class BukkitAdapter implements BukkitInterface {
return null;
}
@Override
public String getLine(Sign sign, int line) {
if (line < 4) {
return sign.getLine(line);
}
else {
return "";
}
}
@Override
public void setLine(Sign sign, int line, String string) {
if (string == null) {
string = "";
}
if (line < 4) {
sign.setLine(line, string);
}
}
@Override
public boolean isSignFront(SignChangeEvent event) {
return true;
}
}

View file

@ -12,6 +12,7 @@ import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.MerchantRecipe;
@ -75,4 +76,10 @@ public interface BukkitInterface {
public ItemStack getChiseledBookshelfBook(BlockState blockState, PlayerInteractEvent event);
public String getLine(Sign sign, int line);
public void setLine(Sign sign, int line, String string);
public boolean isSignFront(SignChangeEvent event);
}

View file

@ -11,6 +11,7 @@ import org.bukkit.block.BlockState;
import org.bukkit.block.ChiseledBookshelf;
import org.bukkit.block.Sign;
import org.bukkit.block.sign.Side;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
@ -151,4 +152,33 @@ public class Bukkit_v1_20 extends Bukkit_v1_19 implements BukkitInterface {
}
}
@Override
public String getLine(Sign sign, int line) {
if (line < 4) {
return sign.getSide(Side.FRONT).getLine(line);
}
else {
return sign.getSide(Side.BACK).getLine(line - 4);
}
}
@Override
public void setLine(Sign sign, int line, String string) {
if (string == null) {
string = "";
}
if (line < 4) {
sign.getSide(Side.FRONT).setLine(line, string);
}
else {
sign.getSide(Side.BACK).setLine(line - 4, string);
}
}
@Override
public boolean isSignFront(SignChangeEvent event) {
return event.getSide().equals(Side.FRONT);
}
}