From 4044e6ca53cb360e33c23887bcf2d55f8c6c76cb Mon Sep 17 00:00:00 2001 From: Verox Date: Sun, 8 Oct 2023 12:36:47 +0200 Subject: [PATCH] Added placeholder for class name insertion --- .../addonreader/resources/Plugin.java | 56 +++++++++++-------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/cimeyclust/addonreader/resources/Plugin.java b/src/main/java/com/cimeyclust/addonreader/resources/Plugin.java index b41f74d..2621074 100644 --- a/src/main/java/com/cimeyclust/addonreader/resources/Plugin.java +++ b/src/main/java/com/cimeyclust/addonreader/resources/Plugin.java @@ -28,23 +28,30 @@ import java.util.stream.Collectors; public class Plugin extends PluginBase { private static Plugin instance; private List> entities; + private ArrayList blockNames; + private ArrayList itemNames; + private ArrayList entityNames; @Override public void onLoad() { instance = this; entities = new ArrayList<>(); + entityNames = new ArrayList<>(); + // %entitynames% + blockNames = new ArrayList<>(); + // %blocknames% + itemNames = new ArrayList<>(); + // %itemnames% } @Override public void onEnable() { // Register Blocks - Reflections blockReflections = new Reflections("com.cimeyclust.addonreader.resources.custom_blocks"); + /*Reflections blockReflections = new Reflections("com.cimeyclust.addonreader.resources.custom_blocks"); Reflections reflections = new Reflections(new ConfigurationBuilder() .setUrls(ClasspathHelper.forPackage("com.cimeyclust.addonreader.resources.custom_blocks")) .setScanners(new SubTypesScanner(), new TypeAnnotationsScanner())); - int count = reflections.getStore().get(TypeAnnotationsScanner.class.getSimpleName()).keySet().size(); - System.out.println("Number of classes found: " + count); // Log super classes of each class in the package blockReflections.getSubTypesOf(Object.class).forEach(clazz -> System.out.println(clazz + " extends " + clazz.getSuperclass())); @@ -55,52 +62,57 @@ public class Plugin extends PluginBase { Set> blocks = blockReflections.getSubTypesOf(Object.class).stream() .filter(clazz -> clazz.getSuperclass() == CustomBlock.class) .map(clazz -> (Class) clazz) - .collect(Collectors.toSet()); + .collect(Collectors.toSet());*/ - for (Class clazz : blocks) { - System.out.println("§aLoading custom block " + clazz + "..."); + + + for (String blockName : blockNames) { + System.out.println("§aLoading custom block " + blockName + "..."); try { + Class clazz = Class.forName("com.cimeyclust.addonreader.resources.custom_blocks." + blockName).asSubclass(CustomBlock.class); Block.registerCustomBlock(Collections.singletonList(clazz)).assertOK(); - } catch (AssertionError e) { + } catch (AssertionError | ClassNotFoundException e) { e.printStackTrace(); } } // Register Items - Reflections itemReflections = new Reflections("com.cimeyclust.addonreader.resources.custom_items"); + // Reflections itemReflections = new Reflections("com.cimeyclust.addonreader.resources.custom_items"); // Log super classes of each class in the package - itemReflections.getSubTypesOf(Object.class).forEach(clazz -> System.out.println(clazz + " extends " + clazz.getSuperclass())); + // itemReflections.getSubTypesOf(Object.class).forEach(clazz -> System.out.println(clazz + " extends " + clazz.getSuperclass())); - Set> items = itemReflections.getSubTypesOf(Object.class).stream() + /*Set> items = itemReflections.getSubTypesOf(Object.class).stream() .filter(clazz -> clazz.getSuperclass() == CustomItem.class) .map(clazz -> (Class) clazz) - .collect(Collectors.toSet()); + .collect(Collectors.toSet());*/ - for (Class clazz : items) { - System.out.println("§aLoading custom item " + clazz + "..."); + for (String itemName : itemNames) { + System.out.println("§aLoading custom item " + itemName + "..."); try { + Class clazz = Class.forName("com.cimeyclust.addonreader.resources.custom_items." + itemName).asSubclass(CustomItem.class); Item.registerCustomItem(clazz).assertOK(); - } catch (AssertionError e) { + } catch (AssertionError | ClassNotFoundException e) { e.printStackTrace(); } } // Register Entities - Reflections entityReflections = new Reflections("com.cimeyclust.addonreader.resources.custom_entities"); + // Reflections entityReflections = new Reflections("com.cimeyclust.addonreader.resources.custom_entities"); // Log super classes of each class in the package - entityReflections.getSubTypesOf(Object.class).forEach(clazz -> System.out.println(clazz + " extends " + clazz.getSuperclass())); + // entityReflections.getSubTypesOf(Object.class).forEach(clazz -> System.out.println(clazz + " extends " + clazz.getSuperclass())); - Set> entities = itemReflections.getSubTypesOf(Object.class).stream() + /*Set> entities = itemReflections.getSubTypesOf(Object.class).stream() .filter(clazz -> clazz.getSuperclass() == Entity.class) .map(clazz -> (Class) clazz) - .collect(Collectors.toSet()); + .collect(Collectors.toSet());*/ - for (Class clazz : entities) { - System.out.println("§aLoading custom entity " + clazz + "..."); + for (String entityName : entityNames) { + System.out.println("§aLoading custom entity " + entityName + "..."); try { + Class clazz = Class.forName("com.cimeyclust.addonreader.resources.custom_entities." + entityName).asSubclass(Entity.class); Entity.registerCustomEntity(new CustomClassEntityProvider(clazz)).assertOK(); - entities.add(clazz); - } catch (AssertionError e) { + this.entities.add(clazz); + } catch (AssertionError | ClassNotFoundException e) { e.printStackTrace(); } }