Skip to content

Commit 6bff7da

Browse files
authored
2.1.6
### Improved: * Removed command `/rpginv list [type]`. Now you can just skip `list` and write `/rpginv items` instead of `/rpginv list items`. * Improved tips on wrong usage of command * Added support of short form of command. You can now use just first letter of command. For example, instead of `/rpginv reload` you can write `/rpginv r`. Instead of `pets` - `p` and so on. * Added notifications about items giving (#8) * Improved resource packs warnings ### Fixed: * Inventory glitch (#142) * Giving of backpacks (#143) * Exception on player death (#144)
2 parents fc11a60 + 5fd954a commit 6bff7da

File tree

13 files changed

+400
-337
lines changed

13 files changed

+400
-337
lines changed

ISSUE_TEMPLATE.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
1+
2+
# WARNING!
3+
DON'T JUST DELETE THIS TEMPLATE \
4+
WITHOUT IT I'LL JUST MARK YOUR ISSUE AS `INVALID`\
5+
(you can skip only `Steps to Reproduce` and `Environment` if it is feature request)
6+
7+
18
### Prerequisites
29

310
* [ ] Are you running the latest version?
411
* [ ] Did you check the FAQs on [plugin's page](https://www.spigotmc.org/resources/12498/)?
512
* [ ] Did you check the [Wiki](http://rpginventory.endlesscode.ru/)?
613
* [ ] Did you configure [config.yml](https://github.com/EndlessCodeGroup/RPGInventory/blob/master/src/main/resources/config.yml)?
714
* [ ] Did you perform a cursory search?
8-
* [ ] Can you reproduce the problem in clean server (with installed only the plugin and dependencies)?
15+
* [ ] Can you reproduce the problem on clean server (with installed only the plugin and dependencies)?
916

1017
### Description
1118

@@ -25,7 +32,7 @@
2532

2633
**Server Core:** [Spigot/Paper/etc.]\
2734
**Server Version:** [e.g. 1.12.2]\
28-
**Plugin Version:** [e.g. 2.1.4-PRE]
35+
**Plugin Version:** [e.g. 2.1.4-PRE] ***(YOU SHOULD WRITE VERSION NUMBER, NOT JUST "LATEST")***
2936

3037

3138
***HIGHLY RECOMMENDED TO ATTACH SERVER LOGS TO THE ISSUE!***

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
pluginVersion=2.1.6-PRE
1+
pluginVersion=2.1.6
22
pluginDesc=Change inventory how you need
33
url=https://github.com/EndlessCodeGroup/RPGInventory
44

src/main/java/ru/endlesscode/rpginventory/RPGInventoryCommandExecutor.java

Lines changed: 331 additions & 283 deletions
Large diffs are not rendered by default.

src/main/java/ru/endlesscode/rpginventory/event/listener/InventoryListener.java

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -27,28 +27,14 @@
2727
import org.bukkit.event.EventHandler;
2828
import org.bukkit.event.EventPriority;
2929
import org.bukkit.event.Listener;
30-
import org.bukkit.event.inventory.ClickType;
31-
import org.bukkit.event.inventory.InventoryAction;
32-
import org.bukkit.event.inventory.InventoryClickEvent;
33-
import org.bukkit.event.inventory.InventoryCloseEvent;
34-
import org.bukkit.event.inventory.InventoryDragEvent;
35-
import org.bukkit.event.inventory.InventoryOpenEvent;
36-
import org.bukkit.event.inventory.InventoryType;
37-
import org.bukkit.event.player.PlayerChangedWorldEvent;
38-
import org.bukkit.event.player.PlayerDropItemEvent;
39-
import org.bukkit.event.player.PlayerEvent;
40-
import org.bukkit.event.player.PlayerItemBreakEvent;
41-
import org.bukkit.event.player.PlayerItemHeldEvent;
42-
import org.bukkit.event.player.PlayerJoinEvent;
43-
import org.bukkit.event.player.PlayerPickupItemEvent;
44-
import org.bukkit.event.player.PlayerQuitEvent;
45-
import org.bukkit.event.player.PlayerRespawnEvent;
30+
import org.bukkit.event.inventory.*;
31+
import org.bukkit.event.player.*;
4632
import org.bukkit.inventory.Inventory;
4733
import org.bukkit.inventory.ItemStack;
4834
import org.bukkit.inventory.PlayerInventory;
4935
import org.bukkit.scheduler.BukkitRunnable;
50-
51-
import org.jetbrains.annotations.*;
36+
import org.jetbrains.annotations.NotNull;
37+
import org.jetbrains.annotations.Nullable;
5238
import ru.endlesscode.rpginventory.RPGInventory;
5339
import ru.endlesscode.rpginventory.api.InventoryAPI;
5440
import ru.endlesscode.rpginventory.event.PlayerInventoryLoadEvent;
@@ -270,7 +256,15 @@ public void onInventoryClick(@NotNull final InventoryClickEvent event) {
270256

271257
switch (event.getSlotType()) {
272258
case CRAFTING:
273-
playerWrapper.openInventory(true);
259+
//Without this stupid shit we already get click in the our inventory on bukkit 1.9.4
260+
//Ofc, player picking up item in the clicked slot (1, 2, 3, 4, depends on clicked slot in the small crafting grid)
261+
//Fixes #142.
262+
new BukkitRunnable() {
263+
@Override
264+
public void run() {
265+
playerWrapper.openInventory(true);
266+
}
267+
}.runTaskLater(RPGInventory.getInstance(), 0);
274268
case QUICKBAR:
275269
// Shield slot is QUICKBAR and has rawId - 45 o.O
276270
if (rawSlot != 45) {

src/main/java/ru/endlesscode/rpginventory/inventory/backpack/BackpackManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,13 @@ public static boolean open(@NotNull Player player, @Nullable ItemStack bpItem) {
125125

126126
BackpackType type;
127127
String bpId = ItemUtils.getTag(bpItem, ItemUtils.BACKPACK_TAG);
128-
if (bpId == null || (type = BackpackManager.getBackpackType(bpId)) == null) {
128+
if (bpId.isEmpty() || (type = BackpackManager.getBackpackType(bpId)) == null) {
129129
return false;
130130
}
131131

132132
Backpack backpack;
133133
String bpUid = ItemUtils.getTag(bpItem, ItemUtils.BACKPACK_UID_TAG);
134-
UUID uuid = bpUid == null ? null : UUID.fromString(bpUid);
134+
UUID uuid = bpUid.isEmpty() ? null : UUID.fromString(bpUid);
135135
if (!BACKPACKS.containsKey(uuid)) {
136136
if (uuid == null) {
137137
backpack = type.createBackpack();

src/main/java/ru/endlesscode/rpginventory/item/CustomItem.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public class CustomItem extends ClassedItem {
8888
}
8989

9090
@Contract("null -> false")
91-
public static boolean isCustomItem(ItemStack itemStack) {
91+
public static boolean isCustomItem(@Nullable ItemStack itemStack) {
9292
return !ItemUtils.isEmpty(itemStack) && ItemUtils.hasTag(itemStack, ItemUtils.ITEM_TAG);
9393
}
9494

src/main/java/ru/endlesscode/rpginventory/item/ItemManager.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,13 @@ public static ItemStack getItem(String itemId) {
140140
}
141141

142142
@Nullable
143-
public static CustomItem getCustomItem(ItemStack item) {
143+
public static CustomItem getCustomItem(@Nullable ItemStack item) {
144+
if (ItemUtils.isEmpty(item)) {
145+
return null;
146+
}
147+
144148
String tag = ItemUtils.getTag(item, ItemUtils.ITEM_TAG);
145-
if (tag == null) {
149+
if (tag.isEmpty()) {
146150
return null;
147151
}
148152

@@ -160,7 +164,7 @@ public static boolean allowedForPlayer(Player player, ItemStack item, boolean no
160164
}
161165

162166
if (classedItem == null) {
163-
return true; //Or false?
167+
return true;
164168
}
165169

166170
if (!PlayerUtils.checkLevel(player, classedItem.getLevel())) {

src/main/java/ru/endlesscode/rpginventory/pet/CooldownTimer.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ public void run() {
5454
}
5555

5656
Inventory inventory = InventoryManager.get(this.player).getInventory();
57-
if (!this.player.isOnline() || this.player.isDead() || !PetManager.isEnabled() || inventory == null || inventory.getItem(PetManager.getPetSlotId()) == null) {
57+
final boolean playerIsAlive = !this.player.isOnline() || this.player.isDead();
58+
final boolean playerHasPetItem = inventory == null || inventory.getItem(PetManager.getPetSlotId()) == null;
59+
if (playerIsAlive || !PetManager.isEnabled() || playerHasPetItem) {
5860
this.cancel();
5961
return;
6062
}
@@ -74,7 +76,7 @@ public void run() {
7476
PetManager.addGlow(item);
7577
String itemTag = ItemUtils.getTag(this.petItem, ItemUtils.PET_TAG);
7678

77-
if (itemTag == null) {
79+
if (itemTag.isEmpty()) {
7880
Slot petSlot = Objects.requireNonNull(SlotManager.instance().getPetSlot(), "Pet slot can't be null!");
7981
inventory.setItem(PetManager.getPetSlotId(), petSlot.getCup());
8082
this.cancel();

src/main/java/ru/endlesscode/rpginventory/pet/CooldownsTimer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public void run() {
6868
}
6969

7070
final Player player = this.plugin.getServer().getPlayer(next.getKey());
71-
if (player == null || !InventoryManager.playerIsLoaded(player)) {
71+
if (!InventoryManager.playerIsLoaded(player)) {
7272
iterator.remove();
7373
continue;
7474
}
@@ -102,7 +102,7 @@ public void run() {
102102
PetManager.addGlow(item);
103103

104104
String itemTag = ItemUtils.getTag(item, ItemUtils.PET_TAG);
105-
if (itemTag != null) {
105+
if (!itemTag.isEmpty()) {
106106
ItemUtils.setTag(item, ItemUtils.PET_TAG, itemTag);
107107
inventory.setItem(PetManager.getPetSlotId(), item);
108108
} else {

src/main/java/ru/endlesscode/rpginventory/pet/PetManager.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ public static void despawnPet(OfflinePlayer player) {
308308
playerWrapper.setPet(null);
309309
}
310310

311-
public static void respawnPet(OfflinePlayer player) {
311+
public static void respawnPet(@Nullable OfflinePlayer player) {
312312
if (!InventoryManager.playerIsLoaded(player) || !PetManager.isEnabled()) {
313313
return;
314314
}
@@ -319,23 +319,23 @@ public static void respawnPet(OfflinePlayer player) {
319319
}
320320

321321
@Nullable
322-
@Contract("null - > null")
322+
@Contract("null -> null")
323323
public static PetFood getFoodFromItem(@Nullable ItemStack item) {
324324
String id;
325325

326-
if (ItemUtils.isEmpty(item) || (id = ItemUtils.getTag(item, ItemUtils.FOOD_TAG)) == null) {
326+
if (ItemUtils.isEmpty(item) || (id = ItemUtils.getTag(item, ItemUtils.FOOD_TAG)).isEmpty()) {
327327
return null;
328328
}
329329

330330
return PET_FOOD.get(id);
331331
}
332332

333333
@Nullable
334-
@Contract("null - > null")
334+
@Contract("null -> null")
335335
public static PetType getPetFromItem(@Nullable ItemStack item) {
336336
String id;
337337

338-
if (ItemUtils.isEmpty(item) || (id = ItemUtils.getTag(item, ItemUtils.PET_TAG)) == null) {
338+
if (ItemUtils.isEmpty(item) || (id = ItemUtils.getTag(item, ItemUtils.PET_TAG)).isEmpty()) {
339339
return null;
340340
}
341341

0 commit comments

Comments
 (0)