diff --git a/.idea/misc.xml b/.idea/misc.xml
index 88a2c85..121ee87 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -9,6 +9,9 @@
+
+
+
diff --git a/Common/src/main/java/com/hypherionmc/craterlib/CraterConstants.java b/Common/src/main/java/com/hypherionmc/craterlib/CraterConstants.java
new file mode 100644
index 0000000..93edffc
--- /dev/null
+++ b/Common/src/main/java/com/hypherionmc/craterlib/CraterConstants.java
@@ -0,0 +1,10 @@
+package com.hypherionmc.craterlib;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class CraterConstants {
+ public static final String MOD_ID = "craterlib";
+ public static final String MOD_NAME = "CraterLib";
+ public static final Logger LOG = LoggerFactory.getLogger(MOD_NAME);
+}
diff --git a/Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/ISidedTickable.java b/Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/ISidedTickable.java
similarity index 50%
rename from Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/ISidedTickable.java
rename to Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/ISidedTickable.java
index fb7ed76..91a9038 100644
--- a/Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/ISidedTickable.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/ISidedTickable.java
@@ -1,4 +1,4 @@
-package me.hypherionmc.craterlib.api.blockentities;
+package com.hypherionmc.craterlib.api.blockentity;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level;
@@ -11,14 +11,7 @@ import net.minecraft.world.level.block.state.BlockState;
*/
public interface ISidedTickable {
- /**
- * Server Tick Event
- */
- public void serverTick(Level level, BlockPos pos, BlockState state, BlockEntity blockEntity);
-
- /**
- * Client Tick Event
- */
- public void clientTick(Level level, BlockPos pos, BlockState state, BlockEntity blockEntity);
+ void serverTick(Level level, BlockPos pos, BlockState state, BlockEntity blockEntity);
+ void clientTick(Level level, BlockPos pos, BlockState state, BlockEntity blockEntity);
}
diff --git a/Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/ITickable.java b/Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/ITickable.java
similarity index 59%
rename from Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/ITickable.java
rename to Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/ITickable.java
index 157502a..605eff8 100644
--- a/Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/ITickable.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/ITickable.java
@@ -1,4 +1,4 @@
-package me.hypherionmc.craterlib.api.blockentities;
+package com.hypherionmc.craterlib.api.blockentity;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level;
@@ -11,9 +11,6 @@ import net.minecraft.world.level.block.state.BlockState;
*/
public interface ITickable {
- /**
- * The Tick Event. Can be either Server or Client Sided
- */
- public void tick(Level level, BlockPos pos, BlockState state, BlockEntity blockEntity);
+ void tick(Level level, BlockPos pos, BlockState state, BlockEntity blockEntity);
}
diff --git a/Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/caps/CraterCapabilityHandler.java b/Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/caps/CraterCapabilityHandler.java
new file mode 100644
index 0000000..70cf116
--- /dev/null
+++ b/Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/caps/CraterCapabilityHandler.java
@@ -0,0 +1,11 @@
+package com.hypherionmc.craterlib.api.blockentity.caps;
+
+/**
+ * @author HypherionSA
+ * Wrapper class for Forge capabilities to remove duplicate code from modules
+ */
+public enum CraterCapabilityHandler {
+ ENERGY,
+ ITEM,
+ FLUID
+}
diff --git a/Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/caps/ICraterCapProvider.java b/Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/caps/ICraterCapProvider.java
similarity index 63%
rename from Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/caps/ICraterCapProvider.java
rename to Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/caps/ICraterCapProvider.java
index 389e7ca..4f49dea 100644
--- a/Common/src/main/java/me/hypherionmc/craterlib/api/blockentities/caps/ICraterCapProvider.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/api/blockentity/caps/ICraterCapProvider.java
@@ -1,4 +1,4 @@
-package me.hypherionmc.craterlib.api.blockentities.caps;
+package com.hypherionmc.craterlib.api.blockentity.caps;
import net.minecraft.core.Direction;
import org.jetbrains.annotations.Nullable;
@@ -11,6 +11,6 @@ import java.util.Optional;
*/
public interface ICraterCapProvider {
- public Optional getCapability(CapabilityHandler handler, @Nullable Direction side);
+ Optional getCapability(CraterCapabilityHandler handler, @Nullable Direction side);
}
diff --git a/Common/src/main/java/me/hypherionmc/craterlib/api/inventory/CraterCreativeModeTab.java b/Common/src/main/java/com/hypherionmc/craterlib/api/creativetab/CraterCreativeModeTab.java
similarity index 80%
rename from Common/src/main/java/me/hypherionmc/craterlib/api/inventory/CraterCreativeModeTab.java
rename to Common/src/main/java/com/hypherionmc/craterlib/api/creativetab/CraterCreativeModeTab.java
index 0dd8c64..a459e1a 100644
--- a/Common/src/main/java/me/hypherionmc/craterlib/api/inventory/CraterCreativeModeTab.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/api/creativetab/CraterCreativeModeTab.java
@@ -1,6 +1,6 @@
-package me.hypherionmc.craterlib.api.inventory;
+package com.hypherionmc.craterlib.api.creativetab;
-import me.hypherionmc.craterlib.systems.internal.CreativeTabRegistry;
+import com.hypherionmc.craterlib.core.systems.internal.CreativeTabRegistry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.CreativeModeTabs;
@@ -8,10 +8,6 @@ import net.minecraft.world.item.ItemStack;
import java.util.function.Supplier;
-/**
- * @author HypherionSA
- * Extention to allow mods to add their own creative tabs, without relying on loader events
- */
public class CraterCreativeModeTab implements Supplier {
private final ResourceLocation resourceLocation;
@@ -28,7 +24,7 @@ public class CraterCreativeModeTab implements Supplier {
}
public ResourceLocation getResourceLocation() {
- return this.resourceLocation;
+ return resourceLocation;
}
public Supplier getIcon() {
@@ -52,12 +48,12 @@ public class CraterCreativeModeTab implements Supplier {
this.location = location;
}
- public Builder setIcon(Supplier icon) {
+ public CraterCreativeModeTab.Builder setIcon(Supplier icon) {
stack = icon;
return this;
}
- public Builder backgroundSuffix(String backgroundSuffix) {
+ public CraterCreativeModeTab.Builder backgroundSuffix(String backgroundSuffix) {
this.backgroundSuffix = backgroundSuffix;
return this;
}
diff --git a/Common/src/main/java/com/hypherionmc/craterlib/api/event/client/ColorRegistrationEvent.java b/Common/src/main/java/com/hypherionmc/craterlib/api/event/client/ColorRegistrationEvent.java
new file mode 100644
index 0000000..f7fd9c4
--- /dev/null
+++ b/Common/src/main/java/com/hypherionmc/craterlib/api/event/client/ColorRegistrationEvent.java
@@ -0,0 +1,49 @@
+package com.hypherionmc.craterlib.api.event.client;
+
+import com.hypherionmc.craterlib.core.event.CraterEvent;
+import net.minecraft.client.color.block.BlockColors;
+import net.minecraft.client.color.item.ItemColors;
+
+/**
+ * @author HypherionSA
+ * A wrapped event to allow Block and Item Color Registration
+ */
+public class ColorRegistrationEvent {
+
+ public static class Blocks extends CraterEvent {
+
+ private final BlockColors colors;
+
+ public Blocks(BlockColors colors) {
+ this.colors = colors;
+ }
+
+ public BlockColors getColors() {
+ return colors;
+ }
+
+ @Override
+ public boolean canCancel() {
+ return false;
+ }
+ }
+
+ public static class Items extends CraterEvent {
+
+ private final ItemColors colors;
+
+ public Items(ItemColors colors) {
+ this.colors = colors;
+ }
+
+ public ItemColors getColors() {
+ return colors;
+ }
+
+ @Override
+ public boolean canCancel() {
+ return false;
+ }
+ }
+
+}
diff --git a/Common/src/main/java/me/hypherionmc/craterlib/api/rendering/CustomRenderType.java b/Common/src/main/java/com/hypherionmc/craterlib/api/rendering/CustomRenderType.java
similarity index 84%
rename from Common/src/main/java/me/hypherionmc/craterlib/api/rendering/CustomRenderType.java
rename to Common/src/main/java/com/hypherionmc/craterlib/api/rendering/CustomRenderType.java
index 29c5524..35ee632 100644
--- a/Common/src/main/java/me/hypherionmc/craterlib/api/rendering/CustomRenderType.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/api/rendering/CustomRenderType.java
@@ -1,4 +1,4 @@
-package me.hypherionmc.craterlib.api.rendering;
+package com.hypherionmc.craterlib.api.rendering;
import net.minecraft.client.renderer.RenderType;
diff --git a/Common/src/main/java/me/hypherionmc/craterlib/api/rendering/DyableBlock.java b/Common/src/main/java/com/hypherionmc/craterlib/api/rendering/DyableBlock.java
similarity index 88%
rename from Common/src/main/java/me/hypherionmc/craterlib/api/rendering/DyableBlock.java
rename to Common/src/main/java/com/hypherionmc/craterlib/api/rendering/DyableBlock.java
index b68c449..75df66c 100644
--- a/Common/src/main/java/me/hypherionmc/craterlib/api/rendering/DyableBlock.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/api/rendering/DyableBlock.java
@@ -1,4 +1,4 @@
-package me.hypherionmc.craterlib.api.rendering;
+package com.hypherionmc.craterlib.api.rendering;
import net.minecraft.client.color.block.BlockColor;
import net.minecraft.world.item.DyeColor;
diff --git a/Common/src/main/java/me/hypherionmc/craterlib/api/rendering/ItemDyable.java b/Common/src/main/java/com/hypherionmc/craterlib/api/rendering/ItemDyable.java
similarity index 85%
rename from Common/src/main/java/me/hypherionmc/craterlib/api/rendering/ItemDyable.java
rename to Common/src/main/java/com/hypherionmc/craterlib/api/rendering/ItemDyable.java
index 31aedb5..616e286 100644
--- a/Common/src/main/java/me/hypherionmc/craterlib/api/rendering/ItemDyable.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/api/rendering/ItemDyable.java
@@ -1,4 +1,4 @@
-package me.hypherionmc.craterlib.api.rendering;
+package com.hypherionmc.craterlib.api.rendering;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.item.ItemStack;
diff --git a/Common/src/main/java/me/hypherionmc/craterlib/client/gui/config/CraterConfigScreen.java b/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/CraterConfigScreen.java
similarity index 97%
rename from Common/src/main/java/me/hypherionmc/craterlib/client/gui/config/CraterConfigScreen.java
rename to Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/CraterConfigScreen.java
index 70f6098..1323f9e 100644
--- a/Common/src/main/java/me/hypherionmc/craterlib/client/gui/config/CraterConfigScreen.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/CraterConfigScreen.java
@@ -1,12 +1,12 @@
-package me.hypherionmc.craterlib.client.gui.config;
+package com.hypherionmc.craterlib.client.gui.config;
+import com.hypherionmc.craterlib.CraterConstants;
+import com.hypherionmc.craterlib.client.gui.config.widgets.*;
+import com.hypherionmc.craterlib.core.config.ModuleConfig;
+import com.hypherionmc.craterlib.core.config.annotations.SubConfig;
+import com.hypherionmc.craterlib.core.config.annotations.Tooltip;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.*;
-import me.hypherionmc.craterlib.CraterConstants;
-import me.hypherionmc.craterlib.client.gui.config.widgets.*;
-import me.hypherionmc.craterlib.common.config.ModuleConfig;
-import me.hypherionmc.craterlib.common.config.annotations.SubConfig;
-import me.hypherionmc.craterlib.common.config.annotations.Tooltip;
import me.hypherionmc.moonconfig.core.conversion.SpecComment;
import net.minecraft.ChatFormatting;
import net.minecraft.client.gui.GuiComponent;
@@ -33,7 +33,6 @@ import java.util.function.Supplier;
/**
* @author HypherionSA
- * @date 03/07/2022
*/
public class CraterConfigScreen extends Screen {
public static final float SCROLLBAR_BOTTOM_COLOR = .5f;
@@ -43,7 +42,6 @@ public class CraterConfigScreen extends Screen {
private final Screen parent;
private final List