Use bukkit methods to kill fish hook

This commit is contained in:
fullwall 2023-07-27 19:11:19 +08:00
parent 831cb4a5d8
commit 115b0af3af
12 changed files with 50 additions and 42 deletions

View File

@ -1054,7 +1054,7 @@ public class NMSImpl implements NMSBridge {
return; return;
if (npc.isProtected()) { if (npc.isProtected()) {
hook.hooked = null; hook.hooked = null;
hook.die(); hook.getBukkitEntity().remove();
} }
} }

View File

@ -16,6 +16,7 @@ import java.util.Map;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -55,7 +56,6 @@ import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.scoreboard.Team; import org.bukkit.scoreboard.Team;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.util.function.Function;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -561,7 +561,7 @@ public class NMSImpl implements NMSBridge {
Entity handle = NMSImpl.getHandle(entity); Entity handle = NMSImpl.getHandle(entity);
if (handle == null || handle.passengers == null) if (handle == null || handle.passengers == null)
return Lists.newArrayList(); return Lists.newArrayList();
return Lists.transform(handle.passengers, input->input.getBukkitEntity()); return Lists.transform(handle.passengers, input -> input.getBukkitEntity());
} }
@Override @Override
@ -624,8 +624,10 @@ public class NMSImpl implements NMSBridge {
@Override @Override
public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest, public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest,
final NavigatorParameters params) { final NavigatorParameters params) {
final PathEntity path = new PathEntity( final PathEntity path = new PathEntity(Iterables.toArray(
Iterables.toArray(Iterables.transform(dest, input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())), PathPoint.class)); Iterables.transform(dest,
input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())),
PathPoint.class));
return getTargetNavigator(entity, params, new Function<NavigationAbstract, Boolean>() { return getTargetNavigator(entity, params, new Function<NavigationAbstract, Boolean>() {
@Override @Override
public Boolean apply(NavigationAbstract input) { public Boolean apply(NavigationAbstract input) {
@ -1110,7 +1112,7 @@ public class NMSImpl implements NMSBridge {
return; return;
if (npc.isProtected()) { if (npc.isProtected()) {
hook.hooked = null; hook.hooked = null;
hook.die(); hook.getBukkitEntity().remove();
} }
} }

View File

@ -16,6 +16,7 @@ import java.util.Map;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -55,7 +56,6 @@ import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.scoreboard.Team; import org.bukkit.scoreboard.Team;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.util.function.Function;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -629,8 +629,10 @@ public class NMSImpl implements NMSBridge {
@Override @Override
public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest, public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest,
final NavigatorParameters params) { final NavigatorParameters params) {
final PathEntity path = new PathEntity( final PathEntity path = new PathEntity(Iterables.toArray(
Iterables.toArray(Iterables.transform(dest, input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())), PathPoint.class)); Iterables.transform(dest,
input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())),
PathPoint.class));
return getTargetNavigator(entity, params, new Function<NavigationAbstract, Boolean>() { return getTargetNavigator(entity, params, new Function<NavigationAbstract, Boolean>() {
@Override @Override
public Boolean apply(NavigationAbstract input) { public Boolean apply(NavigationAbstract input) {
@ -1122,7 +1124,7 @@ public class NMSImpl implements NMSBridge {
return; return;
if (npc.isProtected()) { if (npc.isProtected()) {
hook.hooked = null; hook.hooked = null;
hook.die(); hook.getBukkitEntity().remove();
} }
} }

View File

@ -16,6 +16,7 @@ import java.util.Map;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -56,7 +57,6 @@ import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.scoreboard.Team; import org.bukkit.scoreboard.Team;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.util.function.Function;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -589,7 +589,7 @@ public class NMSImpl implements NMSBridge {
Entity handle = NMSImpl.getHandle(entity); Entity handle = NMSImpl.getHandle(entity);
if (handle == null || handle.passengers == null) if (handle == null || handle.passengers == null)
return Lists.newArrayList(); return Lists.newArrayList();
return Lists.transform(handle.passengers, input->input.getBukkitEntity()); return Lists.transform(handle.passengers, input -> input.getBukkitEntity());
} }
@Override @Override
@ -652,8 +652,10 @@ public class NMSImpl implements NMSBridge {
@Override @Override
public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest, public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest,
final NavigatorParameters params) { final NavigatorParameters params) {
final PathEntity path = new PathEntity( final PathEntity path = new PathEntity(Iterables.toArray(
Iterables.toArray(Iterables.transform(dest, input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())), PathPoint.class)); Iterables.transform(dest,
input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())),
PathPoint.class));
return getTargetNavigator(entity, params, new Function<NavigationAbstract, Boolean>() { return getTargetNavigator(entity, params, new Function<NavigationAbstract, Boolean>() {
@Override @Override
public Boolean apply(NavigationAbstract input) { public Boolean apply(NavigationAbstract input) {
@ -1159,7 +1161,7 @@ public class NMSImpl implements NMSBridge {
return; return;
if (npc.isProtected()) { if (npc.isProtected()) {
hook.hooked = null; hook.hooked = null;
hook.die(); hook.getBukkitEntity().remove();
} }
} }

View File

@ -16,6 +16,7 @@ import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -54,7 +55,6 @@ import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.scoreboard.Team; import org.bukkit.scoreboard.Team;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.util.function.Function;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -626,7 +626,7 @@ public class NMSImpl implements NMSBridge {
Entity handle = NMSImpl.getHandle(entity); Entity handle = NMSImpl.getHandle(entity);
if (handle == null || handle.passengers == null) if (handle == null || handle.passengers == null)
return Lists.newArrayList(); return Lists.newArrayList();
return Lists.transform(handle.passengers, input->input.getBukkitEntity()); return Lists.transform(handle.passengers, input -> input.getBukkitEntity());
} }
@Override @Override
@ -687,8 +687,8 @@ public class NMSImpl implements NMSBridge {
@Override @Override
public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest, public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest,
final NavigatorParameters params) { final NavigatorParameters params) {
List<PathPoint> list = Lists.<PathPoint> newArrayList( List<PathPoint> list = Lists.<PathPoint> newArrayList(Iterables.<Vector, PathPoint> transform(dest,
Iterables.<Vector, PathPoint> transform(dest, input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ()))); input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())));
PathPoint last = list.size() > 0 ? list.get(list.size() - 1) : null; PathPoint last = list.size() > 0 ? list.get(list.size() - 1) : null;
final PathEntity path = new PathEntity(list, last != null ? new BlockPosition(last.a, last.b, last.c) : null, final PathEntity path = new PathEntity(list, last != null ? new BlockPosition(last.a, last.b, last.c) : null,
true); true);
@ -1186,7 +1186,7 @@ public class NMSImpl implements NMSBridge {
return; return;
if (npc.isProtected()) { if (npc.isProtected()) {
hook.hooked = null; hook.hooked = null;
hook.die(); hook.getBukkitEntity().remove();
} }
} }

View File

@ -16,6 +16,7 @@ import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -54,7 +55,6 @@ import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.scoreboard.Team; import org.bukkit.scoreboard.Team;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.util.function.Function;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -641,7 +641,7 @@ public class NMSImpl implements NMSBridge {
Entity handle = NMSImpl.getHandle(entity); Entity handle = NMSImpl.getHandle(entity);
if (handle == null || handle.passengers == null) if (handle == null || handle.passengers == null)
return Lists.newArrayList(); return Lists.newArrayList();
return Lists.transform(handle.passengers, input->input.getBukkitEntity()); return Lists.transform(handle.passengers, input -> input.getBukkitEntity());
} }
@Override @Override
@ -702,8 +702,8 @@ public class NMSImpl implements NMSBridge {
@Override @Override
public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest, public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest,
final NavigatorParameters params) { final NavigatorParameters params) {
List<PathPoint> list = Lists.<PathPoint> newArrayList( List<PathPoint> list = Lists.<PathPoint> newArrayList(Iterables.<Vector, PathPoint> transform(dest,
Iterables.<Vector, PathPoint> transform(dest, input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ()))); input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())));
PathPoint last = list.size() > 0 ? list.get(list.size() - 1) : null; PathPoint last = list.size() > 0 ? list.get(list.size() - 1) : null;
final PathEntity path = new PathEntity(list, last != null ? new BlockPosition(last.a, last.b, last.c) : null, final PathEntity path = new PathEntity(list, last != null ? new BlockPosition(last.a, last.b, last.c) : null,
true); true);
@ -1203,7 +1203,7 @@ public class NMSImpl implements NMSBridge {
return; return;
if (npc.isProtected()) { if (npc.isProtected()) {
hook.hooked = null; hook.hooked = null;
hook.die(); hook.getBukkitEntity().remove();
} }
} }

View File

@ -16,6 +16,7 @@ import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -55,7 +56,6 @@ import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.scoreboard.Team; import org.bukkit.scoreboard.Team;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.util.function.Function;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
@ -657,7 +657,7 @@ public class NMSImpl implements NMSBridge {
Entity handle = NMSImpl.getHandle(entity); Entity handle = NMSImpl.getHandle(entity);
if (handle == null || handle.passengers == null) if (handle == null || handle.passengers == null)
return Lists.newArrayList(); return Lists.newArrayList();
return Lists.transform(handle.passengers, input->input.getBukkitEntity()); return Lists.transform(handle.passengers, input -> input.getBukkitEntity());
} }
@Override @Override
@ -726,8 +726,8 @@ public class NMSImpl implements NMSBridge {
@Override @Override
public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest, public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest,
final NavigatorParameters params) { final NavigatorParameters params) {
List<PathPoint> list = Lists.<PathPoint> newArrayList( List<PathPoint> list = Lists.<PathPoint> newArrayList(Iterables.<Vector, PathPoint> transform(dest,
Iterables.<Vector, PathPoint> transform(dest, input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ()))); input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())));
PathPoint last = list.size() > 0 ? list.get(list.size() - 1) : null; PathPoint last = list.size() > 0 ? list.get(list.size() - 1) : null;
final PathEntity path = new PathEntity(list, last != null ? new BlockPosition(last.a, last.b, last.c) : null, final PathEntity path = new PathEntity(list, last != null ? new BlockPosition(last.a, last.b, last.c) : null,
true); true);
@ -1239,7 +1239,7 @@ public class NMSImpl implements NMSBridge {
} catch (Throwable e) { } catch (Throwable e) {
e.printStackTrace(); e.printStackTrace();
} }
hook.die(); hook.getBukkitEntity().remove();
} }
} }

View File

@ -16,6 +16,7 @@ import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -52,7 +53,6 @@ import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.scoreboard.Team; import org.bukkit.scoreboard.Team;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.util.function.Function;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
@ -666,7 +666,7 @@ public class NMSImpl implements NMSBridge {
Entity handle = NMSImpl.getHandle(entity); Entity handle = NMSImpl.getHandle(entity);
if (handle == null || handle.passengers == null) if (handle == null || handle.passengers == null)
return Lists.newArrayList(); return Lists.newArrayList();
return Lists.transform(handle.passengers, input->input.getBukkitEntity()); return Lists.transform(handle.passengers, input -> input.getBukkitEntity());
} }
@Override @Override
@ -1226,7 +1226,7 @@ public class NMSImpl implements NMSBridge {
NPC npc = npcRegistry.getNPC(hooked.getBukkitEntity()); NPC npc = npcRegistry.getNPC(hooked.getBukkitEntity());
if (npc != null && npc.isProtected()) { if (npc != null && npc.isProtected()) {
hook.hookedIn = null; hook.hookedIn = null;
hook.setRemoved(RemovalReason.KILLED); hook.getBukkitEntity().remove();
} }
} }

View File

@ -15,6 +15,7 @@ import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -52,7 +53,6 @@ import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.scoreboard.Team; import org.bukkit.scoreboard.Team;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.util.function.Function;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
@ -672,7 +672,7 @@ public class NMSImpl implements NMSBridge {
Entity handle = NMSImpl.getHandle(entity); Entity handle = NMSImpl.getHandle(entity);
if (handle == null || handle.passengers == null) if (handle == null || handle.passengers == null)
return Lists.newArrayList(); return Lists.newArrayList();
return Lists.transform(handle.passengers, input->input.getBukkitEntity()); return Lists.transform(handle.passengers, input -> input.getBukkitEntity());
} }
@Override @Override
@ -1234,7 +1234,7 @@ public class NMSImpl implements NMSBridge {
NPC npc = npcRegistry.getNPC(hooked.getBukkitEntity()); NPC npc = npcRegistry.getNPC(hooked.getBukkitEntity());
if (npc != null && npc.isProtected()) { if (npc != null && npc.isProtected()) {
hook.hookedIn = null; hook.hookedIn = null;
hook.setRemoved(RemovalReason.KILLED); hook.getBukkitEntity().remove();
} }
} }

