Skip to content

Commit

Permalink
do not allow invalid item codes
Browse files Browse the repository at this point in the history
  • Loading branch information
Brokkonaut committed Feb 24, 2023
1 parent 1d7c0f1 commit 44401a5
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/main/java/com/Acrobot/Breeze/Utils/MaterialUtil.java
Expand Up @@ -99,7 +99,11 @@ public static String getName(Material material) {
public static String getSignName(ItemStack itemStack) {
String metaCode = "";
if (itemStack.hasItemMeta()) {
metaCode = "#" + Metadata.getItemCode(itemStack);
metaCode = Metadata.getItemCode(itemStack);
if (metaCode == null) {
return null;
}
metaCode = "#" + metaCode;
}
return getSignMaterialName(itemStack.getType(), metaCode) + metaCode;
}
Expand Down
Expand Up @@ -60,6 +60,12 @@ public String getItemCode(ItemStack item) {
return Base62.encode(itemEntity.getId());
}

// different serialized data every time, encoding will not work
String codeCopy = encodeItemStack(decodeItemStack(code));
if (!codeCopy.equals(code)) {
return null;
}

itemEntity = new Item(code);

itemDao.create(itemEntity);
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/com/Acrobot/ChestShop/Signs/ChestShopSign.java
Expand Up @@ -103,6 +103,9 @@ public static String getCorrectedItemCode(String itemCode, Sign sign) {
if (!MaterialUtil.isEmpty(shulkerContent)) {
item = shulkerContent;
itemCode = MaterialUtil.getSignName(shulkerContent);
if (itemCode == null) {
item = null;
}
break out;
}
}
Expand All @@ -115,6 +118,9 @@ public static String getCorrectedItemCode(String itemCode, Sign sign) {
if (!MaterialUtil.isEmpty(stack)) {
item = stack;
itemCode = MaterialUtil.getSignName(stack);
if (itemCode == null) {
item = null;
}
break;
}
}
Expand Down

0 comments on commit 44401a5

Please sign in to comment.