fixitems.txt 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. event.load("entity_click");
  2. event.load("inv_click");
  3. event.load("inv_close");
  4. arrow_right = read.item("km:arrow_right", 1, "§fConvert");
  5. air_item = read.item("minecraft:air");
  6. msg("dev", "§bFixItems §rloaded.");
  7. @wait
  8. wait();
  9. if(event == "entity_click") {
  10. entity_type = entity.getType(entity);
  11. if(entity_type != "human") {
  12. goto("wait");
  13. }
  14. entity_name = entity.getName(entity);
  15. if(entity_name != "effects and tags\nRemove item") {
  16. goto("wait");
  17. }
  18. inv = inv.new("001020100");
  19. inv.setItem(inv, 1, arrow_right);
  20. inv.open(inv, player, "Remove item effects and tags");
  21. goto("wait");
  22. }
  23. if(event == "inv_close") {
  24. player.safeGiveItem(player, inv.getItem(inv, 0));
  25. player.safeGiveItem(player, inv.getItem(inv, 2));
  26. waitfor(2);
  27. inv.update(player);
  28. goto("wait");
  29. }
  30. if(event == "inv_click") {
  31. if(inv_slot == 1) {
  32. //Ziel-slot muss leer sein
  33. item = inv.getItem(inv, 2);
  34. if(item.getType(item) != "minecraft:air") {
  35. goto("wait");
  36. }
  37. //Quell-slot muss belegt sein
  38. item = inv.getItem(inv, 0);
  39. item_type = item.getType(item);
  40. if(item_type == "minecraft:air") {
  41. goto("wait");
  42. }
  43. //flawless gemstone ignorieren
  44. if(item_type == "km:flawless_gem_stone") {
  45. goto("wait");
  46. }
  47. //potion ignorieren
  48. if(item_type == "minecraft:potion" || item_type == "minecraft:splash_potion" || item_type == "minecraft:lingering_potion") {
  49. goto("wait");
  50. }
  51. //Quell-item kopieren
  52. item_amount = item.getAmount(item);
  53. new_item = read.item(item_type, item_amount);
  54. if(item.isDamageable(new_item)) {
  55. durability = item.getDamage(item);
  56. item.setDamage(new_item, durability);
  57. }
  58. inv.setItem(inv, 0, air_item) ;
  59. inv.setItem(inv, 2, new_item);
  60. inv.update(player);
  61. }
  62. }
  63. goto("wait");