From 6c6f28289959df369eb2501e4a309a72ace7e404 Mon Sep 17 00:00:00 2001 From: NathanCollaert <25828721+NathanCollaert@users.noreply.github.com> Date: Fri, 11 Feb 2022 18:02:35 +0100 Subject: [PATCH 1/2] add naming support --- .github/workflows/build.yml | 2 +- README.md | 8 +++++++- build.gradle | 8 ++++---- .../command/FarmControlCommand.java | 2 +- .../farmcontrol/command/StatusCommand.java | 1 - .../farmcontrol/config/FcConfig.java | 2 +- .../controller/FarmController.java | 9 +++++++-- .../controller/action/KillAction.java | 3 ++- .../controller/action/RemoveAction.java | 3 ++- .../action/RemoveRandomMovementAction.java | 10 +++++----- .../controller/task/ActionAllocationTask.java | 4 ++-- .../controller/task/ActionPerformTask.java | 2 +- .../froobworld/farmcontrol/data/FcData.java | 9 +++++++-- .../group/EntityGrouperResult.java | 6 ++++-- .../farmcontrol/group/GroupDefinition.java | 15 ++++++++++++-- .../farmcontrol/hook/tick/SpigotTickHook.java | 2 +- .../listener/CompatibilityListener.java | 3 ++- .../farmcontrol/utils/Actioner.java | 3 ++- .../farmcontrol/utils/EntityNameUtils.java | 20 +++++++++++++++++++ .../farmcontrol/utils/EntityTypeUtils.java | 2 -- .../farmcontrol/utils/NmsUtils.java | 2 +- src/main/resources/plugin.yml | 4 ++-- 22 files changed, 85 insertions(+), 35 deletions(-) create mode 100644 src/main/java/com/froobworld/farmcontrol/utils/EntityNameUtils.java diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7db6247..31e0af7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,6 +1,6 @@ name: Build FarmControl -on: [push, pull_request] +on: [ push, pull_request ] jobs: build: diff --git a/README.md b/README.md index 1049c17..52eefd9 100644 --- a/README.md +++ b/README.md @@ -3,17 +3,23 @@ **Plugin page**: [https://www.spigotmc.org/resources/86923/](https://www.spigotmc.org/resources/86923/) ## About -FarmControl is a Bukkit plugin that allows you to control certain properties of farms on your server. Among other things, you can limit the size of mob farms, remove the ability of mobs in farms to collide and perform random movements, or completely disable the AI of mobs in farms. + +FarmControl is a Bukkit plugin that allows you to control certain properties of farms on your server. Among other +things, you can limit the size of mob farms, remove the ability of mobs in farms to collide and perform random +movements, or completely disable the AI of mobs in farms. ## Building 1. Install dependency NabConfiguration to maven local + ```bash git clone https://github.com/froobynooby/nab-configuration cd nab-configuration ./gradlew clean install ``` + 2. Clone FarmControl and build + ```bash git clone https://github.com/froobynooby/FarmControl cd FarmControl diff --git a/build.gradle b/build.gradle index 40c4be6..6609b5a 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'com.froobworld' -version '1.1.9' +version '1.1.10' jar.enabled = false; sourceCompatibility = 1.8 @@ -33,9 +33,9 @@ dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' compileOnly 'com.destroystokyo.paper:paper-api:1.15.2-R0.1-SNAPSHOT' compileOnly 'me.clip:placeholderapi:2.10.9' - compile 'org.jooq:joor-java-8:0.9.13' + compile 'org.jooq:joor-java-8:0.9.14' compile 'com.froobworld:nab-configuration:1.0.2' - compile 'org.bstats:bstats-bukkit:2.2.1' + compile 'org.bstats:bstats-bukkit:3.0.0' } processResources { @@ -47,7 +47,7 @@ shadowJar { relocate 'com.froobworld.nabconfiguration', 'com.froobworld.farmcontrol.lib.nabconfiguration' relocate 'org.joor', 'com.froobworld.farmcontrol.lib.joor' - relocate 'org.bstats','com.froobworld.farmcontrol.lib.bstats' + relocate 'org.bstats', 'com.froobworld.farmcontrol.lib.bstats' } artifacts { diff --git a/src/main/java/com/froobworld/farmcontrol/command/FarmControlCommand.java b/src/main/java/com/froobworld/farmcontrol/command/FarmControlCommand.java index 767a4f7..12fe8a7 100644 --- a/src/main/java/com/froobworld/farmcontrol/command/FarmControlCommand.java +++ b/src/main/java/com/froobworld/farmcontrol/command/FarmControlCommand.java @@ -62,7 +62,7 @@ private void sendHelp(CommandSender sender, String cl) { sender.sendMessage("/" + cl + " reload"); } if (sender.hasPermission("farmcontrol.command.status")) { - sender.sendMessage("/" + cl + " status " + (sender instanceof Player ? "[world]" :"")); + sender.sendMessage("/" + cl + " status " + (sender instanceof Player ? "[world]" : "")); } } diff --git a/src/main/java/com/froobworld/farmcontrol/command/StatusCommand.java b/src/main/java/com/froobworld/farmcontrol/command/StatusCommand.java index 93f1eab..4c15379 100644 --- a/src/main/java/com/froobworld/farmcontrol/command/StatusCommand.java +++ b/src/main/java/com/froobworld/farmcontrol/command/StatusCommand.java @@ -1,7 +1,6 @@ package com.froobworld.farmcontrol.command; import com.froobworld.farmcontrol.FarmControl; -import com.froobworld.farmcontrol.controller.action.Action; import com.froobworld.farmcontrol.data.FcData; import org.bukkit.Bukkit; import org.bukkit.ChatColor; diff --git a/src/main/java/com/froobworld/farmcontrol/config/FcConfig.java b/src/main/java/com/froobworld/farmcontrol/config/FcConfig.java index fab0058..4c2e54d 100644 --- a/src/main/java/com/froobworld/farmcontrol/config/FcConfig.java +++ b/src/main/java/com/froobworld/farmcontrol/config/FcConfig.java @@ -147,7 +147,7 @@ public static class TpsTrackerSettings extends ConfigSection { public final ConfigEntry collectionPeriod = ConfigEntries.integerEntry(); @Entry(key = "trim-outliers-to-within") - public final ConfigEntry trimOutliersPercent= ConfigEntries.doubleEntry(); + public final ConfigEntry trimOutliersPercent = ConfigEntries.doubleEntry(); } diff --git a/src/main/java/com/froobworld/farmcontrol/controller/FarmController.java b/src/main/java/com/froobworld/farmcontrol/controller/FarmController.java index 708bc5b..2bd085c 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/FarmController.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/FarmController.java @@ -1,14 +1,19 @@ package com.froobworld.farmcontrol.controller; import com.froobworld.farmcontrol.FarmControl; -import com.froobworld.farmcontrol.controller.task.*; +import com.froobworld.farmcontrol.controller.task.ActionPerformTask; +import com.froobworld.farmcontrol.controller.task.TriggerCheckTask; +import com.froobworld.farmcontrol.controller.task.UntriggerPerformTask; import com.froobworld.farmcontrol.controller.trigger.Trigger; import com.froobworld.farmcontrol.utils.Actioner; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.entity.Entity; -import java.util.*; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class FarmController { private final FarmControl farmControl; diff --git a/src/main/java/com/froobworld/farmcontrol/controller/action/KillAction.java b/src/main/java/com/froobworld/farmcontrol/controller/action/KillAction.java index 213ed19..43039d8 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/action/KillAction.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/action/KillAction.java @@ -14,5 +14,6 @@ public void doAction(Mob mob) { } @Override - public void undoAction(Mob mob) {} + public void undoAction(Mob mob) { + } } diff --git a/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveAction.java b/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveAction.java index b9ae7ef..8f2d867 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveAction.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveAction.java @@ -14,5 +14,6 @@ public void doAction(Mob mob) { } @Override - public void undoAction(Mob mob) {} + public void undoAction(Mob mob) { + } } diff --git a/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveRandomMovementAction.java b/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveRandomMovementAction.java index 144b737..7dff13e 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveRandomMovementAction.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveRandomMovementAction.java @@ -6,7 +6,7 @@ import java.util.*; -import static org.joor.Reflect.*; +import static org.joor.Reflect.on; public class RemoveRandomMovementAction extends Action { private final static Map> entityRemovedGoalsMap = new WeakHashMap<>(); @@ -14,10 +14,10 @@ public class RemoveRandomMovementAction extends Action { static { try { - randomMovementGoals.add(Class.forName(NmsUtils.getFullyQualifiedClassName("PathfinderGoalRandomFly", "world.entity.ai.goal"))); - randomMovementGoals.add(Class.forName(NmsUtils.getFullyQualifiedClassName("PathfinderGoalRandomStroll", "world.entity.ai.goal"))); - randomMovementGoals.add(Class.forName(NmsUtils.getFullyQualifiedClassName("PathfinderGoalRandomStrollLand", "world.entity.ai.goal"))); - randomMovementGoals.add(Class.forName(NmsUtils.getFullyQualifiedClassName("PathfinderGoalRandomSwim", "world.entity.ai.goal"))); + randomMovementGoals.add(Class.forName(NmsUtils.getFullyQualifiedClassName("PathfinderGoalRandomFly", "world.entity.ai.goal"))); + randomMovementGoals.add(Class.forName(NmsUtils.getFullyQualifiedClassName("PathfinderGoalRandomStroll", "world.entity.ai.goal"))); + randomMovementGoals.add(Class.forName(NmsUtils.getFullyQualifiedClassName("PathfinderGoalRandomStrollLand", "world.entity.ai.goal"))); + randomMovementGoals.add(Class.forName(NmsUtils.getFullyQualifiedClassName("PathfinderGoalRandomSwim", "world.entity.ai.goal"))); } catch (ClassNotFoundException e) { e.printStackTrace(); } diff --git a/src/main/java/com/froobworld/farmcontrol/controller/task/ActionAllocationTask.java b/src/main/java/com/froobworld/farmcontrol/controller/task/ActionAllocationTask.java index 99a9747..4266001 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/task/ActionAllocationTask.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/task/ActionAllocationTask.java @@ -3,13 +3,13 @@ import com.froobworld.farmcontrol.controller.ActionProfile; import com.froobworld.farmcontrol.controller.FarmController; import com.froobworld.farmcontrol.controller.TriggerActionPair; +import com.froobworld.farmcontrol.controller.action.Action; +import com.froobworld.farmcontrol.controller.entity.SnapshotEntity; import com.froobworld.farmcontrol.controller.trigger.Trigger; import com.froobworld.farmcontrol.data.FcData; import com.froobworld.farmcontrol.group.EntityGrouper; import com.froobworld.farmcontrol.group.EntityGrouperResult; import com.froobworld.farmcontrol.group.Group; -import com.froobworld.farmcontrol.controller.action.Action; -import com.froobworld.farmcontrol.controller.entity.SnapshotEntity; import com.froobworld.farmcontrol.utils.MixedEntitySet; import java.util.*; diff --git a/src/main/java/com/froobworld/farmcontrol/controller/task/ActionPerformTask.java b/src/main/java/com/froobworld/farmcontrol/controller/task/ActionPerformTask.java index f7c0114..7a34011 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/task/ActionPerformTask.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/task/ActionPerformTask.java @@ -1,8 +1,8 @@ package com.froobworld.farmcontrol.controller.task; import com.froobworld.farmcontrol.controller.TriggerActionPair; -import com.froobworld.farmcontrol.data.FcData; import com.froobworld.farmcontrol.controller.entity.SnapshotEntity; +import com.froobworld.farmcontrol.data.FcData; import org.bukkit.entity.Mob; import java.util.Map; diff --git a/src/main/java/com/froobworld/farmcontrol/data/FcData.java b/src/main/java/com/froobworld/farmcontrol/data/FcData.java index 3d694d8..f9155b2 100644 --- a/src/main/java/com/froobworld/farmcontrol/data/FcData.java +++ b/src/main/java/com/froobworld/farmcontrol/data/FcData.java @@ -12,7 +12,10 @@ import org.bukkit.persistence.PersistentDataType; import org.jetbrains.annotations.NotNull; -import java.util.*; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.WeakHashMap; import java.util.concurrent.ConcurrentHashMap; public class FcData { @@ -20,6 +23,7 @@ public class FcData { private static final NamespacedKey KEY = new NamespacedKey(FarmControl.getPlugin(FarmControl.class), "data"); private static final PersistentDataType TYPE = new PersistentDataType() { private final Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); + @Override public @NotNull Class getPrimitiveType() { return String.class; @@ -54,7 +58,8 @@ public FcData fromPrimitive(@NotNull String s, @NotNull PersistentDataAdapterCon private final ConcurrentHashMap> triggerActionMap = new ConcurrentHashMap<>(); private boolean dirty = false; - private FcData() {} + private FcData() { + } public Set getActions(Trigger trigger) { return triggerActionMap.get(trigger.getName()); diff --git a/src/main/java/com/froobworld/farmcontrol/group/EntityGrouperResult.java b/src/main/java/com/froobworld/farmcontrol/group/EntityGrouperResult.java index 725700c..3535fb9 100644 --- a/src/main/java/com/froobworld/farmcontrol/group/EntityGrouperResult.java +++ b/src/main/java/com/froobworld/farmcontrol/group/EntityGrouperResult.java @@ -2,7 +2,9 @@ import com.froobworld.farmcontrol.controller.entity.SnapshotEntity; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.ListIterator; import java.util.stream.Collectors; public class EntityGrouperResult { @@ -25,7 +27,7 @@ public static class Builder { } public void addEntity(SnapshotEntity entity) { - if (!groupDefinition.getTypePredicate().test(entity) || groupDefinition.getExcludeTypePredicate().test(entity)) { + if (!groupDefinition.getTypePredicate().test(entity) || groupDefinition.getExcludeTypePredicate().test(entity) || !groupDefinition.getNamePredicate().test(entity)) { return; } ListIterator iterator = protoGroups.listIterator(); diff --git a/src/main/java/com/froobworld/farmcontrol/group/GroupDefinition.java b/src/main/java/com/froobworld/farmcontrol/group/GroupDefinition.java index 2e68a3d..beabe6a 100644 --- a/src/main/java/com/froobworld/farmcontrol/group/GroupDefinition.java +++ b/src/main/java/com/froobworld/farmcontrol/group/GroupDefinition.java @@ -1,6 +1,7 @@ package com.froobworld.farmcontrol.group; import com.froobworld.farmcontrol.controller.entity.SnapshotEntity; +import com.froobworld.farmcontrol.utils.EntityNameUtils; import com.froobworld.farmcontrol.utils.EntityTypeUtils; import org.bukkit.configuration.ConfigurationSection; @@ -9,6 +10,7 @@ public class GroupDefinition { private final Predicate typePredicate; private final Predicate excludeTypePredicate; + private final Predicate namePredicate; private final int size; private final double distance; private final double distanceSquared; @@ -16,9 +18,10 @@ public class GroupDefinition { private final boolean ignoreVerticalDistance; private final boolean pure; - public GroupDefinition(Predicate typePredicate, Predicate excludeTypePredicate, int size, double distance, boolean sameChunk, boolean ignoreVerticalDistance, boolean pure) { + public GroupDefinition(Predicate typePredicate, Predicate excludeTypePredicate, Predicate namePredicate, int size, double distance, boolean sameChunk, boolean ignoreVerticalDistance, boolean pure) { this.typePredicate = typePredicate; this.excludeTypePredicate = excludeTypePredicate; + this.namePredicate = namePredicate; this.size = size; this.distance = distance; this.distanceSquared = distance * distance; @@ -35,6 +38,10 @@ public Predicate getExcludeTypePredicate() { return excludeTypePredicate; } + public Predicate getNamePredicate() { + return namePredicate; + } + public int getSize() { return size; } @@ -68,13 +75,17 @@ public static GroupDefinition fromConfigurationSection(ConfigurationSection sect .map(EntityTypeUtils::fromString) .reduce(Predicate::or) .orElse(snapshotEntity -> false); + Predicate namePredicate = section.getStringList("names").stream() + .map(EntityNameUtils::fromString) + .reduce(Predicate::or) + .orElse(snapshotEntity -> true); int size = section.getInt("count"); boolean sameChunk = section.isString("distance") && "same-chunk".equalsIgnoreCase(section.getString("distance")); double distance = sameChunk ? 0 : section.getDouble("distance"); boolean ignoreVerticalDistance = section.getBoolean("ignore-vertical-distance"); boolean pure = section.getBoolean("pure"); - return new GroupDefinition(typePredicate, excludeTypePredicate, size, distance, sameChunk, ignoreVerticalDistance, pure); + return new GroupDefinition(typePredicate, excludeTypePredicate, namePredicate, size, distance, sameChunk, ignoreVerticalDistance, pure); } } diff --git a/src/main/java/com/froobworld/farmcontrol/hook/tick/SpigotTickHook.java b/src/main/java/com/froobworld/farmcontrol/hook/tick/SpigotTickHook.java index b51f9cb..1766eba 100644 --- a/src/main/java/com/froobworld/farmcontrol/hook/tick/SpigotTickHook.java +++ b/src/main/java/com/froobworld/farmcontrol/hook/tick/SpigotTickHook.java @@ -9,7 +9,7 @@ import java.util.Set; import java.util.function.Consumer; -import static org.joor.Reflect.*; +import static org.joor.Reflect.onClass; public class SpigotTickHook implements TickHook { private static final Reflect currentTick = onClass(NmsUtils.getFullyQualifiedClassName("MinecraftServer", "server")).field("currentTick"); diff --git a/src/main/java/com/froobworld/farmcontrol/listener/CompatibilityListener.java b/src/main/java/com/froobworld/farmcontrol/listener/CompatibilityListener.java index aaba52c..e87b17e 100644 --- a/src/main/java/com/froobworld/farmcontrol/listener/CompatibilityListener.java +++ b/src/main/java/com/froobworld/farmcontrol/listener/CompatibilityListener.java @@ -97,7 +97,8 @@ public void onEntityTempt(EntityTargetLivingEntityEvent event) { return; } for (Action action : farmControl.getActionManager().getActions()) { - if (action instanceof RemoveRandomMovementAction) continue; // Hacky solution for https://github.com/froobynooby/FarmControl/issues/4 + if (action instanceof RemoveRandomMovementAction) + continue; // Hacky solution for https://github.com/froobynooby/FarmControl/issues/4 if (farmControl.getFcConfig().worldSettings.of(entity.getWorld()).actionSettings.undoOn.of(action).tempt.get()) { if (fcData.removeAction(action)) { action.undoAction((Mob) entity); diff --git a/src/main/java/com/froobworld/farmcontrol/utils/Actioner.java b/src/main/java/com/froobworld/farmcontrol/utils/Actioner.java index 10e5b2e..d3023e0 100644 --- a/src/main/java/com/froobworld/farmcontrol/utils/Actioner.java +++ b/src/main/java/com/froobworld/farmcontrol/utils/Actioner.java @@ -8,7 +8,8 @@ public final class Actioner { - private Actioner() {} + private Actioner() { + } public static void undoAllActions(Entity entity, FarmControl farmControl) { if (!(entity instanceof Mob)) { diff --git a/src/main/java/com/froobworld/farmcontrol/utils/EntityNameUtils.java b/src/main/java/com/froobworld/farmcontrol/utils/EntityNameUtils.java new file mode 100644 index 0000000..446bcb0 --- /dev/null +++ b/src/main/java/com/froobworld/farmcontrol/utils/EntityNameUtils.java @@ -0,0 +1,20 @@ +package com.froobworld.farmcontrol.utils; + +import com.froobworld.farmcontrol.controller.entity.SnapshotEntity; + +import java.util.function.Predicate; + +public final class EntityNameUtils { + + public static Predicate fromString(String string) { + if (string.startsWith("*")) { + String name = string.split("\\*")[1]; + return entity -> entity.getEntity().getCustomName() != null && entity.getEntity().getCustomName().toLowerCase().endsWith(name.toLowerCase()); + } else if (string.endsWith("*")) { + String name = string.split("\\*")[0]; + return entity -> entity.getEntity().getCustomName() != null && entity.getEntity().getCustomName().toLowerCase().startsWith(name.toLowerCase()); + } + return entity -> entity.getEntity().getCustomName() != null && entity.getEntity().getCustomName().equalsIgnoreCase(string); + } + +} diff --git a/src/main/java/com/froobworld/farmcontrol/utils/EntityTypeUtils.java b/src/main/java/com/froobworld/farmcontrol/utils/EntityTypeUtils.java index 97e5819..190c929 100644 --- a/src/main/java/com/froobworld/farmcontrol/utils/EntityTypeUtils.java +++ b/src/main/java/com/froobworld/farmcontrol/utils/EntityTypeUtils.java @@ -7,8 +7,6 @@ public final class EntityTypeUtils { - private EntityTypeUtils(){} - public static Predicate fromString(String string) { if (string.toLowerCase().startsWith("category:")) { String category = string.split(":")[1]; diff --git a/src/main/java/com/froobworld/farmcontrol/utils/NmsUtils.java b/src/main/java/com/froobworld/farmcontrol/utils/NmsUtils.java index dddd2b6..d8145bb 100644 --- a/src/main/java/com/froobworld/farmcontrol/utils/NmsUtils.java +++ b/src/main/java/com/froobworld/farmcontrol/utils/NmsUtils.java @@ -4,7 +4,7 @@ import java.lang.reflect.Field; -import static org.joor.Reflect.*; +import static org.joor.Reflect.on; public class NmsUtils { private static final String NMS_PACKAGE_NAME = on(Bukkit.getServer()).call("getHandle") diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 21fadef..48f3118 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,13 +2,13 @@ name: FarmControl version: ${version} main: com.froobworld.farmcontrol.FarmControl api-version: 1.15 -authors: [froobynooby] +authors: [ froobynooby ] description: A plugin for controlling the size and functions of farms. commands: farmcontrol: description: Base command for FarmControl. - aliases: [fc] + aliases: [ fc ] permissions: farmcontrol.command.*: From 301c92b325b276585298d1d23b22670a0aea24df Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sat, 12 Mar 2022 10:10:28 +0100 Subject: [PATCH 2/2] merge and cherry pick master into feature branch --- build.gradle | 2 +- .../com/froobworld/farmcontrol/controller/FarmController.java | 4 +++- .../controller/action/RemoveRandomMovementAction.java | 2 +- .../farmcontrol/controller/task/ActionAllocationTask.java | 2 ++ .../farmcontrol/controller/task/ActionPerformTask.java | 2 +- .../froobworld/farmcontrol/controller/tracker/CycleStats.java | 4 ++-- .../farmcontrol/controller/tracker/NotificationCentre.java | 2 +- .../com/froobworld/farmcontrol/hook/tick/SpigotTickHook.java | 3 ++- .../com/froobworld/farmcontrol/utils/DurationDisplayer.java | 3 ++- 9 files changed, 15 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index 9ebd7ed..0cf8a10 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'com.froobworld' -version '1.2.0' +version '1.2.1' jar.enabled = false; sourceCompatibility = 1.8 diff --git a/src/main/java/com/froobworld/farmcontrol/controller/FarmController.java b/src/main/java/com/froobworld/farmcontrol/controller/FarmController.java index 9908632..24f40b3 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/FarmController.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/FarmController.java @@ -1,7 +1,9 @@ package com.froobworld.farmcontrol.controller; import com.froobworld.farmcontrol.FarmControl; -import com.froobworld.farmcontrol.controller.task.*; +import com.froobworld.farmcontrol.controller.task.ActionPerformTask; +import com.froobworld.farmcontrol.controller.task.TriggerCheckTask; +import com.froobworld.farmcontrol.controller.task.UntriggerPerformTask; import com.froobworld.farmcontrol.controller.tracker.CycleHistoryManager; import com.froobworld.farmcontrol.controller.trigger.Trigger; import com.froobworld.farmcontrol.utils.Actioner; diff --git a/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveRandomMovementAction.java b/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveRandomMovementAction.java index 7dff13e..5cb99dc 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveRandomMovementAction.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/action/RemoveRandomMovementAction.java @@ -56,7 +56,7 @@ public void doAction(Mob mob) { @Override public void undoAction(Mob mob) { Object entityObject = on(mob).call("getHandle").get(); - Set wrappedGoals = on(entityObject) + Set wrappedGoals = on(entityObject) .field(NmsUtils.GoalSelectorHelper.getGoalSelectorFieldName()) .field("d") .as(Set.class); diff --git a/src/main/java/com/froobworld/farmcontrol/controller/task/ActionAllocationTask.java b/src/main/java/com/froobworld/farmcontrol/controller/task/ActionAllocationTask.java index f5e5e2d..22c1b3a 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/task/ActionAllocationTask.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/task/ActionAllocationTask.java @@ -3,6 +3,8 @@ import com.froobworld.farmcontrol.controller.ActionProfile; import com.froobworld.farmcontrol.controller.FarmController; import com.froobworld.farmcontrol.controller.TriggerActionPair; +import com.froobworld.farmcontrol.controller.action.Action; +import com.froobworld.farmcontrol.controller.entity.SnapshotEntity; import com.froobworld.farmcontrol.controller.tracker.CycleTracker; import com.froobworld.farmcontrol.controller.trigger.Trigger; import com.froobworld.farmcontrol.data.FcData; diff --git a/src/main/java/com/froobworld/farmcontrol/controller/task/ActionPerformTask.java b/src/main/java/com/froobworld/farmcontrol/controller/task/ActionPerformTask.java index 3f0bb18..3428c00 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/task/ActionPerformTask.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/task/ActionPerformTask.java @@ -1,9 +1,9 @@ package com.froobworld.farmcontrol.controller.task; import com.froobworld.farmcontrol.controller.TriggerActionPair; +import com.froobworld.farmcontrol.controller.entity.SnapshotEntity; import com.froobworld.farmcontrol.controller.tracker.CycleTracker; import com.froobworld.farmcontrol.data.FcData; -import com.froobworld.farmcontrol.controller.entity.SnapshotEntity; import org.bukkit.World; import org.bukkit.entity.Mob; diff --git a/src/main/java/com/froobworld/farmcontrol/controller/tracker/CycleStats.java b/src/main/java/com/froobworld/farmcontrol/controller/tracker/CycleStats.java index 386f9e6..6a9fa67 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/tracker/CycleStats.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/tracker/CycleStats.java @@ -9,7 +9,6 @@ import org.bukkit.entity.EntityType; import java.util.*; -import java.util.List; import java.util.stream.Collectors; public class CycleStats { @@ -73,7 +72,8 @@ public static class Builder { private final Set removedEntities = new HashSet<>(); private final Map> actionCounts = new HashMap<>(); - private Builder() {} + private Builder() { + } public static Builder start(long startTime) { Builder builder = new Builder(); diff --git a/src/main/java/com/froobworld/farmcontrol/controller/tracker/NotificationCentre.java b/src/main/java/com/froobworld/farmcontrol/controller/tracker/NotificationCentre.java index d3f5133..511d602 100644 --- a/src/main/java/com/froobworld/farmcontrol/controller/tracker/NotificationCentre.java +++ b/src/main/java/com/froobworld/farmcontrol/controller/tracker/NotificationCentre.java @@ -90,7 +90,7 @@ public void load() { return; } try (BufferedReader reader = new BufferedReader(new FileReader(userFile))) { - for(String line; (line = reader.readLine()) != null; ) { + for (String line; (line = reader.readLine()) != null; ) { if (!line.isEmpty()) { notifiableUsers.add(UUID.fromString(line)); } diff --git a/src/main/java/com/froobworld/farmcontrol/hook/tick/SpigotTickHook.java b/src/main/java/com/froobworld/farmcontrol/hook/tick/SpigotTickHook.java index 166eea9..3f8c96b 100644 --- a/src/main/java/com/froobworld/farmcontrol/hook/tick/SpigotTickHook.java +++ b/src/main/java/com/froobworld/farmcontrol/hook/tick/SpigotTickHook.java @@ -9,10 +9,11 @@ import java.util.Set; import java.util.function.Consumer; -import static org.joor.Reflect.onClass; +import static org.joor.Reflect.on; public class SpigotTickHook implements TickHook { private static final long[] tickTimes; + static { Class serverClass = null; try { diff --git a/src/main/java/com/froobworld/farmcontrol/utils/DurationDisplayer.java b/src/main/java/com/froobworld/farmcontrol/utils/DurationDisplayer.java index 6df5c46..1ca9c57 100644 --- a/src/main/java/com/froobworld/farmcontrol/utils/DurationDisplayer.java +++ b/src/main/java/com/froobworld/farmcontrol/utils/DurationDisplayer.java @@ -4,7 +4,8 @@ public final class DurationDisplayer { - private DurationDisplayer() {} + private DurationDisplayer() { + } private static String quantityText(int quantity, String singularSuffix, String pluralSuffix) { String quantityText = quantity + "";