类org.bukkit.metadata.Metadatable源码实例Demo

下面列出了怎么用org.bukkit.metadata.Metadatable的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Skript   文件: ExprMetadata.java
@Override
@Nullable
protected T[] get(Event e) {
	List<Object> values = new ArrayList<>();
	for (String value : this.values.getArray(e)) {
		for (Metadatable holder : holders.getArray(e)) {
			List<MetadataValue> metadata = holder.getMetadata(value);
			if (!metadata.isEmpty())
				values.add(metadata.get(metadata.size() - 1).value()); // adds the most recent metadata value
		}
	}
	try {
		return Converters.convertStrictly(values.toArray(), superType);
	} catch (ClassCastException e1) {
		return (T[]) Array.newInstance(superType, 0);
	}
}
 
源代码2 项目: Skript   文件: CondHasMetadata.java
@Override
@SuppressWarnings("unchecked")
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) {
	holders = (Expression<Metadatable>) exprs[0];
	values = (Expression<String>) exprs[1];
	setNegated(matchedPattern == 1);
	return true;
}
 
源代码3 项目: Skript   文件: ExprMetadata.java
@Override
public void change(Event e, @Nullable Object[] delta, Changer.ChangeMode mode) {
	for (String value : values.getArray(e)) {
		for (Metadatable holder : holders.getArray(e)) {
			switch (mode) {
				case SET:
					holder.setMetadata(value, new FixedMetadataValue(Skript.getInstance(), delta[0]));
					break;
				case DELETE:
					holder.removeMetadata(value, Skript.getInstance());
			}
		}
	}
}
 
源代码4 项目: NovaGuilds   文件: Meta.java
/**
 * Gets metadata
 *
 * @param obj object
 * @param key key
 * @return metadata value
 */
public static MetadataValue getMetadata(Metadatable obj, String key) {
	for(MetadataValue value : obj.getMetadata(key)) {
		if(value.getOwningPlugin().getDescription().getName().equals(plugin.getDescription().getName())) {
			return value;
		}
	}

	return null;
}
 
源代码5 项目: PGM   文件: Grenade.java
public static boolean is(Metadatable entity) {
  return entity.hasMetadata(METADATA_KEY);
}
 
源代码6 项目: PGM   文件: Grenade.java
public static @Nullable Grenade get(Metadatable entity) {
  return entity.hasMetadata(METADATA_KEY)
      ? (Grenade) entity.getMetadata(METADATA_KEY).get(0).value()
      : null;
}
 
源代码7 项目: PGM   文件: Grenade.java
public void set(Plugin plugin, Metadatable entity) {
  entity.setMetadata(METADATA_KEY, new FixedMetadataValue(plugin, this));
}
 
源代码8 项目: ProjectAres   文件: Grenade.java
public static boolean is(Metadatable entity) {
    return entity.hasMetadata(METADATA_KEY);
}
 
源代码9 项目: ProjectAres   文件: Grenade.java
public static @Nullable Grenade get(Metadatable entity) {
    return entity.hasMetadata(METADATA_KEY) ? (Grenade) entity.getMetadata(METADATA_KEY).get(0).value() : null;
}
 
源代码10 项目: ProjectAres   文件: Grenade.java
public void set(Plugin plugin, Metadatable entity) {
    entity.setMetadata(METADATA_KEY, new FixedMetadataValue(plugin, this));
}
 
源代码11 项目: Skript   文件: ExprMetadata.java
@Override
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) {
	holders = (Expression<Metadatable>) exprs[matchedPattern ^ 1];
	values = (Expression<String>) exprs[matchedPattern];
	return true;
}
 
源代码12 项目: NovaGuilds   文件: Meta.java
/**
 * Sets metadata
 *
 * @param obj   object
 * @param key   key
 * @param value value
 */
public static void setMetadata(Metadatable obj, String key, Object value) {
	obj.setMetadata(key, new FixedMetadataValue(plugin, value));
}
 
源代码13 项目: NovaGuilds   文件: Meta.java
/**
 * Removes metadata
 *
 * @param obj object
 * @param key key
 */
public static void removeMetadata(Metadatable obj, String key) {
	obj.removeMetadata(key, plugin);
}
 
 类所在包
 类方法
 同包方法