From b508cfef9ffff7cb55d1961c03fdd17af2e64961 Mon Sep 17 00:00:00 2001 From: DaCodia Date: Tue, 6 Aug 2024 18:44:54 -0500 Subject: [PATCH] ONLY 963 ERRORS LEFT --- build.gradle | 10 +- .../drmangotea/createindustry/CreateTFMG.java | 94 +++-------- .../createindustry/CreateTFMGClient.java | 40 +++-- .../blocks/concrete/ConcreteFluid.java | 7 +- .../blocks/concrete/ConcreteFluidType.java | 11 +- .../blocks/concrete/asphalt/AsphaltFluid.java | 6 +- .../formwork/FormWorkBlockEntity.java | 22 +-- .../concrete/formwork/FormWorkRenderer.java | 4 +- .../rebar/RebarFormWorkBlockEntity.java | 6 +- .../doors/TFMGSlidingDoorRenderer.java | 4 +- .../electricity/base/ElectricBlockEntity.java | 7 +- .../electricity/base/IElectricBlock.java | 7 - .../CopycatCableBlock.java | 3 - .../compact/CompactEngineBlockEntity.java | 28 ++-- .../diesel/DieselEngineBlockEntity.java | 32 ++-- .../DieselEngineExpansionBlockEntity.java | 46 ++---- .../blocks/fluids/FlammableFluid.java | 3 +- .../machines/TFMGMachineBlockEntity.java | 38 +++-- .../machines/exhaust/ExhaustBlockEntity.java | 26 ++- .../blocks/machines/firebox/FireboxBlock.java | 33 +--- .../machines/firebox/FireboxBlockEntity.java | 29 +--- .../flarestack/FlarestackBlockEntity.java | 18 +-- .../BlastFurnaceOutputBlockEntity.java | 15 +- .../CastingBasinBlockEntity.java | 11 -- .../CastingSpoutBlockEntity.java | 8 +- .../casting_spout/CastingSpoutRenderer.java | 3 +- .../coke_oven/CokeOvenBlockEntity.java | 15 +- .../DistillationControllerBlockEntity.java | 21 +-- .../output/DistillationOutputBlockEntity.java | 17 +- .../base/PumpjackBaseBlockEntity.java | 20 ++- .../pumpjack/hammer/PumpjackContraption.java | 6 +- .../WeldingMachineBlockEntity.java | 6 +- .../simple/welding_machine/WeldingRecipe.java | 18 +-- .../aluminum/AluminumPipeAttachmentModel.java | 6 +- .../brass/BrassPipeAttachmentModel.java | 6 +- .../CastIronPipeAttachmentModel.java | 6 +- .../plastic/PlasticPipeAttachmentModel.java | 6 +- .../steel/SteelPipeAttachmentModel.java | 8 +- .../createindustry/config/TFMGConfigs.java | 28 ++-- .../createindustry/data/CreateTFMGData.java | 15 ++ .../createindustry/events/CommonEvents.java | 23 +++ .../fire/TFMGColoredFires.java | 15 +- .../recipes/casting/CastingRecipe.java | 3 +- .../recipes/coking/CokingRecipe.java | 4 +- .../distillation/DistillationRecipe.java | 11 +- .../IndustrialBlastingRecipe.java | 2 +- .../createindustry/registry/TFMGBlocks.java | 25 ++- .../createindustry/registry/TFMGFluids.java | 149 ++++++++++-------- .../registry/TFMGGuiTextures.java | 12 +- .../createindustry/registry/TFMGItems.java | 2 +- .../registry/TFMGMobEffects.java | 13 +- .../createindustry/registry/TFMGPackets.java | 11 +- .../registry/TFMGPaletteBlocks.java | 21 --- .../registry/TFMGPaletteStoneTypes.java | 4 +- .../registry/TFMGParticleTypes.java | 36 +++-- .../createindustry/registry/TFMGPotions.java | 17 +- .../registry/TFMGRecipeTypes.java | 18 +-- .../registry/TFMGSoundEvents.java | 47 +++--- .../createindustry/registry/TFMGTags.java | 38 +++-- .../createindustry/worldgen/TFMGFeatures.java | 15 +- .../worldgen/TFMGOreConfigEntries.java | 14 -- .../oil_deposit/OilDepositFeature.java | 1 - .../worldgen/oil_deposit/OilWellFeature.java | 2 +- .../resources/createindustry.accesswidener | 3 + src/main/resources/fabric.mod.json | 7 + 65 files changed, 481 insertions(+), 701 deletions(-) create mode 100644 src/main/java/com/drmangotea/createindustry/data/CreateTFMGData.java create mode 100644 src/main/java/com/drmangotea/createindustry/events/CommonEvents.java create mode 100644 src/main/resources/createindustry.accesswidener diff --git a/build.gradle b/build.gradle index 50540617..e5e4e978 100644 --- a/build.gradle +++ b/build.gradle @@ -23,13 +23,15 @@ repositories { maven { url = "https://maven.jamieswhiteshirt.com/libs-release" } // Reach Entity Attributes maven { url = "https://jitpack.io/" } // Mixin Extras, Fabric ASM maven { url = "https://maven.tterrag.com/" } // Flywheel - + maven { url = 'https://ladysnake.jfrog.io/artifactory/mods' } // I FUCKING HATE CAPABILITERS } dependencies { minecraft("com.mojang:minecraft:${minecraft_version}") mappings(loom.layered { - it.mappings("org.quiltmc:quilt-mappings:${minecraft_version}+build.${quilt_version}:intermediary-v2") + it.mappings("org.quiltmc:quilt-mappings:$minecraft_version+build.$quilt_version:intermediary-v2") + it.parchment("org.parchmentmc.data:parchment-$minecraft_version:$parchment_version@zip") + it.officialMojangMappings { nameSyntheticMembers = false } }) modImplementation("net.fabricmc:fabric-loader:${fabric_loader_version}") @@ -39,6 +41,10 @@ dependencies { // Create - dependencies are added transitively modImplementation("com.simibubi.create:create-fabric-${minecraft_version}:${create_version}") + //JEI + compileOnly("mezz.jei:jei-${minecraft_version}-fabric-api:${jei_version}") + runtimeOnly(compileOnly("mezz.jei:jei-${minecraft_version}-fabric:${jei_version}")) + // Development QOL modLocalRuntime("maven.modrinth:lazydfu:${lazydfu_version}") modLocalRuntime("com.terraformersmc:modmenu:${modmenu_version}") diff --git a/src/main/java/com/drmangotea/createindustry/CreateTFMG.java b/src/main/java/com/drmangotea/createindustry/CreateTFMG.java index 1592af5a..7cc24b51 100644 --- a/src/main/java/com/drmangotea/createindustry/CreateTFMG.java +++ b/src/main/java/com/drmangotea/createindustry/CreateTFMG.java @@ -1,49 +1,26 @@ package com.drmangotea.createindustry; import com.drmangotea.createindustry.registry.TFMGContraptions; -import com.drmangotea.createindustry.base.TFMGLangPartials; import com.drmangotea.createindustry.config.TFMGConfigs; import com.drmangotea.createindustry.items.weapons.explosives.thermite_grenades.fire.TFMGColoredFires; import com.drmangotea.createindustry.registry.*; -import com.drmangotea.createindustry.worldgen.TFMGConfiguredFeatures; import com.drmangotea.createindustry.worldgen.TFMGFeatures; import com.drmangotea.createindustry.worldgen.TFMGOreConfigEntries; import com.mojang.logging.LogUtils; -import com.simibubi.create.AllParticleTypes; import com.simibubi.create.content.processing.burner.BlazeBurnerBlock; import com.simibubi.create.foundation.data.CreateRegistrate; -import com.simibubi.create.foundation.data.LangMerger; import com.simibubi.create.foundation.item.ItemDescription; import com.simibubi.create.foundation.item.KineticStats; import com.simibubi.create.foundation.item.TooltipHelper; import com.simibubi.create.foundation.item.TooltipModifier; -import net.minecraft.client.renderer.ItemBlockRenderTypes; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.core.Holder; -import net.minecraft.data.DataGenerator; +import net.fabricmc.api.ModInitializer; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.levelgen.placement.PlacedFeature; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.eventbus.api.EventPriority; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.ModLoadingContext; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.event.server.ServerStartingEvent; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.slf4j.Logger; import static com.simibubi.create.content.fluids.tank.BoilerHeaters.registerHeater; -@Mod(CreateTFMG.MOD_ID) -public class CreateTFMG -{ +public class CreateTFMG implements ModInitializer { public static final String MOD_ID = "createindustry"; public static final String NAME = "Create: The Factory Must Grow"; @@ -57,17 +34,10 @@ public class CreateTFMG }); } - public CreateTFMG() - { + @Override + public void onInitialize() { - - - IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); - - REGISTRATE.registerEventListeners(FMLJavaModLoadingContext.get().getModEventBus()); - - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::commonSetup); - // + REGISTRATE.register(); TFMGBlocks.register(); TFMGItems.register(); @@ -80,32 +50,28 @@ public class CreateTFMG TFMGSoundEvents.prepare(); TFMGContraptions.prepare(); TFMGOreConfigEntries.init(); - TFMGParticleTypes.register(modEventBus); - TFMGMobEffects.register(modEventBus); - TFMGPotions.register(modEventBus); + TFMGParticleTypes.register(); + TFMGMobEffects.register(); + TFMGPotions.register(); TFMGPackets.registerPackets(); - TFMGColoredFires.register(modEventBus); - TFMGFeatures.register(modEventBus); - TFMGRecipeTypes.register(modEventBus); + TFMGColoredFires.register(); + TFMGFeatures.register(); + TFMGRecipeTypes.register(); - TFMGConfigs.register(ModLoadingContext.get()); + TFMGConfigs.register(); - // - modEventBus.addListener(CreateTFMG::init); - MinecraftForge.EVENT_BUS.register(this); - modEventBus.addListener(EventPriority.LOWEST, CreateTFMG::gatherData); - modEventBus.addListener(TFMGSoundEvents::register); - DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> CreateTFMGClient::new); - modEventBus.addListener(this::clientSetup); + CreateTFMG.init(); + //modEventBus.addListener(EventPriority.LOWEST, CreateTFMG::gatherData); CreateTFMGData gaming + TFMGSoundEvents.register(); } - public static void init(final FMLCommonSetupEvent event) { + public static void init() { TFMGFluids.registerFluidInteractions(); - event.enqueueWork(() -> { + //event.enqueueWork(() -> { registerHeater(TFMGBlocks.FIREBOX.get(), (level, pos, state) -> { BlazeBurnerBlock.HeatLevel value = state.getValue(BlazeBurnerBlock.HEAT_LEVEL); @@ -121,30 +87,12 @@ public class CreateTFMG return -1; }); - }); + //}); } - @SuppressWarnings("removal") - public static void gatherData(GatherDataEvent event) { - DataGenerator gen = event.getGenerator(); - gen.addProvider(true, new LangMerger(gen, MOD_ID, NAME, TFMGLangPartials.values())); - } - @SuppressWarnings("removal") - private void clientSetup(final FMLClientSetupEvent event) { - ItemBlockRenderTypes.setRenderLayer(TFMGColoredFires.GREEN_FIRE.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(TFMGColoredFires.BLUE_FIRE.get(), RenderType.cutout()); - } - private void commonSetup(final FMLCommonSetupEvent event) { - event.enqueueWork(() -> { - final Holder initializeOil = TFMGConfiguredFeatures.OIL_PLACED; - final Holder initializeSimulatedOil = TFMGConfiguredFeatures.OIL_DEPOSIT_PLACED; - }); - } - @SubscribeEvent - public void onServerStarting(ServerStartingEvent event) - { - LOGGER.info("YEEEHAAW"); - } + + + public static ResourceLocation asResource(String path) { return new ResourceLocation(MOD_ID, path); diff --git a/src/main/java/com/drmangotea/createindustry/CreateTFMGClient.java b/src/main/java/com/drmangotea/createindustry/CreateTFMGClient.java index be8f5894..0c05e1bb 100644 --- a/src/main/java/com/drmangotea/createindustry/CreateTFMGClient.java +++ b/src/main/java/com/drmangotea/createindustry/CreateTFMGClient.java @@ -7,42 +7,40 @@ import com.drmangotea.createindustry.items.weapons.quad_potato_cannon.QuadPotato import com.drmangotea.createindustry.ponder.TFMGPonderIndex; import com.drmangotea.createindustry.registry.TFMGPartialModels; import com.drmangotea.createindustry.registry.TFMGParticleTypes; -import com.simibubi.create.AllParticleTypes; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import io.github.fabricators_of_create.porting_lib.event.client.ParticleManagerRegistrationCallback; +import net.fabricmc.api.ClientModInitializer; -public class CreateTFMGClient { +public class CreateTFMGClient implements ClientModInitializer { public static final QuadPotatoCannonRenderHandler QUAD_POTATO_CANNON_RENDER_HANDLER = new QuadPotatoCannonRenderHandler(); public static final AdvancedPotatoCannonRenderHandler ADVANCED_POTATO_CANNON_RENDER_HANDLER = new AdvancedPotatoCannonRenderHandler(); public static final FlamethrowerRenderHandler FLAMETHROWER_RENDER_HANDLER = new FlamethrowerRenderHandler(); - public CreateTFMGClient() { - IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); - IEventBus forgeEventBus = MinecraftForge.EVENT_BUS; + + @Override + public void onInitializeClient() { TFMGPartialModels.init(); - modEventBus.addListener(TFMGParticleTypes::registerFactories); - modEventBus.register(this); + + ADVANCED_POTATO_CANNON_RENDER_HANDLER.registerListeners(); + QUAD_POTATO_CANNON_RENDER_HANDLER.registerListeners(); + FLAMETHROWER_RENDER_HANDLER.registerListeners(); +// ItemBlockRenderTypes.setRenderLayer(TFMGColoredFires.GREEN_FIRE.get(), RenderType.cutout()); +// ItemBlockRenderTypes.setRenderLayer(TFMGColoredFires.BLUE_FIRE.get(), RenderType.cutout()); - ADVANCED_POTATO_CANNON_RENDER_HANDLER.registerListeners(forgeEventBus); - QUAD_POTATO_CANNON_RENDER_HANDLER.registerListeners(forgeEventBus); - FLAMETHROWER_RENDER_HANDLER.registerListeners(forgeEventBus); - } - - - @SubscribeEvent - public void setup(final FMLClientSetupEvent event) { TFMGPonderIndex.register(); TFMGPonderIndex.registerTags(); + ParticleManagerRegistrationCallback.EVENT.register(TFMGParticleTypes::registerFactories); + initCompat(); } - + @SuppressWarnings("Convert2MethodRef") // may cause class loading issues if changed + private static void initCompat() { + //used for client related compat + //example: Mods..executeIfInstalled(() -> () -> .()); + } } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/concrete/ConcreteFluid.java b/src/main/java/com/drmangotea/createindustry/blocks/concrete/ConcreteFluid.java index c3fff74b..07ba4407 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/concrete/ConcreteFluid.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/concrete/ConcreteFluid.java @@ -1,18 +1,17 @@ package com.drmangotea.createindustry.blocks.concrete; import com.drmangotea.createindustry.registry.TFMGBlocks; +import com.tterrag.registrate.fabric.SimpleFlowableFluid; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.FluidState; -import net.minecraftforge.fluids.ForgeFlowingFluid; -public class ConcreteFluid extends ForgeFlowingFluid { +public class ConcreteFluid extends SimpleFlowableFluid { - - protected ConcreteFluid(Properties properties) { + public ConcreteFluid(Properties properties) { super(properties); } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/concrete/ConcreteFluidType.java b/src/main/java/com/drmangotea/createindustry/blocks/concrete/ConcreteFluidType.java index d438db8e..d793a899 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/concrete/ConcreteFluidType.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/concrete/ConcreteFluidType.java @@ -6,6 +6,8 @@ import com.mojang.math.Vector3f; import com.simibubi.create.AllFluids; import com.simibubi.create.foundation.utility.Color; import com.tterrag.registrate.builders.FluidBuilder; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.SimpleFlowableFluid; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; @@ -13,17 +15,18 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.fluids.FluidStack; import java.util.function.Supplier; -public class ConcreteFluidType extends AllFluids.TintedFluidType { +import static net.minecraft.client.renderer.block.model.BlockElementFace.NO_TINT; + +public class ConcreteFluidType extends SimpleFlowableFluid { private Vector3f fogColor; private Supplier fogDistance; - public static FluidBuilder.FluidTypeFactory create(int fogColor, Supplier fogDistance) { + public static FluidBuilder create(int fogColor, Supplier fogDistance) { return (p, s, f) -> { ConcreteFluidType fluidType = new ConcreteFluidType(p, s, f); fluidType.fogColor = new Color(fogColor, false).asVectorF(); @@ -32,7 +35,7 @@ public class ConcreteFluidType extends AllFluids.TintedFluidType { }; } - private ConcreteFluidType(Properties properties, ResourceLocation stillTexture, + private ConcreteFluidType(SimpleFlowableFluid.Properties properties, ResourceLocation stillTexture, ResourceLocation flowingTexture) { super(properties, stillTexture, flowingTexture); } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/concrete/asphalt/AsphaltFluid.java b/src/main/java/com/drmangotea/createindustry/blocks/concrete/asphalt/AsphaltFluid.java index 65992705..2ef1c0dc 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/concrete/asphalt/AsphaltFluid.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/concrete/asphalt/AsphaltFluid.java @@ -1,15 +1,17 @@ package com.drmangotea.createindustry.blocks.concrete.asphalt; import com.drmangotea.createindustry.registry.TFMGBlocks; +import com.tterrag.registrate.fabric.SimpleFlowableFluid; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.FluidState; -import net.minecraftforge.fluids.ForgeFlowingFluid; -public class AsphaltFluid extends ForgeFlowingFluid { +import java.util.Properties; + +public class AsphaltFluid extends SimpleFlowableFluid { protected AsphaltFluid(Properties properties) { diff --git a/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/FormWorkBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/FormWorkBlockEntity.java index dd21a838..ffa20d86 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/FormWorkBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/FormWorkBlockEntity.java @@ -5,15 +5,16 @@ import com.drmangotea.createindustry.registry.TFMGBlocks; import com.drmangotea.createindustry.registry.TFMGFluids; import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.animation.LerpedFloat; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; +import net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.templates.FluidTank; public class FormWorkBlockEntity extends TFMGMachineBlockEntity { @@ -42,9 +43,10 @@ public class FormWorkBlockEntity extends TFMGMachineBlockEntity { public boolean isFluidValid(FluidStack stack) { return stack.getFluid().isSame(TFMGFluids.LIQUID_CONCRETE.getSource()); } + @Override - public FluidStack drain(FluidStack resource, FluidAction action) { - return FluidStack.EMPTY; + public long extract(FluidVariant extractedVariant, long maxAmount, TransactionContext transaction) { + return 0; } }; } @@ -115,16 +117,16 @@ public class FormWorkBlockEntity extends TFMGMachineBlockEntity { FluidTank checkedTank = ((FormWorkBlockEntity) CheckedBE).tankInventory; if (checkedTank.getFluidAmount() < 1000) { if(checkedTank.getFluidAmount()>=995&&tankInventory.getFluidAmount()>0){ - checkedTank.setFluid(new FluidStack(TFMGFluids.LIQUID_CONCRETE.getSource(), checkedTank.getFluidAmount()+1)); + checkedTank.setFluid(new FluidStack(FluidVariant.of(TFMGFluids.LIQUID_CONCRETE.getSource()), checkedTank.getFluidAmount()+1)); //tankInventory.drain(1, IFluidHandler.FluidAction.EXECUTE); // continue; } - int reducedAmount = tankInventory.getFluidAmount() / 8; + int reducedAmount = (int) (tankInventory.getFluidAmount() / 8); if (tankInventory.getFluidAmount() != 0) reducedAmount = 1; - int newFluidAmount = checkedTank.getFluidAmount() + reducedAmount; + int newFluidAmount = (int) (checkedTank.getFluidAmount() + reducedAmount); int toRemove = reducedAmount; //if full @@ -136,7 +138,7 @@ public class FormWorkBlockEntity extends TFMGMachineBlockEntity { } // checkedTank.setFluid(new FluidStack(TFMGFluids.LIQUID_CONCRETE.getSource(), newFluidAmount)); - tankInventory.drain(1, IFluidHandler.FluidAction.EXECUTE); + tankInventory.extract(1, FluidTank.FluidAction.EXECUTE); } } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/FormWorkRenderer.java b/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/FormWorkRenderer.java index a419a2b9..a74d4ca4 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/FormWorkRenderer.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/FormWorkRenderer.java @@ -13,12 +13,12 @@ import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.utility.animation.LerpedFloat; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.templates.FluidTank; public class FormWorkRenderer extends SafeBlockEntityRenderer { diff --git a/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/rebar/RebarFormWorkBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/rebar/RebarFormWorkBlockEntity.java index d4eeacdc..ee2bb1bd 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/rebar/RebarFormWorkBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/concrete/formwork/rebar/RebarFormWorkBlockEntity.java @@ -7,16 +7,14 @@ import com.drmangotea.createindustry.registry.TFMGFluids; import com.jozufozu.flywheel.core.GameStateRegistry; import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.animation.LerpedFloat; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; import net.minecraft.commands.arguments.blocks.BlockStateArgument; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.templates.FluidTank; public class RebarFormWorkBlockEntity extends FormWorkBlockEntity { diff --git a/src/main/java/com/drmangotea/createindustry/blocks/decoration/doors/TFMGSlidingDoorRenderer.java b/src/main/java/com/drmangotea/createindustry/blocks/decoration/doors/TFMGSlidingDoorRenderer.java index efd3eb7c..4256a94f 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/decoration/doors/TFMGSlidingDoorRenderer.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/decoration/doors/TFMGSlidingDoorRenderer.java @@ -15,13 +15,13 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context; import net.minecraft.core.Direction; +import net.minecraft.core.Registry; import net.minecraft.util.Mth; import net.minecraft.world.level.block.DoorBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.DoorHingeSide; import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.registries.ForgeRegistries; public class TFMGSlidingDoorRenderer extends SafeBlockEntityRenderer { @@ -51,7 +51,7 @@ public class TFMGSlidingDoorRenderer extends SafeBlockEntityRenderer partials = - TFMGPartialModels.FOLDING_DOORS.get(ForgeRegistries.BLOCKS.getKey(blockState.getBlock())); + TFMGPartialModels.FOLDING_DOORS.get(Registry.BLOCK.getKey(blockState.getBlock())); if(partials==null) return; boolean flip = blockState.getValue(DoorBlock.HINGE) == DoorHingeSide.RIGHT; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/electricity/base/ElectricBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/electricity/base/ElectricBlockEntity.java index a4e094a2..239ed26e 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/electricity/base/ElectricBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/electricity/base/ElectricBlockEntity.java @@ -4,18 +4,13 @@ import com.drmangotea.createindustry.base.util.TFMGUtils; import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; -import com.simibubi.create.foundation.utility.Lang; -import net.minecraft.ChatFormatting; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.energy.IEnergyStorage; import org.jetbrains.annotations.NotNull; import javax.annotation.Nullable; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/electricity/base/IElectricBlock.java b/src/main/java/com/drmangotea/createindustry/blocks/electricity/base/IElectricBlock.java index 2f9061b6..bd5c1457 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/electricity/base/IElectricBlock.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/electricity/base/IElectricBlock.java @@ -5,17 +5,11 @@ import com.drmangotea.createindustry.blocks.electricity.capacitor.CapacitorBlock import com.drmangotea.createindustry.blocks.electricity.resistors.ResistorBlockEntity; import com.drmangotea.createindustry.registry.TFMGBlocks; import com.simibubi.create.Create; -import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.LeverBlock; import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.energy.EnergyStorage; public interface IElectricBlock { @@ -144,7 +138,6 @@ public interface IElectricBlock { }else if(be1!=null) { - if (be1.getCapability(ForgeCapabilities.ENERGY, direction.getOpposite()).isPresent()) { if (!(be1.getCapability(ForgeCapabilities.ENERGY, direction.getOpposite()).orElse(new EnergyStorage(0)) instanceof TFMGForgeEnergyStorage)) { diff --git a/src/main/java/com/drmangotea/createindustry/blocks/electricity/cable_blocks/copycat_cable_block/CopycatCableBlock.java b/src/main/java/com/drmangotea/createindustry/blocks/electricity/cable_blocks/copycat_cable_block/CopycatCableBlock.java index 55202ca6..e36bd3e4 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/electricity/cable_blocks/copycat_cable_block/CopycatCableBlock.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/electricity/cable_blocks/copycat_cable_block/CopycatCableBlock.java @@ -33,9 +33,6 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.model.data.ModelDataManager; import javax.annotation.Nullable; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/engines/compact/CompactEngineBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/engines/compact/CompactEngineBlockEntity.java index cd4fbc58..a73ae97f 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/engines/compact/CompactEngineBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/engines/compact/CompactEngineBlockEntity.java @@ -13,6 +13,11 @@ import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.LangBuilder; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -28,25 +33,15 @@ import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Fluid; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidTank; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.templates.FluidTank; import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.List; -import java.util.Optional; @SuppressWarnings("removal") public class CompactEngineBlockEntity extends GeneratingKineticBlockEntity implements IHaveGoggleInformation, IWrenchable { - protected LazyOptional fluidCapability; + protected LazyOptional fluidCapability; protected FluidTank tankInventory; protected FluidTank lubricationOilTank; @@ -89,9 +84,7 @@ public class CompactEngineBlockEntity extends GeneratingKineticBlockEntity imple //fluidCapability = LazyOptional.of(() -> tankInventory); - fluidCapability = LazyOptional.of(() -> { - return new CombinedTankWrapper(tankInventory,lubricationOilTank,coolantTank ); - }); + fluidCapability = LazyOptional.of(() -> new CombinedTankWrapper(tankInventory,lubricationOilTank,coolantTank )); signal = 0; setLazyTickRate(40); @@ -362,7 +355,7 @@ public void write(CompoundTag compound, boolean clientPacket) { int random2 = Create.RANDOM.nextInt(200); if(random1 == 69) - coolantTank.drain(1, IFluidHandler.FluidAction.EXECUTE); + coolantTank.extract(1, IFluidHandler.FluidAction.EXECUTE); if(random2 == 69) lubricationOilTank.drain(1, IFluidHandler.FluidAction.EXECUTE); @@ -449,7 +442,7 @@ public void write(CompoundTag compound, boolean clientPacket) { - @OnlyIn(Dist.CLIENT) + @Environment(EnvType.CLIENT) private void makeSound(){ soundTimer=0; @@ -458,6 +451,7 @@ public void write(CompoundTag compound, boolean clientPacket) { } + public boolean playerInteract(Player pPlayer, InteractionHand pHand) { ItemStack stack = pPlayer.getItemInHand(pHand); @@ -535,7 +529,7 @@ public void write(CompoundTag compound, boolean clientPacket) { - public IFluidTank getTankInventory() { + public FluidTank getTankInventory() { return tankInventory; } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/engines/diesel/DieselEngineBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/engines/diesel/DieselEngineBlockEntity.java index be70c9ea..d178b320 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/engines/diesel/DieselEngineBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/engines/diesel/DieselEngineBlockEntity.java @@ -6,7 +6,6 @@ import com.drmangotea.createindustry.registry.TFMGBlocks; import com.drmangotea.createindustry.registry.TFMGFluids; import com.drmangotea.createindustry.registry.TFMGSoundEvents; import com.drmangotea.createindustry.registry.TFMGTags; -import com.simibubi.create.content.contraptions.bearing.WindmillBearingBlockEntity; import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.content.kinetics.base.GeneratingKineticBlockEntity; import com.simibubi.create.content.kinetics.base.IRotate; @@ -14,14 +13,17 @@ import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; import com.simibubi.create.content.kinetics.belt.behaviour.DirectBeltInputBehaviour; import com.simibubi.create.content.kinetics.steamEngine.PoweredShaftBlockEntity; import com.simibubi.create.content.kinetics.steamEngine.SteamEngineBlock; -import com.simibubi.create.content.kinetics.steamEngine.SteamEngineValueBox; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; -import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollOptionBehaviour; import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.*; -import mekanism.common.recipe.lookup.cache.type.FluidInputCache; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -36,21 +38,11 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.AttachFace; import net.minecraft.world.level.material.Fluid; import net.minecraft.world.phys.AABB; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.templates.FluidTank; -import net.minecraftforge.fml.DistExecutor; import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.lang.ref.WeakReference; import java.util.List; -import java.util.Optional; import static com.drmangotea.createindustry.blocks.engines.diesel.DieselEngineBlock.FACE; import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; @@ -341,15 +333,15 @@ public class DieselEngineBlockEntity extends SmartBlockEntity implements IHaveGo fuelModifier = 1; - fuelTank.setFluid(new FluidStack(TFMGFluids.DIESEL.getSource(),fuelTank.getFluidAmount()-(2-fuelModifier))); + fuelTank.setFluid(new FluidStack(FluidVariant.of(TFMGFluids.DIESEL.getSource()),fuelTank.getFluidAmount()-(2-fuelModifier))); } //airTank.drain(1, IFluidHandler.FluidAction.EXECUTE); if(!airTank.isEmpty()) { - airTank.setFluid(new FluidStack(TFMGFluids.AIR.getSource(), airTank.getFluidAmount() - 5)); + airTank.setFluid(new FluidStack(FluidVariant.of(TFMGFluids.AIR.getSource()), airTank.getFluidAmount() - 5)); }else expansionBE.airTank.setFluid(new FluidStack(TFMGFluids.AIR.getSource(), expansionBE.airTank.getFluidAmount() - 5)); - exhaustTank.fill(new FluidStack(TFMGFluids.CARBON_DIOXIDE.getSource(),3), IFluidHandler.FluidAction.EXECUTE); + exhaustTank.fill(new FluidStack(FluidVariant.of(TFMGFluids.CARBON_DIOXIDE.getSource()),3), IFluidHandler.FluidAction.EXECUTE); //tanks.get(false).setFluid(new FluidStack(TFMGFluids.CARBON_DIOXIDE.getSource(), tanks.get(false).getFluidAmount()+1)); @@ -360,12 +352,12 @@ public class DieselEngineBlockEntity extends SmartBlockEntity implements IHaveGo if (!expansionBE.coolantTank.isEmpty()){ strengthModifier +=3; if(consumptionTimer>5) - expansionBE.coolantTank.setFluid(new FluidStack(TFMGFluids.COOLING_FLUID.getSource(), expansionBE.coolantTank.getFluidAmount() - 1)); + expansionBE.coolantTank.setFluid(new FluidStack(FluidVariant.of(TFMGFluids.COOLING_FLUID.getSource()), expansionBE.coolantTank.getFluidAmount() - 1)); } if (!expansionBE.lubricationOilTank.isEmpty()){ strengthModifier +=5; if(consumptionTimer>5) - expansionBE.lubricationOilTank.setFluid(new FluidStack(TFMGFluids.LUBRICATION_OIL.getSource(), expansionBE.lubricationOilTank.getFluidAmount() - 1)); + expansionBE.lubricationOilTank.setFluid(new FluidStack(FluidVariant.of(TFMGFluids.LUBRICATION_OIL.getSource()), expansionBE.lubricationOilTank.getFluidAmount() - 1)); } } @@ -398,7 +390,7 @@ public class DieselEngineBlockEntity extends SmartBlockEntity implements IHaveGo } @Override - @OnlyIn(Dist.CLIENT) + @Environment(EnvType.CLIENT) protected AABB createRenderBoundingBox() { return super.createRenderBoundingBox().inflate(2); } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/engines/diesel/engine_expansion/DieselEngineExpansionBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/engines/diesel/engine_expansion/DieselEngineExpansionBlockEntity.java index 572c7919..1c25773b 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/engines/diesel/engine_expansion/DieselEngineExpansionBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/engines/diesel/engine_expansion/DieselEngineExpansionBlockEntity.java @@ -8,6 +8,12 @@ import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.LangBuilder; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; +import net.fabricmc.fabric.api.transfer.v1.storage.Storage; +import net.fabricmc.fabric.api.transfer.v1.storage.StorageView; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -16,12 +22,6 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Fluid; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.templates.FluidTank; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -30,7 +30,7 @@ import java.util.Optional; public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { - protected LazyOptional fluidCapability; + protected LazyOptional fluidCapability; public FluidTank coolantTank; public FluidTank lubricationOilTank; public FluidTank airTank; @@ -50,16 +50,6 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement } - - @Nonnull - @Override - @SuppressWarnings("removal") - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - - if (cap == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) - return fluidCapability.cast(); - return super.getCapability(cap, side); - } @Override public void invalidate() { super.invalidate(); @@ -108,17 +98,14 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement @Override @SuppressWarnings("removal") public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { - - - //--Fluid Info--// - LazyOptional handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); - Optional resolve = handler.resolve(); + LazyOptional handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); + Optional resolve = handler.resolve(); if (!resolve.isPresent()) return false; - IFluidHandler tank = resolve.get(); - if (tank.getTanks() == 0) + CombinedTankWrapper tanks = resolve.get(); + if (tanks.parts.isEmpty()) return false; LangBuilder mb = Lang.translate("generic.unit.millibuckets"); @@ -127,8 +114,9 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement .forGoggles(tooltip); boolean isEmpty = true; - for (int i = 0; i < tank.getTanks(); i++) { - FluidStack fluidStack = tank.getFluidInTank(i); + for (int i = 0; i < tanks.parts.size(); i++) { + Storage tank = tanks.parts.get(i); + FluidStack fluidStack = tank; if (fluidStack.isEmpty()) continue; @@ -141,7 +129,7 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement .add(mb) .style(ChatFormatting.DARK_GREEN)) .text(ChatFormatting.GRAY, " / ") - .add(Lang.number(tank.getTankCapacity(i)) + .add(Lang.number(tanks.getTankCapacity(i)) .add(mb) .style(ChatFormatting.DARK_GRAY)) .forGoggles(tooltip, 1); @@ -149,7 +137,7 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement isEmpty = false; } - if (tank.getTanks() > 1) { + if (tanks.getTanks() > 1) { if (isEmpty) tooltip.remove(tooltip.size() - 1); return true; @@ -159,7 +147,7 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement return true; Lang.translate("gui.goggles.fluid_container.capacity") - .add(Lang.number(tank.getTankCapacity(0)) + .add(Lang.number(tanks.getTankCapacity(0)) .add(mb) .style(ChatFormatting.DARK_GREEN)) .style(ChatFormatting.DARK_GRAY) diff --git a/src/main/java/com/drmangotea/createindustry/blocks/fluids/FlammableFluid.java b/src/main/java/com/drmangotea/createindustry/blocks/fluids/FlammableFluid.java index bfdfcff4..91d5e9d5 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/fluids/FlammableFluid.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/fluids/FlammableFluid.java @@ -1,5 +1,6 @@ package com.drmangotea.createindustry.blocks.fluids; +import com.tterrag.registrate.fabric.SimpleFlowableFluid; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.Level; @@ -12,7 +13,7 @@ import net.minecraftforge.fluids.ForgeFlowingFluid; * makes fluid burn when close to fire, * not working for now */ -public class FlammableFluid extends ForgeFlowingFluid { +public class FlammableFluid extends SimpleFlowableFluid { protected FlammableFluid(Properties properties) { diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/TFMGMachineBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/TFMGMachineBlockEntity.java index 97670671..7d6223f9 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/TFMGMachineBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/TFMGMachineBlockEntity.java @@ -9,6 +9,9 @@ import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.LangBuilder; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -16,13 +19,9 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -import net.minecraftforge.fluids.capability.IFluidHandler; import javax.annotation.Nonnull; +import java.security.DrbgParameters; import java.util.List; import java.util.Optional; @@ -32,7 +31,7 @@ public class TFMGMachineBlockEntity extends SmartBlockEntity implements IHaveGo private boolean contentsChanged; - protected LazyOptional fluidCapability; + protected LazyOptional fluidCapability; public TFMGMachineBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); @@ -41,7 +40,17 @@ public class TFMGMachineBlockEntity extends SmartBlockEntity implements IHaveGo contentsChanged = true; } - +// im like 90% sure we dont need this +// @Nonnull +// @Override +// public LazyOptional getCapability(@Nonnull DrbgParameters.Capability cap, Direction side) { +// +// +// +// if (cap == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) +// return fluidCapability.cast(); +// return super.getCapability(cap, side); +// } @Override @@ -58,12 +67,9 @@ public class TFMGMachineBlockEntity extends SmartBlockEntity implements IHaveGo behaviours.add(tank1); behaviours.add(tank2); - - - fluidCapability = LazyOptional.of(() -> { - LazyOptional inputCap = tank1.getCapability(); - LazyOptional outputCap = tank2.getCapability(); + LazyOptional inputCap = tank1.getCapability(); + LazyOptional outputCap = tank2.getCapability(); return new CombinedTankWrapper(outputCap.orElse(null), inputCap.orElse(null)); }); @@ -79,16 +85,8 @@ public class TFMGMachineBlockEntity extends SmartBlockEntity implements IHaveGo fluidCapability.invalidate(); } - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, Direction side) { - - if (cap == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) - return fluidCapability.cast(); - return super.getCapability(cap, side); - } @Override public void notifyUpdate() { super.notifyUpdate(); diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/exhaust/ExhaustBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/exhaust/ExhaustBlockEntity.java index 856d7c03..15e8a6df 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/exhaust/ExhaustBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/exhaust/ExhaustBlockEntity.java @@ -2,13 +2,15 @@ package com.drmangotea.createindustry.blocks.machines.exhaust; import com.drmangotea.createindustry.registry.TFMGFluids; -import com.simibubi.create.Create; import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.LangBuilder; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -16,13 +18,6 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidTank; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.templates.FluidTank; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -34,7 +29,7 @@ public class ExhaustBlockEntity extends SmartBlockEntity implements IHaveGoggleI - protected LazyOptional fluidCapability; + protected LazyOptional fluidCapability; public FluidTank tankInventory; public boolean spawnsSmoke=false; @@ -61,12 +56,12 @@ public class ExhaustBlockEntity extends SmartBlockEntity implements IHaveGoggleI LangBuilder mb = Lang.translate("generic.unit.millibuckets"); ///////// - LazyOptional handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); - Optional resolve = handler.resolve(); + LazyOptional handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); + Optional resolve = handler.resolve(); if (!resolve.isPresent()) return false; - IFluidHandler tank = resolve.get(); + FluidTank tank = resolve.get(); if (tank.getTanks() == 0) return false; @@ -210,13 +205,12 @@ public class ExhaustBlockEntity extends SmartBlockEntity implements IHaveGoggleI private void refreshCapability() { - LazyOptional oldCap = fluidCapability; + LazyOptional oldCap = fluidCapability; fluidCapability = LazyOptional.of(() -> handlerForCapability()); oldCap.invalidate(); } - private IFluidHandler handlerForCapability() { - + private FluidTank handlerForCapability() { return tankInventory; } @@ -261,7 +255,7 @@ public class ExhaustBlockEntity extends SmartBlockEntity implements IHaveGoggleI } - public IFluidTank getTankInventory() { + public FluidTank getTankInventory() { return tankInventory; } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/firebox/FireboxBlock.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/firebox/FireboxBlock.java index 94437112..8a941717 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/firebox/FireboxBlock.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/firebox/FireboxBlock.java @@ -1,34 +1,20 @@ package com.drmangotea.createindustry.blocks.machines.firebox; import com.drmangotea.createindustry.registry.TFMGBlockEntities; -import com.simibubi.create.AllBlockEntityTypes; -import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllItems; -import com.simibubi.create.AllShapes; import com.simibubi.create.content.equipment.wrench.IWrenchable; import com.simibubi.create.content.processing.basin.BasinBlockEntity; import com.simibubi.create.content.processing.burner.BlazeBurnerBlock; -import com.simibubi.create.content.processing.burner.BlazeBurnerBlockItem; import com.simibubi.create.foundation.block.IBE; -import com.simibubi.create.foundation.utility.Lang; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.MethodsReturnNonnullByDefault; -import net.minecraft.advancements.critereon.StatePropertiesPredicate; import net.minecraft.core.BlockPos; -import net.minecraft.core.NonNullList; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; -import net.minecraft.util.StringRepresentable; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.FlintAndSteelItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.HorizontalDirectionalBlock; @@ -38,19 +24,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition.Builder; import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.pathfinder.PathComputationType; -import net.minecraft.world.level.storage.loot.LootPool; -import net.minecraft.world.level.storage.loot.LootTable; -import net.minecraft.world.level.storage.loot.entries.LootItem; -import net.minecraft.world.level.storage.loot.predicates.ExplosionCondition; -import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePropertyCondition; -import net.minecraft.world.level.storage.loot.predicates.LootItemCondition; -import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; -import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.shapes.CollisionContext; -import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.common.util.FakePlayer; import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; @@ -136,7 +109,7 @@ public class FireboxBlock extends HorizontalDirectionalBlock implements IBE fluidCapability; + protected LazyOptional fluidCapability; public FluidTank tankInventory; @@ -127,7 +110,7 @@ public class FireboxBlockEntity extends SmartBlockEntity { super.read(compound, clientPacket); } private void refreshCapability() { - LazyOptional oldCap = fluidCapability; + LazyOptional oldCap = fluidCapability; fluidCapability = LazyOptional.of(() -> handlerForCapability()); oldCap.invalidate(); } @@ -140,7 +123,7 @@ public class FireboxBlockEntity extends SmartBlockEntity { return fluidCapability.cast(); return super.getCapability(cap, side); } - private IFluidHandler handlerForCapability() { + private FluidTank handlerForCapability() { return tankInventory; } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/flarestack/FlarestackBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/flarestack/FlarestackBlockEntity.java index ea1fa3f0..5143c168 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/flarestack/FlarestackBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/flarestack/FlarestackBlockEntity.java @@ -1,7 +1,6 @@ package com.drmangotea.createindustry.blocks.machines.flarestack; -import com.drmangotea.createindustry.registry.TFMGFluids; import com.drmangotea.createindustry.registry.TFMGTags; import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; @@ -9,6 +8,8 @@ import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.LangBuilder; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -16,13 +17,6 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidTank; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.templates.FluidTank; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -33,7 +27,7 @@ public class FlarestackBlockEntity extends SmartBlockEntity implements IHaveGogg - protected LazyOptional fluidCapability; + protected LazyOptional fluidCapability; public FluidTank tankInventory; public boolean spawnsSmoke=false; @@ -61,12 +55,12 @@ public class FlarestackBlockEntity extends SmartBlockEntity implements IHaveGogg LangBuilder mb = Lang.translate("generic.unit.millibuckets"); ///////// - LazyOptional handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); - Optional resolve = handler.resolve(); + LazyOptional handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY); + Optional resolve = handler.resolve(); if (!resolve.isPresent()) return false; - IFluidHandler tank = resolve.get(); + FluidTank tank = resolve.get(); if (tank.getTanks() == 0) return false; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_furnace/BlastFurnaceOutputBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_furnace/BlastFurnaceOutputBlockEntity.java index b80b0a50..70df2a31 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_furnace/BlastFurnaceOutputBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_furnace/BlastFurnaceOutputBlockEntity.java @@ -1,6 +1,5 @@ package com.drmangotea.createindustry.blocks.machines.metal_processing.blast_furnace; -import com.drmangotea.createindustry.CreateTFMG; import com.drmangotea.createindustry.blocks.machines.TFMGMachineBlockEntity; import com.drmangotea.createindustry.recipes.industrial_blasting.IndustrialBlastingRecipe; import com.drmangotea.createindustry.registry.TFMGBlocks; @@ -12,8 +11,9 @@ import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.SmartInventory; import com.simibubi.create.foundation.utility.Lang; -import com.simibubi.create.foundation.utility.LangBuilder; import com.simibubi.create.foundation.utility.animation.LerpedFloat; +import io.github.fabricators_of_create.porting_lib.transfer.item.RecipeWrapper; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -25,17 +25,8 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.items.IItemHandlerModifiable; -import net.minecraftforge.items.wrapper.CombinedInvWrapper; -import net.minecraftforge.items.wrapper.RecipeWrapper; import javax.annotation.Nonnull; -import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -88,7 +79,7 @@ public class BlastFurnaceOutputBlockEntity extends TFMGMachineBlockEntity implem fuelInventory = new SmartInventory(1, this).forbidInsertion().forbidExtraction() .withMaxStackSize(64); - itemCapability = LazyOptional.of(() -> new CombinedInvWrapper(inputInventory,fuelInventory)); + itemCapability = LazyOptional.of(() -> new Combined(inputInventory,fuelInventory)); tank1.getPrimaryHandler().setCapacity(8000); diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_basin/CastingBasinBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_basin/CastingBasinBlockEntity.java index cb80f036..f67308fb 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_basin/CastingBasinBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_basin/CastingBasinBlockEntity.java @@ -1,6 +1,5 @@ package com.drmangotea.createindustry.blocks.machines.metal_processing.casting_basin; -import com.drmangotea.createindustry.CreateTFMG; import com.drmangotea.createindustry.blocks.machines.TFMGMachineBlockEntity; import com.drmangotea.createindustry.recipes.casting.CastingRecipe; import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; @@ -18,23 +17,13 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.util.StringRepresentable; import net.minecraft.world.Container; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Fluids; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.items.CapabilityItemHandler; -import net.minecraftforge.items.IItemHandlerModifiable; -import net.minecraftforge.items.wrapper.CombinedInvWrapper; import javax.annotation.Nonnull; import java.util.List; -import java.util.Optional; import static com.drmangotea.createindustry.blocks.machines.metal_processing.casting_basin.CastingBasinBlock.MOLD_TYPE; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_spout/CastingSpoutBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_spout/CastingSpoutBlockEntity.java index b3a00a10..c910ae2c 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_spout/CastingSpoutBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_spout/CastingSpoutBlockEntity.java @@ -1,25 +1,19 @@ package com.drmangotea.createindustry.blocks.machines.metal_processing.casting_spout; -import com.drmangotea.createindustry.CreateTFMG; import com.drmangotea.createindustry.blocks.machines.TFMGMachineBlockEntity; import com.drmangotea.createindustry.blocks.machines.metal_processing.casting_basin.CastingBasinBlockEntity; -import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.LangBuilder; import com.simibubi.create.foundation.utility.animation.LerpedFloat; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -import net.minecraftforge.fluids.capability.IFluidHandler; import java.util.List; -import java.util.Optional; public class CastingSpoutBlockEntity extends TFMGMachineBlockEntity { diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_spout/CastingSpoutRenderer.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_spout/CastingSpoutRenderer.java index cc4f8694..4c6dc929 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_spout/CastingSpoutRenderer.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/casting_spout/CastingSpoutRenderer.java @@ -5,20 +5,19 @@ import com.drmangotea.createindustry.registry.TFMGPartialModels; import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.simibubi.create.AllPartialModels; import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; import com.simibubi.create.foundation.fluid.FluidRenderer; import com.simibubi.create.foundation.render.CachedBufferer; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -import net.minecraftforge.fluids.FluidStack; public class CastingSpoutRenderer extends SafeBlockEntityRenderer { diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/coke_oven/CokeOvenBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/coke_oven/CokeOvenBlockEntity.java index 9961746d..26716a8a 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/coke_oven/CokeOvenBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/coke_oven/CokeOvenBlockEntity.java @@ -13,28 +13,19 @@ import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.SmartInventory; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.animation.LerpedFloat; +import io.github.fabricators_of_create.porting_lib.transfer.item.RecipeWrapper; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; import net.minecraft.ChatFormatting; -import net.minecraft.client.Minecraft; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; - -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.items.IItemHandlerModifiable; -import net.minecraftforge.items.wrapper.CombinedInvWrapper; -import net.minecraftforge.items.wrapper.RecipeWrapper; import javax.annotation.Nonnull; import java.util.List; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/distillation/controller/DistillationControllerBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/distillation/controller/DistillationControllerBlockEntity.java index fefe6fb5..5f036fb6 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/distillation/controller/DistillationControllerBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/distillation/controller/DistillationControllerBlockEntity.java @@ -1,39 +1,28 @@ package com.drmangotea.createindustry.blocks.machines.oil_processing.distillation.controller; import com.drmangotea.createindustry.blocks.machines.oil_processing.distillation.output.DistillationOutputBlockEntity; -import com.drmangotea.createindustry.blocks.tanks.SteelTankBlock; import com.drmangotea.createindustry.blocks.tanks.SteelTankBlockEntity; import com.drmangotea.createindustry.recipes.distillation.DistillationRecipe; import com.drmangotea.createindustry.registry.TFMGBlocks; -import com.simibubi.create.Create; import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; -import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; -import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.fluid.SmartFluidTank; -import com.simibubi.create.foundation.item.SmartInventory; import com.simibubi.create.foundation.recipe.RecipeFinder; import com.simibubi.create.foundation.utility.Lang; -import com.simibubi.create.foundation.utility.animation.LerpedFloat; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.NbtUtils; import net.minecraft.network.chat.Component; import net.minecraft.world.Container; import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.templates.FluidTank; -import org.checkerframework.checker.units.qual.C; import javax.annotation.Nonnull; @@ -47,7 +36,7 @@ public class DistillationControllerBlockEntity extends SmartBlockEntity implemen public DistillationRecipe recipe; - protected LazyOptional fluidCapability; + protected LazyOptional fluidCapability; public final FluidTank tank= new SmartFluidTank(8000,this::onFluidStackChanged); @@ -110,7 +99,7 @@ public class DistillationControllerBlockEntity extends SmartBlockEntity implemen for(DistillationOutputBlockEntity be1 : outputs){ - if(be1.tank.getSpace()==0) + if(be1.tank==0) return; } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/distillation/output/DistillationOutputBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/distillation/output/DistillationOutputBlockEntity.java index 65802d17..43230ac8 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/distillation/output/DistillationOutputBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/distillation/output/DistillationOutputBlockEntity.java @@ -1,27 +1,18 @@ package com.drmangotea.createindustry.blocks.machines.oil_processing.distillation.output; -import com.drmangotea.createindustry.blocks.machines.oil_processing.distillation.controller.DistillationControllerBlock; -import com.drmangotea.createindustry.blocks.tanks.SteelTankBlockEntity; import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; -import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.fluid.SmartFluidTank; -import com.simibubi.create.foundation.utility.Lang; -import net.minecraft.ChatFormatting; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; -import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.templates.FluidTank; import javax.annotation.Nonnull; import java.util.List; @@ -29,7 +20,7 @@ import java.util.List; public class DistillationOutputBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { - protected LazyOptional fluidCapability; + protected LazyOptional fluidCapability; public final FluidTank tank = new SmartFluidTank(8000,this::onFluidStackChanged); public DistillationOutputBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/pumpjack/base/PumpjackBaseBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/pumpjack/base/PumpjackBaseBlockEntity.java index 374aa98f..6f290e0f 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/pumpjack/base/PumpjackBaseBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/pumpjack/base/PumpjackBaseBlockEntity.java @@ -10,6 +10,10 @@ import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.LangBuilder; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; +import io.github.fabricators_of_create.porting_lib.util.LazyOptional; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -17,12 +21,6 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.templates.FluidTank; import javax.annotation.Nonnull; import java.util.List; @@ -38,7 +36,7 @@ public class PumpjackBaseBlockEntity extends SmartBlockEntity implements IHaveGo public int miningRate = 0; - protected LazyOptional fluidCapability; + protected LazyOptional fluidCapability; public FluidTank tankInventory; public BlockPos deposit; @@ -139,7 +137,7 @@ public class PumpjackBaseBlockEntity extends SmartBlockEntity implements IHaveGo return; - tankInventory.setFluid(new FluidStack(TFMGFluids.CRUDE_OIL.getSource(), tankInventory.getFluidAmount() + miningRate)); + tankInventory.setFluid(new FluidStack(FluidVariant.of(TFMGFluids.CRUDE_OIL.getSource()), tankInventory.getFluidAmount() + miningRate)); } @@ -185,12 +183,12 @@ public class PumpjackBaseBlockEntity extends SmartBlockEntity implements IHaveGo } //--Fluid Info--// - LazyOptional handler = this.getCapability(ForgeCapabilities.FLUID_HANDLER); - Optional resolve = handler.resolve(); + LazyOptional handler = this.getCapability(ForgeCapabilities.FLUID_HANDLER); + Optional resolve = handler.resolve(); if (!resolve.isPresent()) return false; - IFluidHandler tank = resolve.get(); + FluidTank tank = resolve.get(); if (tank.getTanks() == 0) return false; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/pumpjack/hammer/PumpjackContraption.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/pumpjack/hammer/PumpjackContraption.java index 2b8fbf71..b4e49bb7 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/pumpjack/hammer/PumpjackContraption.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/oil_processing/pumpjack/hammer/PumpjackContraption.java @@ -7,13 +7,13 @@ import com.simibubi.create.content.contraptions.ContraptionType; import com.simibubi.create.content.contraptions.bearing.AnchoredLighter; import com.simibubi.create.content.contraptions.bearing.BearingContraption; import com.simibubi.create.content.contraptions.render.ContraptionLighter; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; import org.apache.commons.lang3.tuple.Pair; public class PumpjackContraption extends BearingContraption { @@ -84,7 +84,7 @@ public class PumpjackContraption extends BearingContraption { return facing.getAxis() == this.facing.getAxis(); } - @OnlyIn(Dist.CLIENT) + @Environment(EnvType.CLIENT) @Override public ContraptionLighter makeLighter() { return new AnchoredLighter(this); diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/simple/welding_machine/WeldingMachineBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/simple/welding_machine/WeldingMachineBlockEntity.java index 727e4f0b..bf7d0b3f 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/simple/welding_machine/WeldingMachineBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/simple/welding_machine/WeldingMachineBlockEntity.java @@ -10,6 +10,9 @@ import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour import com.simibubi.create.foundation.recipe.RecipeApplier; import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.infrastructure.config.AllConfigs; +import io.github.fabricators_of_create.porting_lib.transfer.item.ItemHandlerHelper; +import io.github.fabricators_of_create.porting_lib.transfer.item.ItemStackHandler; +import io.github.fabricators_of_create.porting_lib.transfer.item.RecipeWrapper; import net.minecraft.core.BlockPos; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.ItemStack; @@ -17,9 +20,6 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.items.ItemHandlerHelper; -import net.minecraftforge.items.ItemStackHandler; -import net.minecraftforge.items.wrapper.RecipeWrapper; import java.util.List; import java.util.Optional; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/simple/welding_machine/WeldingRecipe.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/simple/welding_machine/WeldingRecipe.java index 7c31551d..3657ed0e 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/simple/welding_machine/WeldingRecipe.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/simple/welding_machine/WeldingRecipe.java @@ -1,26 +1,22 @@ package com.drmangotea.createindustry.blocks.machines.simple.welding_machine; -import com.drmangotea.createindustry.registry.TFMGBlocks; import com.drmangotea.createindustry.registry.TFMGRecipeTypes; -import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllRecipeTypes; -import com.simibubi.create.compat.jei.category.sequencedAssembly.SequencedAssemblySubCategory; +import com.simibubi.create.compat.recipeViewerCommon.SequencedAssemblySubCategoryType; import com.simibubi.create.content.processing.recipe.ProcessingRecipe; import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams; import com.simibubi.create.content.processing.sequenced.IAssemblyRecipe; import com.simibubi.create.foundation.utility.Lang; +import io.github.fabricators_of_create.porting_lib.transfer.item.RecipeWrapper; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.network.chat.Component; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.Level; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.items.wrapper.RecipeWrapper; import javax.annotation.ParametersAreNonnullByDefault; import java.util.List; import java.util.Set; -import java.util.function.Supplier; @ParametersAreNonnullByDefault public class WeldingRecipe extends ProcessingRecipe implements IAssemblyRecipe { @@ -51,7 +47,7 @@ public class WeldingRecipe extends ProcessingRecipe implements IA public void addAssemblyIngredients(List list) {} @Override - @OnlyIn(Dist.CLIENT) + @Environment(EnvType.CLIENT) public Component getDescriptionForAssembly() { return Lang.translateDirect("recipe.assembly.welding"); } @@ -62,8 +58,8 @@ public class WeldingRecipe extends ProcessingRecipe implements IA } @Override - public Supplier> getJEISubCategory() { - return () -> SequencedAssemblySubCategory.AssemblyPressing::new; + public SequencedAssemblySubCategoryType getJEISubCategory() { + return SequencedAssemblySubCategoryType.PRESSING; } } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/aluminum/AluminumPipeAttachmentModel.java b/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/aluminum/AluminumPipeAttachmentModel.java index 1d72d1d2..88e07eb1 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/aluminum/AluminumPipeAttachmentModel.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/aluminum/AluminumPipeAttachmentModel.java @@ -5,8 +5,9 @@ import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehavi import com.simibubi.create.content.fluids.FluidTransportBehaviour; import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; -import com.simibubi.create.foundation.model.BakedModelWrapperWithData; import com.simibubi.create.foundation.utility.Iterate; +import io.github.fabricators_of_create.porting_lib.model.data.ModelData; +import io.github.fabricators_of_create.porting_lib.model.data.ModelProperty; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemBlockRenderTypes; import net.minecraft.client.renderer.RenderType; @@ -17,9 +18,6 @@ import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.ChunkRenderTypeSet; -import net.minecraftforge.client.model.data.ModelData; -import net.minecraftforge.client.model.data.ModelProperty; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/brass/BrassPipeAttachmentModel.java b/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/brass/BrassPipeAttachmentModel.java index 627eea9c..f70b8ade 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/brass/BrassPipeAttachmentModel.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/brass/BrassPipeAttachmentModel.java @@ -5,8 +5,9 @@ import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehavi import com.simibubi.create.content.fluids.FluidTransportBehaviour; import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; -import com.simibubi.create.foundation.model.BakedModelWrapperWithData; import com.simibubi.create.foundation.utility.Iterate; +import io.github.fabricators_of_create.porting_lib.model.data.ModelData; +import io.github.fabricators_of_create.porting_lib.model.data.ModelProperty; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemBlockRenderTypes; import net.minecraft.client.renderer.RenderType; @@ -17,9 +18,6 @@ import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.ChunkRenderTypeSet; -import net.minecraftforge.client.model.data.ModelData; -import net.minecraftforge.client.model.data.ModelProperty; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/cast_iron/CastIronPipeAttachmentModel.java b/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/cast_iron/CastIronPipeAttachmentModel.java index ddd4c3dd..92f8e910 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/cast_iron/CastIronPipeAttachmentModel.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/cast_iron/CastIronPipeAttachmentModel.java @@ -5,8 +5,9 @@ import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehavi import com.simibubi.create.content.fluids.FluidTransportBehaviour; import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; -import com.simibubi.create.foundation.model.BakedModelWrapperWithData; import com.simibubi.create.foundation.utility.Iterate; +import io.github.fabricators_of_create.porting_lib.model.data.ModelData; +import io.github.fabricators_of_create.porting_lib.model.data.ModelProperty; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemBlockRenderTypes; import net.minecraft.client.renderer.RenderType; @@ -17,9 +18,6 @@ import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.ChunkRenderTypeSet; -import net.minecraftforge.client.model.data.ModelData; -import net.minecraftforge.client.model.data.ModelProperty; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/plastic/PlasticPipeAttachmentModel.java b/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/plastic/PlasticPipeAttachmentModel.java index 0cc41d62..fc40ec2c 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/plastic/PlasticPipeAttachmentModel.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/plastic/PlasticPipeAttachmentModel.java @@ -5,8 +5,9 @@ import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehavi import com.simibubi.create.content.fluids.FluidTransportBehaviour; import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; -import com.simibubi.create.foundation.model.BakedModelWrapperWithData; import com.simibubi.create.foundation.utility.Iterate; +import io.github.fabricators_of_create.porting_lib.model.data.ModelData; +import io.github.fabricators_of_create.porting_lib.model.data.ModelProperty; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemBlockRenderTypes; import net.minecraft.client.renderer.RenderType; @@ -17,9 +18,6 @@ import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.ChunkRenderTypeSet; -import net.minecraftforge.client.model.data.ModelData; -import net.minecraftforge.client.model.data.ModelProperty; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; diff --git a/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/steel/SteelPipeAttachmentModel.java b/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/steel/SteelPipeAttachmentModel.java index a40cc716..fa84c1e1 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/steel/SteelPipeAttachmentModel.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/pipes/normal/steel/SteelPipeAttachmentModel.java @@ -1,13 +1,13 @@ package com.drmangotea.createindustry.blocks.pipes.normal.steel; -import com.drmangotea.createindustry.blocks.pipes.normal.LockablePipeBlockEntity; import com.drmangotea.createindustry.registry.TFMGPartialModels; import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour; import com.simibubi.create.content.fluids.FluidTransportBehaviour; import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; -import com.simibubi.create.foundation.model.BakedModelWrapperWithData; import com.simibubi.create.foundation.utility.Iterate; +import io.github.fabricators_of_create.porting_lib.model.data.ModelData; +import io.github.fabricators_of_create.porting_lib.model.data.ModelProperty; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemBlockRenderTypes; import net.minecraft.client.renderer.RenderType; @@ -18,15 +18,11 @@ import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.ChunkRenderTypeSet; -import net.minecraftforge.client.model.data.ModelData; -import net.minecraftforge.client.model.data.ModelProperty; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.concurrent.locks.Lock; import static net.minecraft.world.level.block.PipeBlock.PROPERTY_BY_DIRECTION; diff --git a/src/main/java/com/drmangotea/createindustry/config/TFMGConfigs.java b/src/main/java/com/drmangotea/createindustry/config/TFMGConfigs.java index 1a6f268a..8809ad90 100644 --- a/src/main/java/com/drmangotea/createindustry/config/TFMGConfigs.java +++ b/src/main/java/com/drmangotea/createindustry/config/TFMGConfigs.java @@ -1,20 +1,19 @@ package com.drmangotea.createindustry.config; +import com.drmangotea.createindustry.CreateTFMG; import com.simibubi.create.content.kinetics.BlockStressValues; import com.simibubi.create.foundation.config.ConfigBase; +import net.minecraftforge.api.ModLoadingContext; +import net.minecraftforge.api.fml.event.config.ModConfigEvents; import net.minecraftforge.common.ForgeConfigSpec; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.ModLoadingContext; -import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.ModConfig; -import net.minecraftforge.fml.event.config.ModConfigEvent; import org.apache.commons.lang3.tuple.Pair; import java.util.EnumMap; import java.util.Map; import java.util.function.Supplier; -@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD) + public class TFMGConfigs { private static final Map CONFIGS = new EnumMap<>(ModConfig.Type.class); @@ -42,27 +41,28 @@ public class TFMGConfigs { return config; } - public static void register(ModLoadingContext context) { + public static void register() { server = register(ServerConfig::new, ModConfig.Type.SERVER); for (Map.Entry pair : CONFIGS.entrySet()) - context.registerConfig(pair.getKey(), pair.getValue().specification); + ModLoadingContext.registerConfig(CreateTFMG.MOD_ID, pair.getKey(), pair.getValue().specification); - BlockStressValues.registerProvider(context.getActiveNamespace(), server().stressValues); + BlockStressValues.registerProvider(CreateTFMG.MOD_ID, server().stressValues); + + ModConfigEvents.loading(CreateTFMG.MOD_ID).register(TFMGConfigs::onLoad); + ModConfigEvents.loading(CreateTFMG.MOD_ID).register(TFMGConfigs::onReload); } - @SubscribeEvent - public static void onLoad(ModConfigEvent.Loading event) { + public static void onLoad(ModConfig modConfig) { for (ConfigBase config : CONFIGS.values()) - if (config.specification == event.getConfig() + if (config.specification == modConfig .getSpec()) config.onLoad(); } - @SubscribeEvent - public static void onReload(ModConfigEvent.Reloading event) { + public static void onReload(ModConfig modConfig) { for (ConfigBase config : CONFIGS.values()) - if (config.specification == event.getConfig() + if (config.specification == modConfig .getSpec()) config.onReload(); } diff --git a/src/main/java/com/drmangotea/createindustry/data/CreateTFMGData.java b/src/main/java/com/drmangotea/createindustry/data/CreateTFMGData.java new file mode 100644 index 00000000..e1cf7800 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/data/CreateTFMGData.java @@ -0,0 +1,15 @@ +package com.drmangotea.createindustry.data; + +import com.drmangotea.createindustry.base.TFMGLangPartials; +import com.simibubi.create.foundation.data.LangMerger; +import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; + +import static com.drmangotea.createindustry.CreateTFMG.*; + +public class CreateTFMGData implements DataGeneratorEntrypoint { + @Override + public void onInitializeDataGenerator(FabricDataGenerator generator) { + generator.addProvider(true, new LangMerger(generator, MOD_ID, NAME, TFMGLangPartials.values())); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/events/CommonEvents.java b/src/main/java/com/drmangotea/createindustry/events/CommonEvents.java new file mode 100644 index 00000000..a06ff00f --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/events/CommonEvents.java @@ -0,0 +1,23 @@ +package com.drmangotea.createindustry.events; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.worldgen.TFMGConfiguredFeatures; +import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; +import net.minecraft.core.Holder; +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.level.levelgen.placement.PlacedFeature; + +public class CommonEvents { + + public static void serverStarting(MinecraftServer event) + { + CreateTFMG.LOGGER.info("YEEEHAAW"); + } + + public static void register() { + final Holder initializeOil = TFMGConfiguredFeatures.OIL_PLACED; + final Holder initializeSimulatedOil = TFMGConfiguredFeatures.OIL_DEPOSIT_PLACED; + + ServerLifecycleEvents.SERVER_STARTED.register(CommonEvents::serverStarting); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/items/weapons/explosives/thermite_grenades/fire/TFMGColoredFires.java b/src/main/java/com/drmangotea/createindustry/items/weapons/explosives/thermite_grenades/fire/TFMGColoredFires.java index a2c86e5b..9d8947b3 100644 --- a/src/main/java/com/drmangotea/createindustry/items/weapons/explosives/thermite_grenades/fire/TFMGColoredFires.java +++ b/src/main/java/com/drmangotea/createindustry/items/weapons/explosives/thermite_grenades/fire/TFMGColoredFires.java @@ -1,13 +1,12 @@ package com.drmangotea.createindustry.items.weapons.explosives.thermite_grenades.fire; import com.drmangotea.createindustry.CreateTFMG; +import io.github.fabricators_of_create.porting_lib.util.LazyRegistrar; +import io.github.fabricators_of_create.porting_lib.util.RegistryObject; +import net.minecraft.core.Registry; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.Material; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; /** * making blockstate for fire in registrate is pain/idk how to do it @@ -15,8 +14,8 @@ import net.minecraftforge.registries.RegistryObject; */ public class TFMGColoredFires { - public static final DeferredRegister BLOCKS = - DeferredRegister.create(ForgeRegistries.BLOCKS, CreateTFMG.MOD_ID); + public static final LazyRegistrar BLOCKS = + LazyRegistrar.create(Registry.BLOCK, CreateTFMG.MOD_ID); public static final RegistryObject GREEN_FIRE = BLOCKS.register("green_fire", @@ -33,7 +32,7 @@ public class TFMGColoredFires { )); - public static void register (IEventBus eventBus){ - BLOCKS.register(eventBus); + public static void register (){ + BLOCKS.register(); } } diff --git a/src/main/java/com/drmangotea/createindustry/recipes/casting/CastingRecipe.java b/src/main/java/com/drmangotea/createindustry/recipes/casting/CastingRecipe.java index 54e51dec..9ece9c77 100644 --- a/src/main/java/com/drmangotea/createindustry/recipes/casting/CastingRecipe.java +++ b/src/main/java/com/drmangotea/createindustry/recipes/casting/CastingRecipe.java @@ -5,10 +5,9 @@ import com.simibubi.create.content.processing.recipe.ProcessingRecipe; import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams; import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.fluid.FluidIngredient; +import io.github.fabricators_of_create.porting_lib.transfer.item.RecipeWrapper; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.items.wrapper.RecipeWrapper; public class CastingRecipe extends ProcessingRecipe { diff --git a/src/main/java/com/drmangotea/createindustry/recipes/coking/CokingRecipe.java b/src/main/java/com/drmangotea/createindustry/recipes/coking/CokingRecipe.java index 5b5f802a..775bdc08 100644 --- a/src/main/java/com/drmangotea/createindustry/recipes/coking/CokingRecipe.java +++ b/src/main/java/com/drmangotea/createindustry/recipes/coking/CokingRecipe.java @@ -1,12 +1,10 @@ package com.drmangotea.createindustry.recipes.coking; import com.drmangotea.createindustry.registry.TFMGRecipeTypes; -import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.content.processing.recipe.ProcessingRecipe; import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams; -import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import io.github.fabricators_of_create.porting_lib.transfer.item.RecipeWrapper; import net.minecraft.world.level.Level; -import net.minecraftforge.items.wrapper.RecipeWrapper; public class CokingRecipe extends ProcessingRecipe { diff --git a/src/main/java/com/drmangotea/createindustry/recipes/distillation/DistillationRecipe.java b/src/main/java/com/drmangotea/createindustry/recipes/distillation/DistillationRecipe.java index 5cf8cc9b..7e34ab64 100644 --- a/src/main/java/com/drmangotea/createindustry/recipes/distillation/DistillationRecipe.java +++ b/src/main/java/com/drmangotea/createindustry/recipes/distillation/DistillationRecipe.java @@ -5,13 +5,12 @@ package com.drmangotea.createindustry.recipes.distillation; import com.drmangotea.createindustry.registry.TFMGRecipeTypes; import com.simibubi.create.content.processing.recipe.ProcessingRecipe; import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; -import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.fluid.FluidIngredient; import com.simibubi.create.foundation.item.SmartInventory; +import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank; +import io.github.fabricators_of_create.porting_lib.util.FluidStack; import net.minecraft.core.NonNullList; import net.minecraft.world.level.Level; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.templates.FluidTank; public class DistillationRecipe extends ProcessingRecipe { @@ -84,17 +83,17 @@ public class DistillationRecipe extends ProcessingRecipe { - public boolean matches(FluidTank inv,int outputs) { + public boolean matches(FluidTank inv, int outputs) { int neededOutputs = fluidIngredients.toArray().length; if(outputs !=neededOutputs) return false; - if (inv.getFluidInTank(0).getAmount()==0) + if (inv.getFluidAmount()==0) return false; return fluidIngredients.get(0) - .test(inv.getFluidInTank(0)); + .test(inv.getFluid()); } @Override diff --git a/src/main/java/com/drmangotea/createindustry/recipes/industrial_blasting/IndustrialBlastingRecipe.java b/src/main/java/com/drmangotea/createindustry/recipes/industrial_blasting/IndustrialBlastingRecipe.java index 62f43ad1..05f19093 100644 --- a/src/main/java/com/drmangotea/createindustry/recipes/industrial_blasting/IndustrialBlastingRecipe.java +++ b/src/main/java/com/drmangotea/createindustry/recipes/industrial_blasting/IndustrialBlastingRecipe.java @@ -3,8 +3,8 @@ package com.drmangotea.createindustry.recipes.industrial_blasting; import com.drmangotea.createindustry.registry.TFMGRecipeTypes; import com.simibubi.create.content.processing.recipe.ProcessingRecipe; import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams; +import io.github.fabricators_of_create.porting_lib.transfer.item.RecipeWrapper; import net.minecraft.world.level.Level; -import net.minecraftforge.items.wrapper.RecipeWrapper; public class IndustrialBlastingRecipe extends ProcessingRecipe { diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java index 14b8d241..1d83778e 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java @@ -22,8 +22,6 @@ import com.drmangotea.createindustry.blocks.electricity.cable_blocks.DiagonalCab import com.drmangotea.createindustry.blocks.electricity.cable_blocks.copycat_cable_block.CopycatCableBlockModel; import com.drmangotea.createindustry.blocks.electricity.capacitor.AccumulatorBlock; import com.drmangotea.createindustry.blocks.electricity.capacitor.AccumulatorCTBehavior; -import com.drmangotea.createindustry.blocks.electricity.electrical_switch.ElectricalSwitchBlock; -import com.drmangotea.createindustry.blocks.electricity.electrical_switch.LeverGenerator; import com.drmangotea.createindustry.blocks.electricity.generation.creative_generator.VoltageCubeBlock; import com.drmangotea.createindustry.blocks.electricity.lights.neon.NeonTubeBlock; import com.drmangotea.createindustry.blocks.electricity.voltmeter.energy_meter.EnergyMeterBlock; @@ -108,12 +106,12 @@ import com.simibubi.create.content.kinetics.BlockStressDefaults; import com.simibubi.create.content.kinetics.gearbox.GearboxBlock; import com.simibubi.create.content.kinetics.motor.CreativeMotorGenerator; import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockModel; -import com.simibubi.create.foundation.block.ItemUseOverrides; import com.simibubi.create.foundation.data.*; import com.simibubi.create.foundation.utility.Couple; import com.tterrag.registrate.providers.loot.RegistrateBlockLootTables; import com.tterrag.registrate.util.DataIngredient; import com.tterrag.registrate.util.entry.BlockEntry; +import me.alphamode.forgetags.Tags; import net.minecraft.client.renderer.RenderType; import net.minecraft.tags.BlockTags; import net.minecraft.tags.TagKey; @@ -125,7 +123,6 @@ import net.minecraft.world.level.material.MaterialColor; import net.minecraft.world.level.storage.loot.LootPool; import net.minecraft.world.level.storage.loot.entries.LootItem; import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount; -import net.minecraftforge.common.Tags; import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE; @@ -380,7 +377,7 @@ public class TFMGBlocks { .requiresCorrectToolForDrops() .sound(SoundType.STONE)) .transform(pickaxeOnly()) - .loot((lt, b) -> lt.add(b, + .loot((lt, b) -> lt.method_16258(b, RegistrateBlockLootTables.createSilkTouchDispatchTable(b, RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LEAD.get()) .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)))))) @@ -397,7 +394,7 @@ public class TFMGBlocks { .requiresCorrectToolForDrops() .sound(SoundType.DEEPSLATE)) .transform(pickaxeOnly()) - .loot((lt, b) -> lt.add(b, + .loot((lt, b) -> lt.method_16258(b, RegistrateBlockLootTables.createSilkTouchDispatchTable(b, RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LEAD.get()) .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)))))) @@ -414,7 +411,7 @@ public class TFMGBlocks { .requiresCorrectToolForDrops() .sound(SoundType.STONE)) .transform(pickaxeOnly()) - .loot((lt, b) -> lt.add(b, + .loot((lt, b) -> lt.method_16258(b, RegistrateBlockLootTables.createSilkTouchDispatchTable(b, RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_NICKEL.get()) .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)))))) @@ -431,7 +428,7 @@ public class TFMGBlocks { .requiresCorrectToolForDrops() .sound(SoundType.DEEPSLATE)) .transform(pickaxeOnly()) - .loot((lt, b) -> lt.add(b, + .loot((lt, b) -> lt.method_16258(b, RegistrateBlockLootTables.createSilkTouchDispatchTable(b, RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_NICKEL.get()) .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)))))) @@ -448,7 +445,7 @@ public class TFMGBlocks { .requiresCorrectToolForDrops() .sound(SoundType.STONE)) .transform(pickaxeOnly()) - .loot((lt, b) -> lt.add(b, + .loot((lt, b) -> lt.method_16258(b, RegistrateBlockLootTables.createSilkTouchDispatchTable(b, RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LITHIUM.get()) .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)))))) @@ -465,7 +462,7 @@ public class TFMGBlocks { .requiresCorrectToolForDrops() .sound(SoundType.DEEPSLATE)) .transform(pickaxeOnly()) - .loot((lt, b) -> lt.add(b, + .loot((lt, b) -> lt.method_16258(b, RegistrateBlockLootTables.createSilkTouchDispatchTable(b, RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LITHIUM.get()) .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)))))) @@ -511,7 +508,7 @@ public class TFMGBlocks { .properties(p -> p.color(MaterialColor.TERRACOTTA_RED)) //.transform(pickaxeOnly()) .blockstate(simpleCubeAll("fireclay")) - .loot((p, b) -> p.add(b, RegistrateBlockLootTables.createSingleItemTable(TFMGItems.FIRECLAY_BALL.get()) + .loot((p, b) -> p.method_16258(b, RegistrateBlockLootTables.createSingleItemTable(TFMGItems.FIRECLAY_BALL.get()) .withPool(RegistrateBlockLootTables.applyExplosionCondition(TFMGItems.FIRECLAY_BALL.get(), LootPool.lootPool() .add(LootItem.lootTableItem(TFMGItems.FIRECLAY_BALL.get())))) .withPool(RegistrateBlockLootTables.applyExplosionCondition(TFMGItems.FIRECLAY_BALL.get(), LootPool.lootPool() @@ -1963,7 +1960,7 @@ public class TFMGBlocks { .lang("Concrete Wall") .register(); - REGISTRATE.block("concrete_stairs", p -> new StairBlock(() -> TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) + REGISTRATE.block("concrete_stairs", p -> new StairBlock(TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) .initialProperties(() -> Blocks.STONE) .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) .properties(p -> p.requiresCorrectToolForDrops()) @@ -2041,7 +2038,7 @@ public class TFMGBlocks { .lang(upperCaseColor + " Concrete Wall") .register(); - REGISTRATE.block(color + "_concrete_stairs", p -> new StairBlock(() -> TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) + REGISTRATE.block(color + "_concrete_stairs", p -> new StairBlock(TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) .initialProperties(() -> Blocks.STONE) .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) .properties(p -> p.requiresCorrectToolForDrops()) @@ -2169,7 +2166,7 @@ public class TFMGBlocks { //.lang(displayName + " Wall") .register(); // - REGISTRATE.block(name + "_stairs", p -> new StairBlock(() -> TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) + REGISTRATE.block(name + "_stairs", p -> new StairBlock(TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) .initialProperties(() -> properties) .properties(p -> p.color(color)) .properties(p -> p.sound(sound)) diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java index 0e5b9806..c8c3d877 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java @@ -1,8 +1,5 @@ package com.drmangotea.createindustry.registry; - - - import com.drmangotea.createindustry.CreateTFMG; import com.drmangotea.createindustry.base.util.TFMGUtils; import com.drmangotea.createindustry.blocks.concrete.ConcreteFluid; @@ -13,15 +10,20 @@ import com.simibubi.create.AllTags; import com.simibubi.create.content.decoration.palettes.AllPaletteStoneTypes; import com.simibubi.create.content.fluids.VirtualFluid; +import com.tterrag.registrate.fabric.SimpleFlowableFluid; import com.tterrag.registrate.util.entry.FluidEntry; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariantAttributeHandler; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.FluidTags; import net.minecraft.tags.TagKey; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.material.FlowingFluid; import net.minecraft.world.level.material.Fluid; -import net.minecraftforge.common.ForgeMod; -import net.minecraftforge.fluids.FluidInteractionRegistry; -import net.minecraftforge.fluids.ForgeFlowingFluid; +import org.jetbrains.annotations.Nullable; import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE; @@ -63,7 +65,7 @@ public class TFMGFluids { LPG = gas("lpg",TFMGTags.TFMGFluidTags.LPG.tag,TFMGTags.TFMGFluidTags.FLAMMABLE.tag), NEON = gas("neon") ; - public static final FluidEntry + public static final FluidEntry CRUDE_OIL = flammableFluid("crude_oil",TFMGTags.TFMGFluidTags.CRUDE_OIL.tag), HEAVY_OIL = flammableFluid("heavy_oil",TFMGTags.TFMGFluidTags.HEAVY_OIL.tag), LUBRICATION_OIL = flammableFluid("lubrication_oil",TFMGTags.TFMGFluidTags.FLAMMABLE.tag), @@ -78,19 +80,19 @@ public class TFMGFluids { - public static final FluidEntry COOLING_FLUID = + public static final FluidEntry COOLING_FLUID = REGISTRATE.fluid("cooling_fluid",COOLING_FLUID_STILL_RL,COOLING_FLUID_FLOW_RL, - ConcreteFluidType.create(0x333333, - () -> 1f / 24f )) + p -> new ConcreteFluid(p) +// ConcreteFluidType.create(0x333333, +// () -> 1f / 24f ) + ) .lang("Cooling Fluid") - .properties(b -> b.viscosity(1000) - .density(1000)) .fluidProperties(p -> p.levelDecreasePerBlock(1) .tickRate(10) - .slopeFindDistance(5) - .explosionResistance(100f)) - - .source(ForgeFlowingFluid.Source::new) + .flowSpeed(5) + .blastResistance(100f)) + .fluidAttributes(() -> new AttributeHandler("block.create.honey", 1000, 1000)) + .source(SimpleFlowableFluid.Source::new) .bucket() // .tag(AllTags.forgeItemTag("buckets/napalm")) .build() @@ -99,19 +101,18 @@ public class TFMGFluids { - public static final FluidEntry SULFURIC_ACID = + + public static final FluidEntry SULFURIC_ACID = REGISTRATE.fluid("sulfuric_acid",SULFURIC_AXID_STILL_RL,SULFURIC_AXID_FLOW_RL, AcidFluidType.create(0x333333, () -> 1f / 24f )) .lang("Sulfuric Acid") - .properties(b -> b.viscosity(1000) - .density(1000)) .fluidProperties(p -> p.levelDecreasePerBlock(1) .tickRate(10) - .slopeFindDistance(5) - .explosionResistance(100f)) - - .source(ForgeFlowingFluid.Source::new) + .flowSpeed(5) + .blastResistance(100f)) + .fluidAttributes(() -> new AttributeHandler("block.create.honey", 2000, 1400)) + .source(SimpleFlowableFluid.Source::new) .bucket() // .tag(AllTags.forgeItemTag("buckets/napalm")) .build() @@ -123,36 +124,32 @@ public class TFMGFluids { - public static final FluidEntry LIQUID_CONCRETE = + public static final FluidEntry LIQUID_CONCRETE = REGISTRATE.fluid("liquid_concrete",CONCRETE_RL,CONCRETE_RL, ConcreteFluidType.create(0x333333, () -> 1f / 24f )) .lang("Liquid Concrete") - .properties(b -> b.viscosity(9999) - .density(9999)) .fluidProperties(p -> p.levelDecreasePerBlock(0) .tickRate(99999) - .slopeFindDistance(0) - .explosionResistance(4f) - ) + .flowSpeed(0) + .blastResistance(4f)) + .fluidAttributes(() -> new AttributeHandler("block.create.honey", 9999, 9999)) .source(ConcreteFluid.Source::new) .bucket() //.tag(AllTags.forgeItemTag("buckets/napalm")) .build() .register(); - public static final FluidEntry LIQUID_ASPHALT = + public static final FluidEntry LIQUID_ASPHALT = REGISTRATE.fluid("liquid_asphalt", ASPHALT_RL, ASPHALT_RL, ConcreteFluidType.create(0x333333, () -> 1f / 24f )) .lang("Liquid Asphalt") - .properties(b -> b.viscosity(9999) - .density(9999)) .fluidProperties(p -> p.levelDecreasePerBlock(0) .tickRate(99999) - .slopeFindDistance(0) - .explosionResistance(4f) - ) + .flowSpeed(0) + .blastResistance(4f)) + .fluidAttributes(() -> new AttributeHandler("block.create.honey", 9999, 9999)) .source(AsphaltFluid.Source::new) .bucket() //.tag(AllTags.forgeItemTag("buckets/napalm")) @@ -161,53 +158,48 @@ public class TFMGFluids { - public static final FluidEntry LIQUID_PLASTIC = + public static final FluidEntry LIQUID_PLASTIC = REGISTRATE.fluid("liquid_plastic",PLASTIC_STILL_RL,PLASTIC_FLOW_RL , PlasticFluidType.create(0xc4c4c4, () -> 1f / 24f )) .lang("Liquid Plastic") - .properties(b -> b.viscosity(1500) - .density(1000)) .fluidProperties(p -> p.levelDecreasePerBlock(1) .tickRate(10) - .slopeFindDistance(2) - .explosionResistance(100f)) - - .source(ForgeFlowingFluid.Source::new) + .flowSpeed(2) + .blastResistance(100f)) + .fluidAttributes(() -> new AttributeHandler("block.create.honey", 1500, 1000)) + .source(SimpleFlowableFluid.Source::new) .bucket() .tag(AllTags.forgeItemTag("buckets/plastic")) .build() .register(); - public static final FluidEntry MOLTEN_STEEL = + public static final FluidEntry MOLTEN_STEEL = REGISTRATE.fluid("molten_steel",MOLTEN_STEEL_STILL_RL,MOLTEN_STEEL_FLOW_RL, HotFluidType.create(0xfbfbbb, () -> 1f / 24f )) .lang("Molten Steel") - .properties(b -> b.viscosity(1500) - .density(1000)) .fluidProperties(p -> p.levelDecreasePerBlock(1) .tickRate(10) - .slopeFindDistance(2) - .explosionResistance(100f)) + .flowSpeed(2) + .blastResistance(100f)) + .fluidAttributes(() -> new AttributeHandler("block.create.honey", 1500, 1000)) .tag(TFMGTags.TFMGFluidTags.MOLTEN_STEEL.tag) - .source(ForgeFlowingFluid.Source::new) + .source(SimpleFlowableFluid.Source::new) .bucket() .tag(AllTags.forgeItemTag("buckets/steel")) .build() .register(); - public static final FluidEntry MOLTEN_SLAG = + public static final FluidEntry MOLTEN_SLAG = REGISTRATE.fluid("molten_slag",MOLTEN_SLAG_STILL_RL,MOLTEN_SLAG_FLOW_RL , HotFluidType.create(0xfbfbbb, () -> 1f / 24f )) .lang("Molten Slag") - .properties(b -> b.viscosity(1500) - .density(1000)) .fluidProperties(p -> p.levelDecreasePerBlock(1) .tickRate(10) - .slopeFindDistance(2) - .explosionResistance(100f)) - - .source(ForgeFlowingFluid.Source::new) + .flowSpeed(2) + .blastResistance(100f)) + .fluidAttributes(() -> new AttributeHandler("block.create.honey", 1500, 1000)) + .source(SimpleFlowableFluid.Source::new) .bucket() .tag(AllTags.forgeItemTag("buckets/slag")) .build() @@ -217,7 +209,7 @@ public class TFMGFluids { //// @SafeVarargs - public static FluidEntry fuel(String name, TagKey... tags) { + public static FluidEntry fuel(String name, TagKey... tags) { TagKey[] fuelTag = new TagKey[]{TFMGTags.TFMGFluidTags.FUEL.tag}; @@ -232,19 +224,16 @@ public class TFMGFluids { } @SafeVarargs - public static FluidEntry flammableFluid(String name, TagKey... tags){ - - + public static FluidEntry flammableFluid(String name, TagKey... tags){ return REGISTRATE.fluid(name,CreateTFMG.asResource("fluid/"+name+"_still"),CreateTFMG.asResource("fluid/"+name+"_flow"), FlammableFluidType.create(0x606060, () -> 1f / 24f )) .lang(TFMGUtils.fromId(name)) - .properties(b -> b.viscosity(1000) - .density(1000)) .fluidProperties(p -> p.levelDecreasePerBlock(1) .tickRate(10) - .slopeFindDistance(5) - .explosionResistance(100f)) + .flowSpeed(2) + .blastResistance(100f)) + .fluidAttributes(() -> new AttributeHandler("block.create.honey", 1000, 1000)) .tag(tags) .source(FlammableFluid.Source::new) .bucket() @@ -255,6 +244,7 @@ public class TFMGFluids { @SafeVarargs public static FluidEntry gas(String name, TagKey... tags){ + //ignore error, AW handles it TagKey tag = FluidTags.create(CreateTFMG.asResource(name)); TagKey[] fluidTags = tags; @@ -311,11 +301,11 @@ public class TFMGFluids { // CRUDE_OIL.get().getFluidType(), // fluidState -> TFMGFluids.POLLUTED_WATER.getBlock().get().defaultBlockState())); - FluidInteractionRegistry.addInteraction( TFMGFluids.COOLING_FLUID.get().getFluidType(), new FluidInteractionRegistry.InteractionInformation( - ForgeMod.LAVA_TYPE.get(), - fluidState -> AllPaletteStoneTypes.LIMESTONE.baseBlock - .get() - .defaultBlockState())); +// FluidInteractionRegistry.addInteraction( TFMGFluids.COOLING_FLUID.get().getFluidType(), new FluidInteractionRegistry.InteractionInformation( +// ForgeMod.LAVA_TYPE.get(), +// fluidState -> AllPaletteStoneTypes.LIMESTONE.baseBlock +// .get() +// .defaultBlockState())); @@ -323,10 +313,29 @@ public class TFMGFluids { } + //this isnt public in create for some reason + record AttributeHandler(Component name, int viscosity, boolean lighterThanAir) implements FluidVariantAttributeHandler { + private AttributeHandler(String key, int viscosity, int density) { + this(Component.translatable(key), viscosity, density <= 0); + } + public AttributeHandler(String key) { + this(key, FluidConstants.WATER_VISCOSITY, 1000); + } + @Override + public Component getName(FluidVariant fluidVariant) { + return name.copy(); + } + @Override + public int getViscosity(FluidVariant variant, @Nullable Level world) { + return viscosity; + } - - + @Override + public boolean isLighterThanAir(FluidVariant variant) { + return lighterThanAir; + } + } } diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGGuiTextures.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGGuiTextures.java index 6c6e52f3..5543959b 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGGuiTextures.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGGuiTextures.java @@ -8,10 +8,10 @@ import com.simibubi.create.foundation.gui.UIRenderHelper; import com.simibubi.create.foundation.gui.element.ScreenElement; import com.simibubi.create.foundation.utility.Color; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.client.gui.GuiComponent; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; public enum TFMGGuiTextures implements ScreenElement { @@ -46,25 +46,25 @@ public enum TFMGGuiTextures implements ScreenElement { this.startY = startY; } - @OnlyIn(Dist.CLIENT) + @Environment(EnvType.CLIENT) public void bind() { RenderSystem.setShaderTexture(0, location); } - @OnlyIn(Dist.CLIENT) + @Environment(EnvType.CLIENT) @Override public void render(PoseStack ms, int x, int y) { bind(); GuiComponent.blit(ms, x, y, 0, startX, startY, width, height, 256, 256); } - @OnlyIn(Dist.CLIENT) + @Environment(EnvType.CLIENT) public void render(PoseStack ms, int x, int y, GuiComponent component) { bind(); component.blit(ms, x, y, startX, startY, width, height); } - @OnlyIn(Dist.CLIENT) + @Environment(EnvType.CLIENT) public void render(PoseStack ms, int x, int y, Color c) { bind(); UIRenderHelper.drawColoredTexture(ms, c, x, y, startX, startY, width, height); diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGItems.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGItems.java index 5715d41a..f00b1e31 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGItems.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGItems.java @@ -25,11 +25,11 @@ import com.simibubi.create.foundation.data.AssetLookup; import com.simibubi.create.foundation.item.ItemDescription; import com.tterrag.registrate.util.DataIngredient; import com.tterrag.registrate.util.entry.ItemEntry; +import me.alphamode.forgetags.Tags; import net.minecraft.core.Registry; import net.minecraft.tags.TagKey; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.*; -import net.minecraftforge.common.Tags; import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE; import static com.drmangotea.createindustry.items.weapons.explosives.thermite_grenades.ChemicalColor.*; diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGMobEffects.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGMobEffects.java index 1726fea6..8f41e2d0 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGMobEffects.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGMobEffects.java @@ -3,22 +3,21 @@ package com.drmangotea.createindustry.registry; import com.drmangotea.createindustry.CreateTFMG; import com.drmangotea.createindustry.base.effects.HellFireEffect; +import io.github.fabricators_of_create.porting_lib.util.LazyRegistrar; +import io.github.fabricators_of_create.porting_lib.util.RegistryObject; +import net.minecraft.core.Registry; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectCategory; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; import java.awt.*; public class TFMGMobEffects { - public static final DeferredRegister MOB_EFFECTS = DeferredRegister.create(ForgeRegistries.MOB_EFFECTS, CreateTFMG.MOD_ID); + public static final LazyRegistrar MOB_EFFECTS = LazyRegistrar.create(Registry.MOB_EFFECT, CreateTFMG.MOD_ID); public static final RegistryObject HELLFIRE = MOB_EFFECTS.register("hellfire", () -> new HellFireEffect(MobEffectCategory.HARMFUL, new Color(150, 0, 0, 200).getRGB())); - public static void register(IEventBus modEventBus){ - MOB_EFFECTS.register(modEventBus); + public static void register(){ + MOB_EFFECTS.register(); } } diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGPackets.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGPackets.java index 5f5a4f3c..1d8005ff 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGPackets.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGPackets.java @@ -5,21 +5,18 @@ import com.drmangotea.createindustry.items.weapons.advanced_potato_cannon.Advanc import com.drmangotea.createindustry.items.weapons.quad_potato_cannon.QuadPotatoCannonPacket; import com.simibubi.create.foundation.networking.SimplePacketBase; +import io.github.fabricators_of_create.porting_lib.util.NetworkDirection; +import me.pepperbell.simplenetworking.SimpleChannel; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.Level; -import net.minecraftforge.network.NetworkDirection; -import net.minecraftforge.network.NetworkEvent; -import net.minecraftforge.network.NetworkRegistry; -import net.minecraftforge.network.PacketDistributor; -import net.minecraftforge.network.simple.SimpleChannel; import java.util.function.BiConsumer; import java.util.function.Function; -import java.util.function.Supplier; -import static net.minecraftforge.network.NetworkDirection.PLAY_TO_CLIENT; +import static io.github.fabricators_of_create.porting_lib.util.NetworkDirection.PLAY_TO_CLIENT; + public enum TFMGPackets { diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGPaletteBlocks.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGPaletteBlocks.java index 59895b82..0eb921b0 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGPaletteBlocks.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGPaletteBlocks.java @@ -1,27 +1,6 @@ package com.drmangotea.createindustry.registry; -import com.simibubi.create.AllCreativeModeTabs; -import com.simibubi.create.AllSpriteShifts; -import com.simibubi.create.Create; -import com.simibubi.create.content.decoration.palettes.*; -import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour; -import com.simibubi.create.foundation.block.connected.SimpleCTBehaviour; -import com.simibubi.create.foundation.data.BlockStateGen; -import com.simibubi.create.foundation.data.WindowGen; -import com.tterrag.registrate.util.DataIngredient; -import com.tterrag.registrate.util.entry.BlockEntry; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.BlockTags; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.GlassBlock; -import net.minecraft.world.level.block.state.properties.WoodType; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraftforge.common.Tags; - import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE; -import static com.simibubi.create.foundation.data.WindowGen.*; public class TFMGPaletteBlocks { diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGPaletteStoneTypes.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGPaletteStoneTypes.java index ce9657f0..72a9f680 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGPaletteStoneTypes.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGPaletteStoneTypes.java @@ -8,12 +8,12 @@ import com.simibubi.create.AllTags; import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.utility.Lang; import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.core.Registry; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.MaterialColor; -import net.minecraftforge.registries.ForgeRegistries; import java.util.function.Function; @@ -62,7 +62,7 @@ public enum TFMGPaletteStoneTypes { paletteStoneVariants.baseBlock = baseBlock; String id = Lang.asId(paletteStoneVariants.name()); paletteStoneVariants.materialTag = - AllTags.optionalTag(ForgeRegistries.ITEMS, CreateTFMG.asResource("stone_types/" + id)); + AllTags.optionalTag(Registry.ITEM, CreateTFMG.asResource("stone_types/" + id)); paletteStoneVariants.variants = new TFMGPalettesVariantEntry(id, paletteStoneVariants); } } diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGParticleTypes.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGParticleTypes.java index 7dd92e83..00dad03f 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGParticleTypes.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGParticleTypes.java @@ -3,18 +3,17 @@ package com.drmangotea.createindustry.registry; import com.drmangotea.createindustry.CreateTFMG; import com.drmangotea.createindustry.base.ElectricSparkParticle; -import com.simibubi.create.content.equipment.bell.SoulParticle; import com.simibubi.create.foundation.particle.ICustomParticleData; import com.simibubi.create.foundation.utility.Lang; +import io.github.fabricators_of_create.porting_lib.util.LazyRegistrar; +import io.github.fabricators_of_create.porting_lib.util.RegistryObject; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.Minecraft; +import net.minecraft.client.particle.ParticleEngine; +import net.minecraft.core.Registry; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleType; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.event.RegisterParticleProvidersEvent; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; import java.util.function.Supplier; @@ -30,18 +29,21 @@ public enum TFMGParticleTypes { entry = new ParticleEntry<>(name, typeFactory); } - public static void register(IEventBus modEventBus) { - ParticleEntry.REGISTER.register(modEventBus); + public static void register() { + ParticleEntry.REGISTER.register(); } - @OnlyIn(Dist.CLIENT) - public static void registerFactories(RegisterParticleProvidersEvent event) { + @Environment(EnvType.CLIENT) + public static void registerFactories() { + ParticleEngine particles = Minecraft.getInstance().particleEngine; for (TFMGParticleTypes particle : values()) - particle.entry.registerFactory(event); + particle.entry.registerFactory(particles); } public ParticleType get() { - return entry.object.get(); + //don't question it, fabric is stupid /: + RegistryObject> object = entry.object; + return object.get(); } public String parameter() { @@ -49,7 +51,7 @@ public enum TFMGParticleTypes { } private static class ParticleEntry { - private static final DeferredRegister> REGISTER = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, CreateTFMG.MOD_ID); + private static final LazyRegistrar> REGISTER = LazyRegistrar.create(Registry.PARTICLE_TYPE, CreateTFMG.MOD_ID); private final String name; private final Supplier> typeFactory; @@ -62,8 +64,8 @@ public enum TFMGParticleTypes { object = REGISTER.register(name, () -> this.typeFactory.get().createType()); } - @OnlyIn(Dist.CLIENT) - public void registerFactory(RegisterParticleProvidersEvent event) { + @Environment(EnvType.CLIENT) + public void registerFactory(ParticleEngine event) { typeFactory.get() .register(object.get(), event); } diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGPotions.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGPotions.java index b5325b03..3ab7b686 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGPotions.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGPotions.java @@ -1,24 +1,21 @@ package com.drmangotea.createindustry.registry; import com.drmangotea.createindustry.CreateTFMG; +import io.github.fabricators_of_create.porting_lib.util.LazyRegistrar; +import io.github.fabricators_of_create.porting_lib.util.RegistryObject; +import net.minecraft.core.Registry; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.item.alchemy.Potion; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; public class TFMGPotions { - public static final DeferredRegister POTIONS - = DeferredRegister.create(ForgeRegistries.POTIONS, CreateTFMG.MOD_ID); + public static final LazyRegistrar POTIONS + = LazyRegistrar.create(Registry.POTION, CreateTFMG.MOD_ID); public static final RegistryObject HELLFIRE_POTION = POTIONS.register("hellfire_potion", () -> new Potion(new MobEffectInstance(TFMGMobEffects.HELLFIRE.get(), 600, 0))); - - - public static void register(IEventBus eventBus) { - POTIONS.register(eventBus); + public static void register() { + POTIONS.register(); } } \ No newline at end of file diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGRecipeTypes.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGRecipeTypes.java index 4ac4a745..0e2beb18 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGRecipeTypes.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGRecipeTypes.java @@ -13,6 +13,8 @@ import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.Pro import com.simibubi.create.content.processing.recipe.ProcessingRecipeSerializer; import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; import com.simibubi.create.foundation.utility.Lang; +import io.github.fabricators_of_create.porting_lib.util.LazyRegistrar; +import io.github.fabricators_of_create.porting_lib.util.RegistryObject; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Container; @@ -21,10 +23,6 @@ import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.item.crafting.ShapedRecipe; import net.minecraft.world.level.Level; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; import org.jetbrains.annotations.Nullable; import java.util.Optional; @@ -88,11 +86,11 @@ WELDING(WeldingRecipe::new) }; } - public static void register(IEventBus modEventBus) { - ShapedRecipe.setCraftingSize(9, 9); + public static void register() { + // ShapedRecipe.setCraftingSize(9, 9); im so confused about this - Registers.SERIALIZER_REGISTER.register(modEventBus); - Registers.TYPE_REGISTER.register(modEventBus); + Registers.SERIALIZER_REGISTER.register(); + Registers.TYPE_REGISTER.register(); } @Override @@ -122,8 +120,8 @@ WELDING(WeldingRecipe::new) private static class Registers { - private static final DeferredRegister> SERIALIZER_REGISTER = DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, CreateTFMG.MOD_ID); - private static final DeferredRegister> TYPE_REGISTER = DeferredRegister.create(Registry.RECIPE_TYPE_REGISTRY, CreateTFMG.MOD_ID); + private static final LazyRegistrar> SERIALIZER_REGISTER = LazyRegistrar.create(Registry.RECIPE_SERIALIZER, CreateTFMG.MOD_ID); + private static final LazyRegistrar> TYPE_REGISTER = LazyRegistrar.create(Registry.RECIPE_TYPE_REGISTRY, CreateTFMG.MOD_ID); } } diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGSoundEvents.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGSoundEvents.java index b93f4e2a..dec46c71 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGSoundEvents.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGSoundEvents.java @@ -8,6 +8,7 @@ import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.simibubi.create.Create; +import com.tterrag.registrate.fabric.RegistryObject; import net.minecraft.core.Registry; import net.minecraft.core.Vec3i; import net.minecraft.data.CachedOutput; @@ -21,9 +22,6 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegisterEvent; -import net.minecraftforge.registries.RegistryObject; import java.io.IOException; import java.nio.file.Path; @@ -68,11 +66,9 @@ public class TFMGSoundEvents { entry.prepare(); } - public static void register(RegisterEvent event) { - event.register(Registry.SOUND_EVENT_REGISTRY, helper -> { - for (TFMGSoundEvents.SoundEntry entry : ALL.values()) - entry.register(helper); - }); + public static void register() { + for (TFMGSoundEvents.SoundEntry entry : ALL.values()) + entry.register(); } public static JsonObject provideLangEntries() { @@ -230,7 +226,7 @@ public class TFMGSoundEvents { public abstract void prepare(); - public abstract void register(RegisterEvent.RegisterHelper registry); + public abstract void register(); public abstract void write(JsonObject json); @@ -312,23 +308,22 @@ public class TFMGSoundEvents { for (int i = 0; i < wrappedEvents.size(); i++) { TFMGSoundEvents.ConfiguredSoundEvent wrapped = wrappedEvents.get(i); ResourceLocation location = getIdOf(i); - RegistryObject event = RegistryObject.create(location, ForgeRegistries.SOUND_EVENTS); + SoundEvent event = new SoundEvent(location); compiledEvents.add(new TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent(event, wrapped.volume(), wrapped.pitch())); } } @Override - public void register(RegisterEvent.RegisterHelper helper) { - for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent compiledEvent : compiledEvents) { - ResourceLocation location = compiledEvent.event().getId(); - helper.register(location, new SoundEvent(location)); + public void register() { + for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent event : compiledEvents) { + Registry.register(Registry.SOUND_EVENT, event.event.getLocation(), event.event); } } @Override public SoundEvent getMainEvent() { return compiledEvents.get(0) - .event().get(); + .event; } protected ResourceLocation getIdOf(int i) { @@ -360,7 +355,7 @@ public class TFMGSoundEvents { @Override public void play(Level world, Player entity, double x, double y, double z, float volume, float pitch) { for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent event : compiledEvents) { - world.playSound(entity, x, y, z, event.event().get(), category, event.volume() * volume, + world.playSound(entity, x, y, z, event.event, category, event.volume() * volume, event.pitch() * pitch); } } @@ -368,12 +363,12 @@ public class TFMGSoundEvents { @Override public void playAt(Level world, double x, double y, double z, float volume, float pitch, boolean fade) { for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent event : compiledEvents) { - world.playLocalSound(x, y, z, event.event().get(), category, event.volume() * volume, + world.playLocalSound(x, y, z, event.event, category, event.volume() * volume, event.pitch() * pitch, fade); } } - private record CompiledSoundEvent(RegistryObject event, float volume, float pitch) { + private record CompiledSoundEvent(SoundEvent event, float volume, float pitch) { } } @@ -381,7 +376,7 @@ public class TFMGSoundEvents { private static class CustomSoundEntry extends TFMGSoundEvents.SoundEntry { protected List variants; - protected RegistryObject event; + protected SoundEvent event; public CustomSoundEntry(ResourceLocation id, List variants, String subtitle, SoundSource category, int attenuationDistance) { @@ -391,17 +386,17 @@ public class TFMGSoundEvents { @Override public void prepare() { - event = RegistryObject.create(id, ForgeRegistries.SOUND_EVENTS); + event = new SoundEvent(id); } - public void register(RegisterEvent.RegisterHelper helper) { - ResourceLocation location = event.getId(); - helper.register(location, new SoundEvent(location)); + @Override + public void register() { + Registry.register(Registry.SOUND_EVENT, event.getLocation(), event); } @Override public SoundEvent getMainEvent() { - return event.get(); + return event; } @Override @@ -433,12 +428,12 @@ public class TFMGSoundEvents { @Override public void play(Level world, Player entity, double x, double y, double z, float volume, float pitch) { - world.playSound(entity, x, y, z, event.get(), category, volume, pitch); + world.playSound(entity, x, y, z, event, category, volume, pitch); } @Override public void playAt(Level world, double x, double y, double z, float volume, float pitch, boolean fade) { - world.playLocalSound(x, y, z, event.get(), category, volume, pitch, fade); + world.playLocalSound(x, y, z, event, category, volume, pitch, fade); } } diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGTags.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGTags.java index fa4cfa84..bb139ee6 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGTags.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGTags.java @@ -2,54 +2,49 @@ package com.drmangotea.createindustry.registry; import com.drmangotea.createindustry.CreateTFMG; -import com.simibubi.create.Create; import com.simibubi.create.foundation.utility.Lang; +import net.minecraft.core.DefaultedRegistry; +import net.minecraft.core.HolderSet; import net.minecraft.core.Registry; +import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.BlockTags; import net.minecraft.tags.FluidTags; -import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.FluidState; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.IForgeRegistry; import java.util.Collections; +import java.util.Map; import static com.drmangotea.createindustry.registry.TFMGTags.NameSpace.FORGE; import static com.drmangotea.createindustry.registry.TFMGTags.NameSpace.MOD; public class TFMGTags { - public static TagKey optionalTag(IForgeRegistry registry, + public static TagKey optionalTag(Registry registry, ResourceLocation id) { - return registry.tags() - .createOptionalTagKey(id, Collections.emptySet()); + return TagKey.create(registry.key(), id); } - public static TagKey forgeTag(IForgeRegistry registry, String path) { + public static TagKey forgeTag(DefaultedRegistry registry, String path) { return optionalTag(registry, new ResourceLocation("forge", path)); } public static TagKey forgeBlockTag(String path) { - return forgeTag(ForgeRegistries.BLOCKS, path); + return forgeTag(Registry.BLOCK, path); } public static TagKey forgeItemTag(String path) { - return forgeTag(ForgeRegistries.ITEMS, path); + return forgeTag(Registry.ITEM, path); } public static TagKey forgeFluidTag(String path) { - return forgeTag(ForgeRegistries.FLUIDS, path); + return forgeTag(Registry.FLUID, path); } public enum NameSpace { @@ -121,9 +116,9 @@ public class TFMGTags { TFMGFluidTags(TFMGTags.NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) { ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path); if (optional) { - tag = optionalTag(ForgeRegistries.FLUIDS, id); + tag = optionalTag(Registry.FLUID, id); } else { - tag = FluidTags.create(id); + tag = FluidTags.create(String.valueOf(id)); } this.alwaysDatagen = alwaysDatagen; } @@ -170,7 +165,7 @@ public class TFMGTags { TFMGEntityTags(TFMGTags.NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) { ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path); if (optional) { - tag = optionalTag(ForgeRegistries.ENTITY_TYPES, id); + tag = optionalTag(Registry.ENTITY_TYPE, id); } else { tag = TagKey.create(Registry.ENTITY_TYPE_REGISTRY, id); } @@ -217,7 +212,7 @@ public class TFMGTags { TFMGRecipeSerializerTags(TFMGTags.NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) { ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path); if (optional) { - tag = optionalTag(ForgeRegistries.RECIPE_SERIALIZERS, id); + tag = optionalTag(Registry.RECIPE_SERIALIZER, id); } else { tag = TagKey.create(Registry.RECIPE_SERIALIZER_REGISTRY, id); } @@ -225,7 +220,10 @@ public class TFMGTags { } public boolean matches(RecipeSerializer recipeSerializer) { - return ForgeRegistries.RECIPE_SERIALIZERS.getHolder(recipeSerializer).orElseThrow().is(tag); + + return Registry.RECIPE_SERIALIZER.getHolder( + ResourceKey.create(Registry.RECIPE_SERIALIZER.key(), Registry.RECIPE_SERIALIZER.getKey(recipeSerializer))) + .orElseThrow().is(tag); } private static void init() {} diff --git a/src/main/java/com/drmangotea/createindustry/worldgen/TFMGFeatures.java b/src/main/java/com/drmangotea/createindustry/worldgen/TFMGFeatures.java index 650825b7..cc4fd621 100644 --- a/src/main/java/com/drmangotea/createindustry/worldgen/TFMGFeatures.java +++ b/src/main/java/com/drmangotea/createindustry/worldgen/TFMGFeatures.java @@ -5,19 +5,16 @@ package com.drmangotea.createindustry.worldgen; import com.drmangotea.createindustry.CreateTFMG; import com.drmangotea.createindustry.worldgen.oil_deposit.OilDepositFeature; import com.drmangotea.createindustry.worldgen.oil_deposit.OilWellFeature; +import io.github.fabricators_of_create.porting_lib.util.LazyRegistrar; +import io.github.fabricators_of_create.porting_lib.util.RegistryObject; +import net.minecraft.core.Registry; import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.OreFeature; import net.minecraft.world.level.levelgen.feature.configurations.GeodeConfiguration; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; public class TFMGFeatures { - public static final DeferredRegister> FEATURES = DeferredRegister.create(ForgeRegistries.FEATURES, CreateTFMG.MOD_ID); + public static final LazyRegistrar> FEATURES = LazyRegistrar.create(Registry.FEATURE, CreateTFMG.MOD_ID); //-------------------------------------------------------------------------------------------------// @@ -38,7 +35,7 @@ public class TFMGFeatures { //-------------------------------------------------------------------------------------------------// - public static void register(IEventBus eventBus) { - FEATURES.register(eventBus); + public static void register() { + FEATURES.register(); } } diff --git a/src/main/java/com/drmangotea/createindustry/worldgen/TFMGOreConfigEntries.java b/src/main/java/com/drmangotea/createindustry/worldgen/TFMGOreConfigEntries.java index a9056a91..28c56f39 100644 --- a/src/main/java/com/drmangotea/createindustry/worldgen/TFMGOreConfigEntries.java +++ b/src/main/java/com/drmangotea/createindustry/worldgen/TFMGOreConfigEntries.java @@ -1,25 +1,11 @@ package com.drmangotea.createindustry.worldgen; import com.drmangotea.createindustry.registry.TFMGBlocks; -import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; -import com.simibubi.create.foundation.data.DynamicDataProvider; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.infrastructure.worldgen.OreFeatureConfigEntry; -import net.minecraft.core.Registry; -import net.minecraft.core.RegistryAccess; -import net.minecraft.data.DataGenerator; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BiomeTags; -import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; -import net.minecraft.world.level.levelgen.placement.PlacedFeature; -import net.minecraftforge.common.ForgeConfigSpec; -import net.minecraftforge.common.world.BiomeModifier; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.registries.ForgeRegistries; - -import java.util.HashMap; -import java.util.Map; public class TFMGOreConfigEntries { diff --git a/src/main/java/com/drmangotea/createindustry/worldgen/oil_deposit/OilDepositFeature.java b/src/main/java/com/drmangotea/createindustry/worldgen/oil_deposit/OilDepositFeature.java index e8b93ad8..d5f1a942 100644 --- a/src/main/java/com/drmangotea/createindustry/worldgen/oil_deposit/OilDepositFeature.java +++ b/src/main/java/com/drmangotea/createindustry/worldgen/oil_deposit/OilDepositFeature.java @@ -10,7 +10,6 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider; public class OilDepositFeature extends Feature { diff --git a/src/main/java/com/drmangotea/createindustry/worldgen/oil_deposit/OilWellFeature.java b/src/main/java/com/drmangotea/createindustry/worldgen/oil_deposit/OilWellFeature.java index 27e9acdf..4c07688d 100644 --- a/src/main/java/com/drmangotea/createindustry/worldgen/oil_deposit/OilWellFeature.java +++ b/src/main/java/com/drmangotea/createindustry/worldgen/oil_deposit/OilWellFeature.java @@ -4,6 +4,7 @@ import com.drmangotea.createindustry.registry.TFMGBlocks; import com.drmangotea.createindustry.registry.TFMGFluids; import com.mojang.serialization.Codec; import com.simibubi.create.foundation.utility.Iterate; +import me.alphamode.forgetags.Tags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; @@ -16,7 +17,6 @@ import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.AABB; -import net.minecraftforge.common.Tags; public class OilWellFeature extends Feature { public OilWellFeature(Codec pCodec) { diff --git a/src/main/resources/createindustry.accesswidener b/src/main/resources/createindustry.accesswidener new file mode 100644 index 00000000..c90c0694 --- /dev/null +++ b/src/main/resources/createindustry.accesswidener @@ -0,0 +1,3 @@ +accessWidener v1 named + +accessible method net/minecraft/tags/FluidTags create (Ljava/lang/String;)Lnet/minecraft/tags/TagKey; diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 01841321..6c437aa7 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -16,11 +16,18 @@ "entrypoints": { "main": [ "com.drmangotea.createindustry.CreateTFMG" + ], + "client": [ + "com.drmangotea.createindustry.CreateTFMGClient" + ], + "fabric-datagen": [ + "com.drmangotea.createindustry.data.CreateTFMGData" ] }, "mixins": [ "createindustry.mixins.json" ], + "accessWidener": "createindustry.accesswidener", "depends": { "fabricloader": ">=${fabric_loader_version}", "fabric-api": ">=${fabric_api_version}",