Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. gimmeh a code review on this ``` // Check for three items in the anvil,
  2. ItemStack slotA = event.getInventory().getItem(0);
  3. ItemStack slotB = event.getInventory().getItem(1);
  4. ItemStack slotResult = event.getResult();
  5. if (slotA == null || slotB == null || slotResult == null) {
  6. return;
  7. }
  8. // Neither is enchanted.
  9. if (slotA.getEnchantments().isEmpty() && slotB.getEnchantments().isEmpty()) {
  10. return;
  11. }
  12. int resultLevel = 0;
  13. for (DHEnchantment dhEnchantment : DHEnchantments.all) {
  14. // Both, then A, then B
  15. if (slotA.getEnchantments().containsKey(dhEnchantment) && slotB.getEnchantments().containsKey(dhEnchantment)) {
  16. int aLevel = slotA.getEnchantmentLevel(dhEnchantment);
  17. int bLevel = slotB.getEnchantmentLevel(dhEnchantment);
  18. // If both are the same level, then if they are not.
  19. if (aLevel == bLevel) {
  20. resultLevel = aLevel + 1;
  21. } else {
  22. resultLevel = Math.max(aLevel, bLevel);
  23. }
  24.  
  25. } else if (slotA.getEnchantments().containsKey(dhEnchantment)) {
  26. resultLevel = slotA.getEnchantmentLevel(dhEnchantment);
  27. } else if (slotB.getEnchantments().containsKey(dhEnchantment)) {
  28. resultLevel = slotB.getEnchantmentLevel(dhEnchantment);
  29. } else {
  30. continue;
  31. }
  32. // Check so that it's not higher than the maximum level, if so reset it.
  33. if (resultLevel > dhEnchantment.getMaxLevel()) {
  34. resultLevel = dhEnchantment.getMaxLevel();
  35. }
  36. slotResult.addEnchantment(dhEnchantment, resultLevel);
  37. }
  38. // If it is still = 0, it means that no custom enchants actually ran.
  39. if (resultLevel == 0) {
  40. return;
  41. }
  42. event.getInventory().setMaximumRepairCost(50);
  43. EnchantmentsHandler.getInstance().rebuildMeta(slotResult);
  44. event.setResult(slotResult);```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement