so://phie

poppy

A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy

blob: 2b1c9391b18586dc2ac7e0b45205fb5640dbce0f (2224 bytes)[doc][blame][raw]

1package de.typable.minecrafthub.util;

2

3import org.bukkit.Bukkit;

4import org.bukkit.Material;

5import org.bukkit.entity.Player;

6import org.bukkit.inventory.Inventory;

7import org.bukkit.inventory.ItemStack;

8import org.bukkit.plugin.Plugin;

9

10import de.typable.minecrafthub.constant.DefaultConstants;

11import net.md_5.bungee.api.ChatColor;

12import net.md_5.bungee.api.ChatMessageType;

13import net.md_5.bungee.api.chat.TextComponent;

14

15

16public class Util

17{

18 public static boolean isEmpty(ItemStack item)

19 {

20 return item == null || item.getType() == Material.AIR;

21 }

22

23 public static boolean isType(ItemStack item, Material type)

24 {

25 return !isEmpty(item) && item.getType() == type;

26 }

27

28 public static boolean compare(ItemStack item, ItemStack item2)

29 {

30 if(item == null || item2 == null)

31 {

32 return false;

33 }

34

35 if(item.getType() != item2.getType())

36 {

37 return false;

38 }

39

40 return true;

41 }

42

43 public static boolean isInventoryFull(Inventory inventory, ItemStack result)

44 {

45 for(ItemStack item : inventory.getContents())

46 {

47 if(Util.isEmpty(item))

48 {

49 return false;

50 }

51

52 if(result.isSimilar(item))

53 {

54 if(result.getAmount() + item.getAmount() <= item.getMaxStackSize())

55 {

56 return false;

57 }

58 }

59 }

60

61 return true;

62 }

63

64 public static boolean containsAtLeast(Inventory inventory, ItemStack item, int amount)

65 {

66 for(int i = 0; i < inventory.getSize(); i++)

67 {

68 ItemStack current = inventory.getItem(i);

69

70 if(Util.compare(item, current))

71 {

72 amount -= current.getAmount();

73

74 if(amount <= 0)

75 {

76 return true;

77 }

78 }

79 }

80

81 return false;

82 }

83

84 public static void sendActionMessage(Player player, String message)

85 {

86 player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message));

87 }

88

89 public static void sendCountdown(Plugin plugin, final String message, final int time, Runnable runnable)

90 {

91 Bukkit.getScheduler().runTaskTimer(plugin, new Runnable()

92 {

93 int count = time;

94

95 @Override

96 public void run()

97 {

98 if(count == 0)

99 {

100 runnable.run();

101 return;

102 }

103

104 Bukkit.getServer().broadcastMessage(ChatColor.YELLOW + message + " " + count + " sec");

105

106 count--;

107 }

108 }, 0L, DefaultConstants.TICK);

109 }

110}