Skip to content

Commit

Permalink
Update GeyserCommand.java
Browse files Browse the repository at this point in the history
+ added farmer.sell perm
  • Loading branch information
poyrazinan committed Aug 27, 2024
1 parent 5076179 commit 73d3d01
Showing 1 changed file with 28 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public void sellCommand(CommandSender sender, String item) {
// Sell All command
if (Geyser.getSellAllCommands().stream().anyMatch(cmd -> cmd.equalsIgnoreCase(item)))
executeSellEvent(farmer, player, null);
// Sell only one item command
// Sell only one item command
else
executeSellEvent(farmer, player, item);
}
Expand All @@ -93,25 +93,39 @@ private static void executeSellEvent(Farmer farmer, @NotNull Player player, @Nul
// If replacer matches then replace the item
// Sells only one item
if (item != null) {
if (Geyser.getNameReplacer().containsKey(item))
item = Geyser.getNameReplacer().get(item);
String checkMaterial = item;
// If default items does not contain the material
if (FarmerInv.defaultItems.stream()
.noneMatch(defaultItem -> defaultItem.getMaterial().toString().equalsIgnoreCase(checkMaterial))) {
player.sendMessage(Geyser.getInstance().getLang().getText("cantFindTheItem"));
if (player.hasPermission("farmer.sell." + item.toLowerCase(Locale.ROOT))) {
if (Geyser.getNameReplacer().containsKey(item))
item = Geyser.getNameReplacer().get(item);
String checkMaterial = item;
// If default items does not contain the material
if (FarmerInv.defaultItems.stream()
.noneMatch(defaultItem -> defaultItem.getMaterial().toString().equalsIgnoreCase(checkMaterial))) {
player.sendMessage(Geyser.getInstance().getLang().getText("cantFindTheItem"));
return;
}
FarmerItem toSell = farmer.getInv().getStockedItem(XMaterial.valueOf(item.toUpperCase(Locale.ENGLISH)));
sellItem(farmer, player, toSell);
return;
}
FarmerItem toSell = farmer.getInv().getStockedItem(XMaterial.valueOf(item.toUpperCase(Locale.ENGLISH)));
sellItem(farmer, player, toSell);
}
else {
// Loops all the items
farmer.getInv().getItems().forEach(farmerItem -> sellItem(farmer, player, farmerItem));
if (player.hasPermission("farmer.sell.all")) {
// Loops all the items
farmer.getInv().getItems().forEach(farmerItem -> sellItem(farmer, player, farmerItem));
return;
}
}
}
else
player.sendMessage(Geyser.getInstance().getLangFile().getText("noPerm"));
// Execute when couldn't be returned
player.sendMessage(Geyser.getInstance().getLangFile().getText("noPerm"));
}

/**
* Sends no perm message to player
* @param player who will receive message
*/
private void sendNoPermMessage(Player player) {
player.sendMessage(Geyser.getInstance().getLangFile().getText("noPerm"));
}

/**
Expand Down

0 comments on commit 73d3d01

Please sign in to comment.