diff --git a/Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/caps/ForgeCapability.java b/Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/caps/ForgeCapability.java index 5e98c56..abecb6a 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/caps/ForgeCapability.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/caps/ForgeCapability.java @@ -3,6 +3,7 @@ package me.hypherionmc.craterlib.api.blockentities.caps; /** * @author HypherionSA * @date 24/09/2022 + * Wrapper Class for Forge Capabilities to remove duplicate code from Modules */ public enum ForgeCapability { ENERGY, diff --git a/Common/src/main/java/me/hypherionmc/craterlib/common/blockentity/CraterBlockEntity.java b/Common/src/main/java/me/hypherionmc/craterlib/common/blockentity/CraterBlockEntity.java index cc2216e..2528240 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/common/blockentity/CraterBlockEntity.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/common/blockentity/CraterBlockEntity.java @@ -15,6 +15,7 @@ import java.util.Optional; /** * @author HypherionSA * @date 24/09/2022 + * A Wrapped Block Entity to incorporate CraterLib's universal capability provider */ public class CraterBlockEntity extends BlockEntity implements IForgeCapProvider { diff --git a/Common/src/main/java/me/hypherionmc/craterlib/common/config/ConfigController.java b/Common/src/main/java/me/hypherionmc/craterlib/common/config/ConfigController.java index ca7e747..e6a4b57 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/common/config/ConfigController.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/common/config/ConfigController.java @@ -9,7 +9,7 @@ import java.util.HashMap; /** * Controls Config File Reloads and Events */ -public class ConfigController implements Serializable { +public final class ConfigController implements Serializable { /** * Cache of registered configs diff --git a/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/SubConfig.java b/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/SubConfig.java index 9cb8478..e0d9445 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/SubConfig.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/SubConfig.java @@ -8,6 +8,7 @@ import java.lang.annotation.Target; /** * @author HypherionSA * @date 03/07/2022 + * Used to determine if a Config section should be rendered as a separate screen */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) diff --git a/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/Syncable.java b/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/Syncable.java index fb9daaf..c30852c 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/Syncable.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/Syncable.java @@ -5,6 +5,9 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +/** + * //TODO Currently unused, but to be used with Config Syncing in the future + */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Syncable { diff --git a/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/Tooltip.java b/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/Tooltip.java index 2757ca2..dd8e9ea 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/Tooltip.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/common/config/annotations/Tooltip.java @@ -8,6 +8,7 @@ import java.lang.annotation.Target; /** * @author HypherionSA * @date 03/07/2022 + * Provides tooltips to the config GUI */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) diff --git a/Common/src/main/java/me/hypherionmc/craterlib/events/CraterEventBus.java b/Common/src/main/java/me/hypherionmc/craterlib/events/CraterEventBus.java index 977409a..c12f5bc 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/events/CraterEventBus.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/events/CraterEventBus.java @@ -7,15 +7,29 @@ import java.util.concurrent.ConcurrentHashMap; /** * @author HypherionSA * @date 21/06/2022 + * Event Bus handler for CraterLib Events */ public class CraterEventBus { - private static final ConcurrentHashMap, List>> map = new ConcurrentHashMap(); + /** List of registered events **/ + private static final ConcurrentHashMap, List>> map = new ConcurrentHashMap<>(); + + /** + * Register an event to be processed + * @param clazz a Class implementing @link{Event} + * @param handler - The callback for when the Event is Fired + * @param + */ public static void register(Class clazz, IEventExecutor handler) { if (!map.containsKey(clazz)) map.put(clazz, new ArrayList<>()); map.get(clazz).add(handler); } + /** + * Used internally to fire events + * @param event The type of event that will be fired + * @return True or False based on if the event is cancelled or not + */ public static boolean post(Event event) { Class clazz = event.getClass(); if (map.containsKey(clazz)) { diff --git a/Common/src/main/java/me/hypherionmc/craterlib/events/Event.java b/Common/src/main/java/me/hypherionmc/craterlib/events/Event.java index b75067c..0e0ed2b 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/events/Event.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/events/Event.java @@ -3,14 +3,23 @@ package me.hypherionmc.craterlib.events; /** * @author HypherionSA * @date 21/06/2022 + * CraterLib universal event */ public class Event { private boolean cancelled; + /** + * Can the event be cancelled. Override this method to control the behaviour + * @return + */ public boolean isCancellable() { return false; } + /** + * Cancel the event + * @param canceled True to cancel the event + */ public void setCancelled(boolean canceled) { if (!this.isCancellable()) { throw new RuntimeException("Cannot cancel event " + this); @@ -18,7 +27,10 @@ public class Event { this.cancelled = canceled; } - + /** + * Used Internally to check if the event is cancelled + * @return + */ public boolean isCancelled() { return cancelled; } diff --git a/Common/src/main/java/me/hypherionmc/craterlib/mixin/colors/BlockColorsMixin.java b/Common/src/main/java/me/hypherionmc/craterlib/mixin/colors/BlockColorsMixin.java index e8249a3..798f931 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/mixin/colors/BlockColorsMixin.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/mixin/colors/BlockColorsMixin.java @@ -11,10 +11,15 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; /** * @author HypherionSA * @date 17/06/2022 + * Mixin to accommodate Block Color Registration across multiple Modloaders */ @Mixin(BlockColors.class) public class BlockColorsMixin { + /** + * Inject into Vanilla code to fire off our event + * @param cir + */ @Inject(method = "createDefault", at = @At("RETURN")) private static void injectBlockColors(CallbackInfoReturnable cir) { CraterEventBus.post(new ColorRegistrationEvent.BLOCKS(cir.getReturnValue())); diff --git a/Common/src/main/java/me/hypherionmc/craterlib/mixin/colors/ItemColorsMixin.java b/Common/src/main/java/me/hypherionmc/craterlib/mixin/colors/ItemColorsMixin.java index 6df4790..a4dba23 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/mixin/colors/ItemColorsMixin.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/mixin/colors/ItemColorsMixin.java @@ -12,10 +12,15 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; /** * @author HypherionSA * @date 17/06/2022 + * Mixin to accommodate Item Color Registration across multiple Modloaders */ @Mixin(ItemColors.class) public class ItemColorsMixin { + /** + * Inject into Vanilla code to fire off our event + * @param cir + */ @Inject(method = "createDefault", at = @At("RETURN")) private static void injectItemColors(BlockColors $$0, CallbackInfoReturnable cir) { CraterEventBus.post(new ColorRegistrationEvent.ITEMS(cir.getReturnValue()));