mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-10-03 18:07:26 +02:00
Bugfix (may need changing later)
This commit is contained in:
parent
bf7b868a09
commit
f42248a38e
@ -52,7 +52,6 @@ public class LinearWaypointProvider implements WaypointProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load(DataKey key) {
|
public void load(DataKey key) {
|
||||||
waypoints.clear();
|
|
||||||
for (DataKey root : key.getRelative("waypoints").getIntegerSubKeys()) {
|
for (DataKey root : key.getRelative("waypoints").getIntegerSubKeys()) {
|
||||||
waypoints.add(new Waypoint(StorageUtils.loadLocation(root)));
|
waypoints.add(new Waypoint(StorageUtils.loadLocation(root)));
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ import org.bukkit.entity.Player;
|
|||||||
public class Waypoints extends Trait {
|
public class Waypoints extends Trait {
|
||||||
private final NPC npc;
|
private final NPC npc;
|
||||||
private String providerName;
|
private String providerName;
|
||||||
private WaypointProvider provider;
|
private WaypointProvider provider = new LinearWaypointProvider();
|
||||||
|
|
||||||
public Waypoints(NPC npc) {
|
public Waypoints(NPC npc) {
|
||||||
this.npc = npc;
|
this.npc = npc;
|
||||||
@ -23,12 +23,10 @@ public class Waypoints extends Trait {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load(DataKey key) throws NPCLoadException {
|
public void load(DataKey key) throws NPCLoadException {
|
||||||
if (provider == null) {
|
providerName = key.getString("provider", "linear");
|
||||||
providerName = key.getString("provider", "linear");
|
provider = providers.getInstance(providerName);
|
||||||
provider = providers.getInstance(providerName);
|
if (provider == null)
|
||||||
if (provider == null)
|
return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
provider.load(key.getRelative(providerName));
|
provider.load(key.getRelative(providerName));
|
||||||
npc.getAI().registerNavigationCallback(provider.getCallback());
|
npc.getAI().registerNavigationCallback(provider.getCallback());
|
||||||
}
|
}
|
||||||
@ -45,6 +43,11 @@ public class Waypoints extends Trait {
|
|||||||
return provider.createEditor(player);
|
return provider.createEditor(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setWaypointProvider(WaypointProvider provider, String name) {
|
||||||
|
this.provider = provider;
|
||||||
|
providerName = name;
|
||||||
|
}
|
||||||
|
|
||||||
public static void registerWaypointProvider(Class<? extends WaypointProvider> clazz, String name) {
|
public static void registerWaypointProvider(Class<? extends WaypointProvider> clazz, String name) {
|
||||||
providers.register(clazz, name);
|
providers.register(clazz, name);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user