Search in sources :

Example 1 with PacketAmadronTradeRemoved

use of pneumaticCraft.common.network.PacketAmadronTradeRemoved in project PneumaticCraft by MineMaarten.

the class ContainerAmadron method clickOffer.

public void clickOffer(int offerId, int mouseButton, boolean sneaking, EntityPlayer player) {
    problemState = EnumProblemState.NO_PROBLEMS;
    int cartSlot = getCartSlot(offerId);
    if (cartSlot >= 0) {
        if (mouseButton == 2) {
            shoppingAmounts[cartSlot] = 0;
        } else if (sneaking) {
            if (mouseButton == 0)
                shoppingAmounts[cartSlot] /= 2;
            else {
                AmadronOffer offer = offers.get(offerId);
                if (offer instanceof AmadronOfferCustom) {
                    AmadronOfferCustom custom = (AmadronOfferCustom) offer;
                    if (custom.getPlayerId().equals(player.getGameProfile().getId().toString())) {
                        if (AmadronOfferManager.getInstance().removeStaticOffer(custom)) {
                            if (AmadronOfferSettings.notifyOfTradeRemoval)
                                NetworkHandler.sendToAll(new PacketAmadronTradeRemoved(custom));
                            custom.returnStock();
                            try {
                                AmadronOfferStaticConfig.INSTANCE.writeToFile();
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                            player.closeScreen();
                        }
                    }
                }
                shoppingAmounts[cartSlot] *= 2;
                if (shoppingAmounts[cartSlot] == 0)
                    shoppingAmounts[cartSlot] = 1;
            }
        } else {
            if (mouseButton == 0)
                shoppingAmounts[cartSlot]--;
            else
                shoppingAmounts[cartSlot]++;
        }
        if (shoppingAmounts[cartSlot] <= 0) {
            shoppingAmounts[cartSlot] = 0;
            shoppingItems[cartSlot] = -1;
        } else {
            shoppingAmounts[cartSlot] = capShoppingAmount(offerId, shoppingAmounts[cartSlot], player);
            if (shoppingAmounts[cartSlot] > 0)
                shoppingItems[cartSlot] = offerId;
            else
                shoppingItems[cartSlot] = -1;
        }
    }
}
Also used : AmadronOffer(pneumaticCraft.common.recipes.AmadronOffer) IOException(java.io.IOException) AmadronOfferCustom(pneumaticCraft.common.recipes.AmadronOfferCustom) PacketAmadronTradeRemoved(pneumaticCraft.common.network.PacketAmadronTradeRemoved)

Aggregations

IOException (java.io.IOException)1 PacketAmadronTradeRemoved (pneumaticCraft.common.network.PacketAmadronTradeRemoved)1 AmadronOffer (pneumaticCraft.common.recipes.AmadronOffer)1 AmadronOfferCustom (pneumaticCraft.common.recipes.AmadronOfferCustom)1