From b00b5772c97ea9ab6435a6ab3d6ddd0442427a6b Mon Sep 17 00:00:00 2001 From: gnembon Date: Mon, 16 Nov 2020 20:02:47 -0400 Subject: [PATCH] player doesn't attack in continuous and fixed event suggestions fixes #552. --- src/main/java/carpet/commands/ScriptCommand.java | 2 +- src/main/java/carpet/helpers/EntityPlayerActionPack.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/carpet/commands/ScriptCommand.java b/src/main/java/carpet/commands/ScriptCommand.java index 24be5130..5be12f51 100644 --- a/src/main/java/carpet/commands/ScriptCommand.java +++ b/src/main/java/carpet/commands/ScriptCommand.java @@ -75,7 +75,7 @@ public class ScriptCommand filter(s -> s.startsWith(prefix) && s.length() <= maxLen).map(s -> s+"(").collect(Collectors.toList())); // not that useful in commandline, more so in external scripts, so skipping here if (eventPrefix != null) scarpetMatches.addAll(CarpetEventServer.Event.publicEvents(null).stream(). - filter(e -> e.name.startsWith(eventPrefix)).map(s -> "__on_"+s+"(").collect(Collectors.toList())); + filter(e -> e.name.startsWith(eventPrefix)).map(s -> "__on_"+s.name+"(").collect(Collectors.toList())); scarpetMatches.addAll(host.globaFunctionNames(host.main, s -> s.startsWith(prefix)).map(s -> s+"(").collect(Collectors.toList())); scarpetMatches.addAll(host.globaVariableNames(host.main, s -> s.startsWith(prefix)).collect(Collectors.toList())); return scarpetMatches; diff --git a/src/main/java/carpet/helpers/EntityPlayerActionPack.java b/src/main/java/carpet/helpers/EntityPlayerActionPack.java index a9f8fe18..92220866 100644 --- a/src/main/java/carpet/helpers/EntityPlayerActionPack.java +++ b/src/main/java/carpet/helpers/EntityPlayerActionPack.java @@ -364,10 +364,13 @@ public class EntityPlayerActionPack switch (hit.getType()) { case ENTITY: { EntityHitResult entityHit = (EntityHitResult) hit; - player.attack(entityHit.getEntity()); + if (!action.isContinuous) + { + player.attack(entityHit.getEntity()); + player.swingHand(Hand.MAIN_HAND); + } player.resetLastAttackedTicks(); player.updateLastActionTime(); - player.swingHand(Hand.MAIN_HAND); return true; } case BLOCK: {