RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
PlaceBirdhouse.java
1package com.osroyale.content.skill.impl.hunter.birdhouse.action;
2
3import com.osroyale.content.skill.impl.hunter.birdhouse.BirdhouseData;
4import com.osroyale.content.skill.impl.hunter.birdhouse.PlayerBirdHouseData;
5import com.osroyale.game.action.Action;
6import com.osroyale.game.action.policy.WalkablePolicy;
7import com.osroyale.game.world.entity.mob.player.Player;
8import com.osroyale.game.world.entity.mob.player.persist.PlayerSerializer;
9import com.osroyale.game.world.items.Item;
10import com.osroyale.game.world.object.CustomGameObject;
11import com.osroyale.game.world.object.GameObject;
12import com.osroyale.net.packet.out.SendAddObject;
13
14public class PlaceBirdhouse extends Action<Player> {
15
16 private BirdhouseData birdhouseData;
17 private GameObject gameObject;
18 public PlaceBirdhouse(Player player, BirdhouseData birdhouseData, GameObject gameObject) {
19 super(player, 1);
20 this.birdhouseData = birdhouseData;
21 this.gameObject = gameObject;
22 }
23
24 @Override
25 public WalkablePolicy getWalkablePolicy() {
26 return WalkablePolicy.WALKABLE;
27 }
28
29 @Override
30 public String getName() {
31 return "Place birdhouse";
32 }
33
34 @Override
35 protected void execute() {
36 getMob().inventory.remove(new Item(birdhouseData.birdHouseId));
37 getMob().inventory.refresh();
38 getMob().birdHouseData.add(new PlayerBirdHouseData(birdhouseData, gameObject.getId(), gameObject.getPosition(), gameObject.getDirection().getId(), gameObject.getObjectType().getId()));
39 getMob().send(new SendAddObject(new CustomGameObject(birdhouseData.objectData[0], gameObject.getPosition(), gameObject.getDirection(), gameObject.getObjectType())));
40 PlayerSerializer.save(getMob());
41 getMob().action.getCurrentAction().cancel();
42 }
43
44}
abstract WalkablePolicy getWalkablePolicy()