Initial commit
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package eu.mikroskeem.utils.itemutils;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Banner;
|
||||
import org.bukkit.block.banner.Pattern;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.BlockStateMeta;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Shield {
|
||||
/**
|
||||
* Set Minecraft shield design
|
||||
*
|
||||
* @param shieldStack Shield itemstack to apply design on
|
||||
* @param patternList Banner design patterns
|
||||
*/
|
||||
public static void setShieldDesign(@NotNull ItemStack shieldStack, @Nullable ArrayList<Pattern> patternList){
|
||||
Validate.isTrue(shieldStack.getType().equals(Material.SHIELD), "Item must be a shield");
|
||||
|
||||
ItemMeta shieldMeta = shieldStack.getItemMeta();
|
||||
BlockStateMeta shieldbMeta = (BlockStateMeta)shieldMeta;
|
||||
|
||||
Banner banner = (Banner)shieldbMeta.getBlockState();
|
||||
banner.setPatterns(patternList);
|
||||
banner.update(); // TODO: find out if it is needed
|
||||
|
||||
shieldbMeta.setBlockState(banner);
|
||||
shieldStack.setItemMeta(shieldMeta);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user