From 398804c0f418a35339a79883981a4ec4d9f4a488 Mon Sep 17 00:00:00 2001 From: Androkai Date: Sat, 7 Aug 2021 22:36:26 +0200 Subject: [PATCH] Readd empty constructors to all features because else the FeatureManager is unable instanciate these classes which results in a NoSuchMethodException beeing catched without any error. --- .../java/me/wiefferink/areashop/features/FriendsFeature.java | 2 ++ .../me/wiefferink/areashop/features/signs/SignsFeature.java | 4 +++- .../java/me/wiefferink/areashop/managers/FeatureManager.java | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/AreaShop/src/main/java/me/wiefferink/areashop/features/FriendsFeature.java b/AreaShop/src/main/java/me/wiefferink/areashop/features/FriendsFeature.java index 1b5c9eb6..afd99d11 100644 --- a/AreaShop/src/main/java/me/wiefferink/areashop/features/FriendsFeature.java +++ b/AreaShop/src/main/java/me/wiefferink/areashop/features/FriendsFeature.java @@ -19,6 +19,8 @@ public FriendsFeature(GeneralRegion region) { setRegion(region); } + public FriendsFeature() {} + /** * Add a friend to the region. * @param player The UUID of the player to add diff --git a/AreaShop/src/main/java/me/wiefferink/areashop/features/signs/SignsFeature.java b/AreaShop/src/main/java/me/wiefferink/areashop/features/signs/SignsFeature.java index d2959977..b77d6e2f 100644 --- a/AreaShop/src/main/java/me/wiefferink/areashop/features/signs/SignsFeature.java +++ b/AreaShop/src/main/java/me/wiefferink/areashop/features/signs/SignsFeature.java @@ -36,7 +36,9 @@ public class SignsFeature extends RegionFeature { private static final Map allSigns = Collections.synchronizedMap(new HashMap<>()); private static final Map> signsByChunk = Collections.synchronizedMap(new HashMap<>()); - private final Map signs; + private Map signs; + + public SignsFeature() {} /** * Constructor. diff --git a/AreaShop/src/main/java/me/wiefferink/areashop/managers/FeatureManager.java b/AreaShop/src/main/java/me/wiefferink/areashop/managers/FeatureManager.java index 53938c5a..e1399901 100644 --- a/AreaShop/src/main/java/me/wiefferink/areashop/managers/FeatureManager.java +++ b/AreaShop/src/main/java/me/wiefferink/areashop/managers/FeatureManager.java @@ -49,6 +49,7 @@ public FeatureManager() { AreaShop.error("Failed to instantiate global feature:", clazz, e); } catch(NoSuchMethodException e) { // Feature does not have a global part + AreaShop.error("Feature ", clazz.getName(), " is missing an empty constructor."); } }