001package fr.aumgn.bukkitutils.itemtype; 002 003import org.bukkit.Material; 004 005public abstract class ItemTypeDataParser { 006 007 /** 008 * Get a data parser for the given material. 009 */ 010 public static ItemTypeDataParser getFor(Material material) { 011 if (material == Material.WOOL) { 012 return new ColorDataParser(false); 013 } 014 015 if (material == Material.INK_SACK) { 016 return new ColorDataParser(true); 017 } 018 019 if (material == Material.WOOD 020 || material == Material.SAPLING 021 || material == Material.LOG 022 || material == Material.LEAVES 023 || material == Material.WOOD_DOUBLE_STEP 024 || material == Material.WOOD_STEP) { 025 return new WoodDataParser(); 026 } 027 028 if (material == Material.DOUBLE_STEP 029 || material == Material.STEP) { 030 return new StepDataParser(); 031 } 032 033 if (material == Material.SMOOTH_BRICK) { 034 return new SmoothBrickDataParser(); 035 } 036 037 if (material == Material.POTION) { 038 return new PotionDataParser(); 039 } 040 041 if (material == Material.MONSTER_EGG) { 042 return new MonsterEggDataParser(); 043 } 044 045 if (material == Material.MONSTER_EGGS) { 046 return new MonsterEggsDataParser(); 047 } 048 049 return null; 050 } 051 052 public abstract Short parse(String token); 053}