Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.43 KB | None | 0 0
  1. package hu.mestermc.minecraft;
  2.  
  3. import hu.mestermc.minecraft.mmcitems.ActiveSkin;
  4. import hu.mestermc.minecraft.mmcitems.Configuration;
  5. import hu.mestermc.minecraft.mmcitems.MesterMCItemsPlugin;
  6. import java.util.Arrays;
  7. import java.util.Hashtable;
  8. import java.util.List;
  9. import java.util.concurrent.ExecutionException;
  10. import java.util.logging.Level;
  11. import java.util.logging.Logger;
  12. import org.bukkit.ChatColor;
  13. import org.bukkit.Material;
  14. import org.bukkit.entity.Player;
  15. import org.bukkit.inventory.ItemStack;
  16. import org.bukkit.inventory.meta.ItemMeta;
  17.  
  18. public class CustomItems {
  19. public static final String TYPE_LEGS = "LEGS";
  20. public static final String TYPE_CHESTPLATE = "PLATE";
  21. public static final String TYPE_HELMET = "HELMET";
  22. public static final String TYPE_BOOTS = "BOOTS";
  23. public static final String TYPE_SWORD = "SWORD";
  24.  
  25. public static class Item {
  26. public int id;
  27. public String type;
  28. public String material;
  29. public String name;
  30.  
  31. public Item(int id, String type, String material, String name) {
  32. this.id = id;
  33. this.type = type;
  34. this.material = material;
  35. this.name = name;
  36. }
  37. public Item(int id, String type, String material) {
  38. this.id = id;
  39. this.type = type;
  40. this.material = material;
  41. this.name = "";
  42. }
  43.  
  44.  
  45. public void setName(String name) { this.name = name; }
  46.  
  47.  
  48.  
  49. public void setMaterial(String material) { this.material = material; }
  50.  
  51.  
  52.  
  53. public int getId() { return this.id; }
  54. }
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65. public static final List<String> validTypes = Arrays.asList(new String[] { "SWORD" });
  66.  
  67.  
  68. public static final List<Item> customizedItems = Arrays.asList(new Item[] {
  69. new Item('?', "SWORD", "WOOD"), new Item('?', "SWORD", "WOOD"), new Item('?', "SWORD", "STONE"), new Item('?', "SWORD", "IRON"), new Item('?', "SWORD", "GOLD"), new Item('?', "SWORD", "EMERALD"), new Item('?', "SWORD", "STONE"), new Item('?', "SWORD", "STONE"), new Item('?', "SWORD", "IRON"), new Item('?', "SWORD", "EMERALD"),
  70. new Item('?', "SWORD", "GOLD"), new Item('?', "SWORD", "GOLD"), new Item('?', "SWORD", "WOOD"), new Item('?', "SWORD", "STONE"), new Item('?', "SWORD", "IRON"), new Item('?', "SWORD", "GOLD"), new Item('?', "SWORD", "EMERALD"), new Item('?', "SWORD", "EMERALD"), new Item('?', "SWORD", "IRON"), new Item('?', "SWORD", "EMERALD"),
  71. new Item('?', "SWORD", "EMERALD"), new Item('?', "SWORD", "IRON"), new Item('?', "SWORD", "STONE"), new Item('?', "SWORD", "STONE"), new Item('?', "SWORD", "GOLD"), new Item('?', "SWORD", "IRON"), new Item('?', "SWORD", "STONE"), new Item('?', "SWORD", "WOOD"), new Item('?', "SWORD", "EMERALD"), new Item('?', "SWORD", "IRON") });
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105. public static final Hashtable<String, Item> getItemMapping() {
  106. result = new Hashtable();
  107.  
  108. for (Item item : customizedItems) {
  109. result.put("" + item.id, item);
  110. }
  111.  
  112. return result;
  113. }
  114.  
  115.  
  116.  
  117. public static final void initItemNames(MesterMCItemsPlugin plugin) {
  118. for (Item i : customizedItems) {
  119. i.setName(plugin.getConfig().getString("mcit.NAMES." + i.getId()));
  120. }
  121. }
  122.  
  123.  
  124.  
  125.  
  126. public static final void initItemDiamondMaterial(MesterMCItemsPlugin plugin) {
  127. for (Item i : customizedItems) {
  128. if (i.material.equalsIgnoreCase("EMERALD")) {
  129. i.setMaterial("DIAMOND");
  130. }
  131. }
  132. }
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246. public static final Material getMaterial(ItemStack item) {
  247. if (isBrutalItem(item)) {
  248. int id = item.getTypeId();
  249.  
  250. for (Item tempItem : customizedItems) {
  251. if (tempItem.id == id) {
  252. if (tempItem.material.contains("WOOD")) {
  253. return Material.WOOD_SWORD;
  254. }
  255. if (tempItem.material.contains("STONE")) {
  256. return Material.STONE_SWORD;
  257. }
  258. if (tempItem.material.contains("IRON")) {
  259. return Material.IRON_SWORD;
  260. }
  261. if (tempItem.material.contains("GOLD")) {
  262. return Material.GOLD_SWORD;
  263. }
  264. if (tempItem.material.contains("DIAMOND")) {
  265. return Material.DIAMOND_SWORD;
  266. }
  267.  
  268. return Material.getMaterial(tempItem.material);
  269. }
  270. }
  271. }
  272.  
  273. return item.getType();
  274. }
  275.  
  276. public static final ItemStack getOriginItem(ItemStack item) {
  277. if (isBrutalItem(item)) {
  278. Material material = getMaterial(item);
  279.  
  280. ItemStack newStack = new ItemStack(material);
  281.  
  282. newStack.addEnchantments(item.getEnchantments());
  283. newStack.setDurability(item.getDurability());
  284. newStack.setAmount(item.getAmount());
  285. return newStack;
  286. }
  287.  
  288. return item;
  289. }
  290.  
  291. public static final boolean isBrutalItem(ItemStack item) {
  292. if (item != null &&
  293. item.getData() != null &&
  294. item.getData().toString().contains("MMC_ITEM")) {
  295. return true;
  296. }
  297.  
  298.  
  299.  
  300. return false;
  301. }
  302.  
  303. public static final String getDisplayName(int id) {
  304. Item item = getItem(id);
  305. if (item.name.indexOf(":") != -1) {
  306. return "" + item.name.substring(item.name.indexOf(":") + 2);
  307. }
  308.  
  309. return "" + item.name;
  310. }
  311.  
  312.  
  313.  
  314.  
  315. public static Item getItem(int id) {
  316. for (int i = 0; i < customizedItems.size(); i++) {
  317. if (((Item)customizedItems.get(i)).id == id) {
  318. return (Item)customizedItems.get(i);
  319. }
  320. }
  321.  
  322. return null;
  323. }
  324.  
  325. public static Item getItem(ItemStack item) {
  326. if (item != null &&
  327. item.hasItemMeta() &&
  328. item.getItemMeta().hasDisplayName()) {
  329. for (int i = 0; i < customizedItems.size(); i++) {
  330.  
  331. if (((Item)customizedItems.get(i)).name.contains(ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&', item.getItemMeta().getDisplayName())))) {
  332. return (Item)customizedItems.get(i);
  333. }
  334. }
  335. }
  336.  
  337.  
  338.  
  339. return null;
  340. }
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398. public static Item getItem(Player player, String[] name) { // Byte code:
  399. // 0: new java/util/ArrayList
  400. // 3: dup
  401. // 4: invokespecial <init> : ()V
  402. // 7: astore_2
  403. // 8: aload_1
  404. // 9: iconst_0
  405. // 10: aaload
  406. // 11: ldc 'fegyverek'
  407. // 13: invokevirtual equalsIgnoreCase : (Ljava/lang/String;)Z
  408. // 16: ifne -> 63
  409. // 19: aload_1
  410. // 20: iconst_0
  411. // 21: aaload
  412. // 22: ldc 'all'
  413. // 24: invokevirtual equalsIgnoreCase : (Ljava/lang/String;)Z
  414. // 27: ifne -> 63
  415. // 30: aload_1
  416. // 31: iconst_0
  417. // 32: aaload
  418. // 33: ldc 'lista'
  419. // 35: invokevirtual equalsIgnoreCase : (Ljava/lang/String;)Z
  420. // 38: ifne -> 63
  421. // 41: aload_1
  422. // 42: iconst_0
  423. // 43: aaload
  424. // 44: ldc 'kin�zetek'
  425. // 46: invokevirtual equalsIgnoreCase : (Ljava/lang/String;)Z
  426. // 49: ifne -> 63
  427. // 52: aload_1
  428. // 53: iconst_0
  429. // 54: aaload
  430. // 55: ldc 'kinezetek'
  431. // 57: invokevirtual equalsIgnoreCase : (Ljava/lang/String;)Z
  432. // 60: ifeq -> 314
  433. // 63: ldc ''
  434. // 65: astore_3
  435. // 66: getstatic hu/mestermc/minecraft/mmcitems/Configuration.plugin : Lhu/mestermc/minecraft/mmcitems/MesterMCItemsPlugin;
  436. // 69: getfield config : Lhu/mestermc/minecraft/mmcitems/Configuration;
  437. // 72: getfield playerItemsCache : Lcom/google/common/cache/LoadingCache;
  438. // 75: aload_0
  439. // 76: invokeinterface getName : ()Ljava/lang/String;
  440. // 81: invokeinterface get : (Ljava/lang/Object;)Ljava/lang/Object;
  441. // 86: checkcast java/util/List
  442. // 89: astore #4
  443. // 91: iconst_0
  444. // 92: istore #5
  445. // 94: iload #5
  446. // 96: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  447. // 99: invokeinterface size : ()I
  448. // 104: if_icmpge -> 261
  449. // 107: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  450. // 110: iload #5
  451. // 112: invokeinterface get : (I)Ljava/lang/Object;
  452. // 117: ifnull -> 255
  453. // 120: aload #4
  454. // 122: new java/lang/StringBuilder
  455. // 125: dup
  456. // 126: invokespecial <init> : ()V
  457. // 129: ldc ''
  458. // 131: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  459. // 134: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  460. // 137: iload #5
  461. // 139: invokeinterface get : (I)Ljava/lang/Object;
  462. // 144: checkcast hu/mestermc/minecraft/CustomItems$Item
  463. // 147: getfield id : I
  464. // 150: invokevirtual append : (I)Ljava/lang/StringBuilder;
  465. // 153: invokevirtual toString : ()Ljava/lang/String;
  466. // 156: invokeinterface contains : (Ljava/lang/Object;)Z
  467. // 161: ifeq -> 211
  468. // 164: new java/lang/StringBuilder
  469. // 167: dup
  470. // 168: invokespecial <init> : ()V
  471. // 171: aload_3
  472. // 172: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  473. // 175: ldc ' - �2'
  474. // 177: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  475. // 180: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  476. // 183: iload #5
  477. // 185: invokeinterface get : (I)Ljava/lang/Object;
  478. // 190: checkcast hu/mestermc/minecraft/CustomItems$Item
  479. // 193: getfield name : Ljava/lang/String;
  480. // 196: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  481. // 199: ldc '�r\\n'
  482. // 201: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  483. // 204: invokevirtual toString : ()Ljava/lang/String;
  484. // 207: astore_3
  485. // 208: goto -> 255
  486. // 211: new java/lang/StringBuilder
  487. // 214: dup
  488. // 215: invokespecial <init> : ()V
  489. // 218: aload_3
  490. // 219: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  491. // 222: ldc ' - �4'
  492. // 224: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  493. // 227: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  494. // 230: iload #5
  495. // 232: invokeinterface get : (I)Ljava/lang/Object;
  496. // 237: checkcast hu/mestermc/minecraft/CustomItems$Item
  497. // 240: getfield name : Ljava/lang/String;
  498. // 243: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  499. // 246: ldc '�r\\n'
  500. // 248: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  501. // 251: invokevirtual toString : ()Ljava/lang/String;
  502. // 254: astore_3
  503. // 255: iinc #5, 1
  504. // 258: goto -> 94
  505. // 261: goto -> 282
  506. // 264: astore #4
  507. // 266: getstatic hu/mestermc/minecraft/mmcitems/Configuration.plugin : Lhu/mestermc/minecraft/mmcitems/MesterMCItemsPlugin;
  508. // 269: invokevirtual getLogger : ()Ljava/util/logging/Logger;
  509. // 272: getstatic java/util/logging/Level.SEVERE : Ljava/util/logging/Level;
  510. // 275: ldc 'error loading item cache'
  511. // 277: aload #4
  512. // 279: invokevirtual log : (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
  513. // 282: aload_0
  514. // 283: new java/lang/StringBuilder
  515. // 286: dup
  516. // 287: invokespecial <init> : ()V
  517. // 290: ldc '\\n===========================================\\nBrutal itemek list�ja:\\n'
  518. // 292: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  519. // 295: aload_3
  520. // 296: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  521. // 299: ldc '===========================================\\n'
  522. // 301: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  523. // 304: invokevirtual toString : ()Ljava/lang/String;
  524. // 307: invokeinterface sendMessage : (Ljava/lang/String;)V
  525. // 312: aconst_null
  526. // 313: areturn
  527. // 314: ldc ''
  528. // 316: astore_3
  529. // 317: aload_1
  530. // 318: astore #4
  531. // 320: aload #4
  532. // 322: arraylength
  533. // 323: istore #5
  534. // 325: iconst_0
  535. // 326: istore #6
  536. // 328: iload #6
  537. // 330: iload #5
  538. // 332: if_icmpge -> 373
  539. // 335: aload #4
  540. // 337: iload #6
  541. // 339: aaload
  542. // 340: astore #7
  543. // 342: new java/lang/StringBuilder
  544. // 345: dup
  545. // 346: invokespecial <init> : ()V
  546. // 349: aload_3
  547. // 350: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  548. // 353: aload #7
  549. // 355: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  550. // 358: ldc ' '
  551. // 360: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  552. // 363: invokevirtual toString : ()Ljava/lang/String;
  553. // 366: astore_3
  554. // 367: iinc #6, 1
  555. // 370: goto -> 328
  556. // 373: iconst_0
  557. // 374: istore #4
  558. // 376: iload #4
  559. // 378: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  560. // 381: invokeinterface size : ()I
  561. // 386: if_icmpge -> 458
  562. // 389: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  563. // 392: iload #4
  564. // 394: invokeinterface get : (I)Ljava/lang/Object;
  565. // 399: ifnull -> 452
  566. // 402: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  567. // 405: iload #4
  568. // 407: invokeinterface get : (I)Ljava/lang/Object;
  569. // 412: checkcast hu/mestermc/minecraft/CustomItems$Item
  570. // 415: getfield name : Ljava/lang/String;
  571. // 418: invokevirtual toLowerCase : ()Ljava/lang/String;
  572. // 421: invokevirtual trim : ()Ljava/lang/String;
  573. // 424: aload_3
  574. // 425: invokevirtual toLowerCase : ()Ljava/lang/String;
  575. // 428: invokevirtual trim : ()Ljava/lang/String;
  576. // 431: invokevirtual contains : (Ljava/lang/CharSequence;)Z
  577. // 434: ifeq -> 452
  578. // 437: aload_2
  579. // 438: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  580. // 441: iload #4
  581. // 443: invokeinterface get : (I)Ljava/lang/Object;
  582. // 448: invokevirtual add : (Ljava/lang/Object;)Z
  583. // 451: pop
  584. // 452: iinc #4, 1
  585. // 455: goto -> 376
  586. // 458: aload_2
  587. // 459: invokevirtual size : ()I
  588. // 462: iconst_1
  589. // 463: if_icmpne -> 483
  590. // 466: aload_2
  591. // 467: iconst_0
  592. // 468: invokevirtual get : (I)Ljava/lang/Object;
  593. // 471: ifnull -> 952
  594. // 474: aload_2
  595. // 475: iconst_0
  596. // 476: invokevirtual get : (I)Ljava/lang/Object;
  597. // 479: checkcast hu/mestermc/minecraft/CustomItems$Item
  598. // 482: areturn
  599. // 483: aload_2
  600. // 484: invokevirtual clear : ()V
  601. // 487: iconst_0
  602. // 488: istore #4
  603. // 490: iload #4
  604. // 492: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  605. // 495: invokeinterface size : ()I
  606. // 500: if_icmpge -> 643
  607. // 503: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  608. // 506: iload #4
  609. // 508: invokeinterface get : (I)Ljava/lang/Object;
  610. // 513: ifnull -> 637
  611. // 516: iconst_0
  612. // 517: istore #5
  613. // 519: iload #5
  614. // 521: aload_1
  615. // 522: arraylength
  616. // 523: if_icmpge -> 637
  617. // 526: aload_1
  618. // 527: iload #5
  619. // 529: aaload
  620. // 530: invokevirtual isEmpty : ()Z
  621. // 533: ifne -> 631
  622. // 536: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  623. // 539: iload #4
  624. // 541: invokeinterface get : (I)Ljava/lang/Object;
  625. // 546: checkcast hu/mestermc/minecraft/CustomItems$Item
  626. // 549: getfield name : Ljava/lang/String;
  627. // 552: invokevirtual toLowerCase : ()Ljava/lang/String;
  628. // 555: aload_1
  629. // 556: iload #5
  630. // 558: aaload
  631. // 559: invokevirtual toLowerCase : ()Ljava/lang/String;
  632. // 562: invokevirtual contains : (Ljava/lang/CharSequence;)Z
  633. // 565: ifeq -> 631
  634. // 568: aload_0
  635. // 569: invokeinterface getInventory : ()Lorg/bukkit/inventory/PlayerInventory;
  636. // 574: invokeinterface getItemInHand : ()Lorg/bukkit/inventory/ItemStack;
  637. // 579: invokevirtual getType : ()Lorg/bukkit/Material;
  638. // 582: invokevirtual toString : ()Ljava/lang/String;
  639. // 585: invokevirtual toUpperCase : ()Ljava/lang/String;
  640. // 588: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  641. // 591: iload #4
  642. // 593: invokeinterface get : (I)Ljava/lang/Object;
  643. // 598: checkcast hu/mestermc/minecraft/CustomItems$Item
  644. // 601: getfield material : Ljava/lang/String;
  645. // 604: invokevirtual toUpperCase : ()Ljava/lang/String;
  646. // 607: invokevirtual contains : (Ljava/lang/CharSequence;)Z
  647. // 610: ifeq -> 637
  648. // 613: aload_2
  649. // 614: getstatic hu/mestermc/minecraft/CustomItems.customizedItems : Ljava/util/List;
  650. // 617: iload #4
  651. // 619: invokeinterface get : (I)Ljava/lang/Object;
  652. // 624: invokevirtual add : (Ljava/lang/Object;)Z
  653. // 627: pop
  654. // 628: goto -> 637
  655. // 631: iinc #5, 1
  656. // 634: goto -> 519
  657. // 637: iinc #4, 1
  658. // 640: goto -> 490
  659. // 643: aload_2
  660. // 644: invokevirtual size : ()I
  661. // 647: iconst_1
  662. // 648: if_icmpne -> 668
  663. // 651: aload_2
  664. // 652: iconst_0
  665. // 653: invokevirtual get : (I)Ljava/lang/Object;
  666. // 656: ifnull -> 952
  667. // 659: aload_2
  668. // 660: iconst_0
  669. // 661: invokevirtual get : (I)Ljava/lang/Object;
  670. // 664: checkcast hu/mestermc/minecraft/CustomItems$Item
  671. // 667: areturn
  672. // 668: aload_2
  673. // 669: invokevirtual size : ()I
  674. // 672: iconst_1
  675. // 673: if_icmple -> 952
  676. // 676: ldc ''
  677. // 678: astore #4
  678. // 680: getstatic hu/mestermc/minecraft/mmcitems/Configuration.plugin : Lhu/mestermc/minecraft/mmcitems/MesterMCItemsPlugin;
  679. // 683: getfield config : Lhu/mestermc/minecraft/mmcitems/Configuration;
  680. // 686: getfield playerItemsCache : Lcom/google/common/cache/LoadingCache;
  681. // 689: aload_0
  682. // 690: invokeinterface getName : ()Ljava/lang/String;
  683. // 695: invokeinterface get : (Ljava/lang/Object;)Ljava/lang/Object;
  684. // 700: checkcast java/util/List
  685. // 703: astore #5
  686. // 705: iconst_0
  687. // 706: istore #6
  688. // 708: iload #6
  689. // 710: aload_2
  690. // 711: invokevirtual size : ()I
  691. // 714: if_icmpge -> 900
  692. // 717: aload_2
  693. // 718: iload #6
  694. // 720: invokevirtual get : (I)Ljava/lang/Object;
  695. // 723: ifnull -> 894
  696. // 726: aload_0
  697. // 727: invokeinterface getInventory : ()Lorg/bukkit/inventory/PlayerInventory;
  698. // 732: invokeinterface getItemInHand : ()Lorg/bukkit/inventory/ItemStack;
  699. // 737: invokevirtual getType : ()Lorg/bukkit/Material;
  700. // 740: invokevirtual toString : ()Ljava/lang/String;
  701. // 743: invokevirtual toUpperCase : ()Ljava/lang/String;
  702. // 746: aload_2
  703. // 747: iload #6
  704. // 749: invokevirtual get : (I)Ljava/lang/Object;
  705. // 752: checkcast hu/mestermc/minecraft/CustomItems$Item
  706. // 755: getfield material : Ljava/lang/String;
  707. // 758: invokevirtual toUpperCase : ()Ljava/lang/String;
  708. // 761: invokevirtual contains : (Ljava/lang/CharSequence;)Z
  709. // 764: ifeq -> 894
  710. // 767: aload #5
  711. // 769: new java/lang/StringBuilder
  712. // 772: dup
  713. // 773: invokespecial <init> : ()V
  714. // 776: ldc ''
  715. // 778: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  716. // 781: aload_2
  717. // 782: iload #6
  718. // 784: invokevirtual get : (I)Ljava/lang/Object;
  719. // 787: checkcast hu/mestermc/minecraft/CustomItems$Item
  720. // 790: getfield id : I
  721. // 793: invokevirtual append : (I)Ljava/lang/StringBuilder;
  722. // 796: invokevirtual toString : ()Ljava/lang/String;
  723. // 799: invokeinterface contains : (Ljava/lang/Object;)Z
  724. // 804: ifeq -> 852
  725. // 807: new java/lang/StringBuilder
  726. // 810: dup
  727. // 811: invokespecial <init> : ()V
  728. // 814: aload #4
  729. // 816: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  730. // 819: ldc ' - �2'
  731. // 821: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  732. // 824: aload_2
  733. // 825: iload #6
  734. // 827: invokevirtual get : (I)Ljava/lang/Object;
  735. // 830: checkcast hu/mestermc/minecraft/CustomItems$Item
  736. // 833: getfield name : Ljava/lang/String;
  737. // 836: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  738. // 839: ldc '�r\\n'
  739. // 841: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  740. // 844: invokevirtual toString : ()Ljava/lang/String;
  741. // 847: astore #4
  742. // 849: goto -> 894
  743. // 852: new java/lang/StringBuilder
  744. // 855: dup
  745. // 856: invokespecial <init> : ()V
  746. // 859: aload #4
  747. // 861: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  748. // 864: ldc ' - �4'
  749. // 866: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  750. // 869: aload_2
  751. // 870: iload #6
  752. // 872: invokevirtual get : (I)Ljava/lang/Object;
  753. // 875: checkcast hu/mestermc/minecraft/CustomItems$Item
  754. // 878: getfield name : Ljava/lang/String;
  755. // 881: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  756. // 884: ldc '�r\\n'
  757. // 886: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  758. // 889: invokevirtual toString : ()Ljava/lang/String;
  759. // 892: astore #4
  760. // 894: iinc #6, 1
  761. // 897: goto -> 708
  762. // 900: goto -> 921
  763. // 903: astore #5
  764. // 905: getstatic hu/mestermc/minecraft/mmcitems/Configuration.plugin : Lhu/mestermc/minecraft/mmcitems/MesterMCItemsPlugin;
  765. // 908: invokevirtual getLogger : ()Ljava/util/logging/Logger;
  766. // 911: getstatic java/util/logging/Level.SEVERE : Ljava/util/logging/Level;
  767. // 914: ldc 'error loading item cache'
  768. // 916: aload #5
  769. // 918: invokevirtual log : (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
  770. // 921: aload_0
  771. // 922: new java/lang/StringBuilder
  772. // 925: dup
  773. // 926: invokespecial <init> : ()V
  774. // 929: ldc '\\n===========================================\\nEzek a kin�zetek el�rhet?ek erre a fegyverre:\\n'
  775. // 931: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  776. // 934: aload #4
  777. // 936: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  778. // 939: ldc '===========================================\\n'
  779. // 941: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder;
  780. // 944: invokevirtual toString : ()Ljava/lang/String;
  781. // 947: invokeinterface sendMessage : (Ljava/lang/String;)V
  782. // 952: aconst_null
  783. // 953: areturn
  784. // Line number table:
  785. // Java source line number -> byte code offset
  786. // #344 -> 0
  787. // #347 -> 8
  788. // #348 -> 46
  789. // #349 -> 63
  790. // #351 -> 66
  791. // #353 -> 91
  792. // #354 -> 107
  793. // #356 -> 120
  794. // #357 -> 164
  795. // #359 -> 211
  796. // #353 -> 255
  797. // #365 -> 261
  798. // #363 -> 264
  799. // #364 -> 266
  800. // #367 -> 282
  801. // #371 -> 312
  802. // #374 -> 314
  803. // #375 -> 317
  804. // #376 -> 342
  805. // #375 -> 367
  806. // #380 -> 373
  807. // #381 -> 389
  808. // #382 -> 402
  809. // #383 -> 437
  810. // #380 -> 452
  811. // #388 -> 458
  812. // #390 -> 466
  813. // #391 -> 474
  814. // #395 -> 483
  815. // #397 -> 487
  816. // #398 -> 503
  817. // #399 -> 516
  818. // #401 -> 526
  819. // #405 -> 536
  820. // #407 -> 568
  821. // #408 -> 613
  822. // #399 -> 631
  823. // #397 -> 637
  824. // #418 -> 643
  825. // #420 -> 651
  826. // #421 -> 659
  827. // #424 -> 668
  828. // #425 -> 676
  829. // #427 -> 680
  830. // #429 -> 705
  831. // #430 -> 717
  832. // #433 -> 726
  833. // #434 -> 767
  834. // #435 -> 807
  835. // #437 -> 852
  836. // #429 -> 894
  837. // #444 -> 900
  838. // #442 -> 903
  839. // #443 -> 905
  840. // #446 -> 921
  841. // #453 -> 952
  842. // Local variable table:
  843. // start length slot name descriptor
  844. // 94 167 5 i I
  845. // 91 170 4 enabledItems Ljava/util/List;
  846. // 266 16 4 ex Ljava/util/concurrent/ExecutionException;
  847. // 66 248 3 skinek Ljava/lang/String;
  848. // 342 25 7 s Ljava/lang/String;
  849. // 376 82 4 i I
  850. // 519 118 5 j I
  851. // 490 153 4 i I
  852. // 708 192 6 i I
  853. // 705 195 5 enabledItems Ljava/util/List;
  854. // 905 16 5 ex Ljava/util/concurrent/ExecutionException;
  855. // 680 272 4 skinek Ljava/lang/String;
  856. // 0 954 0 player Lorg/bukkit/entity/Player;
  857. // 0 954 1 name [Ljava/lang/String;
  858. // 8 946 2 result Ljava/util/ArrayList;
  859. // 317 637 3 fullName Ljava/lang/String;
  860. // Local variable type table:
  861. // start length slot name signature
  862. // 91 170 4 enabledItems Ljava/util/List<Ljava/lang/String;>;
  863. // 705 195 5 enabledItems Ljava/util/List<Ljava/lang/String;>;
  864. // 8 946 2 result Ljava/util/ArrayList<Lhu/mestermc/minecraft/CustomItems$Item;>;
  865. // Exception table:
  866. // from to target type
  867. // 66 261 264 java/util/concurrent/ExecutionException
  868. // 680 900 903 java/util/concurrent/ExecutionException }
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926. public static String itemMessage(String oldItem, String newItem) {
  927. if (!oldItem.contains(newItem) || !oldItem.endsWith("SWORD")) {
  928. if (newItem.equalsIgnoreCase("WOOD"))
  929. {
  930. return Configuration.plugin.config.translate("message.wood_skin");
  931. }
  932. if (newItem.equalsIgnoreCase("STONE"))
  933. {
  934. return Configuration.plugin.config.translate("message.stone_skin");
  935. }
  936. if (newItem.equalsIgnoreCase("IRON"))
  937. {
  938. return Configuration.plugin.config.translate("message.iron_skin");
  939. }
  940. if (newItem.equalsIgnoreCase("GOLD"))
  941. {
  942. return Configuration.plugin.config.translate("message.gold_skin");
  943. }
  944. if (newItem.equalsIgnoreCase("DIAMOND"))
  945. {
  946. return Configuration.plugin.config.translate("message.diamond_skin");
  947. }
  948.  
  949. return "Valami nem okes.";
  950. }
  951.  
  952.  
  953. return Configuration.plugin.config.translate("message.success");
  954. }
  955.  
  956. public static void setActiveSkin(Player p, ItemStack item) {
  957. if (item != null) {
  958. if (item.hasItemMeta()) {
  959. if (isBrutalItem(item)) {
  960. ActiveSkin skin = (ActiveSkin)MesterMCItemsPlugin.players.get(p.getUniqueId());
  961. if (skin != null) {
  962. try {
  963. List<String> enabledItems = (List)Configuration.plugin.config.playerItemsCache.get(p.getName());
  964.  
  965. if (enabledItems.contains("" + (getItem(item)).id)) {
  966.  
  967. if (getMaterial(item).equals(Material.WOOD_SWORD)) {
  968. skin.setActiveWoodenSkin(getItem(item));
  969. p.sendMessage("Aktivv� tetted ezt a kin�zetet: " + (skin.getActiveWoodenSkin()).name);
  970.  
  971. }
  972. else if (getMaterial(item).equals(Material.STONE_SWORD)) {
  973. skin.setActiveStoneSkin(getItem(item));
  974. p.sendMessage("Aktivv� tetted ezt a kin�zetet: " + (skin.getActiveStoneSkin()).name);
  975.  
  976. }
  977. else if (getMaterial(item).equals(Material.IRON_SWORD)) {
  978. skin.setActiveIronSkin(getItem(item));
  979. p.sendMessage("Aktivv� tetted ezt a kin�zetet: " + (skin.getActiveIronSkin()).name);
  980.  
  981. }
  982. else if (getMaterial(item).equals(Material.GOLD_SWORD)) {
  983. skin.setActiveGoldSkin(getItem(item));
  984. p.sendMessage("Aktivv� tetted ezt a kin�zetet: " + (skin.getActiveGoldSkin()).name);
  985.  
  986. }
  987. else if (getMaterial(item).equals(Material.DIAMOND_SWORD)) {
  988. skin.setActiveDiamondSkin(getItem(item));
  989. p.sendMessage("Aktivv� tetted ezt a kin�zetet: " + (skin.getActiveDiamondSkin()).name);
  990. }
  991. } else {
  992. p.sendMessage("El�sz�r meg kell venned a kin�zetet a �9�nhttp://banyakozpont.mestermc.hu �0�roldal�n!");
  993. }
  994. } catch (ExecutionException ex) {
  995. Logger.getLogger(hu.mestermc.minecraft.mmcitems.Question.class.getName()).log(Level.SEVERE, null, ex);
  996. }
  997. }
  998. } else {
  999. p.sendMessage("Csak Brut�l kin�zet� kardot lehet akt�v kin�zett� tenni!");
  1000. }
  1001. }
  1002. } else {
  1003.  
  1004. p.sendMessage("Vegy�l a kezedbe egy Brut�l kardot!");
  1005. }
  1006. }
  1007.  
  1008.  
  1009.  
  1010.  
  1011. public static ItemStack checkForActiveSkin(Player p, ItemStack item) {
  1012. if (item != null) {
  1013.  
  1014. try {
  1015.  
  1016. List<String> enabledItems = (List)Configuration.plugin.config.playerItemsCache.get(p.getName());
  1017.  
  1018. ActiveSkin skin = (ActiveSkin)MesterMCItemsPlugin.players.get(p.getUniqueId());
  1019. if (skin == null) {
  1020. return null;
  1021. }
  1022.  
  1023. if (item.getType().name().toUpperCase().equalsIgnoreCase(Material.WOOD_SWORD.name())) {
  1024. if (skin.getActiveWoodenSkin() != null) {
  1025. for (int i = 0; i < customizedItems.size(); i++) {
  1026. if (enabledItems.contains("" + (skin.getActiveWoodenSkin()).id)) {
  1027. return getActiveSkinItemStack(item, skin.getActiveWoodenSkin());
  1028. }
  1029. }
  1030.  
  1031. }
  1032. } else if (item.getType().name().toUpperCase().equalsIgnoreCase(Material.STONE_SWORD.name())) {
  1033. if (skin.getActiveStoneSkin() != null) {
  1034. for (int i = 0; i < customizedItems.size(); i++) {
  1035. if (enabledItems.contains("" + (skin.getActiveStoneSkin()).id)) {
  1036. return getActiveSkinItemStack(item, skin.getActiveStoneSkin());
  1037. }
  1038. }
  1039.  
  1040. }
  1041. } else if (item.getType().name().toUpperCase().equalsIgnoreCase(Material.IRON_SWORD.name())) {
  1042. if (skin.getActiveIronSkin() != null) {
  1043. for (int i = 0; i < customizedItems.size(); i++) {
  1044. if (enabledItems.contains("" + (skin.getActiveIronSkin()).id)) {
  1045. return getActiveSkinItemStack(item, skin.getActiveIronSkin());
  1046. }
  1047. }
  1048.  
  1049. }
  1050. } else if (item.getType().name().toUpperCase().equalsIgnoreCase(Material.GOLD_SWORD.name())) {
  1051. if (skin.getActiveGoldSkin() != null) {
  1052. for (int i = 0; i < customizedItems.size(); i++) {
  1053. if (enabledItems.contains("" + (skin.getActiveGoldSkin()).id)) {
  1054. return getActiveSkinItemStack(item, skin.getActiveGoldSkin());
  1055. }
  1056. }
  1057.  
  1058. }
  1059. } else if (item.getType().name().toUpperCase().equalsIgnoreCase(Material.DIAMOND_SWORD.name()) &&
  1060. skin.getActiveDiamondSkin() != null) {
  1061. for (int i = 0; i < customizedItems.size(); i++) {
  1062. if (enabledItems.contains("" + (skin.getActiveDiamondSkin()).id)) {
  1063. return getActiveSkinItemStack(item, skin.getActiveDiamondSkin());
  1064. }
  1065. }
  1066.  
  1067. }
  1068. } catch (ExecutionException ex) {
  1069. Logger.getLogger(hu.mestermc.minecraft.mmcitems.Question.class.getName()).log(Level.SEVERE, null, ex);
  1070. }
  1071. }
  1072.  
  1073.  
  1074. return null;
  1075. }
  1076.  
  1077. public static ItemStack getActiveSkinItemStack(ItemStack item, Item skin) {
  1078. ItemStack newStack = new ItemStack(skin.id, true);
  1079. newStack.setItemMeta(item.getItemMeta());
  1080.  
  1081. ItemMeta im = newStack.getItemMeta();
  1082.  
  1083. im.setDisplayName(skin.name);
  1084.  
  1085. newStack.setItemMeta(im);
  1086.  
  1087. newStack.addEnchantments(item.getEnchantments());
  1088. newStack.setData(item.getData());
  1089. newStack.setDurability(item.getDurability());
  1090. newStack.setAmount(item.getAmount());
  1091.  
  1092. return newStack;
  1093. }
  1094. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement