Code cleanup and refactoring before porting

This commit is contained in:
2023-05-10 21:21:16 +02:00
parent 1dec8d130c
commit 8e72212bf6
134 changed files with 975 additions and 755 deletions

View File

@@ -1,4 +1,4 @@
package me.hypherionmc.craterlib;
package com.hypherionmc.craterlib;
import net.minecraftforge.fml.common.Mod;

View File

@@ -1,11 +1,11 @@
package me.hypherionmc.craterlib.client;
package com.hypherionmc.craterlib.client;
import me.hypherionmc.craterlib.api.rendering.CustomRenderType;
import me.hypherionmc.craterlib.common.item.BlockItemDyable;
import me.hypherionmc.craterlib.network.CraterPacket;
import me.hypherionmc.craterlib.platform.services.LibClientHelper;
import com.hypherionmc.craterlib.api.rendering.CustomRenderType;
import com.hypherionmc.craterlib.common.item.BlockItemDyable;
import com.hypherionmc.craterlib.core.network.CraterPacket;
import com.hypherionmc.craterlib.core.platform.services.LibClientHelper;
import com.hypherionmc.craterlib.util.ColorPropertyFunction;
import me.hypherionmc.craterlib.systems.reg.RegistryObject;
import me.hypherionmc.craterlib.util.ColorPropertyFunction;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemBlockRenderTypes;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;

View File

