/* * (non-Javadoc) * * @see org.saga.buildings.signs.BuildingSign#onRightClick(org.saga.player.SagaPlayer) */ @Override protected void onRightClick(SagaPlayer sagaPlayer) { // Create item: ItemStack item = this.item.createItem(); // Available goods: if (stored < 1.0) { sagaPlayer.message(EconomyMessages.insufItems(item.getType())); return; } // Trim amount based on goods: if (item.getAmount() > stored) item.setAmount(stored.intValue()); // Trim amount based on coins: double coins = EconomyDependency.getCoins(sagaPlayer); if (item.getAmount() * price > coins) item.setAmount((int) (coins / price)); // Available coins: if (item.getAmount() < 1) { sagaPlayer.message(EconomyMessages.insufCoins()); return; } // Take item: if (item.getAmount() < 1) { sagaPlayer.message(EconomyMessages.insufItems(item.getType())); return; } stored -= item.getAmount(); // Finish transaction: Double cost = price * item.getAmount(); EconomyDependency.removeCoins(sagaPlayer, cost); getBuilding().getSettlement().payCoins(cost); sagaPlayer.addItem(item); // Inform: sagaPlayer.message(EconomyMessages.bought(item.getType(), item.getAmount(), price)); // Statistics: StatisticsManager.manager() .addBuy(sagaPlayer, item.getType(), item.getAmount(), price * item.getAmount()); // Update sign: refresh(); }