mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-07 07:32:03 -07:00
Implement 1.4.6 ItemMeta. Adds BUKKIT-3236, BUKKIT-3237
Some meta functionality is refactored into common methods. CraftItemStack uses the ItemMetaKey identifiers for enchantments. Refactored unit test to include extra functionality; initially only checking the presence of the DelegateDeserialization annotation.
This commit is contained in:
@@ -7,6 +7,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.server.EntitySheep;
|
||||
import net.minecraft.server.ItemDye;
|
||||
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
@@ -36,4 +37,11 @@ public class DyeColorsTest extends AbstractTestingBase {
|
||||
Color nmsColor = Color.fromRGB((int) (nmsColorArray[0] * 255), (int) (nmsColorArray[1] * 255), (int) (nmsColorArray[2] * 255));
|
||||
assertThat(color, is(nmsColor));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void checkFireworkColor() {
|
||||
Color color = dye.getFireworkColor();
|
||||
int nmsColor = ItemDye.b[dye.getData()];
|
||||
assertThat(color, is(Color.fromRGB(nmsColor)));
|
||||
}
|
||||
}
|
||||
|
@@ -1,10 +1,15 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.serialization.DelegateDeserialization;
|
||||
import org.bukkit.craftbukkit.Overridden;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -15,14 +20,10 @@ import org.junit.runners.Parameterized.Parameters;
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemMetaImplementationOverrideTest {
|
||||
static final Class<CraftMetaItem> parent = CraftMetaItem.class;
|
||||
static final Class<Overridden> annotation = Overridden.class;
|
||||
|
||||
static final List<Object[]> testData = new ArrayList<Object[]>();
|
||||
static final Method[] methods;
|
||||
|
||||
static final Class<? extends CraftMetaItem>[] subclasses;
|
||||
|
||||
static {
|
||||
@Parameters(name="[{index}]:{1}")
|
||||
public static List<Object[]> data() {
|
||||
final List<Object[]> testData = new ArrayList<Object[]>();
|
||||
List<Class<? extends CraftMetaItem>> classes = new ArrayList<Class<? extends CraftMetaItem>>();
|
||||
|
||||
for (Material material : ItemStackTest.COMPOUND_MATERIALS) {
|
||||
@@ -31,37 +32,49 @@ public class ItemMetaImplementationOverrideTest {
|
||||
classes.add(clazz);
|
||||
}
|
||||
}
|
||||
subclasses = classes.toArray(new Class[0]);
|
||||
|
||||
|
||||
List<Method> list = new ArrayList<Method>();
|
||||
|
||||
for (Method method: parent.getDeclaredMethods()) {
|
||||
if (method.isAnnotationPresent(annotation)) {
|
||||
if (method.isAnnotationPresent(Overridden.class)) {
|
||||
list.add(method);
|
||||
}
|
||||
}
|
||||
|
||||
for (Class<?> clazz : subclasses) {
|
||||
for (Method method : list) {
|
||||
testData.add(new Object[]{clazz, method, clazz.getSimpleName() + " contains " + method.getName()});
|
||||
for (final Class<?> clazz : classes) {
|
||||
for (final Method method : list) {
|
||||
testData.add(
|
||||
new Object[] {
|
||||
new Callable<Method>() {
|
||||
public Method call() throws Exception {
|
||||
return clazz.getDeclaredMethod(method.getName(), method.getParameterTypes());
|
||||
}
|
||||
},
|
||||
clazz.getSimpleName() + " contains " + method.getName()
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
testData.add(
|
||||
new Object[] {
|
||||
new Callable<DelegateDeserialization>() {
|
||||
public DelegateDeserialization call() throws Exception {
|
||||
return clazz.getAnnotation(DelegateDeserialization.class);
|
||||
}
|
||||
},
|
||||
clazz.getSimpleName() + " contains annotation " + DelegateDeserialization.class
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
methods = list.toArray(new Method[list.size()]);
|
||||
}
|
||||
|
||||
@Parameters(name="[{index}]:{2}")
|
||||
public static List<Object[]> data() {
|
||||
return testData;
|
||||
}
|
||||
|
||||
@Parameter(0) public Class clazz;
|
||||
@Parameter(1) public Method method;
|
||||
@Parameter(2) public String name;
|
||||
@Parameter(0) public Callable<?> test;
|
||||
@Parameter(1) public String name;
|
||||
|
||||
@Test
|
||||
public void testClass() throws Throwable {
|
||||
clazz.getDeclaredMethod(method.getName(), method.getParameterTypes());
|
||||
assertThat(name, test.call(), is(not(nullValue())));
|
||||
}
|
||||
}
|
||||
|
@@ -7,13 +7,19 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.FireworkEffect;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.FireworkEffect.Type;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackProvider;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackWrapper;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.BukkitWrapper;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.CraftWrapper;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.BookMeta;
|
||||
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
|
||||
import org.bukkit.inventory.meta.FireworkEffectMeta;
|
||||
import org.bukkit.inventory.meta.FireworkMeta;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
import org.bukkit.inventory.meta.MapMeta;
|
||||
import org.bukkit.inventory.meta.PotionMeta;
|
||||
@@ -77,6 +83,30 @@ public class ItemMetaTest extends AbstractTestingBase {
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new StackProvider(Material.FIREWORK) {
|
||||
@Override ItemStack operate(final ItemStack cleanStack) {
|
||||
final FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.addEffect(FireworkEffect.builder().withColor(Color.GREEN).withFade(Color.OLIVE).with(Type.BALL_LARGE).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new StackProvider(Material.ENCHANTED_BOOK) {
|
||||
@Override ItemStack operate(final ItemStack cleanStack) {
|
||||
final EnchantmentStorageMeta meta = (EnchantmentStorageMeta) cleanStack.getItemMeta();
|
||||
meta.addStoredEnchant(Enchantment.ARROW_FIRE, 1, true);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new StackProvider(Material.FIREWORK_CHARGE) {
|
||||
@Override ItemStack operate(final ItemStack cleanStack) {
|
||||
final FireworkEffectMeta meta = (FireworkEffectMeta) cleanStack.getItemMeta();
|
||||
meta.setEffect(FireworkEffect.builder().withColor(Color.MAROON, Color.BLACK).with(Type.CREEPER).withFlicker().build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
|
@@ -20,6 +20,7 @@ public class ItemStackBookTest extends ItemStackTest {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.WRITTEN_BOOK, Material.BOOK_AND_QUILL);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
static List<Object[]> operators() {
|
||||
return CompoundOperator.compound(
|
||||
Joiner.on('+'),
|
||||
|
@@ -0,0 +1,108 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackEnchantStorageTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name="[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.ENCHANTED_BOOK);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
static List<Object[]> operators() {
|
||||
return CompoundOperator.compound(
|
||||
Joiner.on('+'),
|
||||
NAME_PARAMETER,
|
||||
Long.parseLong("10", 2),
|
||||
ItemStackLoreEnchantmentTest.operators(),
|
||||
Arrays.asList(
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) cleanStack.getItemMeta();
|
||||
meta.addStoredEnchant(Enchantment.DURABILITY, 1, true);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) cleanStack.getItemMeta();
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Enchantable vs Blank"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) cleanStack.getItemMeta();
|
||||
meta.addStoredEnchant(Enchantment.KNOCKBACK, 1, true);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Enchantable vs Null"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) cleanStack.getItemMeta();
|
||||
meta.addStoredEnchant(Enchantment.DAMAGE_UNDEAD, 1, true);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) cleanStack.getItemMeta();
|
||||
meta.addStoredEnchant(Enchantment.DAMAGE_UNDEAD, 1, true);
|
||||
meta.addStoredEnchant(Enchantment.FIRE_ASPECT, 1, true);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Enchantable vs More"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) cleanStack.getItemMeta();
|
||||
meta.addStoredEnchant(Enchantment.PROTECTION_FIRE, 1, true);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) cleanStack.getItemMeta();
|
||||
meta.addEnchant(Enchantment.PROTECTION_FIRE, 2, true);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Enchantable vs Other"
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
@@ -0,0 +1,128 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.FireworkEffect;
|
||||
import org.bukkit.FireworkEffect.Type;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.FireworkEffectMeta;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackFireworkChargeTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name="[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.FIREWORK_CHARGE);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
static List<Object[]> operators() {
|
||||
return CompoundOperator.compound(
|
||||
Joiner.on('+'),
|
||||
NAME_PARAMETER,
|
||||
Long.parseLong("10", 2),
|
||||
ItemStackLoreEnchantmentTest.operators(),
|
||||
Arrays.asList(
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkEffectMeta meta = (FireworkEffectMeta) cleanStack.getItemMeta();
|
||||
meta.setEffect(FireworkEffect.builder().withColor(Color.WHITE).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkEffectMeta meta = (FireworkEffectMeta) cleanStack.getItemMeta();
|
||||
meta.setEffect(FireworkEffect.builder().withColor(Color.BLACK).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Effect Color 1 vs. Effect Color 2"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkEffectMeta meta = (FireworkEffectMeta) cleanStack.getItemMeta();
|
||||
meta.setEffect(FireworkEffect.builder().withColor(Color.WHITE).with(Type.CREEPER).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkEffectMeta meta = (FireworkEffectMeta) cleanStack.getItemMeta();
|
||||
meta.setEffect(FireworkEffect.builder().withColor(Color.WHITE).with(Type.BURST).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Effect type 1 vs. Effect type 2"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkEffectMeta meta = (FireworkEffectMeta) cleanStack.getItemMeta();
|
||||
meta.setEffect(FireworkEffect.builder().withColor(Color.WHITE).withFade(Color.BLUE).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkEffectMeta meta = (FireworkEffectMeta) cleanStack.getItemMeta();
|
||||
meta.setEffect(FireworkEffect.builder().withColor(Color.WHITE).withFade(Color.RED).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Effect fade 1 vs. Effect fade 2"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkEffectMeta meta = (FireworkEffectMeta) cleanStack.getItemMeta();
|
||||
meta.setEffect(FireworkEffect.builder().withColor(Color.WHITE).withFlicker().build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkEffectMeta meta = (FireworkEffectMeta) cleanStack.getItemMeta();
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Effect vs. Null"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkEffectMeta meta = (FireworkEffectMeta) cleanStack.getItemMeta();
|
||||
meta.setEffect(FireworkEffect.builder().withColor(Color.WHITE).withTrail().build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Effect vs. None"
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
@@ -0,0 +1,184 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.FireworkEffect;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.FireworkEffect.Type;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.FireworkMeta;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackFireworkTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name="[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.FIREWORK);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
static List<Object[]> operators() {
|
||||
return CompoundOperator.compound(
|
||||
Joiner.on('+'),
|
||||
NAME_PARAMETER,
|
||||
Long.parseLong("110", 2),
|
||||
ItemStackLoreEnchantmentTest.operators(),
|
||||
Arrays.asList(
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.addEffect(FireworkEffect.builder().withColor(Color.WHITE).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.addEffect(FireworkEffect.builder().withColor(Color.BLACK).build());
|
||||
meta.addEffect(FireworkEffect.builder().withColor(Color.GREEN).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Effect Color 1 vs. Effect Color 2"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.addEffect(FireworkEffect.builder().withColor(Color.WHITE).with(Type.CREEPER).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.addEffect(FireworkEffect.builder().withColor(Color.WHITE).with(Type.BURST).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Effect type 1 vs. Effect type 2"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.addEffect(FireworkEffect.builder().withColor(Color.WHITE).withFade(Color.BLUE).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.addEffect(FireworkEffect.builder().withColor(Color.WHITE).withFade(Color.RED).build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Effect fade 1 vs. Effect fade 2"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.addEffect(FireworkEffect.builder().withColor(Color.WHITE).withFlicker().build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Effect vs. Null"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.addEffect(FireworkEffect.builder().withColor(Color.WHITE).withTrail().build());
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Effect vs. None"
|
||||
}
|
||||
),
|
||||
Arrays.asList(
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.setPower(150);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.setPower(100);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Height vs. Other"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.setPower(200);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Height vs. Null"
|
||||
},
|
||||
new Object[] {
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
FireworkMeta meta = (FireworkMeta) cleanStack.getItemMeta();
|
||||
meta.setPower(10);
|
||||
cleanStack.setItemMeta(meta);
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
new Operator() {
|
||||
public ItemStack operate(ItemStack cleanStack) {
|
||||
return cleanStack;
|
||||
}
|
||||
},
|
||||
"Height vs. None"
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
@@ -22,6 +22,7 @@ public class ItemStackLeatherTest extends ItemStackTest {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.LEATHER_BOOTS, Material.LEATHER_CHESTPLATE, Material.LEATHER_HELMET, Material.LEATHER_LEGGINGS);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
static List<Object[]> operators() {
|
||||
return CompoundOperator.compound(
|
||||
Joiner.on('+'),
|
||||
|
@@ -20,6 +20,7 @@ public class ItemStackLoreEnchantmentTest extends ItemStackTest {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, ItemStackTest.COMPOUND_MATERIALS);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
static List<Object[]> operators() {
|
||||
return CompoundOperator.compound(
|
||||
Joiner.on('+'),
|
||||
|
@@ -21,6 +21,7 @@ public class ItemStackPotionsTest extends ItemStackTest {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.POTION);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
static List<Object[]> operators() {
|
||||
return CompoundOperator.compound(
|
||||
Joiner.on('+'),
|
||||
|
@@ -20,6 +20,7 @@ public class ItemStackSkullTest extends ItemStackTest {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.SKULL_ITEM);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
static List<Object[]> operators() {
|
||||
return CompoundOperator.compound(
|
||||
Joiner.on('+'),
|
||||
|
@@ -184,6 +184,7 @@ public class ItemStackTest extends AbstractTestingBase {
|
||||
out.addAll(primarySingleton);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
final List<Object[]>[] lists = new List[notSingletons.size() + 1];
|
||||
notSingletons.toArray(lists);
|
||||
lists[lists.length - 1] = out;
|
||||
|
Reference in New Issue
Block a user