ONLY 963 ERRORS LEFT
This commit is contained in:
10
build.gradle
10
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}")
|
||||
|
||||
@@ -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<PlacedFeature> initializeOil = TFMGConfiguredFeatures.OIL_PLACED;
|
||||
final Holder<PlacedFeature> 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);
|
||||
|
||||
@@ -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.<YOUR MOD>.executeIfInstalled(() -> () -> <Compat Class>.<clientInit or init>());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Float> fogDistance;
|
||||
|
||||
public static FluidBuilder.FluidTypeFactory create(int fogColor, Supplier<Float> fogDistance) {
|
||||
public static FluidBuilder create(int fogColor, Supplier<Float> 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);
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<FormWorkBlockEntity> {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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<TFMGSlidingDoorBlockEntity> {
|
||||
|
||||
@@ -51,7 +51,7 @@ public class TFMGSlidingDoorRenderer extends SafeBlockEntityRenderer<TFMGSliding
|
||||
|
||||
if (((TFMGSlidingDoorBlock) blockState.getBlock()).isFoldingDoor()) {
|
||||
Couple<PartialModel> 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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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<IFluidHandler> fluidCapability;
|
||||
protected LazyOptional<CombinedTankWrapper> 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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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<IFluidHandler> fluidCapability;
|
||||
protected LazyOptional<CombinedTankWrapper> 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 <T> LazyOptional<T> getCapability(@Nonnull Capability<T> 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<Component> tooltip, boolean isPlayerSneaking) {
|
||||
|
||||
|
||||
|
||||
//--Fluid Info--//
|
||||
LazyOptional<IFluidHandler> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
||||
Optional<IFluidHandler> resolve = handler.resolve();
|
||||
LazyOptional<CombinedTankWrapper> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
||||
Optional<CombinedTankWrapper> 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<FluidVariant> 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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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<IFluidHandler> fluidCapability;
|
||||
protected LazyOptional<FluidTank> 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 <T> LazyOptional<T> getCapability(@Nonnull DrbgParameters.Capability<T> 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<? extends IFluidHandler> inputCap = tank1.getCapability();
|
||||
LazyOptional<? extends IFluidHandler> outputCap = tank2.getCapability();
|
||||
LazyOptional<? extends FluidTank> inputCap = tank1.getCapability();
|
||||
LazyOptional<? extends FluidTank> 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 <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, Direction side) {
|
||||
|
||||
|
||||
|
||||
if (cap == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY)
|
||||
return fluidCapability.cast();
|
||||
return super.getCapability(cap, side);
|
||||
}
|
||||
@Override
|
||||
public void notifyUpdate() {
|
||||
super.notifyUpdate();
|
||||
|
||||
@@ -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<IFluidHandler> fluidCapability;
|
||||
protected LazyOptional<FluidTank> 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<IFluidHandler> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
||||
Optional<IFluidHandler> resolve = handler.resolve();
|
||||
LazyOptional<FluidTank> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
||||
Optional<FluidTank> 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<IFluidHandler> oldCap = fluidCapability;
|
||||
LazyOptional<FluidTank> 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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Fire
|
||||
return false;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public void animateTick(BlockState state, Level world, BlockPos pos, Random random) {
|
||||
if (random.nextInt(10) != 0)
|
||||
return;
|
||||
|
||||
@@ -1,43 +1,26 @@
|
||||
package com.drmangotea.createindustry.blocks.machines.firebox;
|
||||
|
||||
import com.drmangotea.createindustry.registry.TFMGFluids;
|
||||
import com.drmangotea.createindustry.registry.TFMGTags;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.AllTags.AllItemTags;
|
||||
import com.simibubi.create.content.fluids.tank.FluidTankBlock;
|
||||
import com.simibubi.create.content.processing.burner.BlazeBurnerBlock.HeatLevel;
|
||||
import com.simibubi.create.content.processing.burner.BlazeBurnerBlockEntity;
|
||||
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.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
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.core.particles.ParticleTypes;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.common.ForgeHooks;
|
||||
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 javax.annotation.Nullable;
|
||||
@@ -51,7 +34,7 @@ public class FireboxBlockEntity extends SmartBlockEntity {
|
||||
protected int remainingBurnTime;
|
||||
|
||||
|
||||
protected LazyOptional<IFluidHandler> fluidCapability;
|
||||
protected LazyOptional<FluidTank> fluidCapability;
|
||||
public FluidTank tankInventory;
|
||||
|
||||
|
||||
@@ -127,7 +110,7 @@ public class FireboxBlockEntity extends SmartBlockEntity {
|
||||
super.read(compound, clientPacket);
|
||||
}
|
||||
private void refreshCapability() {
|
||||
LazyOptional<IFluidHandler> oldCap = fluidCapability;
|
||||
LazyOptional<FluidTank> 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;
|
||||
}
|
||||
|
||||
@@ -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<IFluidHandler> fluidCapability;
|
||||
protected LazyOptional<FluidTank> 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<IFluidHandler> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
||||
Optional<IFluidHandler> resolve = handler.resolve();
|
||||
LazyOptional<FluidTank> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
||||
Optional<FluidTank> resolve = handler.resolve();
|
||||
if (!resolve.isPresent())
|
||||
return false;
|
||||
|
||||
IFluidHandler tank = resolve.get();
|
||||
FluidTank tank = resolve.get();
|
||||
if (tank.getTanks() == 0)
|
||||
return false;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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<CastingSpoutBlockEntity> {
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<IFluidHandler> fluidCapability;
|
||||
protected LazyOptional<FluidTank> 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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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<IFluidHandler> fluidCapability;
|
||||
protected LazyOptional<FluidTank> fluidCapability;
|
||||
|
||||
public final FluidTank tank = new SmartFluidTank(8000,this::onFluidStackChanged);
|
||||
public DistillationOutputBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
|
||||
@@ -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<IFluidHandler> fluidCapability;
|
||||
protected LazyOptional<FluidTank> 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<IFluidHandler> handler = this.getCapability(ForgeCapabilities.FLUID_HANDLER);
|
||||
Optional<IFluidHandler> resolve = handler.resolve();
|
||||
LazyOptional<FluidTank> handler = this.getCapability(ForgeCapabilities.FLUID_HANDLER);
|
||||
Optional<FluidTank> resolve = handler.resolve();
|
||||
if (!resolve.isPresent())
|
||||
return false;
|
||||
|
||||
IFluidHandler tank = resolve.get();
|
||||
FluidTank tank = resolve.get();
|
||||
if (tank.getTanks() == 0)
|
||||
return false;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<RecipeWrapper> implements IAssemblyRecipe {
|
||||
@@ -51,7 +47,7 @@ public class WeldingRecipe extends ProcessingRecipe<RecipeWrapper> implements IA
|
||||
public void addAssemblyIngredients(List<Ingredient> 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<RecipeWrapper> implements IA
|
||||
}
|
||||
|
||||
@Override
|
||||
public Supplier<Supplier<SequencedAssemblySubCategory>> getJEISubCategory() {
|
||||
return () -> SequencedAssemblySubCategory.AssemblyPressing::new;
|
||||
public SequencedAssemblySubCategoryType getJEISubCategory() {
|
||||
return SequencedAssemblySubCategoryType.PRESSING;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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<ModConfig.Type, ConfigBase> 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<ModConfig.Type, ConfigBase> 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();
|
||||
}
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
@@ -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<PlacedFeature> initializeOil = TFMGConfiguredFeatures.OIL_PLACED;
|
||||
final Holder<PlacedFeature> initializeSimulatedOil = TFMGConfiguredFeatures.OIL_DEPOSIT_PLACED;
|
||||
|
||||
ServerLifecycleEvents.SERVER_STARTED.register(CommonEvents::serverStarting);
|
||||
}
|
||||
}
|
||||
@@ -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<Block> BLOCKS =
|
||||
DeferredRegister.create(ForgeRegistries.BLOCKS, CreateTFMG.MOD_ID);
|
||||
public static final LazyRegistrar<Block> BLOCKS =
|
||||
LazyRegistrar.create(Registry.BLOCK, CreateTFMG.MOD_ID);
|
||||
|
||||
|
||||
public static final RegistryObject<Block> 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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<RecipeWrapper> {
|
||||
|
||||
|
||||
@@ -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<RecipeWrapper> {
|
||||
|
||||
|
||||
@@ -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<SmartInventory> {
|
||||
|
||||
@@ -84,17 +83,17 @@ public class DistillationRecipe extends ProcessingRecipe<SmartInventory> {
|
||||
|
||||
|
||||
|
||||
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
|
||||
|
||||
@@ -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<RecipeWrapper> {
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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<ForgeFlowingFluid.Flowing>
|
||||
public static final FluidEntry<SimpleFlowableFluid>
|
||||
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<ForgeFlowingFluid.Flowing> COOLING_FLUID =
|
||||
public static final FluidEntry<ConcreteFluid> 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<ForgeFlowingFluid.Flowing> SULFURIC_ACID =
|
||||
|
||||
public static final FluidEntry<SimpleFlowableFluid> 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<ForgeFlowingFluid.Flowing> LIQUID_CONCRETE =
|
||||
public static final FluidEntry<SimpleFlowableFluid> 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<ForgeFlowingFluid.Flowing> LIQUID_ASPHALT =
|
||||
public static final FluidEntry<SimpleFlowableFluid> 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<ForgeFlowingFluid.Flowing> LIQUID_PLASTIC =
|
||||
public static final FluidEntry<SimpleFlowableFluid> 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<ForgeFlowingFluid.Flowing> MOLTEN_STEEL =
|
||||
public static final FluidEntry<SimpleFlowableFluid> 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<ForgeFlowingFluid.Flowing> MOLTEN_SLAG =
|
||||
public static final FluidEntry<SimpleFlowableFluid> 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<ForgeFlowingFluid.Flowing> fuel(String name, TagKey<Fluid>... tags) {
|
||||
public static FluidEntry<SimpleFlowableFluid> fuel(String name, TagKey<Fluid>... tags) {
|
||||
|
||||
|
||||
TagKey<Fluid>[] fuelTag = new TagKey[]{TFMGTags.TFMGFluidTags.FUEL.tag};
|
||||
@@ -232,19 +224,16 @@ public class TFMGFluids {
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static FluidEntry<ForgeFlowingFluid.Flowing> flammableFluid(String name, TagKey<Fluid>... tags){
|
||||
|
||||
|
||||
public static FluidEntry<SimpleFlowableFluid> flammableFluid(String name, TagKey<Fluid>... 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<VirtualFluid> gas(String name, TagKey<Fluid>... tags){
|
||||
//ignore error, AW handles it
|
||||
TagKey<Fluid> tag = FluidTags.create(CreateTFMG.asResource(name));
|
||||
|
||||
TagKey<Fluid>[] 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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.*;
|
||||
|
||||
@@ -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<MobEffect> MOB_EFFECTS = DeferredRegister.create(ForgeRegistries.MOB_EFFECTS, CreateTFMG.MOD_ID);
|
||||
public static final LazyRegistrar<MobEffect> MOB_EFFECTS = LazyRegistrar.create(Registry.MOB_EFFECT, CreateTFMG.MOD_ID);
|
||||
|
||||
public static final RegistryObject<MobEffect> 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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<? extends ParticleType<?>> object = entry.object;
|
||||
return object.get();
|
||||
}
|
||||
|
||||
public String parameter() {
|
||||
@@ -49,7 +51,7 @@ public enum TFMGParticleTypes {
|
||||
}
|
||||
|
||||
private static class ParticleEntry<D extends ParticleOptions> {
|
||||
private static final DeferredRegister<ParticleType<?>> REGISTER = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, CreateTFMG.MOD_ID);
|
||||
private static final LazyRegistrar<ParticleType<?>> REGISTER = LazyRegistrar.create(Registry.PARTICLE_TYPE, CreateTFMG.MOD_ID);
|
||||
|
||||
private final String name;
|
||||
private final Supplier<? extends ICustomParticleData<D>> 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);
|
||||
}
|
||||
|
||||
@@ -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<Potion> POTIONS
|
||||
= DeferredRegister.create(ForgeRegistries.POTIONS, CreateTFMG.MOD_ID);
|
||||
public static final LazyRegistrar<Potion> POTIONS
|
||||
= LazyRegistrar.create(Registry.POTION, CreateTFMG.MOD_ID);
|
||||
|
||||
public static final RegistryObject<Potion> 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();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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<RecipeSerializer<?>> SERIALIZER_REGISTER = DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, CreateTFMG.MOD_ID);
|
||||
private static final DeferredRegister<RecipeType<?>> TYPE_REGISTER = DeferredRegister.create(Registry.RECIPE_TYPE_REGISTRY, CreateTFMG.MOD_ID);
|
||||
private static final LazyRegistrar<RecipeSerializer<?>> SERIALIZER_REGISTER = LazyRegistrar.create(Registry.RECIPE_SERIALIZER, CreateTFMG.MOD_ID);
|
||||
private static final LazyRegistrar<RecipeType<?>> TYPE_REGISTER = LazyRegistrar.create(Registry.RECIPE_TYPE_REGISTRY, CreateTFMG.MOD_ID);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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<SoundEvent> 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<SoundEvent> 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<SoundEvent> 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<SoundEvent> 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<ResourceLocation> variants;
|
||||
protected RegistryObject<SoundEvent> event;
|
||||
protected SoundEvent event;
|
||||
|
||||
public CustomSoundEntry(ResourceLocation id, List<ResourceLocation> 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<SoundEvent> 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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 <T> TagKey<T> optionalTag(IForgeRegistry<T> registry,
|
||||
public static <T> TagKey<T> optionalTag(Registry<T> registry,
|
||||
ResourceLocation id) {
|
||||
return registry.tags()
|
||||
.createOptionalTagKey(id, Collections.emptySet());
|
||||
return TagKey.create(registry.key(), id);
|
||||
}
|
||||
|
||||
public static <T> TagKey<T> forgeTag(IForgeRegistry<T> registry, String path) {
|
||||
public static <T> TagKey<T> forgeTag(DefaultedRegistry<T> registry, String path) {
|
||||
return optionalTag(registry, new ResourceLocation("forge", path));
|
||||
}
|
||||
|
||||
public static TagKey<Block> forgeBlockTag(String path) {
|
||||
return forgeTag(ForgeRegistries.BLOCKS, path);
|
||||
return forgeTag(Registry.BLOCK, path);
|
||||
}
|
||||
|
||||
public static TagKey<Item> forgeItemTag(String path) {
|
||||
return forgeTag(ForgeRegistries.ITEMS, path);
|
||||
return forgeTag(Registry.ITEM, path);
|
||||
}
|
||||
|
||||
public static TagKey<Fluid> 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() {}
|
||||
|
||||
@@ -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<Feature<?>> FEATURES = DeferredRegister.create(ForgeRegistries.FEATURES, CreateTFMG.MOD_ID);
|
||||
public static final LazyRegistrar<Feature<?>> 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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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<NoneFeatureConfiguration> {
|
||||
|
||||
@@ -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<NoneFeatureConfiguration> {
|
||||
public OilWellFeature(Codec<NoneFeatureConfiguration> pCodec) {
|
||||
|
||||
3
src/main/resources/createindustry.accesswidener
Normal file
3
src/main/resources/createindustry.accesswidener
Normal file
@@ -0,0 +1,3 @@
|
||||
accessWidener v1 named
|
||||
|
||||
accessible method net/minecraft/tags/FluidTags create (Ljava/lang/String;)Lnet/minecraft/tags/TagKey;
|
||||
@@ -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}",
|
||||
|
||||
Reference in New Issue
Block a user