Evdokimov27

Untitled

Aug 14th, 2022
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.47 KB | None | 0 0
  1. package com.evdokimov.helmetset;
  2.  
  3. import com.comphenix.protocol.ProtocolLibrary;
  4. import com.comphenix.protocol.ProtocolManager;
  5. import lowbrain.armorequip.ArmorEquipEvent;
  6. import net.skinsrestorer.api.PlayerWrapper;
  7. import net.skinsrestorer.api.SkinsRestorerAPI;
  8. import net.skinsrestorer.api.exception.SkinRequestException;
  9. import net.skinsrestorer.api.property.GenericProperty;
  10. import net.skinsrestorer.api.property.IProperty;
  11. import org.bukkit.Bukkit;
  12. import org.bukkit.Material;
  13. import org.bukkit.configuration.file.FileConfiguration;
  14. import org.bukkit.entity.Player;
  15. import org.bukkit.event.EventHandler;
  16. import org.bukkit.event.Listener;
  17. import org.bukkit.event.inventory.InventoryCloseEvent;
  18. import org.bukkit.plugin.Plugin;
  19. import org.bukkit.plugin.java.JavaPlugin;
  20.  
  21. public class HelmetSet extends JavaPlugin implements Listener
  22. {
  23.     private ProtocolManager protocolManager;
  24.  
  25.     private SkinsRestorerAPI skinsRestorerAPI;
  26.     boolean skinAply;
  27.     FileConfiguration config;
  28.  
  29.     public HelmetSet() {
  30.         this.config = this.getConfig();
  31.     }
  32.  
  33.     public void onEnable() {
  34.         protocolManager = ProtocolLibrary.getProtocolManager();
  35.         Bukkit.getServer().getPluginManager().registerEvents((Listener)this, (Plugin)this);
  36.         this.getLogger().info(this.config.getString("message"));
  37.         this.saveDefaultConfig();
  38.         this.skinsRestorerAPI = SkinsRestorerAPI.getApi();
  39.  
  40.     }
  41.  
  42.     public void onDisable() {
  43.         this.getLogger().info("Bye!!!");
  44.     }
  45.  
  46.     @EventHandler
  47.     public void equip(final ArmorEquipEvent e) {
  48.         final Player p = e.getPlayer();
  49.         if (e.getNewArmorPiece().getItemMeta() == null)
  50.         {
  51.             return;
  52.         };
  53.         if (e.getNewArmorPiece().getType() != null && e.getNewArmorPiece().getType() != Material.AIR) {
  54.             for (int model = 0; model < this.config.getInt("max_model"); ++model) {
  55.                 if (e.getNewArmorPiece().getItemMeta().getCustomModelData() == model) {
  56.                     p.sendMessage("слот: " + model );
  57.                     p.sendMessage("слот: " + e.getNewArmorPiece().getType().getEquipmentSlot() );
  58.  
  59.                     final Long time = 0L;
  60.                     try {
  61.                         this.skinsRestorerAPI.setSkinData(this.config.getString("skin." + model + ".name"), (IProperty)new GenericProperty("textures", this.config.getString("skin." + model + ".set_value"), this.config.getString("skin." + model + ".set_signature")), (Long)null);
  62.                         this.skinsRestorerAPI.setSkin(p.getName(), this.config.getString("skin." + model + ".name"));
  63.                     }
  64.                     catch (SkinRequestException ex) {
  65.                         ex.printStackTrace();
  66.                     }
  67.                 }
  68.                 else if (e.getNewArmorPiece().getItemMeta() == null)
  69.                 {
  70.                     return;
  71.                 };
  72.             }
  73.         }
  74.         if (e.getOldArmorPiece().getType() != Material.AIR && e.getNewArmorPiece().getType() != Material.PLAYER_HEAD) {
  75.             if (e.getNewArmorPiece() != null) {
  76.                 if (e.getNewArmorPiece().getType() != Material.AIR) {
  77.                     return;
  78.                 }
  79.             }
  80.             try {
  81.                 this.skinsRestorerAPI.setSkinData(this.config.getString("skin.0.name"), (IProperty) new GenericProperty("textures", this.config.getString("skin.0.set_value"), this.config.getString("skin.0.set_signature")), (Long) null);
  82.                 this.skinsRestorerAPI.setSkin(p.getName(), this.config.getString("skin.0.name"));
  83.             } catch (SkinRequestException ex2) {
  84.                 throw new RuntimeException((Throwable) ex2);
  85.             }
  86.         }
  87.     }
  88.  
  89.     @EventHandler
  90.     public void onInventoryClose(final InventoryCloseEvent e) {
  91.         if (skinAply == true) {
  92.             skinAply = false;
  93.             try {
  94.                 this.skinsRestorerAPI.applySkin(new PlayerWrapper((Object)e.getPlayer()));
  95.             }
  96.             catch (SkinRequestException ex) {
  97.                 throw new RuntimeException((Throwable)ex);
  98.             }
  99.         }
  100.     }
  101.  
  102.     @EventHandler
  103.     public void Check(final ArmorEquipEvent e) {
  104.         if (e.getOldArmorPiece().getType() != e.getNewArmorPiece().getType()) {
  105.             skinAply = true;
  106.         }
  107.         if ((e.getNewArmorPiece().getItemMeta().getCustomModelData() != e.getOldArmorPiece().getItemMeta().getCustomModelData())) {
  108.             skinAply = true;
  109.         }
  110.     }
  111. }
  112.  
Advertisement
Add Comment
Please, Sign In to add comment