/**
* Adds a {@link Pattern} to a specific index to this banner, assuming it is a banner.
* <p />
* <b>UNSAFE</b>
*
* @param index index to set
* @param pattern pattern to add
*
* @return this item builder instance, for chaining
*/
public ItemBuilder bannerSet(int index, Pattern pattern) {
if (isBannerMeta()) {
try {
((BannerMeta) this.itemMeta).setPattern(index, pattern);
} catch (Exception e) {
if (!this.failSilently) {
e.printStackTrace();
}
}
}
return this;
}
java类org.bukkit.inventory.meta.BannerMeta的实例源码
ItemBuilder.java 文件源码
项目:SupaCommons
阅读 22
收藏 0
点赞 0
评论 0
ItemBuilder.java 文件源码
项目:SupaCommons
阅读 27
收藏 0
点赞 0
评论 0
/**
* Sets this banner's patterns, assuming it is a banner.
* <p />
* <b>UNSAFE</b>
*
* @param patterns patterns to set
*
* @return this item builder instance, for chaining
*/
public ItemBuilder bannerSet(List<Pattern> patterns) {
if (isBannerMeta()) {
try {
((BannerMeta) this.itemMeta).setPatterns(patterns);
} catch (Exception e) {
if (!this.failSilently) {
e.printStackTrace();
}
}
}
return this;
}
ItemBuilder.java 文件源码
项目:SupaCommons
阅读 20
收藏 0
点赞 0
评论 0
/**
* Removes a pattern by index from this banner, assuming it is a banner.
* <p />
* <b>UNSAFE</b>
*
* @param index index of pattern to remove
*
* @return this item builder instance, for chaining
*/
public ItemBuilder bannerRemove(int index) {
if (isBannerMeta()) {
try {
((BannerMeta) this.itemMeta).removePattern(index);
} catch (Exception e) {
if (!this.failSilently) {
e.printStackTrace();
}
}
}
return this;
}
ItemBuilder.java 文件源码
项目:SupaCommons
阅读 24
收藏 0
点赞 0
评论 0
private boolean isBannerMeta() {
if (!(this.itemMeta instanceof BannerMeta)) {
if (!this.failSilently) {
throw new IllegalStateException("ItemMeta is not of BannerMeta.");
}
return false;
}
return true;
}
BannerUtils.java 文件源码
项目:NovaGuilds
阅读 33
收藏 0
点赞 0
评论 0
/**
* Gets random banner meta
*
* @return banner meta
*/
public static BannerMeta getRandomMeta() {
if(ConfigManager.getServerVersion().isOlderThan(ConfigManager.ServerVersion.MINECRAFT_1_8_R2)) {
return null;
}
BannerMeta meta = (BannerMeta) Bukkit.getItemFactory().getItemMeta(Material.BANNER);
meta.setBaseColor(randomDyeColor());
for(int i = NumberUtils.randInt(0, PatternType.values().length) + 2; i > 0; i--) {
meta.addPattern(new Pattern(randomDyeColor(), randomPatternType()));
}
return meta;
}
BannerUtils.java 文件源码
项目:NovaGuilds
阅读 25
收藏 0
点赞 0
评论 0
/**
* Deserializes a string to banner meta
*
* @param string serialized meta
* @return banner meta
*/
public static BannerMeta deserialize(String string) {
if(ConfigManager.getServerVersion().isOlderThan(ConfigManager.ServerVersion.MINECRAFT_1_8_R2)) {
return null;
}
return getSerializer().deserialize(string);
}
BannerUtils.java 文件源码
项目:NovaGuilds
阅读 24
收藏 0
点赞 0
评论 0
/**
* Serializes banner meta into a string
*
* @param bannerMeta banner meta
* @return serialized meta
*/
public static String serialize(BannerMeta bannerMeta) {
if(ConfigManager.getServerVersion().isOlderThan(ConfigManager.ServerVersion.MINECRAFT_1_8_R2)) {
return "";
}
return getSerializer().serialize(bannerMeta);
}
BannerUtils.java 文件源码
项目:NovaGuilds
阅读 31
收藏 0
点赞 0
评论 0
/**
* Applies meta to a shield
*
* @param itemStack shield item
* @param bannerMeta banner meta
* @return shield item
*/
public static ItemStack applyMeta(ItemStack itemStack, BannerMeta bannerMeta) {
if(itemStack.getType() != Material.SHIELD && itemStack.getType() != Material.BANNER) {
throw new IllegalArgumentException("Passed ItemStack is not a shield nor a banner");
}
ItemMeta meta = itemStack.getItemMeta();
BlockStateMeta blockStateMeta = (BlockStateMeta) meta;
Banner banner = (Banner) blockStateMeta.getBlockState();
applyMeta(banner, bannerMeta);
banner.update();
blockStateMeta.setBlockState(banner);
itemStack.setItemMeta(blockStateMeta);
return itemStack;
}
BannerUtils.java 文件源码
项目:NovaGuilds
阅读 28
收藏 0
点赞 0
评论 0
/**
* Turns a banner into banner meta
*
* @param banner banner block
* @return banner meta
*/
public static BannerMeta getBannerMeta(Banner banner) {
if(ConfigManager.getServerVersion().isOlderThan(ConfigManager.ServerVersion.MINECRAFT_1_8_R2)) {
return null;
}
BannerMeta meta = (BannerMeta) Bukkit.getItemFactory().getItemMeta(Material.BANNER);
meta.setBaseColor(banner.getBaseColor());
for(Pattern pattern : banner.getPatterns()) {
meta.addPattern(pattern);
}
return meta;
}
BannerMetaSerializerImpl.java 文件源码
项目:NovaGuilds
阅读 22
收藏 0
点赞 0
评论 0
@Override
public String serialize(BannerMeta bannerMeta) {
if(bannerMeta == null) {
return "";
}
StringBuilder builder = new StringBuilder();
builder.append((bannerMeta.getBaseColor() == null ? DyeColor.BLACK : bannerMeta.getBaseColor()).name());
if(bannerMeta.numberOfPatterns() > 0) {
builder.append(':');
}
int index = 1;
for(Pattern pattern : bannerMeta.getPatterns()) {
builder.append(pattern.getColor().name());
builder.append('-');
builder.append(pattern.getPattern().getIdentifier());
if(index < bannerMeta.numberOfPatterns()) {
builder.append("|");
}
index++;
}
return builder.toString();
}