package net.scapeemulator.game.model.player.skills.construction; import net.scapeemulator.game.dispatcher.object.ObjectHandler; import net.scapeemulator.game.model.Option; import net.scapeemulator.game.model.object.GroundObjectList.GroundObject; import net.scapeemulator.game.model.player.Player; import net.scapeemulator.game.model.player.action.ReachObjectAction; import net.scapeemulator.game.model.player.skills.construction.House.BuildingSession; import net.scapeemulator.game.util.HandlerContext; /** * @author David Insley */ public class ObjectBuildHandler extends ObjectHandler { public ObjectBuildHandler() { super(Option.FIVE); } @Override public void handle(final Player player, final GroundObject object, String optionName, HandlerContext context) { context.stop(); player.startAction(new ReachObjectAction(1, true, player, object, 1, true) { @Override public void executeAction() { stop(); if (player.getInHouse() != player.getHouse()) { player.sendMessage("You must be in your house to do that."); return; } BuildingSession session = player.getHouse().getBuildingSession(); if (session == null) { player.sendMessage("You must be in building mode to modify your house."); return; } session.handleBuildOption(object); } }); } }