/* * Created by Andrey Cherkashin (acherkashin) * http://acherkashin.me * * License * Copyright (c) 2015 Andrey Cherkashin * The project released under the MIT license: http://opensource.org/licenses/MIT */ package ragefist.packets.client; import org.luaj.vm2.LuaValue; import ragefist.User; import ragefist.core.environment.EnvironmentRequestTask; import ragefist.core.util.FormatTools; import ragefist.packets.IncomingPacket; import ragefist.packets.IncomingPacketException; /** * * @author acherkashin */ public class Request extends IncomingPacket { /** * * @throws IncomingPacketException */ @Override public void run() throws IncomingPacketException { LuaValue luaIn = FormatTools.fromJUniformObjectToLuaValue(this.getPacket()); if (luaIn == null) { throw new IncomingPacketException("ERROR_BAD_PACKET"); } // Create a task EnvironmentRequestTask requestTask = new EnvironmentRequestTask(this.getConnection(), luaIn); requestTask.setDelegate(this.getPacketHandler()); // Get a user User user = (User)this.getConnection().getAttachment(); // Push a new task into environment this.getPacketHandler().getServerControllerAPI().getEnvironmentById(user.getEnvironmentId()).addTask(requestTask); } }