Skip to content

Commit

Permalink
Fix pack stacking exploit
Browse files Browse the repository at this point in the history
  • Loading branch information
Bunnky committed Dec 10, 2023
1 parent 3e25165 commit 5e8a2ea
Showing 1 changed file with 28 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,35 +38,38 @@ public void onPickupItem(@Nonnull EntityPickupItemEvent event) {
for (ItemStack content : player.getInventory().getContents()) {
SlimefunItem packItem = SlimefunItem.getByItem(content);
if (packItem instanceof SeedPack) {
ItemMeta contentMeta = content.getItemMeta();
SeedPackInstance instance = PersistentDataAPI.get(
contentMeta,
SeedPackDataType.KEY,
SeedPackDataType.TYPE
);
int packStack = content.getAmount();
if (packStack <= 1) {
ItemMeta contentMeta = content.getItemMeta();
SeedPackInstance instance = PersistentDataAPI.get(
contentMeta,
SeedPackDataType.KEY,
SeedPackDataType.TYPE
);

if (instance == null || !instance.getStoredItemId().equals(plant.getId())) {
continue;
}
if (instance == null || !instance.getStoredItemId().equals(plant.getId())) {
continue;
}

ItemMeta dropMeta = itemStack.getItemMeta();
FloraLevelProfile profile = PersistentDataAPI.get(
dropMeta,
FloraLevelProfileDataType.KEY,
FloraLevelProfileDataType.TYPE
);
ItemMeta dropMeta = itemStack.getItemMeta();
FloraLevelProfile profile = PersistentDataAPI.get(
dropMeta,
FloraLevelProfileDataType.KEY,
FloraLevelProfileDataType.TYPE
);

if (profile == null) {
continue;
}
if (profile == null) {
continue;
}

instance.add(profile, itemStack.getAmount());
PersistentDataAPI.set(contentMeta, SeedPackDataType.KEY, SeedPackDataType.TYPE, instance);
content.setItemMeta(contentMeta);
event.setCancelled(true);
ParticleUtils.displayParticleRandomly(item, 0.5, 5, plant.getTheme().getDustOptions(1));
item.remove();
return;
instance.add(profile, itemStack.getAmount());
PersistentDataAPI.set(contentMeta, SeedPackDataType.KEY, SeedPackDataType.TYPE, instance);
content.setItemMeta(contentMeta);
event.setCancelled(true);
ParticleUtils.displayParticleRandomly(item, 0.5, 5, plant.getTheme().getDustOptions(1));
item.remove();
return;
}
}
}
}
Expand Down

0 comments on commit 5e8a2ea

Please sign in to comment.