001/* 002 * Trident - A Multithreaded Server Alternative 003 * Copyright 2014 The TridentSDK Team 004 * 005 * Licensed under the Apache License, Version 2.0 (the "License"); 006 * you may not use this file except in compliance with the License. 007 * You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 018package net.tridentsdk.server.packets.play.in; 019 020import io.netty.buffer.ByteBuf; 021import net.tridentsdk.server.netty.ClientConnection; 022import net.tridentsdk.server.netty.packet.InPacket; 023import net.tridentsdk.server.netty.packet.Packet; 024 025// NOTE: This packet is inconsistently sent from the client 026public class PacketPlayInPlayerConfirmTransaction extends InPacket { 027 028 /** 029 * Each action number is unique 030 */ 031 protected short actionNumber; 032 /** 033 * Wether the transaction was accepted 034 */ 035 protected boolean accepted; 036 037 @Override 038 public int id() { 039 return 0x05; 040 } 041 042 @Override 043 public Packet decode(ByteBuf buf) { 044 buf.readByte(); //ignore windowId, we'd have the inventory the player has open anyhow 045 046 this.actionNumber = buf.readShort(); 047 this.accepted = buf.readBoolean(); 048 049 return this; 050 } 051 052 public short actionNumber() { 053 return this.actionNumber; 054 } 055 056 public boolean accepted() { 057 return this.accepted; 058 } 059 060 @Override 061 public void handleReceived(ClientConnection connection) { 062 // TODO: Act accordingly 063 } 064}