Advertisement
jayhillx

[X Life] onItemUse

Mar 20th, 2022
880
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.30 KB | None | 0 0
  1. @SubscribeEvent
  2.     public void onItemUse(PlayerInteractEvent.RightClickItem event) {
  3.         PlayerEntity player = event.getPlayer();
  4.  
  5.         ItemStack stack = event.getItemStack();
  6.  
  7.         if (!player.level.isClientSide) {
  8.             if (stack.getItem() == Items.WRITTEN_BOOK) {
  9.                 if (stack.getTag() != null && stack.getTag().hasUUID("owner")) {
  10.                     ServerPlayerEntity players = player.getServer().getPlayerList().getPlayer(stack.getTag().getUUID("owner"));
  11.  
  12.                     if (players != null) {
  13.                         players.getCapability(LifeCapability.STATS_CAPABILITY).ifPresent(life -> players.getCapability(TimeCapability.TIME_CAPABILITY).ifPresent(time -> {
  14.                             // Creates the books pages.
  15.                             ListNBT pages = new ListNBT();
  16.                             // Refresh books content.
  17.                             stack.getTag().put("pages", pages);
  18.                             stack.getTag().remove("resolved");
  19.  
  20.                             if (life.getMaxHealth() >= 2.0F && life.getMaxHealth() <= 6.0F) {
  21.                                 pages.add(HealthBookUtils.setPages(players, 1));
  22.                             } else if (life.getMaxHealth() >= 8.0F && life.getMaxHealth() <= 12.0F) {
  23.                                 pages.add(HealthBookUtils.setPages(players, 1));
  24.                                 pages.add(HealthBookUtils.setPages(players, 2));
  25.                             } else if (life.getMaxHealth() >= 14.0F && life.getMaxHealth() <= 18.0F) {
  26.                                 pages.add(HealthBookUtils.setPages(players, 1));
  27.                                 pages.add(HealthBookUtils.setPages(players, 2));
  28.                                 pages.add(HealthBookUtils.setPages(players, 3));
  29.                             } else if (life.getMaxHealth() >= 20.0F) {
  30.                                 pages.add(HealthBookUtils.setPages(players, 1));
  31.                                 pages.add(HealthBookUtils.setPages(players, 2));
  32.                                 pages.add(HealthBookUtils.setPages(players, 3));
  33.                                 pages.add(HealthBookUtils.setPages(players, 4));
  34.                             }
  35.                         }));
  36.                     }
  37.                 }
  38.             }
  39.         }
  40.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement