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://maven.jamieswhiteshirt.com/libs-release" } // Reach Entity Attributes
|
||||||
maven { url = "https://jitpack.io/" } // Mixin Extras, Fabric ASM
|
maven { url = "https://jitpack.io/" } // Mixin Extras, Fabric ASM
|
||||||
maven { url = "https://maven.tterrag.com/" } // Flywheel
|
maven { url = "https://maven.tterrag.com/" } // Flywheel
|
||||||
|
maven { url = 'https://ladysnake.jfrog.io/artifactory/mods' } // I FUCKING HATE CAPABILITERS
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
minecraft("com.mojang:minecraft:${minecraft_version}")
|
minecraft("com.mojang:minecraft:${minecraft_version}")
|
||||||
mappings(loom.layered {
|
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}")
|
modImplementation("net.fabricmc:fabric-loader:${fabric_loader_version}")
|
||||||
|
|
||||||
@@ -39,6 +41,10 @@ dependencies {
|
|||||||
// Create - dependencies are added transitively
|
// Create - dependencies are added transitively
|
||||||
modImplementation("com.simibubi.create:create-fabric-${minecraft_version}:${create_version}")
|
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
|
// Development QOL
|
||||||
modLocalRuntime("maven.modrinth:lazydfu:${lazydfu_version}")
|
modLocalRuntime("maven.modrinth:lazydfu:${lazydfu_version}")
|
||||||
modLocalRuntime("com.terraformersmc:modmenu:${modmenu_version}")
|
modLocalRuntime("com.terraformersmc:modmenu:${modmenu_version}")
|
||||||
|
|||||||
@@ -1,49 +1,26 @@
|
|||||||
package com.drmangotea.createindustry;
|
package com.drmangotea.createindustry;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGContraptions;
|
import com.drmangotea.createindustry.registry.TFMGContraptions;
|
||||||
import com.drmangotea.createindustry.base.TFMGLangPartials;
|
|
||||||
import com.drmangotea.createindustry.config.TFMGConfigs;
|
import com.drmangotea.createindustry.config.TFMGConfigs;
|
||||||
import com.drmangotea.createindustry.items.weapons.explosives.thermite_grenades.fire.TFMGColoredFires;
|
import com.drmangotea.createindustry.items.weapons.explosives.thermite_grenades.fire.TFMGColoredFires;
|
||||||
import com.drmangotea.createindustry.registry.*;
|
import com.drmangotea.createindustry.registry.*;
|
||||||
import com.drmangotea.createindustry.worldgen.TFMGConfiguredFeatures;
|
|
||||||
import com.drmangotea.createindustry.worldgen.TFMGFeatures;
|
import com.drmangotea.createindustry.worldgen.TFMGFeatures;
|
||||||
import com.drmangotea.createindustry.worldgen.TFMGOreConfigEntries;
|
import com.drmangotea.createindustry.worldgen.TFMGOreConfigEntries;
|
||||||
import com.mojang.logging.LogUtils;
|
import com.mojang.logging.LogUtils;
|
||||||
import com.simibubi.create.AllParticleTypes;
|
|
||||||
import com.simibubi.create.content.processing.burner.BlazeBurnerBlock;
|
import com.simibubi.create.content.processing.burner.BlazeBurnerBlock;
|
||||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
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.ItemDescription;
|
||||||
import com.simibubi.create.foundation.item.KineticStats;
|
import com.simibubi.create.foundation.item.KineticStats;
|
||||||
import com.simibubi.create.foundation.item.TooltipHelper;
|
import com.simibubi.create.foundation.item.TooltipHelper;
|
||||||
import com.simibubi.create.foundation.item.TooltipModifier;
|
import com.simibubi.create.foundation.item.TooltipModifier;
|
||||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
import net.fabricmc.api.ModInitializer;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
|
||||||
import net.minecraft.core.Holder;
|
|
||||||
import net.minecraft.data.DataGenerator;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
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 org.slf4j.Logger;
|
||||||
|
|
||||||
import static com.simibubi.create.content.fluids.tank.BoilerHeaters.registerHeater;
|
import static com.simibubi.create.content.fluids.tank.BoilerHeaters.registerHeater;
|
||||||
|
|
||||||
|
|
||||||
@Mod(CreateTFMG.MOD_ID)
|
public class CreateTFMG implements ModInitializer {
|
||||||
public class CreateTFMG
|
|
||||||
{
|
|
||||||
|
|
||||||
public static final String MOD_ID = "createindustry";
|
public static final String MOD_ID = "createindustry";
|
||||||
public static final String NAME = "Create: The Factory Must Grow";
|
public static final String NAME = "Create: The Factory Must Grow";
|
||||||
@@ -57,17 +34,10 @@ public class CreateTFMG
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public CreateTFMG()
|
@Override
|
||||||
{
|
public void onInitialize() {
|
||||||
|
|
||||||
|
REGISTRATE.register();
|
||||||
|
|
||||||
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
|
||||||
|
|
||||||
REGISTRATE.registerEventListeners(FMLJavaModLoadingContext.get().getModEventBus());
|
|
||||||
|
|
||||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::commonSetup);
|
|
||||||
//
|
|
||||||
|
|
||||||
TFMGBlocks.register();
|
TFMGBlocks.register();
|
||||||
TFMGItems.register();
|
TFMGItems.register();
|
||||||
@@ -80,32 +50,28 @@ public class CreateTFMG
|
|||||||
TFMGSoundEvents.prepare();
|
TFMGSoundEvents.prepare();
|
||||||
TFMGContraptions.prepare();
|
TFMGContraptions.prepare();
|
||||||
TFMGOreConfigEntries.init();
|
TFMGOreConfigEntries.init();
|
||||||
TFMGParticleTypes.register(modEventBus);
|
TFMGParticleTypes.register();
|
||||||
TFMGMobEffects.register(modEventBus);
|
TFMGMobEffects.register();
|
||||||
TFMGPotions.register(modEventBus);
|
TFMGPotions.register();
|
||||||
TFMGPackets.registerPackets();
|
TFMGPackets.registerPackets();
|
||||||
|
|
||||||
|
|
||||||
TFMGColoredFires.register(modEventBus);
|
TFMGColoredFires.register();
|
||||||
TFMGFeatures.register(modEventBus);
|
TFMGFeatures.register();
|
||||||
TFMGRecipeTypes.register(modEventBus);
|
TFMGRecipeTypes.register();
|
||||||
|
|
||||||
TFMGConfigs.register(ModLoadingContext.get());
|
TFMGConfigs.register();
|
||||||
|
|
||||||
//
|
CreateTFMG.init();
|
||||||
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);
|
|
||||||
|
|
||||||
|
//modEventBus.addListener(EventPriority.LOWEST, CreateTFMG::gatherData); CreateTFMGData gaming
|
||||||
|
TFMGSoundEvents.register();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void init(final FMLCommonSetupEvent event) {
|
public static void init() {
|
||||||
TFMGFluids.registerFluidInteractions();
|
TFMGFluids.registerFluidInteractions();
|
||||||
|
|
||||||
event.enqueueWork(() -> {
|
//event.enqueueWork(() -> {
|
||||||
|
|
||||||
registerHeater(TFMGBlocks.FIREBOX.get(), (level, pos, state) -> {
|
registerHeater(TFMGBlocks.FIREBOX.get(), (level, pos, state) -> {
|
||||||
BlazeBurnerBlock.HeatLevel value = state.getValue(BlazeBurnerBlock.HEAT_LEVEL);
|
BlazeBurnerBlock.HeatLevel value = state.getValue(BlazeBurnerBlock.HEAT_LEVEL);
|
||||||
@@ -121,30 +87,12 @@ public class CreateTFMG
|
|||||||
return -1;
|
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) {
|
public static ResourceLocation asResource(String path) {
|
||||||
return new ResourceLocation(MOD_ID, 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.ponder.TFMGPonderIndex;
|
||||||
import com.drmangotea.createindustry.registry.TFMGPartialModels;
|
import com.drmangotea.createindustry.registry.TFMGPartialModels;
|
||||||
import com.drmangotea.createindustry.registry.TFMGParticleTypes;
|
import com.drmangotea.createindustry.registry.TFMGParticleTypes;
|
||||||
import com.simibubi.create.AllParticleTypes;
|
import io.github.fabricators_of_create.porting_lib.event.client.ParticleManagerRegistrationCallback;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
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;
|
|
||||||
|
|
||||||
public class CreateTFMGClient {
|
public class CreateTFMGClient implements ClientModInitializer {
|
||||||
public static final QuadPotatoCannonRenderHandler QUAD_POTATO_CANNON_RENDER_HANDLER = new QuadPotatoCannonRenderHandler();
|
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 AdvancedPotatoCannonRenderHandler ADVANCED_POTATO_CANNON_RENDER_HANDLER = new AdvancedPotatoCannonRenderHandler();
|
||||||
|
|
||||||
public static final FlamethrowerRenderHandler FLAMETHROWER_RENDER_HANDLER = new FlamethrowerRenderHandler();
|
public static final FlamethrowerRenderHandler FLAMETHROWER_RENDER_HANDLER = new FlamethrowerRenderHandler();
|
||||||
|
|
||||||
public CreateTFMGClient() {
|
|
||||||
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
@Override
|
||||||
IEventBus forgeEventBus = MinecraftForge.EVENT_BUS;
|
public void onInitializeClient() {
|
||||||
TFMGPartialModels.init();
|
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.register();
|
||||||
TFMGPonderIndex.registerTags();
|
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;
|
package com.drmangotea.createindustry.blocks.concrete;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
||||||
|
import com.tterrag.registrate.fabric.SimpleFlowableFluid;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.util.RandomSource;
|
import net.minecraft.util.RandomSource;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.state.StateDefinition;
|
import net.minecraft.world.level.block.state.StateDefinition;
|
||||||
import net.minecraft.world.level.material.Fluid;
|
import net.minecraft.world.level.material.Fluid;
|
||||||
import net.minecraft.world.level.material.FluidState;
|
import net.minecraft.world.level.material.FluidState;
|
||||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
|
||||||
|
|
||||||
public class ConcreteFluid extends ForgeFlowingFluid {
|
public class ConcreteFluid extends SimpleFlowableFluid {
|
||||||
|
|
||||||
|
public ConcreteFluid(Properties properties) {
|
||||||
protected ConcreteFluid(Properties properties) {
|
|
||||||
super(properties);
|
super(properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import com.mojang.math.Vector3f;
|
|||||||
import com.simibubi.create.AllFluids;
|
import com.simibubi.create.AllFluids;
|
||||||
import com.simibubi.create.foundation.utility.Color;
|
import com.simibubi.create.foundation.utility.Color;
|
||||||
import com.tterrag.registrate.builders.FluidBuilder;
|
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.core.BlockPos;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.world.entity.Entity;
|
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.BlockAndTintGetter;
|
||||||
import net.minecraft.world.level.material.FluidState;
|
import net.minecraft.world.level.material.FluidState;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
|
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
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 Vector3f fogColor;
|
||||||
private Supplier<Float> fogDistance;
|
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) -> {
|
return (p, s, f) -> {
|
||||||
ConcreteFluidType fluidType = new ConcreteFluidType(p, s, f);
|
ConcreteFluidType fluidType = new ConcreteFluidType(p, s, f);
|
||||||
fluidType.fogColor = new Color(fogColor, false).asVectorF();
|
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) {
|
ResourceLocation flowingTexture) {
|
||||||
super(properties, stillTexture, flowingTexture);
|
super(properties, stillTexture, flowingTexture);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,17 @@
|
|||||||
package com.drmangotea.createindustry.blocks.concrete.asphalt;
|
package com.drmangotea.createindustry.blocks.concrete.asphalt;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
||||||
|
import com.tterrag.registrate.fabric.SimpleFlowableFluid;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.util.RandomSource;
|
import net.minecraft.util.RandomSource;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.state.StateDefinition;
|
import net.minecraft.world.level.block.state.StateDefinition;
|
||||||
import net.minecraft.world.level.material.Fluid;
|
import net.minecraft.world.level.material.Fluid;
|
||||||
import net.minecraft.world.level.material.FluidState;
|
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) {
|
protected AsphaltFluid(Properties properties) {
|
||||||
|
|||||||
@@ -5,15 +5,16 @@ import com.drmangotea.createindustry.registry.TFMGBlocks;
|
|||||||
import com.drmangotea.createindustry.registry.TFMGFluids;
|
import com.drmangotea.createindustry.registry.TFMGFluids;
|
||||||
import com.simibubi.create.foundation.fluid.SmartFluidTank;
|
import com.simibubi.create.foundation.fluid.SmartFluidTank;
|
||||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
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.core.BlockPos;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 {
|
public class FormWorkBlockEntity extends TFMGMachineBlockEntity {
|
||||||
|
|
||||||
@@ -42,9 +43,10 @@ public class FormWorkBlockEntity extends TFMGMachineBlockEntity {
|
|||||||
public boolean isFluidValid(FluidStack stack) {
|
public boolean isFluidValid(FluidStack stack) {
|
||||||
return stack.getFluid().isSame(TFMGFluids.LIQUID_CONCRETE.getSource());
|
return stack.getFluid().isSame(TFMGFluids.LIQUID_CONCRETE.getSource());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FluidStack drain(FluidStack resource, FluidAction action) {
|
public long extract(FluidVariant extractedVariant, long maxAmount, TransactionContext transaction) {
|
||||||
return FluidStack.EMPTY;
|
return 0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -115,16 +117,16 @@ public class FormWorkBlockEntity extends TFMGMachineBlockEntity {
|
|||||||
FluidTank checkedTank = ((FormWorkBlockEntity) CheckedBE).tankInventory;
|
FluidTank checkedTank = ((FormWorkBlockEntity) CheckedBE).tankInventory;
|
||||||
if (checkedTank.getFluidAmount() < 1000) {
|
if (checkedTank.getFluidAmount() < 1000) {
|
||||||
if(checkedTank.getFluidAmount()>=995&&tankInventory.getFluidAmount()>0){
|
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);
|
//tankInventory.drain(1, IFluidHandler.FluidAction.EXECUTE);
|
||||||
// continue;
|
// continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int reducedAmount = tankInventory.getFluidAmount() / 8;
|
int reducedAmount = (int) (tankInventory.getFluidAmount() / 8);
|
||||||
|
|
||||||
if (tankInventory.getFluidAmount() != 0)
|
if (tankInventory.getFluidAmount() != 0)
|
||||||
reducedAmount = 1;
|
reducedAmount = 1;
|
||||||
int newFluidAmount = checkedTank.getFluidAmount() + reducedAmount;
|
int newFluidAmount = (int) (checkedTank.getFluidAmount() + reducedAmount);
|
||||||
|
|
||||||
int toRemove = reducedAmount;
|
int toRemove = reducedAmount;
|
||||||
//if full
|
//if full
|
||||||
@@ -136,7 +138,7 @@ public class FormWorkBlockEntity extends TFMGMachineBlockEntity {
|
|||||||
}
|
}
|
||||||
//
|
//
|
||||||
checkedTank.setFluid(new FluidStack(TFMGFluids.LIQUID_CONCRETE.getSource(), newFluidAmount));
|
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 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.MultiBufferSource;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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> {
|
public class FormWorkRenderer extends SafeBlockEntityRenderer<FormWorkBlockEntity> {
|
||||||
|
|
||||||
|
|||||||
@@ -7,16 +7,14 @@ import com.drmangotea.createindustry.registry.TFMGFluids;
|
|||||||
import com.jozufozu.flywheel.core.GameStateRegistry;
|
import com.jozufozu.flywheel.core.GameStateRegistry;
|
||||||
import com.simibubi.create.foundation.fluid.SmartFluidTank;
|
import com.simibubi.create.foundation.fluid.SmartFluidTank;
|
||||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
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.commands.arguments.blocks.BlockStateArgument;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 {
|
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.RenderType;
|
||||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context;
|
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
|
import net.minecraft.core.Registry;
|
||||||
import net.minecraft.util.Mth;
|
import net.minecraft.util.Mth;
|
||||||
import net.minecraft.world.level.block.DoorBlock;
|
import net.minecraft.world.level.block.DoorBlock;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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.DoorHingeSide;
|
||||||
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf;
|
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
|
||||||
|
|
||||||
public class TFMGSlidingDoorRenderer extends SafeBlockEntityRenderer<TFMGSlidingDoorBlockEntity> {
|
public class TFMGSlidingDoorRenderer extends SafeBlockEntityRenderer<TFMGSlidingDoorBlockEntity> {
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@ public class TFMGSlidingDoorRenderer extends SafeBlockEntityRenderer<TFMGSliding
|
|||||||
|
|
||||||
if (((TFMGSlidingDoorBlock) blockState.getBlock()).isFoldingDoor()) {
|
if (((TFMGSlidingDoorBlock) blockState.getBlock()).isFoldingDoor()) {
|
||||||
Couple<PartialModel> partials =
|
Couple<PartialModel> partials =
|
||||||
TFMGPartialModels.FOLDING_DOORS.get(ForgeRegistries.BLOCKS.getKey(blockState.getBlock()));
|
TFMGPartialModels.FOLDING_DOORS.get(Registry.BLOCK.getKey(blockState.getBlock()));
|
||||||
if(partials==null)
|
if(partials==null)
|
||||||
return;
|
return;
|
||||||
boolean flip = blockState.getValue(DoorBlock.HINGE) == DoorHingeSide.RIGHT;
|
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.content.equipment.goggles.IHaveGoggleInformation;
|
||||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import io.github.fabricators_of_create.porting_lib.util.LazyOptional;
|
||||||
import net.minecraft.ChatFormatting;
|
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
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.blocks.electricity.resistors.ResistorBlockEntity;
|
||||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.world.level.Level;
|
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.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
|
||||||
import net.minecraftforge.common.capabilities.ForgeCapabilities;
|
|
||||||
import net.minecraftforge.energy.EnergyStorage;
|
|
||||||
|
|
||||||
public interface IElectricBlock {
|
public interface IElectricBlock {
|
||||||
|
|
||||||
@@ -144,7 +138,6 @@ public interface IElectricBlock {
|
|||||||
}else
|
}else
|
||||||
|
|
||||||
if(be1!=null) {
|
if(be1!=null) {
|
||||||
|
|
||||||
if (be1.getCapability(ForgeCapabilities.ENERGY, direction.getOpposite()).isPresent()) {
|
if (be1.getCapability(ForgeCapabilities.ENERGY, direction.getOpposite()).isPresent()) {
|
||||||
|
|
||||||
if (!(be1.getCapability(ForgeCapabilities.ENERGY, direction.getOpposite()).orElse(new EnergyStorage(0)) instanceof TFMGForgeEnergyStorage)) {
|
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.HitResult;
|
||||||
import net.minecraft.world.phys.shapes.Shapes;
|
import net.minecraft.world.phys.shapes.Shapes;
|
||||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
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;
|
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.fluid.SmartFluidTank;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.LangBuilder;
|
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.ChatFormatting;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
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.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.level.material.Fluid;
|
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.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@SuppressWarnings("removal")
|
@SuppressWarnings("removal")
|
||||||
public class CompactEngineBlockEntity extends GeneratingKineticBlockEntity implements IHaveGoggleInformation, IWrenchable {
|
public class CompactEngineBlockEntity extends GeneratingKineticBlockEntity implements IHaveGoggleInformation, IWrenchable {
|
||||||
|
|
||||||
protected LazyOptional<IFluidHandler> fluidCapability;
|
protected LazyOptional<CombinedTankWrapper> fluidCapability;
|
||||||
protected FluidTank tankInventory;
|
protected FluidTank tankInventory;
|
||||||
|
|
||||||
protected FluidTank lubricationOilTank;
|
protected FluidTank lubricationOilTank;
|
||||||
@@ -89,9 +84,7 @@ public class CompactEngineBlockEntity extends GeneratingKineticBlockEntity imple
|
|||||||
|
|
||||||
|
|
||||||
//fluidCapability = LazyOptional.of(() -> tankInventory);
|
//fluidCapability = LazyOptional.of(() -> tankInventory);
|
||||||
fluidCapability = LazyOptional.of(() -> {
|
fluidCapability = LazyOptional.of(() -> new CombinedTankWrapper(tankInventory,lubricationOilTank,coolantTank ));
|
||||||
return new CombinedTankWrapper(tankInventory,lubricationOilTank,coolantTank );
|
|
||||||
});
|
|
||||||
|
|
||||||
signal = 0;
|
signal = 0;
|
||||||
setLazyTickRate(40);
|
setLazyTickRate(40);
|
||||||
@@ -362,7 +355,7 @@ public void write(CompoundTag compound, boolean clientPacket) {
|
|||||||
int random2 = Create.RANDOM.nextInt(200);
|
int random2 = Create.RANDOM.nextInt(200);
|
||||||
|
|
||||||
if(random1 == 69)
|
if(random1 == 69)
|
||||||
coolantTank.drain(1, IFluidHandler.FluidAction.EXECUTE);
|
coolantTank.extract(1, IFluidHandler.FluidAction.EXECUTE);
|
||||||
if(random2 == 69)
|
if(random2 == 69)
|
||||||
lubricationOilTank.drain(1, IFluidHandler.FluidAction.EXECUTE);
|
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(){
|
private void makeSound(){
|
||||||
soundTimer=0;
|
soundTimer=0;
|
||||||
|
|
||||||
@@ -458,6 +451,7 @@ public void write(CompoundTag compound, boolean clientPacket) {
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean playerInteract(Player pPlayer, InteractionHand pHand) {
|
public boolean playerInteract(Player pPlayer, InteractionHand pHand) {
|
||||||
|
|
||||||
ItemStack stack = pPlayer.getItemInHand(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;
|
return tankInventory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import com.drmangotea.createindustry.registry.TFMGBlocks;
|
|||||||
import com.drmangotea.createindustry.registry.TFMGFluids;
|
import com.drmangotea.createindustry.registry.TFMGFluids;
|
||||||
import com.drmangotea.createindustry.registry.TFMGSoundEvents;
|
import com.drmangotea.createindustry.registry.TFMGSoundEvents;
|
||||||
import com.drmangotea.createindustry.registry.TFMGTags;
|
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.equipment.goggles.IHaveGoggleInformation;
|
||||||
import com.simibubi.create.content.kinetics.base.GeneratingKineticBlockEntity;
|
import com.simibubi.create.content.kinetics.base.GeneratingKineticBlockEntity;
|
||||||
import com.simibubi.create.content.kinetics.base.IRotate;
|
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.belt.behaviour.DirectBeltInputBehaviour;
|
||||||
import com.simibubi.create.content.kinetics.steamEngine.PoweredShaftBlockEntity;
|
import com.simibubi.create.content.kinetics.steamEngine.PoweredShaftBlockEntity;
|
||||||
import com.simibubi.create.content.kinetics.steamEngine.SteamEngineBlock;
|
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.SmartBlockEntity;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
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.CombinedTankWrapper;
|
||||||
import com.simibubi.create.foundation.fluid.SmartFluidTank;
|
import com.simibubi.create.foundation.fluid.SmartFluidTank;
|
||||||
import com.simibubi.create.foundation.utility.*;
|
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.ChatFormatting;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
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.block.state.properties.AttachFace;
|
||||||
import net.minecraft.world.level.material.Fluid;
|
import net.minecraft.world.level.material.Fluid;
|
||||||
import net.minecraft.world.phys.AABB;
|
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.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import static com.drmangotea.createindustry.blocks.engines.diesel.DieselEngineBlock.FACE;
|
import static com.drmangotea.createindustry.blocks.engines.diesel.DieselEngineBlock.FACE;
|
||||||
import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING;
|
import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING;
|
||||||
@@ -341,15 +333,15 @@ public class DieselEngineBlockEntity extends SmartBlockEntity implements IHaveGo
|
|||||||
fuelModifier = 1;
|
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);
|
//airTank.drain(1, IFluidHandler.FluidAction.EXECUTE);
|
||||||
if(!airTank.isEmpty()) {
|
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));
|
}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));
|
//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()){
|
if (!expansionBE.coolantTank.isEmpty()){
|
||||||
strengthModifier +=3;
|
strengthModifier +=3;
|
||||||
if(consumptionTimer>5)
|
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()){
|
if (!expansionBE.lubricationOilTank.isEmpty()){
|
||||||
strengthModifier +=5;
|
strengthModifier +=5;
|
||||||
if(consumptionTimer>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
|
@Override
|
||||||
@OnlyIn(Dist.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
protected AABB createRenderBoundingBox() {
|
protected AABB createRenderBoundingBox() {
|
||||||
return super.createRenderBoundingBox().inflate(2);
|
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.fluid.SmartFluidTank;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.LangBuilder;
|
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.ChatFormatting;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
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.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.level.material.Fluid;
|
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.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
@@ -30,7 +30,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation {
|
public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation {
|
||||||
|
|
||||||
protected LazyOptional<IFluidHandler> fluidCapability;
|
protected LazyOptional<CombinedTankWrapper> fluidCapability;
|
||||||
public FluidTank coolantTank;
|
public FluidTank coolantTank;
|
||||||
public FluidTank lubricationOilTank;
|
public FluidTank lubricationOilTank;
|
||||||
public FluidTank airTank;
|
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
|
@Override
|
||||||
public void invalidate() {
|
public void invalidate() {
|
||||||
super.invalidate();
|
super.invalidate();
|
||||||
@@ -108,17 +98,14 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement
|
|||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("removal")
|
@SuppressWarnings("removal")
|
||||||
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//--Fluid Info--//
|
//--Fluid Info--//
|
||||||
LazyOptional<IFluidHandler> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
LazyOptional<CombinedTankWrapper> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
||||||
Optional<IFluidHandler> resolve = handler.resolve();
|
Optional<CombinedTankWrapper> resolve = handler.resolve();
|
||||||
if (!resolve.isPresent())
|
if (!resolve.isPresent())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
IFluidHandler tank = resolve.get();
|
CombinedTankWrapper tanks = resolve.get();
|
||||||
if (tank.getTanks() == 0)
|
if (tanks.parts.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
LangBuilder mb = Lang.translate("generic.unit.millibuckets");
|
LangBuilder mb = Lang.translate("generic.unit.millibuckets");
|
||||||
@@ -127,8 +114,9 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement
|
|||||||
.forGoggles(tooltip);
|
.forGoggles(tooltip);
|
||||||
|
|
||||||
boolean isEmpty = true;
|
boolean isEmpty = true;
|
||||||
for (int i = 0; i < tank.getTanks(); i++) {
|
for (int i = 0; i < tanks.parts.size(); i++) {
|
||||||
FluidStack fluidStack = tank.getFluidInTank(i);
|
Storage<FluidVariant> tank = tanks.parts.get(i);
|
||||||
|
FluidStack fluidStack = tank;
|
||||||
if (fluidStack.isEmpty())
|
if (fluidStack.isEmpty())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -141,7 +129,7 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement
|
|||||||
.add(mb)
|
.add(mb)
|
||||||
.style(ChatFormatting.DARK_GREEN))
|
.style(ChatFormatting.DARK_GREEN))
|
||||||
.text(ChatFormatting.GRAY, " / ")
|
.text(ChatFormatting.GRAY, " / ")
|
||||||
.add(Lang.number(tank.getTankCapacity(i))
|
.add(Lang.number(tanks.getTankCapacity(i))
|
||||||
.add(mb)
|
.add(mb)
|
||||||
.style(ChatFormatting.DARK_GRAY))
|
.style(ChatFormatting.DARK_GRAY))
|
||||||
.forGoggles(tooltip, 1);
|
.forGoggles(tooltip, 1);
|
||||||
@@ -149,7 +137,7 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement
|
|||||||
isEmpty = false;
|
isEmpty = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tank.getTanks() > 1) {
|
if (tanks.getTanks() > 1) {
|
||||||
if (isEmpty)
|
if (isEmpty)
|
||||||
tooltip.remove(tooltip.size() - 1);
|
tooltip.remove(tooltip.size() - 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -159,7 +147,7 @@ public class DieselEngineExpansionBlockEntity extends SmartBlockEntity implement
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
Lang.translate("gui.goggles.fluid_container.capacity")
|
Lang.translate("gui.goggles.fluid_container.capacity")
|
||||||
.add(Lang.number(tank.getTankCapacity(0))
|
.add(Lang.number(tanks.getTankCapacity(0))
|
||||||
.add(mb)
|
.add(mb)
|
||||||
.style(ChatFormatting.DARK_GREEN))
|
.style(ChatFormatting.DARK_GREEN))
|
||||||
.style(ChatFormatting.DARK_GRAY)
|
.style(ChatFormatting.DARK_GRAY)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.drmangotea.createindustry.blocks.fluids;
|
package com.drmangotea.createindustry.blocks.fluids;
|
||||||
|
|
||||||
|
import com.tterrag.registrate.fabric.SimpleFlowableFluid;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.util.RandomSource;
|
import net.minecraft.util.RandomSource;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
@@ -12,7 +13,7 @@ import net.minecraftforge.fluids.ForgeFlowingFluid;
|
|||||||
* makes fluid burn when close to fire,
|
* makes fluid burn when close to fire,
|
||||||
* not working for now
|
* not working for now
|
||||||
*/
|
*/
|
||||||
public class FlammableFluid extends ForgeFlowingFluid {
|
public class FlammableFluid extends SimpleFlowableFluid {
|
||||||
|
|
||||||
|
|
||||||
protected FlammableFluid(Properties properties) {
|
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.Couple;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.LangBuilder;
|
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.ChatFormatting;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
@@ -16,13 +19,9 @@ import net.minecraft.nbt.CompoundTag;
|
|||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 javax.annotation.Nonnull;
|
||||||
|
import java.security.DrbgParameters;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@@ -32,7 +31,7 @@ public class TFMGMachineBlockEntity extends SmartBlockEntity implements IHaveGo
|
|||||||
|
|
||||||
private boolean contentsChanged;
|
private boolean contentsChanged;
|
||||||
|
|
||||||
protected LazyOptional<IFluidHandler> fluidCapability;
|
protected LazyOptional<FluidTank> fluidCapability;
|
||||||
|
|
||||||
public TFMGMachineBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
public TFMGMachineBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||||
super(type, pos, state);
|
super(type, pos, state);
|
||||||
@@ -41,7 +40,17 @@ public class TFMGMachineBlockEntity extends SmartBlockEntity implements IHaveGo
|
|||||||
contentsChanged = true;
|
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
|
@Override
|
||||||
@@ -58,12 +67,9 @@ public class TFMGMachineBlockEntity extends SmartBlockEntity implements IHaveGo
|
|||||||
behaviours.add(tank1);
|
behaviours.add(tank1);
|
||||||
behaviours.add(tank2);
|
behaviours.add(tank2);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fluidCapability = LazyOptional.of(() -> {
|
fluidCapability = LazyOptional.of(() -> {
|
||||||
LazyOptional<? extends IFluidHandler> inputCap = tank1.getCapability();
|
LazyOptional<? extends FluidTank> inputCap = tank1.getCapability();
|
||||||
LazyOptional<? extends IFluidHandler> outputCap = tank2.getCapability();
|
LazyOptional<? extends FluidTank> outputCap = tank2.getCapability();
|
||||||
return new CombinedTankWrapper(outputCap.orElse(null), inputCap.orElse(null));
|
return new CombinedTankWrapper(outputCap.orElse(null), inputCap.orElse(null));
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -79,16 +85,8 @@ public class TFMGMachineBlockEntity extends SmartBlockEntity implements IHaveGo
|
|||||||
|
|
||||||
fluidCapability.invalidate();
|
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
|
@Override
|
||||||
public void notifyUpdate() {
|
public void notifyUpdate() {
|
||||||
super.notifyUpdate();
|
super.notifyUpdate();
|
||||||
|
|||||||
@@ -2,13 +2,15 @@ package com.drmangotea.createindustry.blocks.machines.exhaust;
|
|||||||
|
|
||||||
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGFluids;
|
import com.drmangotea.createindustry.registry.TFMGFluids;
|
||||||
import com.simibubi.create.Create;
|
|
||||||
import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation;
|
import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation;
|
||||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.fluid.SmartFluidTank;
|
import com.simibubi.create.foundation.fluid.SmartFluidTank;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.LangBuilder;
|
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.ChatFormatting;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
@@ -16,13 +18,6 @@ import net.minecraft.nbt.CompoundTag;
|
|||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
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 FluidTank tankInventory;
|
||||||
|
|
||||||
public boolean spawnsSmoke=false;
|
public boolean spawnsSmoke=false;
|
||||||
@@ -61,12 +56,12 @@ public class ExhaustBlockEntity extends SmartBlockEntity implements IHaveGoggleI
|
|||||||
LangBuilder mb = Lang.translate("generic.unit.millibuckets");
|
LangBuilder mb = Lang.translate("generic.unit.millibuckets");
|
||||||
|
|
||||||
/////////
|
/////////
|
||||||
LazyOptional<IFluidHandler> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
LazyOptional<FluidTank> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
||||||
Optional<IFluidHandler> resolve = handler.resolve();
|
Optional<FluidTank> resolve = handler.resolve();
|
||||||
if (!resolve.isPresent())
|
if (!resolve.isPresent())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
IFluidHandler tank = resolve.get();
|
FluidTank tank = resolve.get();
|
||||||
if (tank.getTanks() == 0)
|
if (tank.getTanks() == 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -210,13 +205,12 @@ public class ExhaustBlockEntity extends SmartBlockEntity implements IHaveGoggleI
|
|||||||
|
|
||||||
|
|
||||||
private void refreshCapability() {
|
private void refreshCapability() {
|
||||||
LazyOptional<IFluidHandler> oldCap = fluidCapability;
|
LazyOptional<FluidTank> oldCap = fluidCapability;
|
||||||
fluidCapability = LazyOptional.of(() -> handlerForCapability());
|
fluidCapability = LazyOptional.of(() -> handlerForCapability());
|
||||||
oldCap.invalidate();
|
oldCap.invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private IFluidHandler handlerForCapability() {
|
private FluidTank handlerForCapability() {
|
||||||
|
|
||||||
return tankInventory;
|
return tankInventory;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -261,7 +255,7 @@ public class ExhaustBlockEntity extends SmartBlockEntity implements IHaveGoggleI
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IFluidTank getTankInventory() {
|
public FluidTank getTankInventory() {
|
||||||
return tankInventory;
|
return tankInventory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,34 +1,20 @@
|
|||||||
package com.drmangotea.createindustry.blocks.machines.firebox;
|
package com.drmangotea.createindustry.blocks.machines.firebox;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGBlockEntities;
|
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.equipment.wrench.IWrenchable;
|
||||||
import com.simibubi.create.content.processing.basin.BasinBlockEntity;
|
import com.simibubi.create.content.processing.basin.BasinBlockEntity;
|
||||||
import com.simibubi.create.content.processing.burner.BlazeBurnerBlock;
|
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.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.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.advancements.critereon.StatePropertiesPredicate;
|
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.NonNullList;
|
|
||||||
import net.minecraft.sounds.SoundEvents;
|
import net.minecraft.sounds.SoundEvents;
|
||||||
import net.minecraft.sounds.SoundSource;
|
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.Item;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||||
import net.minecraft.world.level.BlockGetter;
|
import net.minecraft.world.level.BlockGetter;
|
||||||
import net.minecraft.world.level.ItemLike;
|
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
|
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.StateDefinition.Builder;
|
||||||
import net.minecraft.world.level.block.state.properties.EnumProperty;
|
import net.minecraft.world.level.block.state.properties.EnumProperty;
|
||||||
import net.minecraft.world.level.pathfinder.PathComputationType;
|
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.Nullable;
|
||||||
import javax.annotation.ParametersAreNonnullByDefault;
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
@@ -136,7 +109,7 @@ public class FireboxBlock extends HorizontalDirectionalBlock implements IBE<Fire
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public void animateTick(BlockState state, Level world, BlockPos pos, Random random) {
|
public void animateTick(BlockState state, Level world, BlockPos pos, Random random) {
|
||||||
if (random.nextInt(10) != 0)
|
if (random.nextInt(10) != 0)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,43 +1,26 @@
|
|||||||
package com.drmangotea.createindustry.blocks.machines.firebox;
|
package com.drmangotea.createindustry.blocks.machines.firebox;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGFluids;
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGTags;
|
import com.drmangotea.createindustry.registry.TFMGTags;
|
||||||
import com.simibubi.create.AllBlocks;
|
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.fluids.tank.FluidTankBlock;
|
||||||
import com.simibubi.create.content.processing.burner.BlazeBurnerBlock.HeatLevel;
|
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.SmartBlockEntity;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.fluid.SmartFluidTank;
|
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.VecHelper;
|
||||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank;
|
||||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
|
import io.github.fabricators_of_create.porting_lib.util.FluidStack;
|
||||||
import net.minecraft.client.Minecraft;
|
import io.github.fabricators_of_create.porting_lib.util.LazyOptional;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.core.particles.ParticleTypes;
|
import net.minecraft.core.particles.ParticleTypes;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.sounds.SoundEvents;
|
import net.minecraft.sounds.SoundEvents;
|
||||||
import net.minecraft.sounds.SoundSource;
|
import net.minecraft.sounds.SoundSource;
|
||||||
import net.minecraft.util.Mth;
|
|
||||||
import net.minecraft.util.RandomSource;
|
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.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.phys.Vec3;
|
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.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
@@ -51,7 +34,7 @@ public class FireboxBlockEntity extends SmartBlockEntity {
|
|||||||
protected int remainingBurnTime;
|
protected int remainingBurnTime;
|
||||||
|
|
||||||
|
|
||||||
protected LazyOptional<IFluidHandler> fluidCapability;
|
protected LazyOptional<FluidTank> fluidCapability;
|
||||||
public FluidTank tankInventory;
|
public FluidTank tankInventory;
|
||||||
|
|
||||||
|
|
||||||
@@ -127,7 +110,7 @@ public class FireboxBlockEntity extends SmartBlockEntity {
|
|||||||
super.read(compound, clientPacket);
|
super.read(compound, clientPacket);
|
||||||
}
|
}
|
||||||
private void refreshCapability() {
|
private void refreshCapability() {
|
||||||
LazyOptional<IFluidHandler> oldCap = fluidCapability;
|
LazyOptional<FluidTank> oldCap = fluidCapability;
|
||||||
fluidCapability = LazyOptional.of(() -> handlerForCapability());
|
fluidCapability = LazyOptional.of(() -> handlerForCapability());
|
||||||
oldCap.invalidate();
|
oldCap.invalidate();
|
||||||
}
|
}
|
||||||
@@ -140,7 +123,7 @@ public class FireboxBlockEntity extends SmartBlockEntity {
|
|||||||
return fluidCapability.cast();
|
return fluidCapability.cast();
|
||||||
return super.getCapability(cap, side);
|
return super.getCapability(cap, side);
|
||||||
}
|
}
|
||||||
private IFluidHandler handlerForCapability() {
|
private FluidTank handlerForCapability() {
|
||||||
|
|
||||||
return tankInventory;
|
return tankInventory;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.drmangotea.createindustry.blocks.machines.flarestack;
|
package com.drmangotea.createindustry.blocks.machines.flarestack;
|
||||||
|
|
||||||
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGFluids;
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGTags;
|
import com.drmangotea.createindustry.registry.TFMGTags;
|
||||||
import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation;
|
import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation;
|
||||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
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.fluid.SmartFluidTank;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.LangBuilder;
|
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.ChatFormatting;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
@@ -16,13 +17,6 @@ import net.minecraft.nbt.CompoundTag;
|
|||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
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 FluidTank tankInventory;
|
||||||
|
|
||||||
public boolean spawnsSmoke=false;
|
public boolean spawnsSmoke=false;
|
||||||
@@ -61,12 +55,12 @@ public class FlarestackBlockEntity extends SmartBlockEntity implements IHaveGogg
|
|||||||
LangBuilder mb = Lang.translate("generic.unit.millibuckets");
|
LangBuilder mb = Lang.translate("generic.unit.millibuckets");
|
||||||
|
|
||||||
/////////
|
/////////
|
||||||
LazyOptional<IFluidHandler> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
LazyOptional<FluidTank> handler = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
|
||||||
Optional<IFluidHandler> resolve = handler.resolve();
|
Optional<FluidTank> resolve = handler.resolve();
|
||||||
if (!resolve.isPresent())
|
if (!resolve.isPresent())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
IFluidHandler tank = resolve.get();
|
FluidTank tank = resolve.get();
|
||||||
if (tank.getTanks() == 0)
|
if (tank.getTanks() == 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.drmangotea.createindustry.blocks.machines.metal_processing.blast_furnace;
|
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.blocks.machines.TFMGMachineBlockEntity;
|
||||||
import com.drmangotea.createindustry.recipes.industrial_blasting.IndustrialBlastingRecipe;
|
import com.drmangotea.createindustry.recipes.industrial_blasting.IndustrialBlastingRecipe;
|
||||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
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.ItemHelper;
|
||||||
import com.simibubi.create.foundation.item.SmartInventory;
|
import com.simibubi.create.foundation.item.SmartInventory;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.LangBuilder;
|
|
||||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
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.ChatFormatting;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
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.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.phys.AABB;
|
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 javax.annotation.Nonnull;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@@ -88,7 +79,7 @@ public class BlastFurnaceOutputBlockEntity extends TFMGMachineBlockEntity implem
|
|||||||
fuelInventory = new SmartInventory(1, this).forbidInsertion().forbidExtraction()
|
fuelInventory = new SmartInventory(1, this).forbidInsertion().forbidExtraction()
|
||||||
.withMaxStackSize(64);
|
.withMaxStackSize(64);
|
||||||
|
|
||||||
itemCapability = LazyOptional.of(() -> new CombinedInvWrapper(inputInventory,fuelInventory));
|
itemCapability = LazyOptional.of(() -> new Combined(inputInventory,fuelInventory));
|
||||||
|
|
||||||
|
|
||||||
tank1.getPrimaryHandler().setCapacity(8000);
|
tank1.getPrimaryHandler().setCapacity(8000);
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.drmangotea.createindustry.blocks.machines.metal_processing.casting_basin;
|
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.blocks.machines.TFMGMachineBlockEntity;
|
||||||
import com.drmangotea.createindustry.recipes.casting.CastingRecipe;
|
import com.drmangotea.createindustry.recipes.casting.CastingRecipe;
|
||||||
import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation;
|
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.network.chat.Component;
|
||||||
import net.minecraft.util.StringRepresentable;
|
import net.minecraft.util.StringRepresentable;
|
||||||
import net.minecraft.world.Container;
|
import net.minecraft.world.Container;
|
||||||
import net.minecraft.world.item.ItemStack;
|
|
||||||
import net.minecraft.world.item.crafting.Recipe;
|
import net.minecraft.world.item.crafting.Recipe;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.level.material.Fluids;
|
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 javax.annotation.Nonnull;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import static com.drmangotea.createindustry.blocks.machines.metal_processing.casting_basin.CastingBasinBlock.MOLD_TYPE;
|
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;
|
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.TFMGMachineBlockEntity;
|
||||||
import com.drmangotea.createindustry.blocks.machines.metal_processing.casting_basin.CastingBasinBlockEntity;
|
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.Lang;
|
||||||
import com.simibubi.create.foundation.utility.LangBuilder;
|
import com.simibubi.create.foundation.utility.LangBuilder;
|
||||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
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.ChatFormatting;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.phys.AABB;
|
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.List;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
public class CastingSpoutBlockEntity extends TFMGMachineBlockEntity {
|
public class CastingSpoutBlockEntity extends TFMGMachineBlockEntity {
|
||||||
|
|
||||||
|
|||||||
@@ -5,20 +5,19 @@ import com.drmangotea.createindustry.registry.TFMGPartialModels;
|
|||||||
import com.jozufozu.flywheel.core.PartialModel;
|
import com.jozufozu.flywheel.core.PartialModel;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
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;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment;
|
import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment;
|
||||||
import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer;
|
import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer;
|
||||||
import com.simibubi.create.foundation.fluid.FluidRenderer;
|
import com.simibubi.create.foundation.fluid.FluidRenderer;
|
||||||
import com.simibubi.create.foundation.render.CachedBufferer;
|
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.MultiBufferSource;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||||
import net.minecraft.util.Mth;
|
import net.minecraft.util.Mth;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
|
|
||||||
public class CastingSpoutRenderer extends SafeBlockEntityRenderer<CastingSpoutBlockEntity> {
|
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.item.SmartInventory;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
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.ChatFormatting;
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.core.RegistryAccess;
|
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.world.entity.item.ItemEntity;
|
import net.minecraft.world.entity.item.ItemEntity;
|
||||||
import net.minecraft.world.item.ItemStack;
|
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.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.phys.AABB;
|
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 javax.annotation.Nonnull;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@@ -1,39 +1,28 @@
|
|||||||
package com.drmangotea.createindustry.blocks.machines.oil_processing.distillation.controller;
|
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.machines.oil_processing.distillation.output.DistillationOutputBlockEntity;
|
||||||
import com.drmangotea.createindustry.blocks.tanks.SteelTankBlock;
|
|
||||||
import com.drmangotea.createindustry.blocks.tanks.SteelTankBlockEntity;
|
import com.drmangotea.createindustry.blocks.tanks.SteelTankBlockEntity;
|
||||||
import com.drmangotea.createindustry.recipes.distillation.DistillationRecipe;
|
import com.drmangotea.createindustry.recipes.distillation.DistillationRecipe;
|
||||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
||||||
import com.simibubi.create.Create;
|
|
||||||
import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation;
|
import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation;
|
||||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
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.fluid.SmartFluidTank;
|
||||||
import com.simibubi.create.foundation.item.SmartInventory;
|
|
||||||
import com.simibubi.create.foundation.recipe.RecipeFinder;
|
import com.simibubi.create.foundation.recipe.RecipeFinder;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
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.ChatFormatting;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.nbt.NbtUtils;
|
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.world.Container;
|
import net.minecraft.world.Container;
|
||||||
import net.minecraft.world.item.crafting.Recipe;
|
import net.minecraft.world.item.crafting.Recipe;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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;
|
import javax.annotation.Nonnull;
|
||||||
@@ -47,7 +36,7 @@ public class DistillationControllerBlockEntity extends SmartBlockEntity implemen
|
|||||||
public DistillationRecipe recipe;
|
public DistillationRecipe recipe;
|
||||||
|
|
||||||
|
|
||||||
protected LazyOptional<IFluidHandler> fluidCapability;
|
protected LazyOptional<FluidTank> fluidCapability;
|
||||||
|
|
||||||
public final FluidTank tank= new SmartFluidTank(8000,this::onFluidStackChanged);
|
public final FluidTank tank= new SmartFluidTank(8000,this::onFluidStackChanged);
|
||||||
|
|
||||||
@@ -110,7 +99,7 @@ public class DistillationControllerBlockEntity extends SmartBlockEntity implemen
|
|||||||
|
|
||||||
|
|
||||||
for(DistillationOutputBlockEntity be1 : outputs){
|
for(DistillationOutputBlockEntity be1 : outputs){
|
||||||
if(be1.tank.getSpace()==0)
|
if(be1.tank==0)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,27 +1,18 @@
|
|||||||
package com.drmangotea.createindustry.blocks.machines.oil_processing.distillation.output;
|
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.content.equipment.goggles.IHaveGoggleInformation;
|
||||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
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.fluid.SmartFluidTank;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank;
|
||||||
import net.minecraft.ChatFormatting;
|
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.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.network.chat.Component;
|
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.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 javax.annotation.Nonnull;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -29,7 +20,7 @@ import java.util.List;
|
|||||||
public class DistillationOutputBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation {
|
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 final FluidTank tank = new SmartFluidTank(8000,this::onFluidStackChanged);
|
||||||
public DistillationOutputBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
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.fluid.SmartFluidTank;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.LangBuilder;
|
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.ChatFormatting;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
@@ -17,12 +21,6 @@ import net.minecraft.nbt.CompoundTag;
|
|||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 javax.annotation.Nonnull;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -38,7 +36,7 @@ public class PumpjackBaseBlockEntity extends SmartBlockEntity implements IHaveGo
|
|||||||
|
|
||||||
public int miningRate = 0;
|
public int miningRate = 0;
|
||||||
|
|
||||||
protected LazyOptional<IFluidHandler> fluidCapability;
|
protected LazyOptional<FluidTank> fluidCapability;
|
||||||
public FluidTank tankInventory;
|
public FluidTank tankInventory;
|
||||||
public BlockPos deposit;
|
public BlockPos deposit;
|
||||||
|
|
||||||
@@ -139,7 +137,7 @@ public class PumpjackBaseBlockEntity extends SmartBlockEntity implements IHaveGo
|
|||||||
return;
|
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--//
|
//--Fluid Info--//
|
||||||
LazyOptional<IFluidHandler> handler = this.getCapability(ForgeCapabilities.FLUID_HANDLER);
|
LazyOptional<FluidTank> handler = this.getCapability(ForgeCapabilities.FLUID_HANDLER);
|
||||||
Optional<IFluidHandler> resolve = handler.resolve();
|
Optional<FluidTank> resolve = handler.resolve();
|
||||||
if (!resolve.isPresent())
|
if (!resolve.isPresent())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
IFluidHandler tank = resolve.get();
|
FluidTank tank = resolve.get();
|
||||||
if (tank.getTanks() == 0)
|
if (tank.getTanks() == 0)
|
||||||
return false;
|
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.AnchoredLighter;
|
||||||
import com.simibubi.create.content.contraptions.bearing.BearingContraption;
|
import com.simibubi.create.content.contraptions.bearing.BearingContraption;
|
||||||
import com.simibubi.create.content.contraptions.render.ContraptionLighter;
|
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.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo;
|
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;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
public class PumpjackContraption extends BearingContraption {
|
public class PumpjackContraption extends BearingContraption {
|
||||||
@@ -84,7 +84,7 @@ public class PumpjackContraption extends BearingContraption {
|
|||||||
return facing.getAxis() == this.facing.getAxis();
|
return facing.getAxis() == this.facing.getAxis();
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
@Override
|
@Override
|
||||||
public ContraptionLighter<?> makeLighter() {
|
public ContraptionLighter<?> makeLighter() {
|
||||||
return new AnchoredLighter(this);
|
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.recipe.RecipeApplier;
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
import com.simibubi.create.infrastructure.config.AllConfigs;
|
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.core.BlockPos;
|
||||||
import net.minecraft.world.entity.item.ItemEntity;
|
import net.minecraft.world.entity.item.ItemEntity;
|
||||||
import net.minecraft.world.item.ItemStack;
|
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.level.block.state.BlockState;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
import net.minecraft.world.phys.Vec3;
|
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.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|||||||
@@ -1,26 +1,22 @@
|
|||||||
package com.drmangotea.createindustry.blocks.machines.simple.welding_machine;
|
package com.drmangotea.createindustry.blocks.machines.simple.welding_machine;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGRecipeTypes;
|
import com.drmangotea.createindustry.registry.TFMGRecipeTypes;
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.compat.recipeViewerCommon.SequencedAssemblySubCategoryType;
|
||||||
import com.simibubi.create.AllRecipeTypes;
|
|
||||||
import com.simibubi.create.compat.jei.category.sequencedAssembly.SequencedAssemblySubCategory;
|
|
||||||
import com.simibubi.create.content.processing.recipe.ProcessingRecipe;
|
import com.simibubi.create.content.processing.recipe.ProcessingRecipe;
|
||||||
import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams;
|
import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams;
|
||||||
import com.simibubi.create.content.processing.sequenced.IAssemblyRecipe;
|
import com.simibubi.create.content.processing.sequenced.IAssemblyRecipe;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
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.network.chat.Component;
|
||||||
import net.minecraft.world.item.crafting.Ingredient;
|
import net.minecraft.world.item.crafting.Ingredient;
|
||||||
import net.minecraft.world.level.ItemLike;
|
import net.minecraft.world.level.ItemLike;
|
||||||
import net.minecraft.world.level.Level;
|
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 javax.annotation.ParametersAreNonnullByDefault;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Supplier;
|
|
||||||
|
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public class WeldingRecipe extends ProcessingRecipe<RecipeWrapper> implements IAssemblyRecipe {
|
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) {}
|
public void addAssemblyIngredients(List<Ingredient> list) {}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OnlyIn(Dist.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public Component getDescriptionForAssembly() {
|
public Component getDescriptionForAssembly() {
|
||||||
return Lang.translateDirect("recipe.assembly.welding");
|
return Lang.translateDirect("recipe.assembly.welding");
|
||||||
}
|
}
|
||||||
@@ -62,8 +58,8 @@ public class WeldingRecipe extends ProcessingRecipe<RecipeWrapper> implements IA
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Supplier<Supplier<SequencedAssemblySubCategory>> getJEISubCategory() {
|
public SequencedAssemblySubCategoryType getJEISubCategory() {
|
||||||
return () -> SequencedAssemblySubCategory.AssemblyPressing::new;
|
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.FluidTransportBehaviour;
|
||||||
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.model.BakedModelWrapperWithData;
|
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
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.Minecraft;
|
||||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
@@ -17,9 +18,6 @@ import net.minecraft.core.Direction;
|
|||||||
import net.minecraft.util.RandomSource;
|
import net.minecraft.util.RandomSource;
|
||||||
import net.minecraft.world.level.BlockAndTintGetter;
|
import net.minecraft.world.level.BlockAndTintGetter;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
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.FluidTransportBehaviour;
|
||||||
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.model.BakedModelWrapperWithData;
|
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
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.Minecraft;
|
||||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
@@ -17,9 +18,6 @@ import net.minecraft.core.Direction;
|
|||||||
import net.minecraft.util.RandomSource;
|
import net.minecraft.util.RandomSource;
|
||||||
import net.minecraft.world.level.BlockAndTintGetter;
|
import net.minecraft.world.level.BlockAndTintGetter;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
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.FluidTransportBehaviour;
|
||||||
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.model.BakedModelWrapperWithData;
|
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
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.Minecraft;
|
||||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
@@ -17,9 +18,6 @@ import net.minecraft.core.Direction;
|
|||||||
import net.minecraft.util.RandomSource;
|
import net.minecraft.util.RandomSource;
|
||||||
import net.minecraft.world.level.BlockAndTintGetter;
|
import net.minecraft.world.level.BlockAndTintGetter;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
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.FluidTransportBehaviour;
|
||||||
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.model.BakedModelWrapperWithData;
|
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
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.Minecraft;
|
||||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
@@ -17,9 +18,6 @@ import net.minecraft.core.Direction;
|
|||||||
import net.minecraft.util.RandomSource;
|
import net.minecraft.util.RandomSource;
|
||||||
import net.minecraft.world.level.BlockAndTintGetter;
|
import net.minecraft.world.level.BlockAndTintGetter;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
package com.drmangotea.createindustry.blocks.pipes.normal.steel;
|
package com.drmangotea.createindustry.blocks.pipes.normal.steel;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.blocks.pipes.normal.LockablePipeBlockEntity;
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGPartialModels;
|
import com.drmangotea.createindustry.registry.TFMGPartialModels;
|
||||||
import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour;
|
import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour;
|
||||||
import com.simibubi.create.content.fluids.FluidTransportBehaviour;
|
import com.simibubi.create.content.fluids.FluidTransportBehaviour;
|
||||||
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.model.BakedModelWrapperWithData;
|
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
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.Minecraft;
|
||||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
@@ -18,15 +18,11 @@ import net.minecraft.core.Direction;
|
|||||||
import net.minecraft.util.RandomSource;
|
import net.minecraft.util.RandomSource;
|
||||||
import net.minecraft.world.level.BlockAndTintGetter;
|
import net.minecraft.world.level.BlockAndTintGetter;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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 org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.locks.Lock;
|
|
||||||
|
|
||||||
import static net.minecraft.world.level.block.PipeBlock.PROPERTY_BY_DIRECTION;
|
import static net.minecraft.world.level.block.PipeBlock.PROPERTY_BY_DIRECTION;
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,19 @@
|
|||||||
package com.drmangotea.createindustry.config;
|
package com.drmangotea.createindustry.config;
|
||||||
|
|
||||||
|
import com.drmangotea.createindustry.CreateTFMG;
|
||||||
import com.simibubi.create.content.kinetics.BlockStressValues;
|
import com.simibubi.create.content.kinetics.BlockStressValues;
|
||||||
import com.simibubi.create.foundation.config.ConfigBase;
|
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.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.config.ModConfig;
|
||||||
import net.minecraftforge.fml.event.config.ModConfigEvent;
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import java.util.EnumMap;
|
import java.util.EnumMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
|
|
||||||
public class TFMGConfigs {
|
public class TFMGConfigs {
|
||||||
|
|
||||||
private static final Map<ModConfig.Type, ConfigBase> CONFIGS = new EnumMap<>(ModConfig.Type.class);
|
private static final Map<ModConfig.Type, ConfigBase> CONFIGS = new EnumMap<>(ModConfig.Type.class);
|
||||||
@@ -42,27 +41,28 @@ public class TFMGConfigs {
|
|||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void register(ModLoadingContext context) {
|
public static void register() {
|
||||||
server = register(ServerConfig::new, ModConfig.Type.SERVER);
|
server = register(ServerConfig::new, ModConfig.Type.SERVER);
|
||||||
|
|
||||||
for (Map.Entry<ModConfig.Type, ConfigBase> pair : CONFIGS.entrySet())
|
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(ModConfig modConfig) {
|
||||||
public static void onLoad(ModConfigEvent.Loading event) {
|
|
||||||
for (ConfigBase config : CONFIGS.values())
|
for (ConfigBase config : CONFIGS.values())
|
||||||
if (config.specification == event.getConfig()
|
if (config.specification == modConfig
|
||||||
.getSpec())
|
.getSpec())
|
||||||
config.onLoad();
|
config.onLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
public static void onReload(ModConfig modConfig) {
|
||||||
public static void onReload(ModConfigEvent.Reloading event) {
|
|
||||||
for (ConfigBase config : CONFIGS.values())
|
for (ConfigBase config : CONFIGS.values())
|
||||||
if (config.specification == event.getConfig()
|
if (config.specification == modConfig
|
||||||
.getSpec())
|
.getSpec())
|
||||||
config.onReload();
|
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;
|
package com.drmangotea.createindustry.items.weapons.explosives.thermite_grenades.fire;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.CreateTFMG;
|
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.Block;
|
||||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||||
import net.minecraft.world.level.material.Material;
|
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
|
* 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 class TFMGColoredFires {
|
||||||
|
|
||||||
public static final DeferredRegister<Block> BLOCKS =
|
public static final LazyRegistrar<Block> BLOCKS =
|
||||||
DeferredRegister.create(ForgeRegistries.BLOCKS, CreateTFMG.MOD_ID);
|
LazyRegistrar.create(Registry.BLOCK, CreateTFMG.MOD_ID);
|
||||||
|
|
||||||
|
|
||||||
public static final RegistryObject<Block> GREEN_FIRE = BLOCKS.register("green_fire",
|
public static final RegistryObject<Block> GREEN_FIRE = BLOCKS.register("green_fire",
|
||||||
@@ -33,7 +32,7 @@ public class TFMGColoredFires {
|
|||||||
));
|
));
|
||||||
|
|
||||||
|
|
||||||
public static void register (IEventBus eventBus){
|
public static void register (){
|
||||||
BLOCKS.register(eventBus);
|
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.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams;
|
||||||
import com.simibubi.create.foundation.fluid.CombinedTankWrapper;
|
import com.simibubi.create.foundation.fluid.CombinedTankWrapper;
|
||||||
import com.simibubi.create.foundation.fluid.FluidIngredient;
|
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.item.ItemStack;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
import net.minecraftforge.items.wrapper.RecipeWrapper;
|
|
||||||
|
|
||||||
public class CastingRecipe extends ProcessingRecipe<RecipeWrapper> {
|
public class CastingRecipe extends ProcessingRecipe<RecipeWrapper> {
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
package com.drmangotea.createindustry.recipes.coking;
|
package com.drmangotea.createindustry.recipes.coking;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGRecipeTypes;
|
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.ProcessingRecipe;
|
||||||
import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams;
|
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.minecraft.world.level.Level;
|
||||||
import net.minecraftforge.items.wrapper.RecipeWrapper;
|
|
||||||
|
|
||||||
public class CokingRecipe extends ProcessingRecipe<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.drmangotea.createindustry.registry.TFMGRecipeTypes;
|
||||||
import com.simibubi.create.content.processing.recipe.ProcessingRecipe;
|
import com.simibubi.create.content.processing.recipe.ProcessingRecipe;
|
||||||
import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder;
|
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.fluid.FluidIngredient;
|
||||||
import com.simibubi.create.foundation.item.SmartInventory;
|
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.core.NonNullList;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
import net.minecraftforge.fluids.capability.templates.FluidTank;
|
|
||||||
|
|
||||||
public class DistillationRecipe extends ProcessingRecipe<SmartInventory> {
|
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;
|
int neededOutputs = fluidIngredients.toArray().length;
|
||||||
|
|
||||||
if(outputs !=neededOutputs)
|
if(outputs !=neededOutputs)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (inv.getFluidInTank(0).getAmount()==0)
|
if (inv.getFluidAmount()==0)
|
||||||
return false;
|
return false;
|
||||||
return fluidIngredients.get(0)
|
return fluidIngredients.get(0)
|
||||||
.test(inv.getFluidInTank(0));
|
.test(inv.getFluid());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package com.drmangotea.createindustry.recipes.industrial_blasting;
|
|||||||
import com.drmangotea.createindustry.registry.TFMGRecipeTypes;
|
import com.drmangotea.createindustry.registry.TFMGRecipeTypes;
|
||||||
import com.simibubi.create.content.processing.recipe.ProcessingRecipe;
|
import com.simibubi.create.content.processing.recipe.ProcessingRecipe;
|
||||||
import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams;
|
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.minecraft.world.level.Level;
|
||||||
import net.minecraftforge.items.wrapper.RecipeWrapper;
|
|
||||||
|
|
||||||
public class IndustrialBlastingRecipe extends ProcessingRecipe<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.cable_blocks.copycat_cable_block.CopycatCableBlockModel;
|
||||||
import com.drmangotea.createindustry.blocks.electricity.capacitor.AccumulatorBlock;
|
import com.drmangotea.createindustry.blocks.electricity.capacitor.AccumulatorBlock;
|
||||||
import com.drmangotea.createindustry.blocks.electricity.capacitor.AccumulatorCTBehavior;
|
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.generation.creative_generator.VoltageCubeBlock;
|
||||||
import com.drmangotea.createindustry.blocks.electricity.lights.neon.NeonTubeBlock;
|
import com.drmangotea.createindustry.blocks.electricity.lights.neon.NeonTubeBlock;
|
||||||
import com.drmangotea.createindustry.blocks.electricity.voltmeter.energy_meter.EnergyMeterBlock;
|
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.gearbox.GearboxBlock;
|
||||||
import com.simibubi.create.content.kinetics.motor.CreativeMotorGenerator;
|
import com.simibubi.create.content.kinetics.motor.CreativeMotorGenerator;
|
||||||
import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockModel;
|
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.data.*;
|
||||||
import com.simibubi.create.foundation.utility.Couple;
|
import com.simibubi.create.foundation.utility.Couple;
|
||||||
import com.tterrag.registrate.providers.loot.RegistrateBlockLootTables;
|
import com.tterrag.registrate.providers.loot.RegistrateBlockLootTables;
|
||||||
import com.tterrag.registrate.util.DataIngredient;
|
import com.tterrag.registrate.util.DataIngredient;
|
||||||
import com.tterrag.registrate.util.entry.BlockEntry;
|
import com.tterrag.registrate.util.entry.BlockEntry;
|
||||||
|
import me.alphamode.forgetags.Tags;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
import net.minecraft.tags.BlockTags;
|
import net.minecraft.tags.BlockTags;
|
||||||
import net.minecraft.tags.TagKey;
|
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.LootPool;
|
||||||
import net.minecraft.world.level.storage.loot.entries.LootItem;
|
import net.minecraft.world.level.storage.loot.entries.LootItem;
|
||||||
import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount;
|
import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount;
|
||||||
import net.minecraftforge.common.Tags;
|
|
||||||
|
|
||||||
|
|
||||||
import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE;
|
import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE;
|
||||||
@@ -380,7 +377,7 @@ public class TFMGBlocks {
|
|||||||
.requiresCorrectToolForDrops()
|
.requiresCorrectToolForDrops()
|
||||||
.sound(SoundType.STONE))
|
.sound(SoundType.STONE))
|
||||||
.transform(pickaxeOnly())
|
.transform(pickaxeOnly())
|
||||||
.loot((lt, b) -> lt.add(b,
|
.loot((lt, b) -> lt.method_16258(b,
|
||||||
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
||||||
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LEAD.get())
|
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LEAD.get())
|
||||||
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
||||||
@@ -397,7 +394,7 @@ public class TFMGBlocks {
|
|||||||
.requiresCorrectToolForDrops()
|
.requiresCorrectToolForDrops()
|
||||||
.sound(SoundType.DEEPSLATE))
|
.sound(SoundType.DEEPSLATE))
|
||||||
.transform(pickaxeOnly())
|
.transform(pickaxeOnly())
|
||||||
.loot((lt, b) -> lt.add(b,
|
.loot((lt, b) -> lt.method_16258(b,
|
||||||
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
||||||
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LEAD.get())
|
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LEAD.get())
|
||||||
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
||||||
@@ -414,7 +411,7 @@ public class TFMGBlocks {
|
|||||||
.requiresCorrectToolForDrops()
|
.requiresCorrectToolForDrops()
|
||||||
.sound(SoundType.STONE))
|
.sound(SoundType.STONE))
|
||||||
.transform(pickaxeOnly())
|
.transform(pickaxeOnly())
|
||||||
.loot((lt, b) -> lt.add(b,
|
.loot((lt, b) -> lt.method_16258(b,
|
||||||
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
||||||
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_NICKEL.get())
|
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_NICKEL.get())
|
||||||
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
||||||
@@ -431,7 +428,7 @@ public class TFMGBlocks {
|
|||||||
.requiresCorrectToolForDrops()
|
.requiresCorrectToolForDrops()
|
||||||
.sound(SoundType.DEEPSLATE))
|
.sound(SoundType.DEEPSLATE))
|
||||||
.transform(pickaxeOnly())
|
.transform(pickaxeOnly())
|
||||||
.loot((lt, b) -> lt.add(b,
|
.loot((lt, b) -> lt.method_16258(b,
|
||||||
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
||||||
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_NICKEL.get())
|
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_NICKEL.get())
|
||||||
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
||||||
@@ -448,7 +445,7 @@ public class TFMGBlocks {
|
|||||||
.requiresCorrectToolForDrops()
|
.requiresCorrectToolForDrops()
|
||||||
.sound(SoundType.STONE))
|
.sound(SoundType.STONE))
|
||||||
.transform(pickaxeOnly())
|
.transform(pickaxeOnly())
|
||||||
.loot((lt, b) -> lt.add(b,
|
.loot((lt, b) -> lt.method_16258(b,
|
||||||
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
||||||
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LITHIUM.get())
|
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LITHIUM.get())
|
||||||
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
||||||
@@ -465,7 +462,7 @@ public class TFMGBlocks {
|
|||||||
.requiresCorrectToolForDrops()
|
.requiresCorrectToolForDrops()
|
||||||
.sound(SoundType.DEEPSLATE))
|
.sound(SoundType.DEEPSLATE))
|
||||||
.transform(pickaxeOnly())
|
.transform(pickaxeOnly())
|
||||||
.loot((lt, b) -> lt.add(b,
|
.loot((lt, b) -> lt.method_16258(b,
|
||||||
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
RegistrateBlockLootTables.createSilkTouchDispatchTable(b,
|
||||||
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LITHIUM.get())
|
RegistrateBlockLootTables.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LITHIUM.get())
|
||||||
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
.apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE))))))
|
||||||
@@ -511,7 +508,7 @@ public class TFMGBlocks {
|
|||||||
.properties(p -> p.color(MaterialColor.TERRACOTTA_RED))
|
.properties(p -> p.color(MaterialColor.TERRACOTTA_RED))
|
||||||
//.transform(pickaxeOnly())
|
//.transform(pickaxeOnly())
|
||||||
.blockstate(simpleCubeAll("fireclay"))
|
.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()
|
.withPool(RegistrateBlockLootTables.applyExplosionCondition(TFMGItems.FIRECLAY_BALL.get(), LootPool.lootPool()
|
||||||
.add(LootItem.lootTableItem(TFMGItems.FIRECLAY_BALL.get()))))
|
.add(LootItem.lootTableItem(TFMGItems.FIRECLAY_BALL.get()))))
|
||||||
.withPool(RegistrateBlockLootTables.applyExplosionCondition(TFMGItems.FIRECLAY_BALL.get(), LootPool.lootPool()
|
.withPool(RegistrateBlockLootTables.applyExplosionCondition(TFMGItems.FIRECLAY_BALL.get(), LootPool.lootPool()
|
||||||
@@ -1963,7 +1960,7 @@ public class TFMGBlocks {
|
|||||||
.lang("Concrete Wall")
|
.lang("Concrete Wall")
|
||||||
.register();
|
.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)
|
.initialProperties(() -> Blocks.STONE)
|
||||||
.properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY))
|
.properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY))
|
||||||
.properties(p -> p.requiresCorrectToolForDrops())
|
.properties(p -> p.requiresCorrectToolForDrops())
|
||||||
@@ -2041,7 +2038,7 @@ public class TFMGBlocks {
|
|||||||
.lang(upperCaseColor + " Concrete Wall")
|
.lang(upperCaseColor + " Concrete Wall")
|
||||||
.register();
|
.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)
|
.initialProperties(() -> Blocks.STONE)
|
||||||
.properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY))
|
.properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY))
|
||||||
.properties(p -> p.requiresCorrectToolForDrops())
|
.properties(p -> p.requiresCorrectToolForDrops())
|
||||||
@@ -2169,7 +2166,7 @@ public class TFMGBlocks {
|
|||||||
//.lang(displayName + " Wall")
|
//.lang(displayName + " Wall")
|
||||||
.register();
|
.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)
|
.initialProperties(() -> properties)
|
||||||
.properties(p -> p.color(color))
|
.properties(p -> p.color(color))
|
||||||
.properties(p -> p.sound(sound))
|
.properties(p -> p.sound(sound))
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
package com.drmangotea.createindustry.registry;
|
package com.drmangotea.createindustry.registry;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import com.drmangotea.createindustry.CreateTFMG;
|
import com.drmangotea.createindustry.CreateTFMG;
|
||||||
import com.drmangotea.createindustry.base.util.TFMGUtils;
|
import com.drmangotea.createindustry.base.util.TFMGUtils;
|
||||||
import com.drmangotea.createindustry.blocks.concrete.ConcreteFluid;
|
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.decoration.palettes.AllPaletteStoneTypes;
|
||||||
import com.simibubi.create.content.fluids.VirtualFluid;
|
import com.simibubi.create.content.fluids.VirtualFluid;
|
||||||
|
import com.tterrag.registrate.fabric.SimpleFlowableFluid;
|
||||||
import com.tterrag.registrate.util.entry.FluidEntry;
|
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.resources.ResourceLocation;
|
||||||
import net.minecraft.tags.FluidTags;
|
import net.minecraft.tags.FluidTags;
|
||||||
import net.minecraft.tags.TagKey;
|
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.minecraft.world.level.material.Fluid;
|
||||||
import net.minecraftforge.common.ForgeMod;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import net.minecraftforge.fluids.FluidInteractionRegistry;
|
|
||||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
|
||||||
|
|
||||||
import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE;
|
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),
|
LPG = gas("lpg",TFMGTags.TFMGFluidTags.LPG.tag,TFMGTags.TFMGFluidTags.FLAMMABLE.tag),
|
||||||
NEON = gas("neon")
|
NEON = gas("neon")
|
||||||
;
|
;
|
||||||
public static final FluidEntry<ForgeFlowingFluid.Flowing>
|
public static final FluidEntry<SimpleFlowableFluid>
|
||||||
CRUDE_OIL = flammableFluid("crude_oil",TFMGTags.TFMGFluidTags.CRUDE_OIL.tag),
|
CRUDE_OIL = flammableFluid("crude_oil",TFMGTags.TFMGFluidTags.CRUDE_OIL.tag),
|
||||||
HEAVY_OIL = flammableFluid("heavy_oil",TFMGTags.TFMGFluidTags.HEAVY_OIL.tag),
|
HEAVY_OIL = flammableFluid("heavy_oil",TFMGTags.TFMGFluidTags.HEAVY_OIL.tag),
|
||||||
LUBRICATION_OIL = flammableFluid("lubrication_oil",TFMGTags.TFMGFluidTags.FLAMMABLE.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,
|
REGISTRATE.fluid("cooling_fluid",COOLING_FLUID_STILL_RL,COOLING_FLUID_FLOW_RL,
|
||||||
ConcreteFluidType.create(0x333333,
|
p -> new ConcreteFluid(p)
|
||||||
() -> 1f / 24f ))
|
// ConcreteFluidType.create(0x333333,
|
||||||
|
// () -> 1f / 24f )
|
||||||
|
)
|
||||||
.lang("Cooling Fluid")
|
.lang("Cooling Fluid")
|
||||||
.properties(b -> b.viscosity(1000)
|
|
||||||
.density(1000))
|
|
||||||
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
||||||
.tickRate(10)
|
.tickRate(10)
|
||||||
.slopeFindDistance(5)
|
.flowSpeed(5)
|
||||||
.explosionResistance(100f))
|
.blastResistance(100f))
|
||||||
|
.fluidAttributes(() -> new AttributeHandler("block.create.honey", 1000, 1000))
|
||||||
.source(ForgeFlowingFluid.Source::new)
|
.source(SimpleFlowableFluid.Source::new)
|
||||||
.bucket()
|
.bucket()
|
||||||
// .tag(AllTags.forgeItemTag("buckets/napalm"))
|
// .tag(AllTags.forgeItemTag("buckets/napalm"))
|
||||||
.build()
|
.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,
|
REGISTRATE.fluid("sulfuric_acid",SULFURIC_AXID_STILL_RL,SULFURIC_AXID_FLOW_RL,
|
||||||
AcidFluidType.create(0x333333,
|
AcidFluidType.create(0x333333,
|
||||||
() -> 1f / 24f ))
|
() -> 1f / 24f ))
|
||||||
.lang("Sulfuric Acid")
|
.lang("Sulfuric Acid")
|
||||||
.properties(b -> b.viscosity(1000)
|
|
||||||
.density(1000))
|
|
||||||
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
||||||
.tickRate(10)
|
.tickRate(10)
|
||||||
.slopeFindDistance(5)
|
.flowSpeed(5)
|
||||||
.explosionResistance(100f))
|
.blastResistance(100f))
|
||||||
|
.fluidAttributes(() -> new AttributeHandler("block.create.honey", 2000, 1400))
|
||||||
.source(ForgeFlowingFluid.Source::new)
|
.source(SimpleFlowableFluid.Source::new)
|
||||||
.bucket()
|
.bucket()
|
||||||
// .tag(AllTags.forgeItemTag("buckets/napalm"))
|
// .tag(AllTags.forgeItemTag("buckets/napalm"))
|
||||||
.build()
|
.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,
|
REGISTRATE.fluid("liquid_concrete",CONCRETE_RL,CONCRETE_RL,
|
||||||
ConcreteFluidType.create(0x333333,
|
ConcreteFluidType.create(0x333333,
|
||||||
() -> 1f / 24f ))
|
() -> 1f / 24f ))
|
||||||
.lang("Liquid Concrete")
|
.lang("Liquid Concrete")
|
||||||
.properties(b -> b.viscosity(9999)
|
|
||||||
.density(9999))
|
|
||||||
.fluidProperties(p -> p.levelDecreasePerBlock(0)
|
.fluidProperties(p -> p.levelDecreasePerBlock(0)
|
||||||
.tickRate(99999)
|
.tickRate(99999)
|
||||||
.slopeFindDistance(0)
|
.flowSpeed(0)
|
||||||
.explosionResistance(4f)
|
.blastResistance(4f))
|
||||||
)
|
.fluidAttributes(() -> new AttributeHandler("block.create.honey", 9999, 9999))
|
||||||
.source(ConcreteFluid.Source::new)
|
.source(ConcreteFluid.Source::new)
|
||||||
.bucket()
|
.bucket()
|
||||||
//.tag(AllTags.forgeItemTag("buckets/napalm"))
|
//.tag(AllTags.forgeItemTag("buckets/napalm"))
|
||||||
.build()
|
.build()
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final FluidEntry<ForgeFlowingFluid.Flowing> LIQUID_ASPHALT =
|
public static final FluidEntry<SimpleFlowableFluid> LIQUID_ASPHALT =
|
||||||
REGISTRATE.fluid("liquid_asphalt", ASPHALT_RL, ASPHALT_RL,
|
REGISTRATE.fluid("liquid_asphalt", ASPHALT_RL, ASPHALT_RL,
|
||||||
ConcreteFluidType.create(0x333333,
|
ConcreteFluidType.create(0x333333,
|
||||||
() -> 1f / 24f ))
|
() -> 1f / 24f ))
|
||||||
.lang("Liquid Asphalt")
|
.lang("Liquid Asphalt")
|
||||||
.properties(b -> b.viscosity(9999)
|
|
||||||
.density(9999))
|
|
||||||
.fluidProperties(p -> p.levelDecreasePerBlock(0)
|
.fluidProperties(p -> p.levelDecreasePerBlock(0)
|
||||||
.tickRate(99999)
|
.tickRate(99999)
|
||||||
.slopeFindDistance(0)
|
.flowSpeed(0)
|
||||||
.explosionResistance(4f)
|
.blastResistance(4f))
|
||||||
)
|
.fluidAttributes(() -> new AttributeHandler("block.create.honey", 9999, 9999))
|
||||||
.source(AsphaltFluid.Source::new)
|
.source(AsphaltFluid.Source::new)
|
||||||
.bucket()
|
.bucket()
|
||||||
//.tag(AllTags.forgeItemTag("buckets/napalm"))
|
//.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
|
REGISTRATE.fluid("liquid_plastic",PLASTIC_STILL_RL,PLASTIC_FLOW_RL
|
||||||
, PlasticFluidType.create(0xc4c4c4,
|
, PlasticFluidType.create(0xc4c4c4,
|
||||||
() -> 1f / 24f ))
|
() -> 1f / 24f ))
|
||||||
.lang("Liquid Plastic")
|
.lang("Liquid Plastic")
|
||||||
.properties(b -> b.viscosity(1500)
|
|
||||||
.density(1000))
|
|
||||||
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
||||||
.tickRate(10)
|
.tickRate(10)
|
||||||
.slopeFindDistance(2)
|
.flowSpeed(2)
|
||||||
.explosionResistance(100f))
|
.blastResistance(100f))
|
||||||
|
.fluidAttributes(() -> new AttributeHandler("block.create.honey", 1500, 1000))
|
||||||
.source(ForgeFlowingFluid.Source::new)
|
.source(SimpleFlowableFluid.Source::new)
|
||||||
.bucket()
|
.bucket()
|
||||||
.tag(AllTags.forgeItemTag("buckets/plastic"))
|
.tag(AllTags.forgeItemTag("buckets/plastic"))
|
||||||
.build()
|
.build()
|
||||||
.register();
|
.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,
|
REGISTRATE.fluid("molten_steel",MOLTEN_STEEL_STILL_RL,MOLTEN_STEEL_FLOW_RL,
|
||||||
HotFluidType.create(0xfbfbbb, () -> 1f / 24f ))
|
HotFluidType.create(0xfbfbbb, () -> 1f / 24f ))
|
||||||
.lang("Molten Steel")
|
.lang("Molten Steel")
|
||||||
.properties(b -> b.viscosity(1500)
|
|
||||||
.density(1000))
|
|
||||||
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
||||||
.tickRate(10)
|
.tickRate(10)
|
||||||
.slopeFindDistance(2)
|
.flowSpeed(2)
|
||||||
.explosionResistance(100f))
|
.blastResistance(100f))
|
||||||
|
.fluidAttributes(() -> new AttributeHandler("block.create.honey", 1500, 1000))
|
||||||
.tag(TFMGTags.TFMGFluidTags.MOLTEN_STEEL.tag)
|
.tag(TFMGTags.TFMGFluidTags.MOLTEN_STEEL.tag)
|
||||||
.source(ForgeFlowingFluid.Source::new)
|
.source(SimpleFlowableFluid.Source::new)
|
||||||
.bucket()
|
.bucket()
|
||||||
.tag(AllTags.forgeItemTag("buckets/steel"))
|
.tag(AllTags.forgeItemTag("buckets/steel"))
|
||||||
.build()
|
.build()
|
||||||
.register();
|
.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 ,
|
REGISTRATE.fluid("molten_slag",MOLTEN_SLAG_STILL_RL,MOLTEN_SLAG_FLOW_RL ,
|
||||||
HotFluidType.create(0xfbfbbb, () -> 1f / 24f ))
|
HotFluidType.create(0xfbfbbb, () -> 1f / 24f ))
|
||||||
.lang("Molten Slag")
|
.lang("Molten Slag")
|
||||||
.properties(b -> b.viscosity(1500)
|
|
||||||
.density(1000))
|
|
||||||
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
||||||
.tickRate(10)
|
.tickRate(10)
|
||||||
.slopeFindDistance(2)
|
.flowSpeed(2)
|
||||||
.explosionResistance(100f))
|
.blastResistance(100f))
|
||||||
|
.fluidAttributes(() -> new AttributeHandler("block.create.honey", 1500, 1000))
|
||||||
.source(ForgeFlowingFluid.Source::new)
|
.source(SimpleFlowableFluid.Source::new)
|
||||||
.bucket()
|
.bucket()
|
||||||
.tag(AllTags.forgeItemTag("buckets/slag"))
|
.tag(AllTags.forgeItemTag("buckets/slag"))
|
||||||
.build()
|
.build()
|
||||||
@@ -217,7 +209,7 @@ public class TFMGFluids {
|
|||||||
////
|
////
|
||||||
|
|
||||||
@SafeVarargs
|
@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};
|
TagKey<Fluid>[] fuelTag = new TagKey[]{TFMGTags.TFMGFluidTags.FUEL.tag};
|
||||||
@@ -232,19 +224,16 @@ public class TFMGFluids {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SafeVarargs
|
@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"),
|
return REGISTRATE.fluid(name,CreateTFMG.asResource("fluid/"+name+"_still"),CreateTFMG.asResource("fluid/"+name+"_flow"),
|
||||||
FlammableFluidType.create(0x606060,
|
FlammableFluidType.create(0x606060,
|
||||||
() -> 1f / 24f ))
|
() -> 1f / 24f ))
|
||||||
.lang(TFMGUtils.fromId(name))
|
.lang(TFMGUtils.fromId(name))
|
||||||
.properties(b -> b.viscosity(1000)
|
|
||||||
.density(1000))
|
|
||||||
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
.fluidProperties(p -> p.levelDecreasePerBlock(1)
|
||||||
.tickRate(10)
|
.tickRate(10)
|
||||||
.slopeFindDistance(5)
|
.flowSpeed(2)
|
||||||
.explosionResistance(100f))
|
.blastResistance(100f))
|
||||||
|
.fluidAttributes(() -> new AttributeHandler("block.create.honey", 1000, 1000))
|
||||||
.tag(tags)
|
.tag(tags)
|
||||||
.source(FlammableFluid.Source::new)
|
.source(FlammableFluid.Source::new)
|
||||||
.bucket()
|
.bucket()
|
||||||
@@ -255,6 +244,7 @@ public class TFMGFluids {
|
|||||||
|
|
||||||
@SafeVarargs
|
@SafeVarargs
|
||||||
public static FluidEntry<VirtualFluid> gas(String name, TagKey<Fluid>... tags){
|
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> tag = FluidTags.create(CreateTFMG.asResource(name));
|
||||||
|
|
||||||
TagKey<Fluid>[] fluidTags = tags;
|
TagKey<Fluid>[] fluidTags = tags;
|
||||||
@@ -311,11 +301,11 @@ public class TFMGFluids {
|
|||||||
// CRUDE_OIL.get().getFluidType(),
|
// CRUDE_OIL.get().getFluidType(),
|
||||||
// fluidState -> TFMGFluids.POLLUTED_WATER.getBlock().get().defaultBlockState()));
|
// fluidState -> TFMGFluids.POLLUTED_WATER.getBlock().get().defaultBlockState()));
|
||||||
|
|
||||||
FluidInteractionRegistry.addInteraction( TFMGFluids.COOLING_FLUID.get().getFluidType(), new FluidInteractionRegistry.InteractionInformation(
|
// FluidInteractionRegistry.addInteraction( TFMGFluids.COOLING_FLUID.get().getFluidType(), new FluidInteractionRegistry.InteractionInformation(
|
||||||
ForgeMod.LAVA_TYPE.get(),
|
// ForgeMod.LAVA_TYPE.get(),
|
||||||
fluidState -> AllPaletteStoneTypes.LIMESTONE.baseBlock
|
// fluidState -> AllPaletteStoneTypes.LIMESTONE.baseBlock
|
||||||
.get()
|
// .get()
|
||||||
.defaultBlockState()));
|
// .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.gui.element.ScreenElement;
|
||||||
import com.simibubi.create.foundation.utility.Color;
|
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.client.gui.GuiComponent;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
|
||||||
|
|
||||||
public enum TFMGGuiTextures implements ScreenElement {
|
public enum TFMGGuiTextures implements ScreenElement {
|
||||||
|
|
||||||
@@ -46,25 +46,25 @@ public enum TFMGGuiTextures implements ScreenElement {
|
|||||||
this.startY = startY;
|
this.startY = startY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public void bind() {
|
public void bind() {
|
||||||
RenderSystem.setShaderTexture(0, location);
|
RenderSystem.setShaderTexture(0, location);
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
@Override
|
@Override
|
||||||
public void render(PoseStack ms, int x, int y) {
|
public void render(PoseStack ms, int x, int y) {
|
||||||
bind();
|
bind();
|
||||||
GuiComponent.blit(ms, x, y, 0, startX, startY, width, height, 256, 256);
|
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) {
|
public void render(PoseStack ms, int x, int y, GuiComponent component) {
|
||||||
bind();
|
bind();
|
||||||
component.blit(ms, x, y, startX, startY, width, height);
|
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) {
|
public void render(PoseStack ms, int x, int y, Color c) {
|
||||||
bind();
|
bind();
|
||||||
UIRenderHelper.drawColoredTexture(ms, c, x, y, startX, startY, width, height);
|
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.simibubi.create.foundation.item.ItemDescription;
|
||||||
import com.tterrag.registrate.util.DataIngredient;
|
import com.tterrag.registrate.util.DataIngredient;
|
||||||
import com.tterrag.registrate.util.entry.ItemEntry;
|
import com.tterrag.registrate.util.entry.ItemEntry;
|
||||||
|
import me.alphamode.forgetags.Tags;
|
||||||
import net.minecraft.core.Registry;
|
import net.minecraft.core.Registry;
|
||||||
import net.minecraft.tags.TagKey;
|
import net.minecraft.tags.TagKey;
|
||||||
import net.minecraft.world.entity.EquipmentSlot;
|
import net.minecraft.world.entity.EquipmentSlot;
|
||||||
import net.minecraft.world.item.*;
|
import net.minecraft.world.item.*;
|
||||||
import net.minecraftforge.common.Tags;
|
|
||||||
|
|
||||||
import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE;
|
import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE;
|
||||||
import static com.drmangotea.createindustry.items.weapons.explosives.thermite_grenades.ChemicalColor.*;
|
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.CreateTFMG;
|
||||||
import com.drmangotea.createindustry.base.effects.HellFireEffect;
|
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.MobEffect;
|
||||||
import net.minecraft.world.effect.MobEffectCategory;
|
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.*;
|
import java.awt.*;
|
||||||
|
|
||||||
public class TFMGMobEffects {
|
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 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){
|
public static void register(){
|
||||||
MOB_EFFECTS.register(modEventBus);
|
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.drmangotea.createindustry.items.weapons.quad_potato_cannon.QuadPotatoCannonPacket;
|
||||||
|
|
||||||
import com.simibubi.create.foundation.networking.SimplePacketBase;
|
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.core.BlockPos;
|
||||||
import net.minecraft.network.FriendlyByteBuf;
|
import net.minecraft.network.FriendlyByteBuf;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.world.level.Level;
|
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.BiConsumer;
|
||||||
import java.util.function.Function;
|
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 {
|
public enum TFMGPackets {
|
||||||
|
|
||||||
|
|||||||
@@ -1,27 +1,6 @@
|
|||||||
package com.drmangotea.createindustry.registry;
|
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.drmangotea.createindustry.CreateTFMG.REGISTRATE;
|
||||||
import static com.simibubi.create.foundation.data.WindowGen.*;
|
|
||||||
|
|
||||||
public class TFMGPaletteBlocks {
|
public class TFMGPaletteBlocks {
|
||||||
|
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ import com.simibubi.create.AllTags;
|
|||||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.tterrag.registrate.util.nullness.NonNullSupplier;
|
import com.tterrag.registrate.util.nullness.NonNullSupplier;
|
||||||
|
import net.minecraft.core.Registry;
|
||||||
import net.minecraft.tags.TagKey;
|
import net.minecraft.tags.TagKey;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.Blocks;
|
import net.minecraft.world.level.block.Blocks;
|
||||||
import net.minecraft.world.level.material.MaterialColor;
|
import net.minecraft.world.level.material.MaterialColor;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ public enum TFMGPaletteStoneTypes {
|
|||||||
paletteStoneVariants.baseBlock = baseBlock;
|
paletteStoneVariants.baseBlock = baseBlock;
|
||||||
String id = Lang.asId(paletteStoneVariants.name());
|
String id = Lang.asId(paletteStoneVariants.name());
|
||||||
paletteStoneVariants.materialTag =
|
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);
|
paletteStoneVariants.variants = new TFMGPalettesVariantEntry(id, paletteStoneVariants);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,18 +3,17 @@ package com.drmangotea.createindustry.registry;
|
|||||||
import com.drmangotea.createindustry.CreateTFMG;
|
import com.drmangotea.createindustry.CreateTFMG;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.base.ElectricSparkParticle;
|
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.particle.ICustomParticleData;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
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.ParticleOptions;
|
||||||
import net.minecraft.core.particles.ParticleType;
|
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;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
@@ -30,18 +29,21 @@ public enum TFMGParticleTypes {
|
|||||||
entry = new ParticleEntry<>(name, typeFactory);
|
entry = new ParticleEntry<>(name, typeFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void register(IEventBus modEventBus) {
|
public static void register() {
|
||||||
ParticleEntry.REGISTER.register(modEventBus);
|
ParticleEntry.REGISTER.register();
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public static void registerFactories(RegisterParticleProvidersEvent event) {
|
public static void registerFactories() {
|
||||||
|
ParticleEngine particles = Minecraft.getInstance().particleEngine;
|
||||||
for (TFMGParticleTypes particle : values())
|
for (TFMGParticleTypes particle : values())
|
||||||
particle.entry.registerFactory(event);
|
particle.entry.registerFactory(particles);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ParticleType<?> get() {
|
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() {
|
public String parameter() {
|
||||||
@@ -49,7 +51,7 @@ public enum TFMGParticleTypes {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static class ParticleEntry<D extends ParticleOptions> {
|
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 String name;
|
||||||
private final Supplier<? extends ICustomParticleData<D>> typeFactory;
|
private final Supplier<? extends ICustomParticleData<D>> typeFactory;
|
||||||
@@ -62,8 +64,8 @@ public enum TFMGParticleTypes {
|
|||||||
object = REGISTER.register(name, () -> this.typeFactory.get().createType());
|
object = REGISTER.register(name, () -> this.typeFactory.get().createType());
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public void registerFactory(RegisterParticleProvidersEvent event) {
|
public void registerFactory(ParticleEngine event) {
|
||||||
typeFactory.get()
|
typeFactory.get()
|
||||||
.register(object.get(), event);
|
.register(object.get(), event);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +1,21 @@
|
|||||||
package com.drmangotea.createindustry.registry;
|
package com.drmangotea.createindustry.registry;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.CreateTFMG;
|
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.effect.MobEffectInstance;
|
||||||
import net.minecraft.world.item.alchemy.Potion;
|
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 class TFMGPotions {
|
||||||
public static final DeferredRegister<Potion> POTIONS
|
public static final LazyRegistrar<Potion> POTIONS
|
||||||
= DeferredRegister.create(ForgeRegistries.POTIONS, CreateTFMG.MOD_ID);
|
= LazyRegistrar.create(Registry.POTION, CreateTFMG.MOD_ID);
|
||||||
|
|
||||||
public static final RegistryObject<Potion> HELLFIRE_POTION = POTIONS.register("hellfire_potion",
|
public static final RegistryObject<Potion> HELLFIRE_POTION = POTIONS.register("hellfire_potion",
|
||||||
() -> new Potion(new MobEffectInstance(TFMGMobEffects.HELLFIRE.get(), 600, 0)));
|
() -> new Potion(new MobEffectInstance(TFMGMobEffects.HELLFIRE.get(), 600, 0)));
|
||||||
|
|
||||||
|
public static void register() {
|
||||||
|
POTIONS.register();
|
||||||
public static void register(IEventBus eventBus) {
|
|
||||||
POTIONS.register(eventBus);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -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.content.processing.recipe.ProcessingRecipeSerializer;
|
||||||
import com.simibubi.create.foundation.recipe.IRecipeTypeInfo;
|
import com.simibubi.create.foundation.recipe.IRecipeTypeInfo;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
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.core.Registry;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.world.Container;
|
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.RecipeType;
|
||||||
import net.minecraft.world.item.crafting.ShapedRecipe;
|
import net.minecraft.world.item.crafting.ShapedRecipe;
|
||||||
import net.minecraft.world.level.Level;
|
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 org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@@ -88,11 +86,11 @@ WELDING(WeldingRecipe::new)
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void register(IEventBus modEventBus) {
|
public static void register() {
|
||||||
ShapedRecipe.setCraftingSize(9, 9);
|
// ShapedRecipe.setCraftingSize(9, 9); im so confused about this
|
||||||
|
|
||||||
Registers.SERIALIZER_REGISTER.register(modEventBus);
|
Registers.SERIALIZER_REGISTER.register();
|
||||||
Registers.TYPE_REGISTER.register(modEventBus);
|
Registers.TYPE_REGISTER.register();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -122,8 +120,8 @@ WELDING(WeldingRecipe::new)
|
|||||||
|
|
||||||
|
|
||||||
private static class Registers {
|
private static class Registers {
|
||||||
private static final DeferredRegister<RecipeSerializer<?>> SERIALIZER_REGISTER = DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, CreateTFMG.MOD_ID);
|
private static final LazyRegistrar<RecipeSerializer<?>> SERIALIZER_REGISTER = LazyRegistrar.create(Registry.RECIPE_SERIALIZER, CreateTFMG.MOD_ID);
|
||||||
private static final DeferredRegister<RecipeType<?>> TYPE_REGISTER = DeferredRegister.create(Registry.RECIPE_TYPE_REGISTRY, 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.JsonArray;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
|
import com.tterrag.registrate.fabric.RegistryObject;
|
||||||
import net.minecraft.core.Registry;
|
import net.minecraft.core.Registry;
|
||||||
import net.minecraft.core.Vec3i;
|
import net.minecraft.core.Vec3i;
|
||||||
import net.minecraft.data.CachedOutput;
|
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.entity.player.Player;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.phys.Vec3;
|
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.io.IOException;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
@@ -68,11 +66,9 @@ public class TFMGSoundEvents {
|
|||||||
entry.prepare();
|
entry.prepare();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void register(RegisterEvent event) {
|
public static void register() {
|
||||||
event.register(Registry.SOUND_EVENT_REGISTRY, helper -> {
|
for (TFMGSoundEvents.SoundEntry entry : ALL.values())
|
||||||
for (TFMGSoundEvents.SoundEntry entry : ALL.values())
|
entry.register();
|
||||||
entry.register(helper);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static JsonObject provideLangEntries() {
|
public static JsonObject provideLangEntries() {
|
||||||
@@ -230,7 +226,7 @@ public class TFMGSoundEvents {
|
|||||||
|
|
||||||
public abstract void prepare();
|
public abstract void prepare();
|
||||||
|
|
||||||
public abstract void register(RegisterEvent.RegisterHelper<SoundEvent> registry);
|
public abstract void register();
|
||||||
|
|
||||||
public abstract void write(JsonObject json);
|
public abstract void write(JsonObject json);
|
||||||
|
|
||||||
@@ -312,23 +308,22 @@ public class TFMGSoundEvents {
|
|||||||
for (int i = 0; i < wrappedEvents.size(); i++) {
|
for (int i = 0; i < wrappedEvents.size(); i++) {
|
||||||
TFMGSoundEvents.ConfiguredSoundEvent wrapped = wrappedEvents.get(i);
|
TFMGSoundEvents.ConfiguredSoundEvent wrapped = wrappedEvents.get(i);
|
||||||
ResourceLocation location = getIdOf(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()));
|
compiledEvents.add(new TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent(event, wrapped.volume(), wrapped.pitch()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void register(RegisterEvent.RegisterHelper<SoundEvent> helper) {
|
public void register() {
|
||||||
for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent compiledEvent : compiledEvents) {
|
for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent event : compiledEvents) {
|
||||||
ResourceLocation location = compiledEvent.event().getId();
|
Registry.register(Registry.SOUND_EVENT, event.event.getLocation(), event.event);
|
||||||
helper.register(location, new SoundEvent(location));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SoundEvent getMainEvent() {
|
public SoundEvent getMainEvent() {
|
||||||
return compiledEvents.get(0)
|
return compiledEvents.get(0)
|
||||||
.event().get();
|
.event;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ResourceLocation getIdOf(int i) {
|
protected ResourceLocation getIdOf(int i) {
|
||||||
@@ -360,7 +355,7 @@ public class TFMGSoundEvents {
|
|||||||
@Override
|
@Override
|
||||||
public void play(Level world, Player entity, double x, double y, double z, float volume, float pitch) {
|
public void play(Level world, Player entity, double x, double y, double z, float volume, float pitch) {
|
||||||
for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent event : compiledEvents) {
|
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);
|
event.pitch() * pitch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -368,12 +363,12 @@ public class TFMGSoundEvents {
|
|||||||
@Override
|
@Override
|
||||||
public void playAt(Level world, double x, double y, double z, float volume, float pitch, boolean fade) {
|
public void playAt(Level world, double x, double y, double z, float volume, float pitch, boolean fade) {
|
||||||
for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent event : compiledEvents) {
|
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);
|
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 {
|
private static class CustomSoundEntry extends TFMGSoundEvents.SoundEntry {
|
||||||
|
|
||||||
protected List<ResourceLocation> variants;
|
protected List<ResourceLocation> variants;
|
||||||
protected RegistryObject<SoundEvent> event;
|
protected SoundEvent event;
|
||||||
|
|
||||||
public CustomSoundEntry(ResourceLocation id, List<ResourceLocation> variants, String subtitle,
|
public CustomSoundEntry(ResourceLocation id, List<ResourceLocation> variants, String subtitle,
|
||||||
SoundSource category, int attenuationDistance) {
|
SoundSource category, int attenuationDistance) {
|
||||||
@@ -391,17 +386,17 @@ public class TFMGSoundEvents {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void prepare() {
|
public void prepare() {
|
||||||
event = RegistryObject.create(id, ForgeRegistries.SOUND_EVENTS);
|
event = new SoundEvent(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void register(RegisterEvent.RegisterHelper<SoundEvent> helper) {
|
@Override
|
||||||
ResourceLocation location = event.getId();
|
public void register() {
|
||||||
helper.register(location, new SoundEvent(location));
|
Registry.register(Registry.SOUND_EVENT, event.getLocation(), event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SoundEvent getMainEvent() {
|
public SoundEvent getMainEvent() {
|
||||||
return event.get();
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -433,12 +428,12 @@ public class TFMGSoundEvents {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void play(Level world, Player entity, double x, double y, double z, float volume, float pitch) {
|
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
|
@Override
|
||||||
public void playAt(Level world, double x, double y, double z, float volume, float pitch, boolean fade) {
|
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.drmangotea.createindustry.CreateTFMG;
|
||||||
import com.simibubi.create.Create;
|
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
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.core.Registry;
|
||||||
|
import net.minecraft.resources.ResourceKey;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.tags.BlockTags;
|
|
||||||
import net.minecraft.tags.FluidTags;
|
import net.minecraft.tags.FluidTags;
|
||||||
import net.minecraft.tags.ItemTags;
|
|
||||||
import net.minecraft.tags.TagKey;
|
import net.minecraft.tags.TagKey;
|
||||||
import net.minecraft.world.entity.Entity;
|
import net.minecraft.world.entity.Entity;
|
||||||
import net.minecraft.world.entity.EntityType;
|
import net.minecraft.world.entity.EntityType;
|
||||||
import net.minecraft.world.item.BlockItem;
|
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.ItemStack;
|
|
||||||
import net.minecraft.world.item.crafting.RecipeSerializer;
|
import net.minecraft.world.item.crafting.RecipeSerializer;
|
||||||
import net.minecraft.world.level.block.Block;
|
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.Fluid;
|
||||||
import net.minecraft.world.level.material.FluidState;
|
import net.minecraft.world.level.material.FluidState;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
|
||||||
import net.minecraftforge.registries.IForgeRegistry;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
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.FORGE;
|
||||||
import static com.drmangotea.createindustry.registry.TFMGTags.NameSpace.MOD;
|
import static com.drmangotea.createindustry.registry.TFMGTags.NameSpace.MOD;
|
||||||
|
|
||||||
|
|
||||||
public class TFMGTags {
|
public class TFMGTags {
|
||||||
public static <T> TagKey<T> optionalTag(IForgeRegistry<T> registry,
|
public static <T> TagKey<T> optionalTag(Registry<T> registry,
|
||||||
ResourceLocation id) {
|
ResourceLocation id) {
|
||||||
return registry.tags()
|
return TagKey.create(registry.key(), id);
|
||||||
.createOptionalTagKey(id, Collections.emptySet());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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));
|
return optionalTag(registry, new ResourceLocation("forge", path));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TagKey<Block> forgeBlockTag(String 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) {
|
public static TagKey<Item> forgeItemTag(String path) {
|
||||||
return forgeTag(ForgeRegistries.ITEMS, path);
|
return forgeTag(Registry.ITEM, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TagKey<Fluid> forgeFluidTag(String path) {
|
public static TagKey<Fluid> forgeFluidTag(String path) {
|
||||||
return forgeTag(ForgeRegistries.FLUIDS, path);
|
return forgeTag(Registry.FLUID, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum NameSpace {
|
public enum NameSpace {
|
||||||
@@ -121,9 +116,9 @@ public class TFMGTags {
|
|||||||
TFMGFluidTags(TFMGTags.NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) {
|
TFMGFluidTags(TFMGTags.NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) {
|
||||||
ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path);
|
ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path);
|
||||||
if (optional) {
|
if (optional) {
|
||||||
tag = optionalTag(ForgeRegistries.FLUIDS, id);
|
tag = optionalTag(Registry.FLUID, id);
|
||||||
} else {
|
} else {
|
||||||
tag = FluidTags.create(id);
|
tag = FluidTags.create(String.valueOf(id));
|
||||||
}
|
}
|
||||||
this.alwaysDatagen = alwaysDatagen;
|
this.alwaysDatagen = alwaysDatagen;
|
||||||
}
|
}
|
||||||
@@ -170,7 +165,7 @@ public class TFMGTags {
|
|||||||
TFMGEntityTags(TFMGTags.NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) {
|
TFMGEntityTags(TFMGTags.NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) {
|
||||||
ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path);
|
ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path);
|
||||||
if (optional) {
|
if (optional) {
|
||||||
tag = optionalTag(ForgeRegistries.ENTITY_TYPES, id);
|
tag = optionalTag(Registry.ENTITY_TYPE, id);
|
||||||
} else {
|
} else {
|
||||||
tag = TagKey.create(Registry.ENTITY_TYPE_REGISTRY, id);
|
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) {
|
TFMGRecipeSerializerTags(TFMGTags.NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) {
|
||||||
ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path);
|
ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path);
|
||||||
if (optional) {
|
if (optional) {
|
||||||
tag = optionalTag(ForgeRegistries.RECIPE_SERIALIZERS, id);
|
tag = optionalTag(Registry.RECIPE_SERIALIZER, id);
|
||||||
} else {
|
} else {
|
||||||
tag = TagKey.create(Registry.RECIPE_SERIALIZER_REGISTRY, id);
|
tag = TagKey.create(Registry.RECIPE_SERIALIZER_REGISTRY, id);
|
||||||
}
|
}
|
||||||
@@ -225,7 +220,10 @@ public class TFMGTags {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean matches(RecipeSerializer<?> recipeSerializer) {
|
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() {}
|
private static void init() {}
|
||||||
|
|||||||
@@ -5,19 +5,16 @@ package com.drmangotea.createindustry.worldgen;
|
|||||||
import com.drmangotea.createindustry.CreateTFMG;
|
import com.drmangotea.createindustry.CreateTFMG;
|
||||||
import com.drmangotea.createindustry.worldgen.oil_deposit.OilDepositFeature;
|
import com.drmangotea.createindustry.worldgen.oil_deposit.OilDepositFeature;
|
||||||
import com.drmangotea.createindustry.worldgen.oil_deposit.OilWellFeature;
|
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.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.GeodeConfiguration;
|
||||||
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
|
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 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) {
|
public static void register() {
|
||||||
FEATURES.register(eventBus);
|
FEATURES.register();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,11 @@
|
|||||||
package com.drmangotea.createindustry.worldgen;
|
package com.drmangotea.createindustry.worldgen;
|
||||||
|
|
||||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
||||||
import com.simibubi.create.AllBlocks;
|
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
import com.simibubi.create.foundation.data.DynamicDataProvider;
|
|
||||||
import com.simibubi.create.foundation.utility.Couple;
|
import com.simibubi.create.foundation.utility.Couple;
|
||||||
import com.simibubi.create.infrastructure.worldgen.OreFeatureConfigEntry;
|
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.resources.ResourceLocation;
|
||||||
import net.minecraft.tags.BiomeTags;
|
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 {
|
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.Feature;
|
||||||
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
|
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
|
||||||
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
|
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
|
||||||
import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider;
|
|
||||||
|
|
||||||
|
|
||||||
public class OilDepositFeature extends Feature<NoneFeatureConfiguration> {
|
public class OilDepositFeature extends Feature<NoneFeatureConfiguration> {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.drmangotea.createindustry.registry.TFMGBlocks;
|
|||||||
import com.drmangotea.createindustry.registry.TFMGFluids;
|
import com.drmangotea.createindustry.registry.TFMGFluids;
|
||||||
import com.mojang.serialization.Codec;
|
import com.mojang.serialization.Codec;
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
import com.simibubi.create.foundation.utility.Iterate;
|
||||||
|
import me.alphamode.forgetags.Tags;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.util.RandomSource;
|
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.levelgen.feature.configurations.NoneFeatureConfiguration;
|
||||||
import net.minecraft.world.level.material.Fluids;
|
import net.minecraft.world.level.material.Fluids;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
import net.minecraftforge.common.Tags;
|
|
||||||
|
|
||||||
public class OilWellFeature extends Feature<NoneFeatureConfiguration> {
|
public class OilWellFeature extends Feature<NoneFeatureConfiguration> {
|
||||||
public OilWellFeature(Codec<NoneFeatureConfiguration> pCodec) {
|
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": {
|
"entrypoints": {
|
||||||
"main": [
|
"main": [
|
||||||
"com.drmangotea.createindustry.CreateTFMG"
|
"com.drmangotea.createindustry.CreateTFMG"
|
||||||
|
],
|
||||||
|
"client": [
|
||||||
|
"com.drmangotea.createindustry.CreateTFMGClient"
|
||||||
|
],
|
||||||
|
"fabric-datagen": [
|
||||||
|
"com.drmangotea.createindustry.data.CreateTFMGData"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"mixins": [
|
"mixins": [
|
||||||
"createindustry.mixins.json"
|
"createindustry.mixins.json"
|
||||||
],
|
],
|
||||||
|
"accessWidener": "createindustry.accesswidener",
|
||||||
"depends": {
|
"depends": {
|
||||||
"fabricloader": ">=${fabric_loader_version}",
|
"fabricloader": ">=${fabric_loader_version}",
|
||||||
"fabric-api": ">=${fabric_api_version}",
|
"fabric-api": ">=${fabric_api_version}",
|
||||||
|
|||||||
Reference in New Issue
Block a user