Fix StackOverFlow when execute /give all (#1878)

* Fix StackOverFlow when execute /give all

* Use more proper code
This commit is contained in:
iTruth
2022-10-20 17:52:10 +08:00
committed by GitHub
parent c5d30c44eb
commit be8fbcbc02
3 changed files with 18 additions and 3 deletions

View File

@@ -2,6 +2,8 @@ package emu.grasscutter.game.props.ItemUseAction;
import emu.grasscutter.game.props.ItemUseOp;
import emu.grasscutter.data.GameData;
public class ItemUseGainCostume extends ItemUseInt {
@Override
public ItemUseOp getItemUseOp() {
@@ -14,7 +16,9 @@ public class ItemUseGainCostume extends ItemUseInt {
@Override
public boolean useItem(UseItemParams params) {
params.player.getInventory().addItem(this.i); // TODO: Currently this returns false for all virtual items - need to have a proper success/fail
if (GameData.getAvatarCostumeDataMap().containsKey(this.i)) {
params.player.addCostume(this.i);
}
return true;
}
}

View File

@@ -2,6 +2,8 @@ package emu.grasscutter.game.props.ItemUseAction;
import emu.grasscutter.game.props.ItemUseOp;
import emu.grasscutter.data.GameData;
public class ItemUseGainFlycloak extends ItemUseInt {
@Override
public ItemUseOp getItemUseOp() {
@@ -14,7 +16,9 @@ public class ItemUseGainFlycloak extends ItemUseInt {
@Override
public boolean useItem(UseItemParams params) {
params.player.getInventory().addItem(this.i); // TODO: Currently this returns false for all virtual items - need to have a proper success/fail
if (GameData.getAvatarFlycloakDataMap().containsKey(this.i)) {
params.player.addFlycloak(this.i);
}
return true;
}
}