@@ -1,9 +1,4 @@
package me.hypherionmc.craterlib.client.gui.widgets;
/**
* @author HypherionSA
* @date 03/07/2022
*/
package com.hypherionmc.craterlib.client.gui.widgets;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
@@ -25,7 +20,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.function.Supplier;
/** Copied from https://github.com/SleepyTrousers/EnderIO-Rewrite/blob/dev/1.18.x/enderio-machines/src/main/java/com/enderio/machines/client/FluidStackWidget.java*/
/** Copied from <a href="https://github.com/SleepyTrousers/EnderIO-Rewrite/blob/dev/1.18.x/enderio-machines/src/main/java/com/enderio/machines/client/FluidStackWidget.java">...</a>*/
public class FluidStackWidget extends AbstractWidget {
private final Screen displayOn;

View File

@@ -1,7 +1,7 @@
package me.hypherionmc.craterlib.common;
package com.hypherionmc.craterlib.common;
import me.hypherionmc.craterlib.CraterConstants;
import me.hypherionmc.craterlib.systems.internal.CreativeTabRegistry;
import com.hypherionmc.craterlib.CraterConstants;
import com.hypherionmc.craterlib.core.systems.internal.CreativeTabRegistry;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraftforge.event.CreativeModeTabEvent;
@@ -15,7 +15,7 @@ public class ForgeCommonEvents {
public static void registerTabs(CreativeModeTabEvent.Register event) {
CraterConstants.LOG.info("Registering Creative Tabs");
CreativeTabRegistry.getTABS().forEach(tab -> {
CreativeTabRegistry.getTabs().forEach(tab -> {
CreativeModeTab creativeModeTab = event.registerCreativeModeTab(tab.getResourceLocation(), builder -> {
builder.title(
Component.translatable("itemGroup." +

View File

@@ -1,14 +1,14 @@
package me.hypherionmc.craterlib.common;
package com.hypherionmc.craterlib.common;
import me.hypherionmc.craterlib.api.blockentities.caps.CapabilityHandler;
import me.hypherionmc.craterlib.api.blockentities.caps.ICraterCapProvider;
import me.hypherionmc.craterlib.network.CraterNetworkHandler;
import me.hypherionmc.craterlib.network.CraterPacket;
import me.hypherionmc.craterlib.network.ForgeNetworkHandler;
import me.hypherionmc.craterlib.platform.services.LibCommonHelper;
import me.hypherionmc.craterlib.systems.energy.ForgeEnergyReader;
import me.hypherionmc.craterlib.systems.fluid.ForgeFluidReader;
import me.hypherionmc.craterlib.systems.fluid.ICraterFluidHandler;
import com.hypherionmc.craterlib.api.blockentity.caps.CraterCapabilityHandler;
import com.hypherionmc.craterlib.api.blockentity.caps.ICraterCapProvider;
import com.hypherionmc.craterlib.core.network.CraterNetworkHandler;
import com.hypherionmc.craterlib.core.network.CraterPacket;
import com.hypherionmc.craterlib.core.platform.services.LibCommonHelper;
import com.hypherionmc.craterlib.core.systems.fluid.ICraterFluidHandler;
import com.hypherionmc.craterlib.network.ForgeNetworkHandler;
import com.hypherionmc.craterlib.systems.energy.ForgeEnergyReader;
import com.hypherionmc.craterlib.systems.fluid.ForgeFluidReader;
import net.minecraft.core.Direction;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.resources.ResourceLocation;
@@ -36,7 +36,6 @@ import java.util.function.Function;
/**
* @author HypherionSA
* @date 24/09/2022
*/
public class ForgeCommonHelper implements LibCommonHelper {
@@ -74,15 +73,15 @@ public class ForgeCommonHelper implements LibCommonHelper {
}
@Override
public <T> Optional<T> getCapabilityHandler(BlockEntity entity, Direction side, CapabilityHandler capability) {
if (capability == CapabilityHandler.ENERGY) {
public <T> Optional<T> getCapabilityHandler(BlockEntity entity, Direction side, CraterCapabilityHandler capability) {
if (capability == CraterCapabilityHandler.ENERGY) {
AtomicReference<ForgeEnergyReader> energyReference = new AtomicReference<>();
entity.getCapability(ForgeCapabilities.ENERGY, side).ifPresent(storage -> energyReference.set(new ForgeEnergyReader(storage)));
return energyReference.get() != null ? (Optional<T>) Optional.of(energyReference.get()) : Optional.empty();
}
if (capability == CapabilityHandler.FLUID) {
if (capability == CraterCapabilityHandler.FLUID) {
AtomicReference<ICraterFluidHandler> craterFluidHandler = new AtomicReference<>();
entity.getCapability(ForgeCapabilities.FLUID_HANDLER, side).ifPresent(iFluidHandler -> craterFluidHandler.set(new ForgeFluidReader(iFluidHandler)));

View File

@@ -1,7 +1,12 @@
package me.hypherionmc.craterlib.common;
package com.hypherionmc.craterlib.common;
import me.hypherionmc.craterlib.platform.services.LibFluidHelper;
import me.hypherionmc.craterlib.systems.fluid.*;
import com.hypherionmc.craterlib.core.platform.services.LibFluidHelper;
import com.hypherionmc.craterlib.core.systems.fluid.CraterFluidTank;
import com.hypherionmc.craterlib.core.systems.fluid.FluidHolder;
import com.hypherionmc.craterlib.core.systems.fluid.ICraterFluidHandler;
import com.hypherionmc.craterlib.systems.fluid.ForgeFluidTankInteractor;
import com.hypherionmc.craterlib.systems.fluid.ForgeFluidUtils;
import com.hypherionmc.craterlib.systems.fluid.ForgeWrappedFluidTank;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;

View File

@@ -1,7 +1,7 @@
package me.hypherionmc.craterlib.common;
package com.hypherionmc.craterlib.common;
import me.hypherionmc.craterlib.platform.services.Environment;
import me.hypherionmc.craterlib.platform.services.ILoaderHelper;
import com.hypherionmc.craterlib.core.platform.services.Environment;
import com.hypherionmc.craterlib.core.platform.services.ILoaderHelper;
import net.minecraft.SharedConstants;
import net.minecraft.client.Minecraft;
import net.minecraftforge.fml.ModList;
@@ -12,7 +12,6 @@ import java.io.File;
/**
* @author HypherionSA
* @date 07/08/2022
*/
public class ForgeLoaderHelper implements ILoaderHelper {
@@ -23,11 +22,6 @@ public class ForgeLoaderHelper implements ILoaderHelper {
return false;
}
@Override
public boolean isForge() {
return true;
}
@Override
public String getGameVersion() {
return SharedConstants.VERSION_STRING;

View File

@@ -1,15 +1,14 @@
package me.hypherionmc.craterlib.mixin;
package com.hypherionmc.craterlib.mixin;
import me.hypherionmc.craterlib.api.blockentities.caps.CapabilityHandler;
import me.hypherionmc.craterlib.api.blockentities.caps.ICraterCapProvider;
import me.hypherionmc.craterlib.common.blockentity.CraterBlockEntity;
import me.hypherionmc.craterlib.systems.energy.CustomEnergyStorage;
import me.hypherionmc.craterlib.systems.energy.ForgeEnergyWrapper;
import me.hypherionmc.craterlib.systems.fluid.CraterFluidTank;
import me.hypherionmc.craterlib.systems.fluid.ForgeWrappedFluidTank;
import me.hypherionmc.craterlib.systems.fluid.ICraterFluidHandler;
import me.hypherionmc.craterlib.systems.inventory.ForgeInventoryWrapper;
import me.hypherionmc.craterlib.systems.inventory.SimpleInventory;
import com.hypherionmc.craterlib.api.blockentity.caps.CraterCapabilityHandler;
import com.hypherionmc.craterlib.api.blockentity.caps.ICraterCapProvider;
import com.hypherionmc.craterlib.common.blockentity.CraterBlockEntity;
import com.hypherionmc.craterlib.core.systems.energy.CustomEnergyStorage;
import com.hypherionmc.craterlib.core.systems.fluid.ICraterFluidHandler;
import com.hypherionmc.craterlib.core.systems.inventory.SimpleInventory;
import com.hypherionmc.craterlib.systems.energy.ForgeEnergyWrapper;
import com.hypherionmc.craterlib.systems.fluid.ForgeWrappedFluidTank;
import com.hypherionmc.craterlib.systems.inventory.ForgeInventoryWrapper;
import net.minecraft.core.Direction;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ForgeCapabilities;
@@ -24,7 +23,6 @@ import java.util.Optional;
/**
* @author HypherionSA
* @date 24/09/2022
*/
@Mixin(CraterBlockEntity.class)
public class BlockEntityMixin implements ICapabilityProvider {
@@ -34,21 +32,21 @@ public class BlockEntityMixin implements ICapabilityProvider {
ICraterCapProvider capProvider = (ICraterCapProvider) this;
if (cap == ForgeCapabilities.ENERGY) {
Optional<CustomEnergyStorage> forgeCap = capProvider.getCapability(CapabilityHandler.ENERGY, side);
Optional<CustomEnergyStorage> forgeCap = capProvider.getCapability(CraterCapabilityHandler.ENERGY, side);
if (forgeCap.isPresent()) {
return LazyOptional.of(() -> new ForgeEnergyWrapper(forgeCap.get())).cast();
}
}
if (cap == ForgeCapabilities.ITEM_HANDLER) {
Optional<SimpleInventory> inventory = capProvider.getCapability(CapabilityHandler.ITEM, side);
Optional<SimpleInventory> inventory = capProvider.getCapability(CraterCapabilityHandler.ITEM, side);
if (inventory.isPresent()) {
return LazyOptional.of(() -> new SidedInvWrapper(new ForgeInventoryWrapper(inventory.get()), side)).cast();
}
}
if (cap == ForgeCapabilities.FLUID_HANDLER) {
Optional<ICraterFluidHandler> fluidTank = capProvider.getCapability(CapabilityHandler.FLUID, side);
Optional<ICraterFluidHandler> fluidTank = capProvider.getCapability(CraterCapabilityHandler.FLUID, side);
if (fluidTank.isPresent()) {
return LazyOptional.of(() -> (ForgeWrappedFluidTank)fluidTank.get()).cast();
}

View File

@@ -1,9 +1,9 @@
package me.hypherionmc.craterlib.mixin;
package com.hypherionmc.craterlib.mixin;
import me.hypherionmc.craterlib.client.gui.config.CraterConfigScreen;
import me.hypherionmc.craterlib.common.config.ConfigController;
import me.hypherionmc.craterlib.common.config.ModuleConfig;
import me.hypherionmc.craterlib.common.config.annotations.NoConfigScreen;
import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen;
import com.hypherionmc.craterlib.core.config.ConfigController;
import com.hypherionmc.craterlib.core.config.ModuleConfig;
import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.Screen;
import net.minecraftforge.client.ConfigScreenHandler;
@@ -18,7 +18,6 @@ import java.util.function.BiFunction;
/**
* @author HypherionSA
* @date 06/08/2022
*/
@Mixin(ConfigScreenHandler.class)
public class ConfigScreenHandlerMixin {

View File

@@ -1,7 +1,10 @@
package me.hypherionmc.craterlib.network;
package com.hypherionmc.craterlib.network;
import com.google.common.collect.Maps;
import me.hypherionmc.craterlib.platform.ClientPlatform;
import com.hypherionmc.craterlib.core.network.CraterNetworkHandler;
import com.hypherionmc.craterlib.core.network.CraterPacket;
import com.hypherionmc.craterlib.core.network.PacketDirection;
import com.hypherionmc.craterlib.core.platform.ClientPlatform;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.protocol.Packet;
import net.minecraft.resources.ResourceLocation;
@@ -21,8 +24,7 @@ import java.util.function.Supplier;
/**
* @author HypherionSA
* @date 24/09/2022
* Partly inspired by and based on https://github.com/Fuzss/puzzleslib/blob/1.19/Forge/src/main/java/fuzs/puzzleslib/network/ForgeNetworkHandler.java
* Partly inspired by and based on <a href="https://github.com/Fuzss/puzzleslib/blob/1.19/Forge/src/main/java/fuzs/puzzleslib/network/ForgeNetworkHandler.java">...</a>
*/
public class ForgeNetworkHandler implements CraterNetworkHandler {

View File

@@ -1,5 +1,6 @@
package me.hypherionmc.craterlib.systems.energy;
package com.hypherionmc.craterlib.systems.energy;
import com.hypherionmc.craterlib.core.systems.energy.ICraterEnergyStorage;
import net.minecraftforge.energy.IEnergyStorage;
public record ForgeEnergyReader(IEnergyStorage forgeStorage) implements ICraterEnergyStorage {

View File

@@ -1,10 +1,10 @@
package me.hypherionmc.craterlib.systems.energy;
package com.hypherionmc.craterlib.systems.energy;
import com.hypherionmc.craterlib.core.systems.energy.CustomEnergyStorage;
import net.minecraftforge.energy.IEnergyStorage;
/**
* @author HypherionSA
* @date 03/07/2022
* Forge Energy Support on top of the custom system
*/
public record ForgeEnergyWrapper(CustomEnergyStorage storage) implements IEnergyStorage {

View File

@@ -1,5 +1,7 @@
package me.hypherionmc.craterlib.systems.fluid;
package com.hypherionmc.craterlib.systems.fluid;
import com.hypherionmc.craterlib.core.systems.fluid.FluidHolder;
import com.hypherionmc.craterlib.core.systems.fluid.ICraterFluidHandler;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.capability.IFluidHandler;

View File

@@ -1,5 +1,7 @@
package me.hypherionmc.craterlib.systems.fluid;
package com.hypherionmc.craterlib.systems.fluid;
import com.hypherionmc.craterlib.core.systems.fluid.FluidHolder;
import com.hypherionmc.craterlib.core.systems.fluid.ICraterFluidHandler;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.capability.IFluidHandler;
import org.jetbrains.annotations.NotNull;

View File

@@ -1,4 +1,4 @@
package me.hypherionmc.craterlib.systems.fluid;
package com.hypherionmc.craterlib.systems.fluid;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.AbstractTexture;

View File

@@ -1,5 +1,7 @@
package me.hypherionmc.craterlib.systems.fluid;
package com.hypherionmc.craterlib.systems.fluid;
import com.hypherionmc.craterlib.core.systems.fluid.CraterFluidTank;
import com.hypherionmc.craterlib.core.systems.fluid.FluidHolder;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidTank;
import net.minecraftforge.fluids.capability.IFluidHandler;

View File

@@ -1,6 +1,7 @@
package me.hypherionmc.craterlib.systems.inventory;
package com.hypherionmc.craterlib.systems.inventory;
import com.google.common.base.Suppliers;
import com.hypherionmc.craterlib.core.systems.inventory.SimpleInventory;
import net.minecraft.core.Direction;
import net.minecraft.world.WorldlyContainer;
import net.minecraft.world.entity.player.Player;
@@ -12,7 +13,6 @@ import java.util.stream.IntStream;
/**
* @author HypherionSA
* @date 24/09/2022
*/
public class ForgeInventoryWrapper implements WorldlyContainer {

View File

@@ -0,0 +1 @@
com.hypherionmc.craterlib.common.ForgeLoaderHelper

View File

@@ -0,0 +1 @@
com.hypherionmc.craterlib.client.ForgeClientHelper

View File

@@ -0,0 +1 @@
com.hypherionmc.craterlib.common.ForgeCommonHelper

View File

@@ -0,0 +1 @@
com.hypherionmc.craterlib.common.ForgeFluidHelper

View File

@@ -1 +0,0 @@
me.hypherionmc.craterlib.common.ForgeLoaderHelper

View File

@@ -1 +0,0 @@
me.hypherionmc.craterlib.client.ForgeClientHelper

View File

@@ -1 +0,0 @@
me.hypherionmc.craterlib.common.ForgeCommonHelper

View File

@@ -1 +0,0 @@
me.hypherionmc.craterlib.common.ForgeFluidHelper

View File

@@ -1,7 +1,7 @@
{
"required": true,
"minVersion": "0.8",
"package": "me.hypherionmc.craterlib.mixin",
"package": "com.hypherionmc.craterlib.mixin",
"compatibilityLevel": "JAVA_17",
"mixins": [
"BlockEntityMixin"