Code cleanup and refactoring before porting
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package me.hypherionmc.craterlib;
|
||||
package com.hypherionmc.craterlib;
|
||||
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
@@ -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;
|
@@ -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;
|
@@ -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." +
|
@@ -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)));
|
||||
|
@@ -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;
|
@@ -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;
|
@@ -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();
|
||||
}
|
@@ -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 {
|
@@ -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 {
|
||||
|
@@ -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 {
|
@@ -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 {
|
@@ -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;
|
||||
|
@@ -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;
|
@@ -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;
|
@@ -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;
|
@@ -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 {
|
||||
|
@@ -0,0 +1 @@
|
||||
com.hypherionmc.craterlib.common.ForgeLoaderHelper
|
@@ -0,0 +1 @@
|
||||
com.hypherionmc.craterlib.client.ForgeClientHelper
|
@@ -0,0 +1 @@
|
||||
com.hypherionmc.craterlib.common.ForgeCommonHelper
|
@@ -0,0 +1 @@
|
||||
com.hypherionmc.craterlib.common.ForgeFluidHelper
|
@@ -1 +0,0 @@
|
||||
me.hypherionmc.craterlib.common.ForgeLoaderHelper
|
@@ -1 +0,0 @@
|
||||
me.hypherionmc.craterlib.client.ForgeClientHelper
|
@@ -1 +0,0 @@
|
||||
me.hypherionmc.craterlib.common.ForgeCommonHelper
|
@@ -1 +0,0 @@
|
||||
me.hypherionmc.craterlib.common.ForgeFluidHelper
|
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"required": true,
|
||||
"minVersion": "0.8",
|
||||
"package": "me.hypherionmc.craterlib.mixin",
|
||||
"package": "com.hypherionmc.craterlib.mixin",
|
||||
"compatibilityLevel": "JAVA_17",
|
||||
"mixins": [
|
||||
"BlockEntityMixin"
|
||||
|
Reference in New Issue
Block a user