diff --git a/src/main/java/net/coreprotect/bukkit/BukkitAdapter.java b/src/main/java/net/coreprotect/bukkit/BukkitAdapter.java index 7525186..e455256 100644 --- a/src/main/java/net/coreprotect/bukkit/BukkitAdapter.java +++ b/src/main/java/net/coreprotect/bukkit/BukkitAdapter.java @@ -13,7 +13,6 @@ import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.ItemFrame; import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.MerchantRecipe; import org.bukkit.inventory.meta.ItemMeta; @@ -36,10 +35,8 @@ public class BukkitAdapter implements BukkitInterface { switch (ConfigHandler.SERVER_VERSION) { case BUKKIT_V1_13: case BUKKIT_V1_14: - BukkitAdapter.ADAPTER = new BukkitAdapter(); - break; case BUKKIT_V1_15: - BukkitAdapter.ADAPTER = new Bukkit_v1_15(); + BukkitAdapter.ADAPTER = new BukkitAdapter(); break; case BUKKIT_V1_16: BukkitAdapter.ADAPTER = new Bukkit_v1_16(); @@ -100,11 +97,6 @@ public class BukkitAdapter implements BukkitInterface { return false; } - @Override - public void sendSignChange(Player player, Sign sign) { - return; - } - @Override public int getMinHeight(World world) { return 0; diff --git a/src/main/java/net/coreprotect/bukkit/BukkitInterface.java b/src/main/java/net/coreprotect/bukkit/BukkitInterface.java index d86a9ae..818029a 100644 --- a/src/main/java/net/coreprotect/bukkit/BukkitInterface.java +++ b/src/main/java/net/coreprotect/bukkit/BukkitInterface.java @@ -11,7 +11,6 @@ import org.bukkit.block.data.BlockData; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.MerchantRecipe; import org.bukkit.inventory.meta.ItemMeta; @@ -52,8 +51,6 @@ public interface BukkitInterface { public int getLegacyBlockId(Material material); - public void sendSignChange(Player player, Sign sign); - public void setGlowing(Sign sign, boolean b); } diff --git a/src/main/java/net/coreprotect/bukkit/Bukkit_v1_15.java b/src/main/java/net/coreprotect/bukkit/Bukkit_v1_15.java deleted file mode 100644 index c58f6ed..0000000 --- a/src/main/java/net/coreprotect/bukkit/Bukkit_v1_15.java +++ /dev/null @@ -1,105 +0,0 @@ -package net.coreprotect.bukkit; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.bukkit.Material; -import org.bukkit.block.Sign; -import org.bukkit.entity.Bee; -import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.inventory.meta.SuspiciousStewMeta; -import org.bukkit.potion.PotionEffect; - -public class Bukkit_v1_15 extends BukkitAdapter implements BukkitInterface { - - @Override - public boolean getEntityMeta(LivingEntity entity, List info) { - if (entity instanceof Bee) { - Bee bee = (Bee) entity; - info.add(bee.getAnger()); - info.add(bee.hasNectar()); - info.add(bee.hasStung()); - } - else { - return false; - } - - return true; - } - - @Override - public boolean setEntityMeta(Entity entity, Object value, int count) { - if (entity instanceof Bee) { - Bee bee = (Bee) entity; - if (count == 0) { - int set = (int) value; - bee.setAnger(set); - } - else if (count == 1) { - boolean set = (Boolean) value; - bee.setHasNectar(set); - } - else if (count == 2) { - boolean set = (Boolean) value; - bee.setHasStung(set); - } - } - else { - return false; - } - - return true; - } - - @Override - public boolean getItemMeta(ItemMeta itemMeta, List> list, List>> metadata, int slot) { - if (itemMeta instanceof SuspiciousStewMeta) { - SuspiciousStewMeta meta = (SuspiciousStewMeta) itemMeta; - SuspiciousStewMeta subMeta = meta.clone(); - meta.clearCustomEffects(); - list.add(meta.serialize()); - metadata.add(list); - - if (subMeta.hasCustomEffects()) { - for (PotionEffect effect : subMeta.getCustomEffects()) { - list = new ArrayList<>(); - list.add(effect.serialize()); - metadata.add(list); - } - } - } - else { - return false; - } - - return true; - } - - @Override - public boolean setItemMeta(Material rowType, ItemStack itemstack, List> map) { - if ((rowType == Material.SUSPICIOUS_STEW)) { - for (Map suspiciousStewData : map) { - SuspiciousStewMeta meta = (SuspiciousStewMeta) itemstack.getItemMeta(); - PotionEffect effect = new PotionEffect(suspiciousStewData); - meta.addCustomEffect(effect, true); - itemstack.setItemMeta(meta); - } - } - else { - return false; - } - - return true; - } - - @Override - public void sendSignChange(Player player, Sign sign) { - player.sendSignChange(sign.getLocation(), sign.getLines(), sign.getColor()); - } - -} diff --git a/src/main/java/net/coreprotect/bukkit/Bukkit_v1_16.java b/src/main/java/net/coreprotect/bukkit/Bukkit_v1_16.java index 15d3657..e596c52 100644 --- a/src/main/java/net/coreprotect/bukkit/Bukkit_v1_16.java +++ b/src/main/java/net/coreprotect/bukkit/Bukkit_v1_16.java @@ -17,7 +17,7 @@ import org.bukkit.entity.Zoglin; import net.coreprotect.model.BlockGroup; -public class Bukkit_v1_16 extends Bukkit_v1_15 implements BukkitInterface { +public class Bukkit_v1_16 extends BukkitAdapter implements BukkitInterface { public Bukkit_v1_16() { BlockGroup.TRACK_TOP = new HashSet<>(Arrays.asList(Material.TORCH, Material.REDSTONE_TORCH, Material.BAMBOO, Material.BAMBOO_SAPLING, Material.CORNFLOWER, Material.LILY_OF_THE_VALLEY, Material.WITHER_ROSE, Material.SWEET_BERRY_BUSH, Material.SCAFFOLDING, Material.OAK_SAPLING, Material.SPRUCE_SAPLING, Material.BIRCH_SAPLING, Material.JUNGLE_SAPLING, Material.ACACIA_SAPLING, Material.DARK_OAK_SAPLING, Material.POWERED_RAIL, Material.DETECTOR_RAIL, Material.GRASS, Material.FERN, Material.DEAD_BUSH, Material.DANDELION, Material.POPPY, Material.BLUE_ORCHID, Material.ALLIUM, Material.AZURE_BLUET, Material.RED_TULIP, Material.ORANGE_TULIP, Material.WHITE_TULIP, Material.PINK_TULIP, Material.OXEYE_DAISY, Material.BROWN_MUSHROOM, Material.RED_MUSHROOM, Material.REDSTONE_WIRE, Material.WHEAT, Material.ACACIA_SIGN, Material.BIRCH_SIGN, Material.DARK_OAK_SIGN, Material.JUNGLE_SIGN, Material.OAK_SIGN, Material.SPRUCE_SIGN, Material.WHITE_BANNER, Material.ORANGE_BANNER, Material.MAGENTA_BANNER, Material.LIGHT_BLUE_BANNER, Material.YELLOW_BANNER, Material.LIME_BANNER, Material.PINK_BANNER, Material.GRAY_BANNER, Material.LIGHT_GRAY_BANNER, Material.CYAN_BANNER, Material.PURPLE_BANNER, Material.BLUE_BANNER, Material.BROWN_BANNER, Material.GREEN_BANNER, Material.RED_BANNER, Material.BLACK_BANNER, Material.RAIL, Material.IRON_DOOR, Material.SNOW, Material.CACTUS, Material.SUGAR_CANE, Material.REPEATER, Material.PUMPKIN_STEM, Material.MELON_STEM, Material.CARROT, Material.POTATO, Material.COMPARATOR, Material.ACTIVATOR_RAIL, Material.SUNFLOWER, Material.LILAC, Material.TALL_GRASS, Material.LARGE_FERN, Material.ROSE_BUSH, Material.PEONY, Material.NETHER_WART, Material.CHORUS_PLANT, Material.CHORUS_FLOWER, Material.KELP, Material.SOUL_TORCH, Material.TWISTING_VINES, Material.CRIMSON_FUNGUS, Material.WARPED_FUNGUS, Material.CRIMSON_ROOTS, Material.WARPED_ROOTS, Material.NETHER_SPROUTS, Material.CRIMSON_SIGN, Material.WARPED_SIGN)); diff --git a/src/main/java/net/coreprotect/config/ConfigHandler.java b/src/main/java/net/coreprotect/config/ConfigHandler.java index 21d53f5..3d60e8e 100644 --- a/src/main/java/net/coreprotect/config/ConfigHandler.java +++ b/src/main/java/net/coreprotect/config/ConfigHandler.java @@ -43,7 +43,7 @@ public class ConfigHandler extends Queue { public static final String EDITION_BRANCH = Util.getBranch(); public static final String EDITION_NAME = Util.getPluginName(); public static final String JAVA_VERSION = "11.0"; - public static final String SPIGOT_VERSION = "1.14"; + public static final String SPIGOT_VERSION = "1.15"; public static String path = "plugins/CoreProtect/"; public static String sqlite = "database.db"; public static String host = "127.0.0.1"; diff --git a/src/main/java/net/coreprotect/database/Rollback.java b/src/main/java/net/coreprotect/database/Rollback.java index bb7b6cf..84b599c 100644 --- a/src/main/java/net/coreprotect/database/Rollback.java +++ b/src/main/java/net/coreprotect/database/Rollback.java @@ -74,6 +74,7 @@ import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.LeatherArmorMeta; import org.bukkit.inventory.meta.MapMeta; import org.bukkit.inventory.meta.PotionMeta; +import org.bukkit.inventory.meta.SuspiciousStewMeta; import org.bukkit.potion.PotionEffect; import org.bukkit.util.io.BukkitObjectInputStream; @@ -1973,6 +1974,14 @@ public class Rollback extends Queue { itemCount = 0; } } + else if ((rowType == Material.SUSPICIOUS_STEW)) { + for (Map suspiciousStewData : map) { + SuspiciousStewMeta meta = (SuspiciousStewMeta) itemstack.getItemMeta(); + PotionEffect effect = new PotionEffect(suspiciousStewData); + meta.addCustomEffect(effect, true); + itemstack.setItemMeta(meta); + } + } else { BukkitAdapter.ADAPTER.setItemMeta(rowType, itemstack, map); } diff --git a/src/main/java/net/coreprotect/listener/entity/EntityDeathListener.java b/src/main/java/net/coreprotect/listener/entity/EntityDeathListener.java index 08209c6..8671f67 100644 --- a/src/main/java/net/coreprotect/listener/entity/EntityDeathListener.java +++ b/src/main/java/net/coreprotect/listener/entity/EntityDeathListener.java @@ -20,6 +20,7 @@ import org.bukkit.entity.AbstractHorse; import org.bukkit.entity.AbstractVillager; import org.bukkit.entity.Ageable; import org.bukkit.entity.ArmorStand; +import org.bukkit.entity.Bee; import org.bukkit.entity.Cat; import org.bukkit.entity.ChestedHorse; import org.bukkit.entity.Creeper; @@ -496,6 +497,12 @@ public final class EntityDeathListener extends Queue implements Listener { } } } + if (entity instanceof Bee) { + Bee bee = (Bee) entity; + info.add(bee.getAnger()); + info.add(bee.hasNectar()); + info.add(bee.hasStung()); + } else { BukkitAdapter.ADAPTER.getEntityMeta(entity, info); } diff --git a/src/main/java/net/coreprotect/listener/player/PlayerInteractListener.java b/src/main/java/net/coreprotect/listener/player/PlayerInteractListener.java index 5537e8e..c19c395 100755 --- a/src/main/java/net/coreprotect/listener/player/PlayerInteractListener.java +++ b/src/main/java/net/coreprotect/listener/player/PlayerInteractListener.java @@ -140,7 +140,7 @@ public final class PlayerInteractListener extends Queue implements Listener { if (blockFinal instanceof Sign && player.getGameMode() != GameMode.CREATIVE) { Thread.sleep(1500); Sign sign = (Sign) blockFinal; - BukkitAdapter.ADAPTER.sendSignChange(player, sign); + player.sendSignChange(sign.getLocation(), sign.getLines(), sign.getColor()); } } else { diff --git a/src/main/java/net/coreprotect/utility/entity/EntityUtil.java b/src/main/java/net/coreprotect/utility/entity/EntityUtil.java index 6fe3da8..b50b83f 100644 --- a/src/main/java/net/coreprotect/utility/entity/EntityUtil.java +++ b/src/main/java/net/coreprotect/utility/entity/EntityUtil.java @@ -17,6 +17,7 @@ import org.bukkit.block.data.BlockData; import org.bukkit.entity.AbstractHorse; import org.bukkit.entity.AbstractVillager; import org.bukkit.entity.Ageable; +import org.bukkit.entity.Bee; import org.bukkit.entity.Cat; import org.bukkit.entity.ChestedHorse; import org.bukkit.entity.Creeper; @@ -532,6 +533,21 @@ public class EntityUtil { } } } + else if (entity instanceof Bee) { + Bee bee = (Bee) entity; + if (count == 0) { + int set = (int) value; + bee.setAnger(set); + } + else if (count == 1) { + boolean set = (Boolean) value; + bee.setHasNectar(set); + } + else if (count == 2) { + boolean set = (Boolean) value; + bee.setHasStung(set); + } + } else { BukkitAdapter.ADAPTER.setEntityMeta(entity, value, count); } diff --git a/src/main/java/net/coreprotect/utility/serialize/ItemMetaHandler.java b/src/main/java/net/coreprotect/utility/serialize/ItemMetaHandler.java index bd20531..8be2b1e 100644 --- a/src/main/java/net/coreprotect/utility/serialize/ItemMetaHandler.java +++ b/src/main/java/net/coreprotect/utility/serialize/ItemMetaHandler.java @@ -23,6 +23,7 @@ import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.LeatherArmorMeta; import org.bukkit.inventory.meta.MapMeta; import org.bukkit.inventory.meta.PotionMeta; +import org.bukkit.inventory.meta.SuspiciousStewMeta; import org.bukkit.potion.PotionEffect; import net.coreprotect.bukkit.BukkitAdapter; @@ -232,6 +233,21 @@ public class ItemMetaHandler { metadata.add(list); } } + else if (itemMeta instanceof SuspiciousStewMeta) { + SuspiciousStewMeta meta = (SuspiciousStewMeta) itemMeta; + SuspiciousStewMeta subMeta = meta.clone(); + meta.clearCustomEffects(); + list.add(meta.serialize()); + metadata.add(list); + + if (subMeta.hasCustomEffects()) { + for (PotionEffect effect : subMeta.getCustomEffects()) { + list = new ArrayList<>(); + list.add(effect.serialize()); + metadata.add(list); + } + } + } else if (!BukkitAdapter.ADAPTER.getItemMeta(itemMeta, list, metadata, slot)) { list.add(itemMeta.serialize()); metadata.add(list);