Changed minimum required version to Spigot 1.15

This commit is contained in:
Intelli 2022-12-15 16:45:24 -07:00
parent 12f2000085
commit 61847f2f8d
10 changed files with 52 additions and 120 deletions

View File

@ -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;

View File

@ -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);
}

View File

@ -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<Object> 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<Map<String, Object>> list, List<List<Map<String, Object>>> 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<String, Object>> map) {
if ((rowType == Material.SUSPICIOUS_STEW)) {
for (Map<String, Object> 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());
}
}

View File

@ -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));

View File

@ -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";

View File

@ -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<String, Object> 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);
}

View File

@ -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);
}

View File

@ -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 {

View File

@ -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);
}

View File

@ -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);