RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
NpcSpawnParser.java
1package com.osroyale.util.parser.impl;
2
3import com.google.gson.JsonObject;
4import com.osroyale.game.world.entity.mob.Direction;
5import com.osroyale.game.world.entity.mob.Mob;
6import com.osroyale.game.world.entity.mob.npc.Npc;
7import com.osroyale.game.world.position.Position;
8import com.osroyale.util.parser.GsonParser;
9import org.jire.tarnishps.OldToNew;
10
36
37public class NpcSpawnParser extends GsonParser {
38
39 public NpcSpawnParser() {
40 super("def/npc/npc_spawns");
41 }
42
43 @Override
44 protected void parse(JsonObject data) {
45 int id = data.get("id").getAsInt();
46 boolean convertId = true;
47 if (data.has("convert-id")) {
48 convertId = data.get("convert-id").getAsBoolean();
49 }
50 if (convertId) {
51 int newId = OldToNew.get(id);
52 if (newId != -1) {
53 id = newId;
54 }
55 }
56
57 final Position position = builder.fromJson(data.get("position"), Position.class);
58 final Direction facing = Direction.valueOf(data.get("facing").getAsString());
59 int radius = 2;
60 if (data.has("radius")) {
61 radius = data.get("radius").getAsInt();
62 }
63 int instance = Mob.DEFAULT_INSTANCE;
64 if (data.has("instance")) {
65 instance = data.get("instance").getAsInt();
66 }
67 new Npc(id, position, radius, instance, facing).register();
68 }
69
70}