Advertisement
Guest User

recipe class

a guest
May 24th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. public class GrinderRecipes
  2. {
  3. private static final GrinderRecipes grindingBase = new GrinderRecipes();
  4. /** The list of grinding results. */
  5. private final Map grindingList = Maps.newHashMap();
  6. private final Map experienceList = Maps.newHashMap();
  7.  
  8. public static GrinderRecipes instance()
  9. {
  10. return grindingBase;
  11. }
  12.  
  13. private GrinderRecipes()
  14. {
  15. addGrindingRecipe(
  16. new ItemStack(Item.getItemFromBlock(Blocks.stonebrick)),
  17. new ItemStack(Item.getItemFromBlock(Blocks.gravel)), 0.7F);
  18. addGrindingRecipe(
  19. new ItemStack(Item.getItemFromBlock(Blocks.stone_slab)),
  20. new ItemStack(Item.getItemFromBlock(Blocks.gravel)), 0.7F);
  21. addGrindingRecipe(
  22. new ItemStack(Item.getItemFromBlock(Blocks.stone_slab2)),
  23. new ItemStack(Item.getItemFromBlock(Blocks.gravel)), 0.7F);
  24. addGrindingRecipe(
  25. new ItemStack(Item.getItemFromBlock(Blocks.stone_stairs)),
  26. new ItemStack(Item.getItemFromBlock(Blocks.gravel)), 0.7F);
  27. }
  28.  
  29. public void addGrindingRecipe(ItemStack parItemStackIn,
  30. ItemStack parItemStackOut, float parExperience)
  31. {
  32. grindingList.put(parItemStackIn, parItemStackOut);
  33. experienceList.put(parItemStackOut, Float.valueOf(parExperience));
  34. }
  35.  
  36. /**
  37. * Returns the grinding result of an item.
  38. */
  39. public ItemStack getGrindingResult(ItemStack parItemStack)
  40. {
  41. Iterator iterator = grindingList.entrySet().iterator();
  42. Entry entry;
  43.  
  44. do
  45. {
  46. if (!iterator.hasNext())
  47. {
  48. return null;
  49. }
  50.  
  51. entry = (Entry)iterator.next();
  52. }
  53. while (!areItemStacksEqual(parItemStack, (ItemStack)entry
  54. .getKey()));
  55.  
  56. return (ItemStack)entry.getValue();
  57. }
  58.  
  59. private boolean areItemStacksEqual(ItemStack parItemStack1,
  60. ItemStack parItemStack2)
  61. {
  62. return parItemStack2.getItem() == parItemStack1.getItem()
  63. && (parItemStack2.getMetadata() == 32767
  64. || parItemStack2.getMetadata() == parItemStack1
  65. .getMetadata());
  66. }
  67.  
  68. public Map getGrindingList()
  69. {
  70. return grindingList;
  71. }
  72.  
  73. public float getGrindingExperience(ItemStack parItemStack)
  74. {
  75. Iterator iterator = experienceList.entrySet().iterator();
  76. Entry entry;
  77.  
  78. do
  79. {
  80. if (!iterator.hasNext())
  81. {
  82. return 0.0F;
  83. }
  84.  
  85. entry = (Entry)iterator.next();
  86. }
  87. while (!areItemStacksEqual(parItemStack,
  88. (ItemStack)entry.getKey()));
  89.  
  90. return ((Float)entry.getValue()).floatValue();
  91. }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement