51 left YIPEE
This commit is contained in:
@@ -3,18 +3,17 @@ package com.drmangotea.createindustry.base;
|
||||
import com.tterrag.registrate.AbstractRegistrate;
|
||||
import com.tterrag.registrate.builders.BuilderCallback;
|
||||
import com.tterrag.registrate.builders.FluidBuilder;
|
||||
import com.tterrag.registrate.fabric.SimpleFlowableFluid;
|
||||
import com.tterrag.registrate.util.nullness.NonNullFunction;
|
||||
import com.tterrag.registrate.util.nullness.NonNullSupplier;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
||||
import net.minecraftforge.fluids.ForgeFlowingFluid.Properties;
|
||||
|
||||
public class GasFluidBuilder<T extends ForgeFlowingFluid, P> extends FluidBuilder<T, P> {
|
||||
public class GasFluidBuilder<T extends SimpleFlowableFluid, P> extends FluidBuilder<T, P> {
|
||||
|
||||
public GasFluidBuilder(AbstractRegistrate<?> owner, P parent, String name, BuilderCallback callback,
|
||||
ResourceLocation stillTexture, ResourceLocation flowingTexture, FluidBuilder.FluidTypeFactory typeFactory,
|
||||
NonNullFunction<Properties, T> factory) {
|
||||
super(owner, parent, name, callback, stillTexture, flowingTexture, typeFactory, factory);
|
||||
ResourceLocation stillTexture, ResourceLocation flowingTexture,
|
||||
NonNullFunction<SimpleFlowableFluid.Properties, T> factory) {
|
||||
super(owner, parent, name, callback, stillTexture, flowingTexture, factory);
|
||||
source(factory);
|
||||
}
|
||||
|
||||
@@ -23,6 +22,4 @@ public class GasFluidBuilder<T extends ForgeFlowingFluid, P> extends FluidBuilde
|
||||
return this::getEntry;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -3,17 +3,18 @@ package com.drmangotea.createindustry.base.creative_mode_tabs;
|
||||
import java.util.Collection;
|
||||
|
||||
import com.drmangotea.createindustry.CreateTFMG;
|
||||
import com.simibubi.create.compat.jei.CreateJEI;
|
||||
import com.tterrag.registrate.util.entry.RegistryEntry;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.entity.ItemRenderer;
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.core.NonNullList;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.CreativeModeTab;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
public abstract class TFMGCreativeModeTab extends CreativeModeTab {
|
||||
public TFMGCreativeModeTab(String id) {
|
||||
@@ -28,7 +29,7 @@ public abstract class TFMGCreativeModeTab extends CreativeModeTab {
|
||||
}
|
||||
|
||||
protected Collection<RegistryEntry<Item>> registeredItems() {
|
||||
return CreateTFMG.REGISTRATE.getAll(ForgeRegistries.ITEMS.getRegistryKey());
|
||||
return CreateTFMG.REGISTRATE.getAll(Registry.ITEM.key());
|
||||
}
|
||||
|
||||
public void addBlocks(NonNullList<ItemStack> items) {
|
||||
|
||||
@@ -10,6 +10,8 @@ import com.tterrag.registrate.providers.RegistrateRecipeProvider;
|
||||
import com.tterrag.registrate.util.nullness.NonNullBiConsumer;
|
||||
import com.tterrag.registrate.util.nullness.NonNullFunction;
|
||||
import com.tterrag.registrate.util.nullness.NonNullSupplier;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
@@ -18,8 +20,6 @@ import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.client.model.generators.ConfiguredModel;
|
||||
|
||||
import java.util.Optional;
|
||||
@@ -74,7 +74,7 @@ public class TFMGPaletteBlockPattern {
|
||||
private NonNullFunction<NonNullSupplier<Block>, NonNullBiConsumer<DataGenContext<Block, ? extends Block>, RegistrateRecipeProvider>> additionalRecipes;
|
||||
private TFMGPaletteBlockPartial<? extends Block>[] partials;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private RenderType renderType;
|
||||
|
||||
private static TFMGPaletteBlockPattern create(String name, TFMGPaletteBlockPattern.PatternNameType nameType,
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.mojang.math.Matrix3f;
|
||||
import com.mojang.math.Matrix4f;
|
||||
import com.mojang.math.Vector3f;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||
@@ -13,10 +15,8 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class BlueSparkRenderer extends EntityRenderer<BlueSpark> {
|
||||
private static final ResourceLocation TEXTURE_LOCATION = CreateTFMG.asResource("textures/entity/blue_spark.png");
|
||||
private static final RenderType RENDER_TYPE = RenderType.entityCutoutNoCull(TEXTURE_LOCATION);
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.mojang.math.Matrix3f;
|
||||
import com.mojang.math.Matrix4f;
|
||||
import com.mojang.math.Vector3f;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||
@@ -13,10 +15,8 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class GreenSparkRenderer extends EntityRenderer<GreenSpark> {
|
||||
private static final ResourceLocation TEXTURE_LOCATION = CreateTFMG.asResource("textures/entity/green_spark.png");
|
||||
private static final RenderType RENDER_TYPE = RenderType.entityCutoutNoCull(TEXTURE_LOCATION);
|
||||
|
||||
@@ -5,6 +5,8 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.mojang.math.Matrix3f;
|
||||
import com.mojang.math.Matrix4f;
|
||||
import com.mojang.math.Vector3f;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||
@@ -12,10 +14,8 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class SparkRenderer extends EntityRenderer<Spark> {
|
||||
private static final ResourceLocation TEXTURE_LOCATION = new ResourceLocation("textures/particle/lava.png");
|
||||
private static final RenderType RENDER_TYPE = RenderType.entityCutoutNoCull(TEXTURE_LOCATION);
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.drmangotea.createindustry.blocks.electricity.api;
|
||||
|
||||
import net.fabricmc.fabric.api.transfer.v1.storage.TransferVariant;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class Energy implements TransferVariant<Double> {
|
||||
@Override
|
||||
public boolean isBlank() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double getObject() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable CompoundTag getNbt() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompoundTag toNbt() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toPacket(FriendlyByteBuf buf) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.drmangotea.createindustry.blocks.electricity.api;
|
||||
|
||||
import net.fabricmc.fabric.api.transfer.v1.storage.base.SingleVariantStorage;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
|
||||
@ApiStatus.Experimental
|
||||
public class EnergyStorage extends SingleVariantStorage<Energy> {
|
||||
|
||||
|
||||
public EnergyStorage(long i) {
|
||||
this.variant = new Energy();
|
||||
this.amount = i;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Energy getBlankVariant() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected long getCapacity(Energy variant) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.drmangotea.createindustry.blocks.electricity.base.cables;
|
||||
|
||||
import com.drmangotea.createindustry.base.TFMGTools;
|
||||
import com.drmangotea.createindustry.blocks.electricity.api.EnergyStorage;
|
||||
import com.drmangotea.createindustry.blocks.electricity.base.*;
|
||||
import com.drmangotea.createindustry.blocks.electricity.resistors.ResistorBlockEntity;
|
||||
import com.drmangotea.createindustry.registry.TFMGItems;
|
||||
@@ -217,8 +218,7 @@ public class CableConnectorBlockEntity extends ElectricBlockEntity {
|
||||
|
||||
|
||||
|
||||
}else
|
||||
if(be1!=null) {
|
||||
} else if(be1!=null) {
|
||||
|
||||
if (be1.getCapability(ForgeCapabilities.ENERGY, direction.getOpposite()).isPresent()) {
|
||||
|
||||
|
||||
@@ -415,7 +415,7 @@ public class DieselEngineBlockEntity extends SmartBlockEntity implements IHaveGo
|
||||
|
||||
|
||||
@Nullable
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public Float getTargetAngle() {
|
||||
float angle = 0;
|
||||
BlockState blockState = getBlockState();
|
||||
|
||||
@@ -55,9 +55,7 @@ public class SteelFluidTankRenderer extends SafeBlockEntityRenderer<SteelTankBlo
|
||||
if (fluidStack.isEmpty())
|
||||
return;
|
||||
|
||||
boolean top = fluidStack.getFluid()
|
||||
.getFluidType()
|
||||
.isLighterThanAir();
|
||||
boolean top = fluidStack.getType().getFluid().defaultFluidState().is;
|
||||
|
||||
float xMin = tankHullWidth;
|
||||
float xMax = xMin + te.width - 2 * tankHullWidth;
|
||||
|
||||
@@ -17,6 +17,8 @@ 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.Transaction;
|
||||
import net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@@ -150,8 +152,7 @@ public class SteelTankBlockEntity extends FluidTankBlockEntity implements IHaveG
|
||||
if (!hasLevel())
|
||||
return;
|
||||
|
||||
FluidVariant attributes = newFluidStack.getFluid()
|
||||
.getFluidType();
|
||||
FluidVariant attributes = newFluidStack.getType();
|
||||
int luminosity = (int) (attributes.getLightLevel(newFluidStack) / 1.2f);
|
||||
boolean reversed = attributes.isLighterThanAir();
|
||||
int maxY = (int) ((getFillState() * height) + 1);
|
||||
@@ -212,7 +213,7 @@ public class SteelTankBlockEntity extends FluidTankBlockEntity implements IHaveG
|
||||
tankInventory.setCapacity(blocks * getCapacityMultiplier());
|
||||
long overflow = tankInventory.getFluidAmount() - tankInventory.getCapacity();
|
||||
if (overflow > 0)
|
||||
tankInventory.drain(overflow, FluidAction.EXECUTE);
|
||||
tankInventory.extract(tankInventory.variant, overflow, Transaction.openOuter());
|
||||
forceFluidLevelUpdate = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -121,10 +121,10 @@ public class SteelTankItem extends BlockItem {
|
||||
if (SteelTankBlock.isTank(blockState))
|
||||
continue;
|
||||
BlockPlaceContext context = BlockPlaceContext.at(ctx, offsetPos, face);
|
||||
player.getPersistentData()
|
||||
player.getExtraCustomData()
|
||||
.putBoolean("SilenceTankSound", true);
|
||||
super.place(context);
|
||||
player.getPersistentData()
|
||||
player.getExtraCustomData()
|
||||
.remove("SilenceTankSound");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
package com.drmangotea.createindustry.items;
|
||||
|
||||
import net.minecraft.world.item.BucketItem;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.RecipeType;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class BadFuelBucketItem extends BucketItem {
|
||||
public BadFuelBucketItem(Fluid p_40689_, Properties p_40690_) {
|
||||
super(p_40689_, p_40690_);
|
||||
}
|
||||
public BadFuelBucketItem(java.util.function.Supplier<? extends Fluid> supplier, Item.Properties builder) {
|
||||
super(supplier,builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBurnTime(ItemStack itemStack, @Nullable RecipeType<?> recipeType) {
|
||||
return 200;
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
package com.drmangotea.createindustry.items;
|
||||
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.RecipeType;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class CoalCokeBlockItem extends BlockItem {
|
||||
|
||||
|
||||
|
||||
|
||||
public CoalCokeBlockItem(Block p_40565_, Properties p_40566_) {
|
||||
super(p_40565_, p_40566_);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int getBurnTime(ItemStack itemStack, @Nullable RecipeType<?> recipeType) {
|
||||
return 28800;
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
package com.drmangotea.createindustry.items;
|
||||
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.RecipeType;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class CoalCokeItem extends Item {
|
||||
|
||||
public CoalCokeItem(Properties p_40566_) {
|
||||
super( p_40566_);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBurnTime(ItemStack itemStack, @Nullable RecipeType<?> recipeType) {
|
||||
return ;
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
package com.drmangotea.createindustry.items;
|
||||
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.RecipeType;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class FossilstoneItem extends BlockItem {
|
||||
|
||||
|
||||
|
||||
|
||||
public FossilstoneItem(Block p_40565_, Properties p_40566_) {
|
||||
super(p_40565_, p_40566_);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int getBurnTime(ItemStack itemStack, @Nullable RecipeType<?> recipeType) {
|
||||
return 4000;
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package com.drmangotea.createindustry.items;
|
||||
|
||||
import net.minecraft.world.item.BucketItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.RecipeType;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class OilBucketItem extends BucketItem {
|
||||
public OilBucketItem(Fluid p_40689_, Properties p_40690_) {
|
||||
super(p_40689_, p_40690_);
|
||||
}
|
||||
public OilBucketItem(java.util.function.Supplier<? extends Fluid> supplier, Properties builder) {
|
||||
super(supplier,builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBurnTime(ItemStack itemStack, @Nullable RecipeType<?> recipeType) {
|
||||
return 800;
|
||||
}
|
||||
}
|
||||
@@ -4,12 +4,12 @@ import com.drmangotea.createindustry.CreateTFMG;
|
||||
import com.drmangotea.createindustry.CreateTFMGClient;
|
||||
import com.simibubi.create.content.equipment.zapper.ShootGadgetPacket;
|
||||
import com.simibubi.create.content.equipment.zapper.ShootableGadgetRenderHandler;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
public class AdvancedPotatoCannonPacket extends ShootGadgetPacket {
|
||||
|
||||
@@ -46,7 +46,7 @@ public class AdvancedPotatoCannonPacket extends ShootGadgetPacket {
|
||||
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
protected void handleAdditional() {
|
||||
CreateTFMG.LOGGER.debug("AAAAAAAAAAAAAAAAAAAAAAAAAE");
|
||||
|
||||
@@ -54,7 +54,7 @@ public class AdvancedPotatoCannonPacket extends ShootGadgetPacket {
|
||||
}
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
protected ShootableGadgetRenderHandler getHandler() {
|
||||
return CreateTFMGClient.ADVANCED_POTATO_CANNON_RENDER_HANDLER;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@ package com.drmangotea.createindustry.items.weapons.advanced_potato_cannon.proje
|
||||
import com.drmangotea.createindustry.registry.TFMGItems;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Vector3f;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.block.model.ItemTransforms;
|
||||
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||
@@ -12,10 +14,8 @@ import net.minecraft.client.renderer.entity.ItemRenderer;
|
||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlas;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class NapalmPotatoRenderer extends EntityRenderer<NapalmPotato> {
|
||||
private final ItemRenderer itemRenderer;
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.drmangotea.createindustry.items.weapons.explosives.napalm;
|
||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Vector3f;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
|
||||
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||
@@ -11,10 +13,8 @@ import net.minecraft.client.renderer.entity.TntMinecartRenderer;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlas;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class NapalmBombRenderer extends EntityRenderer<NapalmBombEntity> {
|
||||
private final BlockRenderDispatcher blockRenderer;
|
||||
public NapalmBombRenderer(EntityRendererProvider.Context p_174426_) {
|
||||
|
||||
@@ -4,6 +4,8 @@ package com.drmangotea.createindustry.items.weapons.explosives.pipe_bomb;
|
||||
import com.drmangotea.createindustry.registry.TFMGItems;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Vector3f;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.block.model.ItemTransforms;
|
||||
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||
@@ -12,10 +14,8 @@ import net.minecraft.client.renderer.entity.ItemRenderer;
|
||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlas;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class PipeBombRenderer extends EntityRenderer<PipeBomb> {
|
||||
private final ItemRenderer itemRenderer;
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@ package com.drmangotea.createindustry.items.weapons.explosives.thermite_grenades
|
||||
import com.drmangotea.createindustry.registry.TFMGItems;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Vector3f;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.block.model.ItemTransforms;
|
||||
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||
@@ -12,10 +14,8 @@ import net.minecraft.client.renderer.entity.ItemRenderer;
|
||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlas;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class ThermiteGrenadeRenderer extends EntityRenderer<ThermiteGrenade> {
|
||||
private final ItemRenderer itemRenderer;
|
||||
private ChemicalColor chemicalColor;
|
||||
|
||||
@@ -32,9 +32,8 @@ public class BlueFireBlock extends BaseFireBlock {
|
||||
public static final BooleanProperty SOUTH = PipeBlock.SOUTH;
|
||||
public static final BooleanProperty WEST = PipeBlock.WEST;
|
||||
public static final BooleanProperty UP = PipeBlock.UP;
|
||||
private static final Map<Direction, BooleanProperty> PROPERTY_BY_DIRECTION = PipeBlock.PROPERTY_BY_DIRECTION.entrySet().stream().filter((p_53467_) -> {
|
||||
return p_53467_.getKey() != Direction.DOWN;
|
||||
}).collect(Util.toMap());
|
||||
private static final Map<Direction, BooleanProperty> PROPERTY_BY_DIRECTION =
|
||||
PipeBlock.PROPERTY_BY_DIRECTION.entrySet().stream().filter((p_53467_) -> p_53467_.getKey() != Direction.DOWN).collect(Util.toMap());
|
||||
private static final VoxelShape UP_AABB = Block.box(0.0D, 15.0D, 0.0D, 16.0D, 16.0D, 16.0D);
|
||||
private static final VoxelShape WEST_AABB = Block.box(0.0D, 0.0D, 0.0D, 1.0D, 16.0D, 16.0D);
|
||||
private static final VoxelShape EAST_AABB = Block.box(15.0D, 0.0D, 0.0D, 16.0D, 16.0D, 16.0D);
|
||||
|
||||
@@ -37,9 +37,8 @@ public class GreenFireBlock extends BaseFireBlock {
|
||||
public static final BooleanProperty SOUTH = PipeBlock.SOUTH;
|
||||
public static final BooleanProperty WEST = PipeBlock.WEST;
|
||||
public static final BooleanProperty UP = PipeBlock.UP;
|
||||
private static final Map<Direction, BooleanProperty> PROPERTY_BY_DIRECTION = PipeBlock.PROPERTY_BY_DIRECTION.entrySet().stream().filter((p_53467_) -> {
|
||||
return p_53467_.getKey() != Direction.DOWN;
|
||||
}).collect(Util.toMap());
|
||||
private static final Map<Direction, BooleanProperty> PROPERTY_BY_DIRECTION =
|
||||
PipeBlock.PROPERTY_BY_DIRECTION.entrySet().stream().filter((p_53467_) -> p_53467_.getKey() != Direction.DOWN).collect(Util.toMap());
|
||||
private static final VoxelShape UP_AABB = Block.box(0.0D, 15.0D, 0.0D, 16.0D, 16.0D, 16.0D);
|
||||
private static final VoxelShape WEST_AABB = Block.box(0.0D, 0.0D, 0.0D, 1.0D, 16.0D, 16.0D);
|
||||
private static final VoxelShape EAST_AABB = Block.box(15.0D, 0.0D, 0.0D, 16.0D, 16.0D, 16.0D);
|
||||
|
||||
@@ -143,18 +143,18 @@ return Math.round( 13* ((float)((float)stack.getOrCreateTag().getInt("amount")/(
|
||||
|
||||
for(FlamethrowerFuel fuel : FlamethrowerFuel.values()) {
|
||||
|
||||
String fluid = be.getFluid(0).getFluid().getFluidType().toString().replaceFirst("createindustry:","");
|
||||
String fluid = be.getFluid(0).getType().toString().replaceFirst("createindustry:","");
|
||||
|
||||
|
||||
|
||||
if (fluid.equals(fuel.name().toLowerCase())) {
|
||||
if(nbt.getString("fuel").equals(fluid)||nbt.getInt("amount")==0) {
|
||||
|
||||
int toDrain = Math.min(FUEL_CAPACITY - nbt.getInt("amount"), be.getFluid(0).getAmount());
|
||||
long toDrain = Math.min(FUEL_CAPACITY - nbt.getInt("amount"), be.getFluid(0).getAmount());
|
||||
|
||||
nbt.putString("fuel", fluid);
|
||||
be.getTankInventory().drain(toDrain, IFluidHandler.FluidAction.EXECUTE);
|
||||
nbt.putInt("amount", nbt.getInt("amount") + toDrain);
|
||||
nbt.putLong("amount", nbt.getLong("amount") + toDrain);
|
||||
context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20);
|
||||
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@ package com.drmangotea.createindustry.items.weapons.flamethrover;
|
||||
import com.drmangotea.createindustry.CreateTFMGClient;
|
||||
import com.simibubi.create.content.equipment.zapper.ShootGadgetPacket;
|
||||
import com.simibubi.create.content.equipment.zapper.ShootableGadgetRenderHandler;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
public class FlamethrowerPacket extends ShootGadgetPacket {
|
||||
|
||||
@@ -31,13 +31,13 @@ public class FlamethrowerPacket extends ShootGadgetPacket {
|
||||
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
protected void handleAdditional() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
protected ShootableGadgetRenderHandler getHandler() {
|
||||
return CreateTFMGClient.FLAMETHROWER_RENDER_HANDLER;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.SwordItem;
|
||||
import net.minecraft.world.item.Tier;
|
||||
import net.minecraft.world.item.enchantment.Enchantment;
|
||||
import net.minecraft.world.item.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
||||
import java.util.Map;
|
||||
@@ -29,10 +30,10 @@ public class LithiumBladeItem extends SwordItem {
|
||||
|
||||
ItemStack stack = player.getItemInHand(hand);
|
||||
|
||||
ItemStack stack1 = new ItemStack(TFMGItems.LIT_LITHIUM_BLADE.get(), 1, stack.getOrCreateTag());
|
||||
ItemStack stack1 = TFMGItems.LIT_LITHIUM_BLADE.asStack();
|
||||
|
||||
|
||||
Map<Enchantment, Integer> enchantments = stack.getAllEnchantments();
|
||||
Map<Enchantment, Integer> enchantments = EnchantmentHelper.getEnchantments(stack);
|
||||
|
||||
enchantments.forEach(stack1::enchant);
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.mojang.math.Matrix3f;
|
||||
import com.mojang.math.Matrix4f;
|
||||
import com.mojang.math.Vector3f;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||
@@ -13,10 +15,8 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class LithiumSparkRenderer extends EntityRenderer<LithiumSpark> {
|
||||
private static final ResourceLocation TEXTURE_LOCATION = CreateTFMG.asResource("textures/entity/lithium_spark.png");
|
||||
private static final RenderType RENDER_TYPE = RenderType.entityCutoutNoCull(TEXTURE_LOCATION);
|
||||
|
||||
@@ -3,12 +3,12 @@ package com.drmangotea.createindustry.items.weapons.quad_potato_cannon;
|
||||
import com.drmangotea.createindustry.CreateTFMGClient;
|
||||
import com.simibubi.create.content.equipment.zapper.ShootGadgetPacket;
|
||||
import com.simibubi.create.content.equipment.zapper.ShootableGadgetRenderHandler;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
public class QuadPotatoCannonPacket extends ShootGadgetPacket {
|
||||
|
||||
@@ -44,13 +44,13 @@ public class QuadPotatoCannonPacket extends ShootGadgetPacket {
|
||||
}
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
protected void handleAdditional() {
|
||||
CreateTFMGClient.QUAD_POTATO_CANNON_RENDER_HANDLER.beforeShoot(pitch, location, motion, item);
|
||||
}
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
protected ShootableGadgetRenderHandler getHandler() {
|
||||
return CreateTFMGClient.QUAD_POTATO_CANNON_RENDER_HANDLER;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.drmangotea.createindustry.mixins;
|
||||
|
||||
|
||||
import com.drmangotea.createindustry.base.TFMGPipes;
|
||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllTags;
|
||||
import com.simibubi.create.content.fluids.FluidPropagator;
|
||||
@@ -27,9 +26,6 @@ import net.minecraft.world.level.LevelAccessor;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
import net.minecraftforge.common.util.LazyOptional;
|
||||
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
|
||||
import net.minecraftforge.fluids.capability.IFluidHandler;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Overwrite;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
@@ -123,23 +119,13 @@ public class FluidPropagatorMixin {
|
||||
BlockPos connectedPos = pos.relative(side);
|
||||
BlockState connectedState = reader.getBlockState(connectedPos);
|
||||
FluidTransportBehaviour pipe = FluidPropagator.getPipe(reader, connectedPos);
|
||||
if (pipe != null && pipe.canHaveFlowToward(connectedState, side.getOpposite()))
|
||||
return false;
|
||||
if (PumpBlock.isPump(connectedState) && connectedState.getValue(PumpBlock.FACING)
|
||||
.getAxis() == side.getAxis())
|
||||
return false;
|
||||
if (VanillaFluidTargets.shouldPipesConnectTo(connectedState))
|
||||
return true;
|
||||
if (BlockHelper.hasBlockSolidSide(connectedState, reader, connectedPos, side.getOpposite())
|
||||
&& !AllTags.AllBlockTags.FAN_TRANSPARENT.matches(connectedState))
|
||||
return false;
|
||||
if (hasFluidCapability(reader, connectedPos, side.getOpposite()))
|
||||
return false;
|
||||
if (!(connectedState.getMaterial()
|
||||
.isReplaceable() && connectedState.getDestroySpeed(reader, connectedPos) != -1)
|
||||
&& !connectedState.hasProperty(BlockStateProperties.WATERLOGGED))
|
||||
return false;
|
||||
return true;
|
||||
return (pipe == null || !pipe.canHaveFlowToward(connectedState, side.getOpposite()))
|
||||
&& (!PumpBlock.isPump(connectedState) || connectedState.getValue(PumpBlock.FACING).getAxis() != side.getAxis())
|
||||
&& !VanillaFluidTargets.shouldPipesConnectTo(connectedState)
|
||||
&& (!BlockHelper.hasBlockSolidSide(connectedState, reader, connectedPos, side.getOpposite())
|
||||
|| AllTags.AllBlockTags.FAN_TRANSPARENT.matches(connectedState))
|
||||
&& (connectedState.getMaterial().isReplaceable() && connectedState.getDestroySpeed(reader, connectedPos) != -1
|
||||
|| connectedState.hasProperty(BlockStateProperties.WATERLOGGED));
|
||||
}
|
||||
@Shadow
|
||||
public static List<Direction> getPipeConnections(BlockState state, FluidTransportBehaviour pipe) {
|
||||
@@ -153,15 +139,7 @@ public class FluidPropagatorMixin {
|
||||
public static int getPumpRange() {
|
||||
return AllConfigs.server().fluids.mechanicalPumpRange.get();
|
||||
}
|
||||
@Shadow
|
||||
public static boolean hasFluidCapability(BlockGetter world, BlockPos pos, Direction side) {
|
||||
BlockEntity tileEntity = world.getBlockEntity(pos);
|
||||
if (tileEntity == null)
|
||||
return false;
|
||||
LazyOptional<IFluidHandler> capability =
|
||||
tileEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side);
|
||||
return capability.isPresent();
|
||||
}
|
||||
|
||||
@Shadow
|
||||
@Nullable
|
||||
public static Direction.Axis getStraightPipeAxis(BlockState state) {
|
||||
|
||||
@@ -1,127 +0,0 @@
|
||||
package com.drmangotea.createindustry.mixins;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.drmangotea.createindustry.base.TFMGPipeModelData;
|
||||
import com.simibubi.create.content.fluids.FluidTransportBehaviour;
|
||||
import com.simibubi.create.content.fluids.PipeAttachmentModel;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour;
|
||||
import com.simibubi.create.content.fluids.FluidTransportBehaviour.AttachmentTypes;
|
||||
import com.simibubi.create.content.fluids.FluidTransportBehaviour.AttachmentTypes.ComponentPartials;
|
||||
import com.simibubi.create.content.fluids.pipes.FluidPipeBlock;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.model.BakedModelWrapperWithData;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.BlockAndTintGetter;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraftforge.client.ChunkRenderTypeSet;
|
||||
import net.minecraftforge.client.model.data.ModelData;
|
||||
import net.minecraftforge.client.model.data.ModelData.Builder;
|
||||
import net.minecraftforge.client.model.data.ModelProperty;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Overwrite;
|
||||
|
||||
import static net.minecraft.world.level.block.PipeBlock.PROPERTY_BY_DIRECTION;
|
||||
@Mixin(PipeAttachmentModel.class)
|
||||
public class PipeAttachmentModelMixin extends BakedModelWrapperWithData {
|
||||
|
||||
private static final ModelProperty<TFMGPipeModelData> PIPE_PROPERTY = new ModelProperty<>();
|
||||
|
||||
public PipeAttachmentModelMixin(BakedModel template) {
|
||||
super(template);
|
||||
}
|
||||
|
||||
/**
|
||||
* @author DrMangoTea
|
||||
* @reason locked pipes
|
||||
*/
|
||||
@Overwrite( remap = false)
|
||||
protected ModelData.Builder gatherModelData(ModelData.Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state,
|
||||
ModelData blockEntityData) {
|
||||
TFMGPipeModelData data = new TFMGPipeModelData();
|
||||
FluidTransportBehaviour transport = BlockEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE);
|
||||
BracketedBlockEntityBehaviour bracket = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE);
|
||||
|
||||
if (transport != null)
|
||||
for (Direction d : Iterate.directions) {
|
||||
boolean shouldConnect = true;
|
||||
if(world.getBlockState(pos.relative(d)).getBlock() instanceof FluidPipeBlock) {
|
||||
|
||||
if(d.getAxis().isHorizontal())
|
||||
shouldConnect = world.getBlockState(pos.relative(d)).getValue(PROPERTY_BY_DIRECTION.get(d.getOpposite()));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
data.putAttachment(d, transport.getRenderedRimAttachment(world, pos, state, d));
|
||||
|
||||
if(!shouldConnect)
|
||||
if(state.getBlock() instanceof FluidPipeBlock)
|
||||
if(state.getValue(PROPERTY_BY_DIRECTION.get(d)))
|
||||
data.putAttachment(d, FluidTransportBehaviour.AttachmentTypes.RIM);
|
||||
|
||||
}
|
||||
if (bracket != null)
|
||||
data.putBracket(bracket.getBracket());
|
||||
|
||||
data.setEncased(FluidPipeBlock.shouldDrawCasing(world, pos, state));
|
||||
return builder.with(PIPE_PROPERTY, data);
|
||||
}
|
||||
|
||||
@SuppressWarnings("removal")
|
||||
@Override
|
||||
public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) {
|
||||
ChunkRenderTypeSet set = super.getRenderTypes(state, rand, data);
|
||||
if (set.isEmpty()) {
|
||||
return ItemBlockRenderTypes.getRenderLayers(state);
|
||||
}
|
||||
return set;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BakedQuad> getQuads(BlockState state, Direction side, RandomSource rand, ModelData data, RenderType renderType) {
|
||||
List<BakedQuad> quads = super.getQuads(state, side, rand, data, renderType);
|
||||
if (data.has(PIPE_PROPERTY)) {
|
||||
TFMGPipeModelData pipeData = data.get(PIPE_PROPERTY);
|
||||
quads = new ArrayList<>(quads);
|
||||
addQuads(quads, state, side, rand, data, pipeData, renderType);
|
||||
}
|
||||
return quads;
|
||||
}
|
||||
|
||||
private void addQuads(List<BakedQuad> quads, BlockState state, Direction side, RandomSource rand, ModelData data,
|
||||
TFMGPipeModelData pipeData, RenderType renderType) {
|
||||
BakedModel bracket = pipeData.getBracket();
|
||||
if (bracket != null)
|
||||
quads.addAll(bracket.getQuads(state, side, rand, data, renderType));
|
||||
for (Direction d : Iterate.directions) {
|
||||
AttachmentTypes type = pipeData.getAttachment(d);
|
||||
for (ComponentPartials partial : type.partials) {
|
||||
quads.addAll(AllPartialModels.PIPE_ATTACHMENTS.get(partial)
|
||||
.get(d)
|
||||
.get()
|
||||
.getQuads(state, side, rand, data, renderType));
|
||||
}
|
||||
}
|
||||
if (pipeData.isEncased())
|
||||
quads.addAll(AllPartialModels.FLUID_PIPE_CASING.get()
|
||||
.getQuads(state, side, rand, data, renderType));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.Pro
|
||||
import com.simibubi.create.foundation.fluid.CombinedTankWrapper;
|
||||
import com.simibubi.create.foundation.fluid.FluidIngredient;
|
||||
import io.github.fabricators_of_create.porting_lib.transfer.item.RecipeWrapper;
|
||||
import io.github.fabricators_of_create.porting_lib.util.FluidStack;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
||||
@@ -31,10 +32,10 @@ public class CastingRecipe extends ProcessingRecipe<RecipeWrapper> {
|
||||
}
|
||||
|
||||
public boolean matches(CombinedTankWrapper inv, Level worldIn) {
|
||||
if (inv.getFluidInTank(0).getAmount()==0)
|
||||
if (inv.parts.get(0).iterator().next().getAmount() ==0)
|
||||
return false;
|
||||
return fluidIngredients.get(0)
|
||||
.test(inv.getFluidInTank(0));
|
||||
.test(new FluidStack(inv.parts.get(0).iterator().next().getResource(), inv.parts.get(0).iterator().next().getAmount()));
|
||||
}
|
||||
public FluidIngredient getInputFluid(){
|
||||
return getFluidIngredients().get(0);
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.compat.jei.category.CreateRecipeCategory;
|
||||
import com.simibubi.create.foundation.fluid.FluidIngredient;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
import mezz.jei.api.forge.ForgeTypes;
|
||||
import mezz.jei.api.fabric.constants.FabricTypes;
|
||||
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
|
||||
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
||||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
@@ -41,7 +41,7 @@ public class AdvancedDistillationCategory extends CreateRecipeCategory<Distillat
|
||||
builder
|
||||
.addSlot(RecipeIngredientRole.INPUT, 18, 130-yModifier)
|
||||
.setBackground(getRenderedSlot(), -1, -1)
|
||||
.addIngredients(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getInputFluid().getMatchingFluidStacks()))
|
||||
.addIngredients(FabricTypes.FLUID_STACK, withImprovedVisibility(recipe.getInputFluid().getMatchingFluidStacks()))
|
||||
.addTooltipCallback(addFluidTooltip(recipe.getInputFluid().getRequiredAmount()));
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ public class AdvancedDistillationCategory extends CreateRecipeCategory<Distillat
|
||||
builder
|
||||
.addSlot(RecipeIngredientRole.OUTPUT, 105, y)
|
||||
.setBackground(getRenderedSlot(), -1, -1)
|
||||
.addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(i)))
|
||||
.addIngredient(FabricTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(i)))
|
||||
.addTooltipCallback(addFluidTooltip(recipe.getFirstFluidResult().getAmount()));
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.drmangotea.createindustry.registry.TFMGItems;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.compat.jei.category.CreateRecipeCategory;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
import mezz.jei.api.fabric.constants.FabricTypes;
|
||||
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
|
||||
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
||||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
@@ -47,19 +48,19 @@ public class IndustrialBlastingCategory extends CreateRecipeCategory<IndustrialB
|
||||
builder
|
||||
.addSlot(RecipeIngredientRole.OUTPUT,140, 117)
|
||||
.setBackground(getRenderedSlot(), -1, -1)
|
||||
.addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(0)))
|
||||
.addIngredient(FabricTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(0)))
|
||||
.addTooltipCallback(addFluidTooltip(recipe.getFluidResults().get(0).getAmount()));
|
||||
|
||||
builder
|
||||
.addSlot(RecipeIngredientRole.OUTPUT,160, 117)
|
||||
.setBackground(getRenderedSlot(), -1, -1)
|
||||
.addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(1)))
|
||||
.addIngredient(FabricTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(1)))
|
||||
.addTooltipCallback(addFluidTooltip(recipe.getFluidResults().get(1).getAmount()));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(IndustrialBlastingRecipe recipe, IRecipeSlotsView recipeSlotsView, net.minecraft.class_4587 stack, double mouseX, double mouseY) {
|
||||
public void draw(IndustrialBlastingRecipe recipe, IRecipeSlotsView recipeSlotsView, PoseStack stack, double mouseX, double mouseY) {
|
||||
blastFurnace
|
||||
.draw(stack, 50, 135);
|
||||
|
||||
|
||||
@@ -2,24 +2,10 @@ package com.drmangotea.createindustry.recipes.jei.machines;
|
||||
|
||||
|
||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
||||
import com.jozufozu.flywheel.core.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.mojang.math.Vector3f;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.AllSpriteShifts;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
|
||||
import com.simibubi.create.content.processing.burner.BlazeBurnerBlock;
|
||||
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
|
||||
import com.simibubi.create.foundation.render.CachedBufferer;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.LightTexture;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
|
||||
public class CokeOven extends AnimatedKinetics {
|
||||
|
||||
|
||||
@@ -83,8 +83,6 @@ import com.drmangotea.createindustry.blocks.machines.oil_processing.pumpjack.ham
|
||||
import com.drmangotea.createindustry.items.weapons.explosives.napalm.NapalmBombBlock;
|
||||
import com.drmangotea.createindustry.blocks.machines.metal_processing.casting_basin.CastingBasinBlock;
|
||||
import com.drmangotea.createindustry.blocks.machines.metal_processing.casting_spout.CastingSpoutBlock;
|
||||
import com.drmangotea.createindustry.items.CoalCokeBlockItem;
|
||||
import com.drmangotea.createindustry.items.FossilstoneItem;
|
||||
import com.drmangotea.createindustry.blocks.deposits.surface_scanner.SurfaceScannerBlock;
|
||||
import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_furnace.BlastFurnaceOutputBlock;
|
||||
import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_furnace.MoltenMetalBlock;
|
||||
@@ -272,7 +270,7 @@ public class TFMGBlocks {
|
||||
.blockstate(simpleCubeAll("coal_coke_block"))
|
||||
.tag(BlockTags.NEEDS_STONE_TOOL)
|
||||
.tag(Tags.Blocks.STORAGE_BLOCKS)
|
||||
.item(CoalCokeBlockItem::new)
|
||||
.item()
|
||||
.tag(Tags.Items.STORAGE_BLOCKS)
|
||||
.build()
|
||||
.lang("Block of Coal Coke")
|
||||
@@ -325,8 +323,7 @@ public class TFMGBlocks {
|
||||
.properties(p -> p.requiresCorrectToolForDrops())
|
||||
.transform(pickaxeOnly())
|
||||
.blockstate(simpleCubeAll("fossilstone"))
|
||||
.item(FossilstoneItem::new)
|
||||
.build()
|
||||
.simpleItem()
|
||||
.lang("Fossilstone")
|
||||
.register();
|
||||
|
||||
|
||||
@@ -8,5 +8,7 @@ public class TFMGFuels {
|
||||
public void register() {
|
||||
registry.add(TFMGItems.COAL_COKE.get(), 3200);
|
||||
registry.add(TFMGItems.COAL_COKE.get(), 3200);
|
||||
registry.add(TFMGBlocks.COAL_COKE_BLOCK.get().asItem(), 28800);
|
||||
registry.add(TFMGBlocks.FOSSILSTONE.get().asItem(), 4000);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
accessWidener v1 named
|
||||
|
||||
accessible method net/minecraft/tags/FluidTags create (Ljava/lang/String;)Lnet/minecraft/tags/TagKey;
|
||||
accessible method net/minecraft/world/damagesource/DamageSource <init> (Ljava/lang/String;)V
|
||||
|
||||
Reference in New Issue
Block a user