some of this shit works, does not compile
This commit is contained in:
parent
bd047da3a3
commit
ec5c53893d
|
@ -59,6 +59,7 @@ import net.ess3.nms.refl.providers.ReflServerStateProvider;
|
|||
import net.ess3.nms.refl.providers.ReflSpawnEggProvider;
|
||||
import net.ess3.nms.refl.providers.ReflSpawnerBlockProvider;
|
||||
import net.ess3.nms.refl.providers.ReflSyncCommandsProvider;
|
||||
import net.ess3.provider.BannerDataProvider;
|
||||
import net.ess3.provider.BiomeKeyProvider;
|
||||
import net.ess3.provider.ContainerProvider;
|
||||
import net.ess3.provider.DamageEventProvider;
|
||||
|
@ -78,8 +79,10 @@ import net.ess3.provider.SpawnerBlockProvider;
|
|||
import net.ess3.provider.SpawnerItemProvider;
|
||||
import net.ess3.provider.SyncCommandsProvider;
|
||||
import net.ess3.provider.WorldInfoProvider;
|
||||
import net.ess3.provider.providers.BaseBannerDataProvider;
|
||||
import net.ess3.provider.providers.BaseLoggerProvider;
|
||||
import net.ess3.provider.providers.BasePotionDataProvider;
|
||||
import net.ess3.provider.providers.LegacyBannerDataProvider;
|
||||
import net.ess3.provider.providers.LegacyPotionMetaProvider;
|
||||
import net.ess3.provider.providers.BlockMetaSpawnerItemProvider;
|
||||
import net.ess3.provider.providers.BukkitMaterialTagProvider;
|
||||
import net.ess3.provider.providers.BukkitSpawnerBlockProvider;
|
||||
|
@ -88,7 +91,8 @@ import net.ess3.provider.providers.FlatSpawnEggProvider;
|
|||
import net.ess3.provider.providers.LegacyDamageEventProvider;
|
||||
import net.ess3.provider.providers.LegacyItemUnbreakableProvider;
|
||||
import net.ess3.provider.providers.LegacyPlayerLocaleProvider;
|
||||
import net.ess3.provider.providers.LegacyPotionMetaProvider;
|
||||
import net.ess3.provider.providers.ModernPotionMetaProvider;
|
||||
import net.ess3.provider.providers.PrehistoricPotionMetaProvider;
|
||||
import net.ess3.provider.providers.LegacySpawnEggProvider;
|
||||
import net.ess3.provider.providers.ModernDamageEventProvider;
|
||||
import net.ess3.provider.providers.ModernDataWorldInfoProvider;
|
||||
|
@ -184,6 +188,7 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
|
|||
private transient SpawnerBlockProvider spawnerBlockProvider;
|
||||
private transient SpawnEggProvider spawnEggProvider;
|
||||
private transient PotionMetaProvider potionMetaProvider;
|
||||
private transient BannerDataProvider bannerDataProvider;
|
||||
private transient ServerStateProvider serverStateProvider;
|
||||
private transient ContainerProvider containerProvider;
|
||||
private transient SerializationProvider serializationProvider;
|
||||
|
@ -403,10 +408,19 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
|
|||
}
|
||||
|
||||
//Potion Meta Provider
|
||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_9_R01)) {
|
||||
potionMetaProvider = new LegacyPotionMetaProvider();
|
||||
if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_20_5_R01)) {
|
||||
potionMetaProvider = new ModernPotionMetaProvider();
|
||||
} else if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_9_R01)) {
|
||||
potionMetaProvider = new PrehistoricPotionMetaProvider();
|
||||
} else {
|
||||
potionMetaProvider = new BasePotionDataProvider();
|
||||
potionMetaProvider = new LegacyPotionMetaProvider();
|
||||
}
|
||||
|
||||
//Banner Meta Provider
|
||||
if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_20_5_R01)) {
|
||||
bannerDataProvider = new BaseBannerDataProvider();
|
||||
} else {
|
||||
bannerDataProvider = new LegacyBannerDataProvider();
|
||||
}
|
||||
|
||||
//Server State Provider
|
||||
|
@ -1364,6 +1378,11 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
|
|||
return potionMetaProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BannerDataProvider getBannerDataProvider() {
|
||||
return bannerDataProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CustomItemResolver getCustomItemResolver() {
|
||||
return customItemResolver;
|
||||
|
|
|
@ -9,6 +9,7 @@ import com.earth2me.essentials.perm.PermissionsHandler;
|
|||
import com.earth2me.essentials.updatecheck.UpdateChecker;
|
||||
import com.earth2me.essentials.userstorage.IUserMap;
|
||||
import net.ess3.nms.refl.providers.ReflOnlineModeProvider;
|
||||
import net.ess3.provider.BannerDataProvider;
|
||||
import net.ess3.provider.BiomeKeyProvider;
|
||||
import net.ess3.provider.ContainerProvider;
|
||||
import net.ess3.provider.DamageEventProvider;
|
||||
|
@ -189,5 +190,7 @@ public interface IEssentials extends Plugin {
|
|||
|
||||
BiomeKeyProvider getBiomeKeyProvider();
|
||||
|
||||
BannerDataProvider getBannerDataProvider();
|
||||
|
||||
PluginCommand getPluginCommand(String cmd);
|
||||
}
|
||||
|
|
|
@ -640,7 +640,7 @@ public class MetaItemStack {
|
|||
final BannerMeta meta = (BannerMeta) stack.getItemMeta();
|
||||
if (split[0].equalsIgnoreCase("basecolor")) {
|
||||
final Color color = Color.fromRGB(Integer.parseInt(split[1]));
|
||||
meta.setBaseColor(DyeColor.getByColor(color));
|
||||
ess.getBannerDataProvider().setBaseColor(stack, DyeColor.getByColor(color));
|
||||
} else if (patternType != null) {
|
||||
final PatternType type = PatternType.getByIdentifier(split[0]);
|
||||
final DyeColor color = DyeColor.getByColor(Color.fromRGB(Integer.parseInt(split[1])));
|
||||
|
|
|
@ -27,7 +27,6 @@ import org.bukkit.inventory.meta.LeatherArmorMeta;
|
|||
import org.bukkit.inventory.meta.PotionMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.potion.Potion;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -288,9 +287,8 @@ public abstract class AbstractItemDb implements IConf, net.ess3.api.IItemDb {
|
|||
final boolean splash;
|
||||
final Collection<PotionEffect> effects;
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
final Potion potion = Potion.fromDamage(is.getDurability());
|
||||
splash = potion.isSplash();
|
||||
effects = potion.getEffects();
|
||||
splash = ess.getPotionMetaProvider().isSplash(is);
|
||||
effects = ess.getPotionMetaProvider().getEffects(is);
|
||||
} else {
|
||||
splash = is.getType() == Material.SPLASH_POTION;
|
||||
effects = ((PotionMeta) is.getItemMeta()).getCustomEffects();
|
||||
|
@ -317,6 +315,7 @@ public abstract class AbstractItemDb implements IConf, net.ess3.api.IItemDb {
|
|||
sb.append("basecolor:").append(basecolor).append(" ");
|
||||
}
|
||||
for (final org.bukkit.block.banner.Pattern p : shieldBannerMeta.getPatterns()) {
|
||||
//noinspection removal
|
||||
final String type = p.getPattern().getIdentifier();
|
||||
final int color = p.getColor().getColor().asRGB();
|
||||
sb.append(type).append(",").append(color).append(" ");
|
||||
|
@ -324,7 +323,7 @@ public abstract class AbstractItemDb implements IConf, net.ess3.api.IItemDb {
|
|||
} else {
|
||||
final BannerMeta bannerMeta = (BannerMeta) is.getItemMeta();
|
||||
if (bannerMeta != null) {
|
||||
DyeColor baseDyeColor = bannerMeta.getBaseColor();
|
||||
DyeColor baseDyeColor = ess.getBannerDataProvider().getBaseColor(is);
|
||||
if (baseDyeColor == null) {
|
||||
baseDyeColor = MaterialUtil.getColorOf(material);
|
||||
}
|
||||
|
@ -335,6 +334,7 @@ public abstract class AbstractItemDb implements IConf, net.ess3.api.IItemDb {
|
|||
sb.append("basecolor:").append(basecolor).append(" ");
|
||||
}
|
||||
for (final org.bukkit.block.banner.Pattern p : bannerMeta.getPatterns()) {
|
||||
//noinspection removal
|
||||
final String type = p.getPattern().getIdentifier();
|
||||
final int color = p.getColor().getColor().asRGB();
|
||||
sb.append(type).append(",").append(color).append(" ");
|
||||
|
|
|
@ -3,6 +3,9 @@ plugins {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(':providers:BaseProviders')) {
|
||||
exclude group: "org.spigotmc", module: "spigot-api"
|
||||
}
|
||||
api project(':providers:NMSReflectionProvider')
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
package net.ess3.provider.providers;
|
||||
|
||||
import net.ess3.provider.BannerDataProvider;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.BannerMeta;
|
||||
|
||||
public class LegacyBannerDataProvider implements BannerDataProvider {
|
||||
@Override
|
||||
public DyeColor getBaseColor(ItemStack stack) {
|
||||
final BannerMeta bannerMeta = (BannerMeta) stack.getItemMeta();
|
||||
return bannerMeta.getBaseColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBaseColor(ItemStack stack, DyeColor color) {
|
||||
final BannerMeta bannerMeta = (BannerMeta) stack.getItemMeta();
|
||||
bannerMeta.setBaseColor(color);
|
||||
stack.setItemMeta(bannerMeta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Legacy Banner Meta Provider";
|
||||
}
|
||||
}
|
|
@ -5,28 +5,31 @@ import net.ess3.provider.PotionMetaProvider;
|
|||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.PotionMeta;
|
||||
import org.bukkit.potion.Potion;
|
||||
import org.bukkit.potion.PotionData;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionType;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
public class BasePotionDataProvider implements PotionMetaProvider {
|
||||
public class LegacyPotionMetaProvider implements PotionMetaProvider {
|
||||
private static final Map<Integer, PotionType> damageValueToType = ImmutableMap.<Integer, PotionType>builder()
|
||||
.put(1, PotionType.REGEN)
|
||||
.put(2, PotionType.SPEED)
|
||||
.put(3, PotionType.FIRE_RESISTANCE)
|
||||
.put(4, PotionType.POISON)
|
||||
.put(5, PotionType.INSTANT_HEAL)
|
||||
.put(6, PotionType.NIGHT_VISION)
|
||||
// Skip 7
|
||||
.put(8, PotionType.WEAKNESS)
|
||||
.put(9, PotionType.STRENGTH)
|
||||
.put(10, PotionType.SLOWNESS)
|
||||
.put(11, PotionType.JUMP)
|
||||
.put(12, PotionType.INSTANT_DAMAGE)
|
||||
.put(13, PotionType.WATER_BREATHING)
|
||||
.put(14, PotionType.INVISIBILITY)
|
||||
.build();
|
||||
.put(1, PotionType.REGEN)
|
||||
.put(2, PotionType.SPEED)
|
||||
.put(3, PotionType.FIRE_RESISTANCE)
|
||||
.put(4, PotionType.POISON)
|
||||
.put(5, PotionType.INSTANT_HEAL)
|
||||
.put(6, PotionType.NIGHT_VISION)
|
||||
// Skip 7
|
||||
.put(8, PotionType.WEAKNESS)
|
||||
.put(9, PotionType.STRENGTH)
|
||||
.put(10, PotionType.SLOWNESS)
|
||||
.put(11, PotionType.JUMP)
|
||||
.put(12, PotionType.INSTANT_DAMAGE)
|
||||
.put(13, PotionType.WATER_BREATHING)
|
||||
.put(14, PotionType.INVISIBILITY)
|
||||
.build();
|
||||
|
||||
private static int getBit(final int n, final int k) {
|
||||
return (n >> k) & 1;
|
||||
|
@ -41,9 +44,9 @@ public class BasePotionDataProvider implements PotionMetaProvider {
|
|||
}
|
||||
|
||||
final int damageValue = getBit(effectId, 0) +
|
||||
2 * getBit(effectId, 1) +
|
||||
4 * getBit(effectId, 2) +
|
||||
8 * getBit(effectId, 3);
|
||||
2 * getBit(effectId, 1) +
|
||||
4 * getBit(effectId, 2) +
|
||||
8 * getBit(effectId, 3);
|
||||
|
||||
final PotionType type = damageValueToType.get(damageValue);
|
||||
if (type == null) {
|
||||
|
@ -64,8 +67,22 @@ public class BasePotionDataProvider implements PotionMetaProvider {
|
|||
return potion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSplash(ItemStack stack) {
|
||||
//noinspection deprecation
|
||||
final Potion potion = Potion.fromDamage(stack.getDurability());
|
||||
return potion.isSplash();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<PotionEffect> getEffects(ItemStack stack) {
|
||||
//noinspection deprecation
|
||||
final Potion potion = Potion.fromDamage(stack.getDurability());
|
||||
return potion.getEffects();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "1.9+ Potion Meta Provider";
|
||||
return "1.9-1.20.4 Potion Meta Provider";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package net.ess3.provider;
|
||||
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public interface BannerDataProvider extends Provider {
|
||||
DyeColor getBaseColor(ItemStack stack);
|
||||
|
||||
void setBaseColor(ItemStack stack, DyeColor color);
|
||||
}
|
|
@ -2,7 +2,20 @@ package net.ess3.provider;
|
|||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public interface PotionMetaProvider extends Provider {
|
||||
ItemStack createPotionItem(Material initial, int effectId);
|
||||
|
||||
/**
|
||||
* Should only be used for pre-flattening
|
||||
*/
|
||||
boolean isSplash(ItemStack stack);
|
||||
|
||||
/**
|
||||
* Should only be used for pre-flattening
|
||||
*/
|
||||
Collection<PotionEffect> getEffects(ItemStack stack);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,161 @@
|
|||
package net.ess3.provider.providers;
|
||||
|
||||
import net.ess3.provider.BannerDataProvider;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class BaseBannerDataProvider implements BannerDataProvider {
|
||||
@Override
|
||||
public DyeColor getBaseColor(ItemStack stack) {
|
||||
final DyeColor base;
|
||||
switch (stack.getType()) {
|
||||
case WHITE_BANNER: {
|
||||
base = DyeColor.WHITE;
|
||||
break;
|
||||
}
|
||||
case LIGHT_GRAY_BANNER: {
|
||||
base = DyeColor.LIGHT_GRAY;
|
||||
break;
|
||||
}
|
||||
case GRAY_BANNER: {
|
||||
base = DyeColor.GRAY;
|
||||
break;
|
||||
}
|
||||
case BLACK_BANNER: {
|
||||
base = DyeColor.BLACK;
|
||||
break;
|
||||
}
|
||||
case RED_BANNER: {
|
||||
base = DyeColor.RED;
|
||||
break;
|
||||
}
|
||||
case ORANGE_BANNER: {
|
||||
base = DyeColor.ORANGE;
|
||||
break;
|
||||
}
|
||||
case YELLOW_BANNER: {
|
||||
base = DyeColor.YELLOW;
|
||||
break;
|
||||
}
|
||||
case LIME_BANNER: {
|
||||
base = DyeColor.LIME;
|
||||
break;
|
||||
}
|
||||
case GREEN_BANNER: {
|
||||
base = DyeColor.GREEN;
|
||||
break;
|
||||
}
|
||||
case CYAN_BANNER: {
|
||||
base = DyeColor.CYAN;
|
||||
break;
|
||||
}
|
||||
case LIGHT_BLUE_BANNER: {
|
||||
base = DyeColor.LIGHT_BLUE;
|
||||
break;
|
||||
}
|
||||
case BLUE_BANNER: {
|
||||
base = DyeColor.BLUE;
|
||||
break;
|
||||
}
|
||||
case PURPLE_BANNER: {
|
||||
base = DyeColor.PURPLE;
|
||||
break;
|
||||
}
|
||||
case MAGENTA_BANNER: {
|
||||
base = DyeColor.MAGENTA;
|
||||
break;
|
||||
}
|
||||
case PINK_BANNER: {
|
||||
base = DyeColor.PINK;
|
||||
break;
|
||||
}
|
||||
case BROWN_BANNER: {
|
||||
base = DyeColor.BROWN;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
base = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return base;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBaseColor(ItemStack stack, DyeColor color) {
|
||||
switch (color) {
|
||||
case WHITE: {
|
||||
stack.setType(org.bukkit.Material.WHITE_BANNER);
|
||||
break;
|
||||
}
|
||||
case LIGHT_GRAY: {
|
||||
stack.setType(org.bukkit.Material.LIGHT_GRAY_BANNER);
|
||||
break;
|
||||
}
|
||||
case GRAY: {
|
||||
stack.setType(org.bukkit.Material.GRAY_BANNER);
|
||||
break;
|
||||
}
|
||||
case BLACK: {
|
||||
stack.setType(org.bukkit.Material.BLACK_BANNER);
|
||||
break;
|
||||
}
|
||||
case RED: {
|
||||
stack.setType(org.bukkit.Material.RED_BANNER);
|
||||
break;
|
||||
}
|
||||
case ORANGE: {
|
||||
stack.setType(org.bukkit.Material.ORANGE_BANNER);
|
||||
break;
|
||||
}
|
||||
case YELLOW: {
|
||||
stack.setType(org.bukkit.Material.YELLOW_BANNER);
|
||||
break;
|
||||
}
|
||||
case LIME: {
|
||||
stack.setType(org.bukkit.Material.LIME_BANNER);
|
||||
break;
|
||||
}
|
||||
case GREEN: {
|
||||
stack.setType(org.bukkit.Material.GREEN_BANNER);
|
||||
break;
|
||||
}
|
||||
case CYAN: {
|
||||
stack.setType(org.bukkit.Material.CYAN_BANNER);
|
||||
break;
|
||||
}
|
||||
case LIGHT_BLUE: {
|
||||
stack.setType(org.bukkit.Material.LIGHT_BLUE_BANNER);
|
||||
break;
|
||||
}
|
||||
case BLUE: {
|
||||
stack.setType(org.bukkit.Material.BLUE_BANNER);
|
||||
break;
|
||||
}
|
||||
case PINK: {
|
||||
stack.setType(org.bukkit.Material.PINK_BANNER);
|
||||
break;
|
||||
}
|
||||
case BROWN: {
|
||||
stack.setType(org.bukkit.Material.BROWN_BANNER);
|
||||
break;
|
||||
}
|
||||
case PURPLE: {
|
||||
stack.setType(org.bukkit.Material.PURPLE_BANNER);
|
||||
break;
|
||||
}
|
||||
case MAGENTA: {
|
||||
stack.setType(org.bukkit.Material.MAGENTA_BANNER);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "1.20.5+ Banner Data Provider.";
|
||||
}
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
package net.ess3.provider.providers;
|
||||
|
||||
import net.ess3.provider.PotionMetaProvider;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class LegacyPotionMetaProvider implements PotionMetaProvider {
|
||||
@Override
|
||||
public ItemStack createPotionItem(final Material initial, final int effectId) {
|
||||
final ItemStack potion = new ItemStack(initial, 1);
|
||||
potion.setDurability((short) effectId);
|
||||
return potion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Legacy 1.8 Potion Meta Provider";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package net.ess3.provider.providers;
|
||||
|
||||
import net.ess3.provider.PotionMetaProvider;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.PotionMeta;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class ModernPotionMetaProvider implements PotionMetaProvider {
|
||||
@Override
|
||||
public ItemStack createPotionItem(Material initial, int effectId) {
|
||||
throw new UnsupportedOperationException("This should never happen, if this happens please submit a bug report!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSplash(ItemStack stack) {
|
||||
return stack.getType() == Material.SPLASH_POTION;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<PotionEffect> getEffects(ItemStack stack) {
|
||||
return ((PotionMeta) stack.getItemMeta()).getCustomEffects();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "1.20.5+ Potion Meta Provider";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package net.ess3.provider.providers;
|
||||
|
||||
import net.ess3.provider.PotionMetaProvider;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class PrehistoricPotionMetaProvider implements PotionMetaProvider {
|
||||
@Override
|
||||
public ItemStack createPotionItem(final Material initial, final int effectId) {
|
||||
final ItemStack potion = new ItemStack(initial, 1);
|
||||
potion.setDurability((short) effectId);
|
||||
return potion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSplash(ItemStack stack) {
|
||||
throw new UnsupportedOperationException("This should never happen, if this happens please submit a bug report!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<PotionEffect> getEffects(ItemStack stack) {
|
||||
throw new UnsupportedOperationException("This should never happen, if this happens please submit a bug report!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Legacy 1.8 Potion Meta Provider";
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue