Adding BlockStateMeta layer. Initial shield banner support.
This commit is contained in:
parent
a6a97d1962
commit
2c5fb79d9e
@ -1,8 +0,0 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public abstract class WriterAbstractItemMeta<M, FA, FB> extends WriterAbstractMeta<ItemMeta, M, FA, FB>
|
||||
{
|
||||
|
||||
}
|
@ -1,11 +1,8 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.massivecraft.massivecore.nms.NmsItemStack;
|
||||
|
||||
|
||||
public abstract class WriterAbstractItemStack<FA, FB> extends WriterAbstract<DataItemStack, ItemStack, DataItemStack, ItemStack, FA, FB>
|
||||
public abstract class WriterAbstractItemStack<OB, CB, FA, FB> extends WriterAbstract<DataItemStack, OB, DataItemStack, CB, FA, FB>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// CREATE
|
||||
@ -17,10 +14,11 @@ public abstract class WriterAbstractItemStack<FA, FB> extends WriterAbstract<Dat
|
||||
return new DataItemStack();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public ItemStack createB()
|
||||
public CB createB()
|
||||
{
|
||||
return NmsItemStack.get().createItemStack();
|
||||
return (CB) NmsItemStack.get().createItemStack();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,10 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
|
||||
|
||||
public abstract class WriterAbstractItemStackField<FA, FB> extends WriterAbstractItemStack<ItemStack, ItemStack, FA, FB>
|
||||
{
|
||||
|
||||
}
|
@ -1,31 +1,35 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public abstract class WriterAbstractItemStackMeta<FA, FB> extends WriterAbstractMeta<ItemStack, ItemMeta, FA, FB>
|
||||
public abstract class WriterAbstractItemStackMeta<OB, CB, FA, FB> extends WriterAbstractItemStack<OB, CB, FA, FB>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// MORPH
|
||||
// FIELDS
|
||||
// -------------------------------------------- //
|
||||
|
||||
private Material material = Material.STONE;
|
||||
public Material getMaterial() { return this.material; }
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setMaterial(Material material)
|
||||
{
|
||||
this.material = material;
|
||||
CB cb = this.createB();
|
||||
this.setClassB((Class<CB>) cb.getClass());
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// CREATE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public ItemMeta morphB(ItemStack ob)
|
||||
public CB createB()
|
||||
{
|
||||
return ob.getItemMeta();
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// WRITE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public void writeInner(DataItemStack oa, ItemStack ob, DataItemStack ca, ItemMeta cb, boolean a2b)
|
||||
{
|
||||
super.writeInner(oa, ob, ca, cb, a2b);
|
||||
|
||||
// Write back the meta
|
||||
if (a2b) ob.setItemMeta(cb);
|
||||
ItemStack itemStack = (ItemStack) super.createB();
|
||||
itemStack.setType(this.getMaterial());
|
||||
return (CB) itemStack.getItemMeta();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,8 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public abstract class WriterAbstractItemStackMetaField<M, FA, FB> extends WriterAbstractItemStackMeta<ItemMeta, M, FA, FB>
|
||||
{
|
||||
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public abstract class WriterAbstractItemStackMetaMorph<FA, FB> extends WriterAbstractItemStackMeta<ItemStack, ItemMeta, FA, FB>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// MORPH
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public ItemMeta morphB(ItemStack ob)
|
||||
{
|
||||
return ob.getItemMeta();
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// WRITE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public void writeInner(DataItemStack oa, ItemStack ob, DataItemStack ca, ItemMeta cb, boolean a2b)
|
||||
{
|
||||
super.writeInner(oa, ob, ca, cb, a2b);
|
||||
|
||||
// Write Back
|
||||
if (a2b) ob.setItemMeta(cb);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.meta.BlockStateMeta;
|
||||
|
||||
public abstract class WriterAbstractItemStackMetaState<OB, CB, FA, FB> extends WriterAbstractItemStackMeta<OB, CB, FA, FB>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// CREATE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public CB createB()
|
||||
{
|
||||
BlockStateMeta blockStateMeta = (BlockStateMeta) super.createB();
|
||||
return (CB) blockStateMeta.getBlockState();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.block.BlockState;
|
||||
|
||||
public abstract class WriterAbstractItemStackMetaStateField<S, FA, FB> extends WriterAbstractItemStackMetaState<BlockState, S, FA, FB>
|
||||
{
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.block.BlockState;
|
||||
import org.bukkit.inventory.meta.BlockStateMeta;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public abstract class WriterAbstractItemStackMetaStateMorph<FA, FB> extends WriterAbstractItemStackMetaState<ItemMeta, BlockState, FA, FB>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// MORPH
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public BlockState morphB(ItemMeta ob)
|
||||
{
|
||||
BlockStateMeta state = (BlockStateMeta)ob;
|
||||
return state.getBlockState();
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// WRITE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public void writeInner(DataItemStack oa, ItemMeta ob, DataItemStack ca, BlockState cb, boolean a2b)
|
||||
{
|
||||
super.writeInner(oa, ob, ca, cb, a2b);
|
||||
|
||||
// Write Back
|
||||
if (a2b)
|
||||
{
|
||||
BlockStateMeta blockStateMeta = (BlockStateMeta)ob;
|
||||
blockStateMeta.setBlockState(cb);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.massivecraft.massivecore.nms.NmsItemStack;
|
||||
|
||||
public abstract class WriterAbstractMeta<OB, CB, FA, FB> extends WriterAbstract<DataItemStack, OB, DataItemStack, CB, FA, FB>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// FIELDS
|
||||
// -------------------------------------------- //
|
||||
|
||||
private Material material = Material.STONE;
|
||||
public Material getMaterial() { return this.material; }
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setMaterial(Material material)
|
||||
{
|
||||
this.material = material;
|
||||
CB cb = this.createB();
|
||||
this.setClassB((Class<CB>) cb.getClass());
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// CREATE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public DataItemStack createA()
|
||||
{
|
||||
return new DataItemStack();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public CB createB()
|
||||
{
|
||||
ItemStack itemStack = NmsItemStack.get().createItemStack();
|
||||
itemStack.setType(this.getMaterial());
|
||||
return (CB) itemStack.getItemMeta();
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
public class WriterItemStack extends WriterAbstractItemStack<Object, Object>
|
||||
public class WriterItemStack extends WriterAbstractItemStackField<Object, Object>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -2,7 +2,7 @@ package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class WriterItemStackCount extends WriterAbstractItemStack<Integer, Integer>
|
||||
public class WriterItemStackCount extends WriterAbstractItemStackField<Integer, Integer>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -2,7 +2,7 @@ package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class WriterItemStackDamage extends WriterAbstractItemStack<Integer, Integer>
|
||||
public class WriterItemStackDamage extends WriterAbstractItemStackField<Integer, Integer>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -2,7 +2,7 @@ package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class WriterItemStackId extends WriterAbstractItemStack<Integer, Integer>
|
||||
public class WriterItemStackId extends WriterAbstractItemStackField<Integer, Integer>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -1,6 +1,6 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
public class WriterItemStackMeta extends WriterAbstractItemStackMeta<Object, Object>
|
||||
public class WriterItemStackMeta extends WriterAbstractItemStackMetaMorph<Object, Object>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
@ -60,17 +60,15 @@ public class WriterItemStackMeta extends WriterAbstractItemStackMeta<Object, Obj
|
||||
// FLAGS
|
||||
WriterItemStackMetaFlags.class,
|
||||
|
||||
// BANNER BASE
|
||||
// BANNER
|
||||
WriterItemStackMetaBannerBase.class,
|
||||
// TODO: Shield?
|
||||
WriterItemStackMetaBannerPatterns.class,
|
||||
|
||||
// BANNER PATTERNS
|
||||
WriterItemStackMetaBannerPatterns.class
|
||||
// TODO
|
||||
// TODO: Shield?
|
||||
// STATE
|
||||
WriterItemStackMetaState.class
|
||||
|
||||
// POTION
|
||||
// TODO
|
||||
// TODO Merge with potion above?
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@ package com.massivecraft.massivecore.item;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.BookMeta;
|
||||
|
||||
public class WriterItemStackMetaAuthor extends WriterAbstractItemMeta<BookMeta, String, String>
|
||||
public class WriterItemStackMetaAuthor extends WriterAbstractItemStackMetaField<BookMeta, String, String>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -4,7 +4,7 @@ import org.bukkit.DyeColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.BannerMeta;
|
||||
|
||||
public class WriterItemStackMetaBannerBase extends WriterAbstractItemMeta<BannerMeta, Integer, DyeColor>
|
||||
public class WriterItemStackMetaBannerBase extends WriterAbstractItemStackMetaField<BannerMeta, Integer, DyeColor>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
@ -15,6 +15,8 @@ public class WriterItemStackMetaBannerBase extends WriterAbstractItemMeta<Banner
|
||||
public WriterItemStackMetaBannerBase()
|
||||
{
|
||||
this.setMaterial(Material.BANNER);
|
||||
this.setConverterTo(ConverterToDyeColor.get());
|
||||
this.setConverterFrom(ConverterFromDyeColor.get());
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
|
@ -6,7 +6,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.block.banner.Pattern;
|
||||
import org.bukkit.inventory.meta.BannerMeta;
|
||||
|
||||
public class WriterItemStackMetaBannerPatterns extends WriterAbstractItemMeta<BannerMeta, List<DataBannerPattern>, List<Pattern>>
|
||||
public class WriterItemStackMetaBannerPatterns extends WriterAbstractItemStackMetaField<BannerMeta, List<DataBannerPattern>, List<Pattern>>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -4,7 +4,7 @@ import org.bukkit.Color;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
|
||||
public class WriterItemStackMetaColor extends WriterAbstractItemMeta<LeatherArmorMeta, Integer, Color>
|
||||
public class WriterItemStackMetaColor extends WriterAbstractItemStackMetaField<LeatherArmorMeta, Integer, Color>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -6,7 +6,7 @@ import java.util.Map.Entry;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public class WriterItemStackMetaEnchants extends WriterAbstractItemMeta<ItemMeta, Map<Integer, Integer>, Map<Enchantment, Integer>>
|
||||
public class WriterItemStackMetaEnchants extends WriterAbstractItemStackMetaField<ItemMeta, Map<Integer, Integer>, Map<Enchantment, Integer>>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -4,7 +4,7 @@ import org.bukkit.FireworkEffect;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.FireworkEffectMeta;
|
||||
|
||||
public class WriterItemStackMetaFireworkEffect extends WriterAbstractItemMeta<FireworkEffectMeta, DataFireworkEffect, FireworkEffect>
|
||||
public class WriterItemStackMetaFireworkEffect extends WriterAbstractItemStackMetaField<FireworkEffectMeta, DataFireworkEffect, FireworkEffect>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -6,7 +6,7 @@ import org.bukkit.FireworkEffect;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.FireworkMeta;
|
||||
|
||||
public class WriterItemStackMetaFireworkEffects extends WriterAbstractItemMeta<FireworkMeta, List<DataFireworkEffect>, List<FireworkEffect>>
|
||||
public class WriterItemStackMetaFireworkEffects extends WriterAbstractItemStackMetaField<FireworkMeta, List<DataFireworkEffect>, List<FireworkEffect>>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -3,7 +3,7 @@ package com.massivecraft.massivecore.item;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.FireworkMeta;
|
||||
|
||||
public class WriterItemStackMetaFireworkFlight extends WriterAbstractItemMeta<FireworkMeta, Integer, Integer>
|
||||
public class WriterItemStackMetaFireworkFlight extends WriterAbstractItemStackMetaField<FireworkMeta, Integer, Integer>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -5,7 +5,7 @@ import java.util.Set;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public class WriterItemStackMetaFlags extends WriterAbstractItemMeta<ItemMeta, Set<String>, Set<ItemFlag>>
|
||||
public class WriterItemStackMetaFlags extends WriterAbstractItemStackMetaField<ItemMeta, Set<String>, Set<ItemFlag>>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -4,7 +4,7 @@ import java.util.List;
|
||||
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public class WriterItemStackMetaLore extends WriterAbstractItemMeta<ItemMeta, List<String>, List<String>>
|
||||
public class WriterItemStackMetaLore extends WriterAbstractItemStackMetaField<ItemMeta, List<String>, List<String>>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -2,7 +2,7 @@ package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public class WriterItemStackMetaName extends WriterAbstractItemMeta<ItemMeta, String, String>
|
||||
public class WriterItemStackMetaName extends WriterAbstractItemStackMetaField<ItemMeta, String, String>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -5,7 +5,7 @@ import java.util.List;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.BookMeta;
|
||||
|
||||
public class WriterItemStackMetaPages extends WriterAbstractItemMeta<BookMeta, List<String>, List<String>>
|
||||
public class WriterItemStackMetaPages extends WriterAbstractItemStackMetaField<BookMeta, List<String>, List<String>>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -6,7 +6,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.PotionMeta;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
|
||||
public class WriterItemStackMetaPotionEffects extends WriterAbstractItemMeta<PotionMeta, List<DataPotionEffect>, List<PotionEffect>>
|
||||
public class WriterItemStackMetaPotionEffects extends WriterAbstractItemStackMetaField<PotionMeta, List<DataPotionEffect>, List<PotionEffect>>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -3,7 +3,7 @@ package com.massivecraft.massivecore.item;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.Repairable;
|
||||
|
||||
public class WriterItemStackMetaRepaircost extends WriterAbstractItemMeta<Repairable, Integer, Integer>
|
||||
public class WriterItemStackMetaRepaircost extends WriterAbstractItemStackMetaField<Repairable, Integer, Integer>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -3,7 +3,7 @@ package com.massivecraft.massivecore.item;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.MapMeta;
|
||||
|
||||
public class WriterItemStackMetaScaling extends WriterAbstractItemMeta<MapMeta, Boolean, Boolean>
|
||||
public class WriterItemStackMetaScaling extends WriterAbstractItemStackMetaField<MapMeta, Boolean, Boolean>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -3,7 +3,7 @@ package com.massivecraft.massivecore.item;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
|
||||
public class WriterItemStackMetaSkull17 extends WriterAbstractItemMeta<SkullMeta, String, String>
|
||||
public class WriterItemStackMetaSkull17 extends WriterAbstractItemStackMetaField<SkullMeta, String, String>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -8,7 +8,7 @@ import org.bukkit.inventory.meta.SkullMeta;
|
||||
import com.massivecraft.massivecore.Couple;
|
||||
import com.massivecraft.massivecore.nms.NmsHead;
|
||||
|
||||
public class WriterItemStackMetaSkull18 extends WriterAbstractItemMeta<SkullMeta, String, String>
|
||||
public class WriterItemStackMetaSkull18 extends WriterAbstractItemStackMetaField<SkullMeta, String, String>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -0,0 +1,29 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
public class WriterItemStackMetaState extends WriterAbstractItemStackMetaStateMorph<Object, Object>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
private static final WriterItemStackMetaState i = new WriterItemStackMetaState();
|
||||
public static WriterItemStackMetaState get() { return i; }
|
||||
|
||||
// -------------------------------------------- //
|
||||
// ACTIVE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public void setActiveInner(boolean active)
|
||||
{
|
||||
if ( ! active) return;
|
||||
this.clearWriters();
|
||||
|
||||
this.addWriters(
|
||||
// SHIELD
|
||||
WriterItemStackMetaStateShieldBase.class,
|
||||
WriterItemStackMetaStateShieldPatterns.class
|
||||
);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Banner;
|
||||
|
||||
public class WriterItemStackMetaStateShieldBase extends WriterAbstractItemStackMetaStateField<Banner, Integer, DyeColor>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
private static final WriterItemStackMetaStateShieldBase i = new WriterItemStackMetaStateShieldBase();
|
||||
public static WriterItemStackMetaStateShieldBase get() { return i; }
|
||||
public WriterItemStackMetaStateShieldBase()
|
||||
{
|
||||
this.setMaterial(Material.SHIELD);
|
||||
this.setConverterTo(ConverterToDyeColor.get());
|
||||
this.setConverterFrom(ConverterFromDyeColor.get());
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// ACCESS
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public Integer getA(DataItemStack ca)
|
||||
{
|
||||
return ca.getBannerBase();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setA(DataItemStack ca, Integer fa)
|
||||
{
|
||||
ca.setBannerBase(fa);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DyeColor getB(Banner cb)
|
||||
{
|
||||
return cb.getBaseColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setB(Banner cb, DyeColor fb)
|
||||
{
|
||||
cb.setBaseColor(fb);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package com.massivecraft.massivecore.item;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Banner;
|
||||
import org.bukkit.block.banner.Pattern;
|
||||
|
||||
public class WriterItemStackMetaStateShieldPatterns extends WriterAbstractItemStackMetaStateField<Banner, List<DataBannerPattern>, List<Pattern>>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
private static final WriterItemStackMetaStateShieldPatterns i = new WriterItemStackMetaStateShieldPatterns();
|
||||
public static WriterItemStackMetaStateShieldPatterns get() { return i; }
|
||||
{
|
||||
this.setMaterial(Material.SHIELD);
|
||||
this.setConverterTo(ConverterToBannerPatterns.get());
|
||||
this.setConverterFrom(ConverterFromBannerPatterns.get());
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// ACCESS
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public List<DataBannerPattern> getA(DataItemStack ca)
|
||||
{
|
||||
return ca.getBannerPatterns();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setA(DataItemStack ca, List<DataBannerPattern> fa)
|
||||
{
|
||||
ca.setBannerPatterns(fa);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Pattern> getB(Banner cb)
|
||||
{
|
||||
return cb.getPatterns();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setB(Banner cb, List<Pattern> fb)
|
||||
{
|
||||
cb.setPatterns(fb);
|
||||
}
|
||||
|
||||
}
|
@ -7,7 +7,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
|
||||
|
||||
public class WriterItemStackMetaStoredEnchants extends WriterAbstractItemMeta<EnchantmentStorageMeta, Map<Integer, Integer>, Map<Enchantment, Integer>>
|
||||
public class WriterItemStackMetaStoredEnchants extends WriterAbstractItemStackMetaField<EnchantmentStorageMeta, Map<Integer, Integer>, Map<Enchantment, Integer>>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -3,7 +3,7 @@ package com.massivecraft.massivecore.item;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.meta.BookMeta;
|
||||
|
||||
public class WriterItemStackMetaTitle extends WriterAbstractItemMeta<BookMeta, String, String>
|
||||
public class WriterItemStackMetaTitle extends WriterAbstractItemStackMetaField<BookMeta, String, String>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
@ -2,7 +2,7 @@ package com.massivecraft.massivecore.item;
|
||||
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public class WriterItemStackMetaUnbreakable extends WriterAbstractItemMeta<ItemMeta, Boolean, Boolean>
|
||||
public class WriterItemStackMetaUnbreakable extends WriterAbstractItemStackMetaField<ItemMeta, Boolean, Boolean>
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE & CONSTRUCT
|
||||
|
Loading…
Reference in New Issue
Block a user