package pneumaticCraft.common.network;
import java.io.IOException;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.ChatComponentTranslation;
import pneumaticCraft.client.gui.widget.WidgetAmadronOffer;
import pneumaticCraft.common.config.AmadronOfferSettings;
import pneumaticCraft.common.config.AmadronOfferStaticConfig;
import pneumaticCraft.common.recipes.AmadronOfferCustom;
import pneumaticCraft.common.recipes.AmadronOfferManager;
public class PacketAmadronTradeAdd extends PacketAbstractAmadronTrade<PacketAmadronTradeAdd>{
public PacketAmadronTradeAdd(){}
public PacketAmadronTradeAdd(AmadronOfferCustom offer){
super(offer);
}
@Override
public void handleClientSide(PacketAmadronTradeAdd message, EntityPlayer player){
if(AmadronOfferSettings.notifyOfTradeAddition) player.addChatMessage(new ChatComponentText(I18n.format("message.amadron.playerAddedTrade", message.getOffer().getVendor(), WidgetAmadronOffer.getStringForObject(message.getOffer().getOutput()), WidgetAmadronOffer.getStringForObject(message.getOffer().getInput()))));
}
@Override
public void handleServerSide(PacketAmadronTradeAdd message, EntityPlayer player){
AmadronOfferCustom offer = message.getOffer();
offer.updatePlayerId();
if(AmadronOfferManager.getInstance().hasOffer(offer.copy().invert())) {
player.addChatMessage(new ChatComponentTranslation("message.amadron.duplicateReversedOffer"));
} else if(AmadronOfferManager.getInstance().addStaticOffer(offer)) {
if(AmadronOfferSettings.notifyOfTradeAddition) NetworkHandler.sendToAll(message);
try {
AmadronOfferStaticConfig.INSTANCE.writeToFile();
} catch(IOException e) {
e.printStackTrace();
}
} else {
player.addChatMessage(new ChatComponentTranslation("message.amadron.duplicateOffer"));
}
}
}