View File

@ -1331,7 +1331,7 @@ public class NMSImpl implements NMSBridge {
NPC npc = npcRegistry.getNPC(hooked.getBukkitEntity()); NPC npc = npcRegistry.getNPC(hooked.getBukkitEntity());
if (npc != null && npc.isProtected()) { if (npc != null && npc.isProtected()) {
hook.hookedIn = null; hook.hookedIn = null;
hook.setRemoved(RemovalReason.KILLED); hook.getBukkitEntity().remove();
} }
} }

View File

@ -1331,7 +1331,7 @@ public class NMSImpl implements NMSBridge {
NPC npc = npcRegistry.getNPC(hooked.getBukkitEntity()); NPC npc = npcRegistry.getNPC(hooked.getBukkitEntity());
if (npc != null && npc.isProtected()) { if (npc != null && npc.isProtected()) {
hook.hookedIn = null; hook.hookedIn = null;
hook.setRemoved(RemovalReason.KILLED); hook.getBukkitEntity().remove();
} }
} }

View File

@ -16,6 +16,7 @@ import java.util.Map;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -52,7 +53,6 @@ import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.scoreboard.Team; import org.bukkit.scoreboard.Team;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.util.function.Function;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
@ -557,8 +557,10 @@ public class NMSImpl implements NMSBridge {
@Override @Override
public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest, public MCNavigator getTargetNavigator(org.bukkit.entity.Entity entity, Iterable<Vector> dest,
final NavigatorParameters params) { final NavigatorParameters params) {
final PathEntity path = new PathEntity( final PathEntity path = new PathEntity(Iterables.toArray(
Iterables.toArray(Iterables.transform(dest, input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())), PathPoint.class)); Iterables.transform(dest,
input -> new PathPoint(input.getBlockX(), input.getBlockY(), input.getBlockZ())),
PathPoint.class));
return getTargetNavigator(entity, params, new Function<NavigationAbstract, Boolean>() { return getTargetNavigator(entity, params, new Function<NavigationAbstract, Boolean>() {
@Override @Override
public Boolean apply(NavigationAbstract input) { public Boolean apply(NavigationAbstract input) {
@ -983,7 +985,7 @@ public class NMSImpl implements NMSBridge {
return; return;
if (npc.isProtected()) { if (npc.isProtected()) {
hook.hooked = null; hook.hooked = null;
hook.die(); hook.getBukkitEntity().remove();
} }
} }