mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-09-28 15:17:43 +02:00
Fix compile error, add some wander waypoint API
This commit is contained in:
parent
52b3902aca
commit
a0aaefcbea
@ -134,7 +134,8 @@ public class EventListen implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Iterable<NPC> getAllNPCs() {
|
private Iterable<NPC> getAllNPCs() {
|
||||||
return Iterables.filter(Iterables.<NPC> concat(CitizensAPI.getNPCRegistry(), Iterables.concat(registries.values())),
|
return Iterables.filter(
|
||||||
|
Iterables.<NPC> concat(CitizensAPI.getNPCRegistry(), Iterables.concat(registries.values())),
|
||||||
Predicates.notNull());
|
Predicates.notNull());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,7 +187,7 @@ public class EventListen implements Listener {
|
|||||||
*/
|
*/
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onEntityCombust(EntityCombustEvent event) {
|
public void onEntityCombust(EntityCombustEvent event) {
|
||||||
NPC npc = npcRegistry.getNPC(event.getEntity());
|
NPC npc = CitizensAPI.getNPCRegistry().getNPC(event.getEntity());
|
||||||
if (npc == null)
|
if (npc == null)
|
||||||
return;
|
return;
|
||||||
event.setCancelled(npc.data().get(NPC.DEFAULT_PROTECTED_METADATA, true));
|
event.setCancelled(npc.data().get(NPC.DEFAULT_PROTECTED_METADATA, true));
|
||||||
@ -414,7 +415,8 @@ public class EventListen implements Listener {
|
|||||||
|
|
||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler(ignoreCancelled = true)
|
||||||
public void onPlayerFish(PlayerFishEvent event) {
|
public void onPlayerFish(PlayerFishEvent event) {
|
||||||
if (CitizensAPI.getNPCRegistry().isNPC(event.getCaught()) && CitizensAPI.getNPCRegistry().getNPC(event.getCaught()).isProtected()) {
|
if (CitizensAPI.getNPCRegistry().isNPC(event.getCaught())
|
||||||
|
&& CitizensAPI.getNPCRegistry().getNPC(event.getCaught()).isProtected()) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -473,7 +475,8 @@ public class EventListen implements Listener {
|
|||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler(ignoreCancelled = true)
|
||||||
public void onPlayerTeleport(final PlayerTeleportEvent event) {
|
public void onPlayerTeleport(final PlayerTeleportEvent event) {
|
||||||
if (event.getCause() == TeleportCause.PLUGIN && !event.getPlayer().hasMetadata("citizens-force-teleporting")
|
if (event.getCause() == TeleportCause.PLUGIN && !event.getPlayer().hasMetadata("citizens-force-teleporting")
|
||||||
&& CitizensAPI.getNPCRegistry().getNPC(event.getPlayer()) != null && Setting.TELEPORT_DELAY.asInt() > 0) {
|
&& CitizensAPI.getNPCRegistry().getNPC(event.getPlayer()) != null
|
||||||
|
&& Setting.TELEPORT_DELAY.asInt() > 0) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(), new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(), new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -14,6 +14,7 @@ import org.bukkit.event.player.PlayerInteractEvent;
|
|||||||
import org.bukkit.metadata.FixedMetadataValue;
|
import org.bukkit.metadata.FixedMetadataValue;
|
||||||
|
|
||||||
import com.google.common.base.Supplier;
|
import com.google.common.base.Supplier;
|
||||||
|
import com.google.common.collect.ForwardingList;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
import net.citizensnpcs.api.CitizensAPI;
|
import net.citizensnpcs.api.CitizensAPI;
|
||||||
@ -160,6 +161,10 @@ public class WanderWaypointProvider implements WaypointProvider, Supplier<QuadTr
|
|||||||
return regionCentres.isEmpty() ? null : tree;
|
return regionCentres.isEmpty() ? null : tree;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Location> getRegionCentres() {
|
||||||
|
return new RecalculateList();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isPaused() {
|
public boolean isPaused() {
|
||||||
return paused;
|
return paused;
|
||||||
@ -201,6 +206,40 @@ public class WanderWaypointProvider implements WaypointProvider, Supplier<QuadTr
|
|||||||
this.paused = paused;
|
this.paused = paused;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class RecalculateList extends ForwardingList<Location> {
|
||||||
|
@Override
|
||||||
|
public void add(int idx, Location loc) {
|
||||||
|
super.add(idx, loc);
|
||||||
|
recalculateTree();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean add(Location loc) {
|
||||||
|
boolean val = super.add(loc);
|
||||||
|
recalculateTree();
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Location> delegate() {
|
||||||
|
return regionCentres;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Location remove(int idx) {
|
||||||
|
Location val = super.remove(idx);
|
||||||
|
recalculateTree();
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Location set(int idx, Location idx2) {
|
||||||
|
Location val = super.set(idx, idx2);
|
||||||
|
recalculateTree();
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static final int DEFAULT_XRANGE = 3;
|
private static final int DEFAULT_XRANGE = 3;
|
||||||
private static final int DEFAULT_YRANGE = 25;
|
private static final int DEFAULT_YRANGE = 25;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user