Added MetadataSimple for simple metadata cenarios
This commit is contained in:
parent
00efb36bcc
commit
8ca4c999d9
61
src/com/massivecraft/mcore/MetadataSimple.java
Normal file
61
src/com/massivecraft/mcore/MetadataSimple.java
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
package com.massivecraft.mcore;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bukkit.metadata.MetadataValue;
|
||||||
|
import org.bukkit.metadata.MetadataValueAdapter;
|
||||||
|
import org.bukkit.metadata.Metadatable;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
public class MetadataSimple extends MetadataValueAdapter
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// FIELDS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private Object value;
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public MetadataSimple(Plugin plugin, Object value)
|
||||||
|
{
|
||||||
|
super(plugin);
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object value()
|
||||||
|
{
|
||||||
|
return this.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void invalidate()
|
||||||
|
{
|
||||||
|
// This can not be invalidated
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// UTIL
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public static void set(Plugin plugin, Metadatable metadatable, String key, Object value)
|
||||||
|
{
|
||||||
|
metadatable.setMetadata(key, new MetadataSimple(plugin, value));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Object get(Metadatable metadatable, String key)
|
||||||
|
{
|
||||||
|
List<MetadataValue> metaValues = metadatable.getMetadata(key);
|
||||||
|
if (metaValues == null) return null;
|
||||||
|
if (metaValues.size() < 1) return null;
|
||||||
|
return metaValues.get(0).value();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user