Advertisement
Guest User

ShoppingCartReloaded

a guest
Feb 21st, 2016
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.42 KB | None | 0 0
  1. From cdb798236f7ab52961e47e893d7dbf1c3fd58e62 Mon Sep 17 00:00:00 2001
  2. From: MegaFlary
  3. Date: Tue, 12 Jan 2016 20:24:04 +0300
  4. Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?=
  5. =?UTF-8?q?=D0=BD=D0=B0=20=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=BA?=
  6. =?UTF-8?q?=D0=B0=20=D0=BC=D0=B0=D1=82=D0=B5=D1=80=D0=B8=D0=B0=D0=BB=D0=BE?=
  7. =?UTF-8?q?=D0=B2=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=80=D0=B5=D0=B4=D0=BC?=
  8. =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B2?=
  9. MIME-Version: 1.0
  10. Content-Type: text/plain; charset=UTF-8
  11. Content-Transfer-Encoding: 8bit
  12.  
  13. ---
  14. .../scala/me/limito/bukkit/shopcart/items/CartItemInfo.scala | 10 ++++++++--
  15. .../scala/me/limito/bukkit/shopcart/items/CartItemItem.scala | 5 ++---
  16. 2 files changed, 10 insertions(+), 5 deletions(-)
  17.  
  18. diff --git a/shoppingcart/src/main/scala/me/limito/bukkit/shopcart/items/CartItemInfo.scala b/shoppingcart/src/main/scala/me/limito/bukkit/shopcart/items/CartItemInfo.scala
  19. index 373efcf..0c02730 100644
  20. --- a/shoppingcart/src/main/scala/me/limito/bukkit/shopcart/items/CartItemInfo.scala
  21. +++ b/shoppingcart/src/main/scala/me/limito/bukkit/shopcart/items/CartItemInfo.scala
  22. @@ -3,6 +3,7 @@ package me.limito.bukkit.shopcart.items
  23. import me.limito.bukkit.shopcart.ShoppingCartReloaded
  24. import java.util.logging.Level
  25. import me.limito.bukkit.shopcart.optional.nbt.NBTTag
  26. +import org.bukkit.Material
  27. import scala.collection.mutable
  28. import org.bukkit.enchantments.Enchantment
  29. import scala.util.matching.Regex
  30. @@ -104,9 +105,9 @@ class CartItemInfo(var id: Long,
  31. val Array(main, nameAndLoreString @ _*) = mainAndNameWithLore.split("@", 2)
  32. val nameAndLore = nameAndLoreString.headOption.map(parseNameAndLore)
  33.  
  34. - val Array(id, meta @ _*) = main.split(":", 2)
  35. + val Array(material, meta @ _*) = main.split(":", 2)
  36.  
  37. - new CartItemItem(id.toInt, if (meta.isEmpty) 0 else meta.head.toShort, amount, enchantments, parseNBT, nameAndLore)
  38. + new CartItemItem(parseMaterial(material), if (meta.isEmpty) 0 else meta.head.toShort, amount, enchantments, parseNBT, nameAndLore)
  39. }
  40.  
  41. private def parseNameAndLore(s: String): NameAndLore = {
  42. @@ -116,6 +117,11 @@ class CartItemInfo(var id: Long,
  43. NameAndLore(name, lore)
  44. }
  45.  
  46. + private def parseMaterial(item: String): Material = Material.matchMaterial(item) match {
  47. + case m if m != null => m
  48. + case null => Material.getMaterial(item.toInt)
  49. + }
  50. +
  51. private def deescapeNameAndLore(escaped: String) = escaped.replaceAll("\\\\\\\\", Regex.quoteReplacement("\\")).replaceAll("\\\\@", Regex.quoteReplacement("@"))
  52.  
  53. private def nameAndLoreDelimIndex(nameAndLore: String): Int = {
  54. diff --git a/shoppingcart/src/main/scala/me/limito/bukkit/shopcart/items/CartItemItem.scala b/shoppingcart/src/main/scala/me/limito/bukkit/shopcart/items/CartItemItem.scala
  55. index ad2d5cd..b15fe45 100644
  56. --- a/shoppingcart/src/main/scala/me/limito/bukkit/shopcart/items/CartItemItem.scala
  57. +++ b/shoppingcart/src/main/scala/me/limito/bukkit/shopcart/items/CartItemItem.scala
  58. @@ -12,7 +12,7 @@ import org.bukkit.Material
  59.  
  60. case class NameAndLore(name: String, lore: String)
  61.  
  62. -class CartItemItem(val itemId: Int, val itemMeta: Short, val amount: Int, val enchantments: Array[LeveledEnchantment], val nbtTag: NBTTag, val nameAndLoreOption: Option[NameAndLore]) extends CartItem {
  63. +class CartItemItem(val material: Material, val itemMeta: Short, val amount: Int, val enchantments: Array[LeveledEnchantment], val nbtTag: NBTTag, val nameAndLoreOption: Option[NameAndLore]) extends CartItem {
  64. def giveToPlayer(player: Player):Int = giveToPlayer(player, amount)
  65.  
  66. def giveToPlayer(player: Player, amount: Int):Int = {
  67. @@ -23,7 +23,6 @@ class CartItemItem(val itemId: Int, val itemMeta: Short, val amount: Int, val en
  68. }
  69.  
  70. private def stackToGive: Option[ItemStack] = {
  71. - val material = Material.getMaterial(itemId)
  72. if (material != null) {
  73. val bstack = wrapInCraftStack(new ItemStack(material, 1, itemMeta))
  74. val stack = if (nbtTag != null) ShoppingCartReloaded.instance.nbtHelper.placeTag(nbtTag, bstack) else bstack
  75. @@ -46,7 +45,7 @@ class CartItemItem(val itemId: Int, val itemMeta: Short, val amount: Int, val en
  76. }
  77.  
  78. def getLocalizedName(lang: Lang): String = {
  79. - val name = lang.getItemName(itemId, itemMeta)
  80. + val name = lang.getItemName(material.getId, itemMeta)
  81. if (enchantments != null)
  82. name + " " + lang.formatEnchantments(enchantments)
  83. else
  84. --
  85. 2.7.1.windows.1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement