Skip to content

Commit 53ee9a1

Browse files
committed
Update a lot of transfer; no need for fabric transfer anymore
1 parent 66079b4 commit 53ee9a1

140 files changed

Lines changed: 1239 additions & 3887 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/client/java/aztech/modern_industrialization/client/blocks/storage/barrel/BarrelRenderer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import aztech.modern_industrialization.blocks.storage.barrel.BarrelBlockEntity;
2828
import aztech.modern_industrialization.client.util.RenderHelper;
2929
import aztech.modern_industrialization.config.MIClientConfig;
30-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.item.ItemVariant;
3130
import com.mojang.blaze3d.vertex.PoseStack;
3231
import com.mojang.math.Axis;
3332
import net.minecraft.client.Minecraft;
@@ -69,7 +68,7 @@ public void extractRenderState(BarrelBlockEntity barrel, BarrelRenderState state
6968
BlockEntityRenderer.super.extractRenderState(barrel, state, partialTicks, cameraPosition, breakProgress);
7069
state.locked = barrel.isLocked();
7170
this.itemModelResolver.updateForTopItem(
72-
state.stackRenderState, barrel.getResource().toStack(), ItemDisplayContext.GUI, barrel.getLevel(), null, 0);
71+
state.stackRenderState, barrel.getResource(0).toStack(), ItemDisplayContext.GUI, barrel.getLevel(), null, 0);
7372
}
7473

7574
@Override

src/client/java/aztech/modern_industrialization/client/blocks/storage/tank/TankRenderState.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package aztech.modern_industrialization.client.blocks.storage.tank;
22

3-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.fluid.FluidVariant;
43
import net.minecraft.client.renderer.blockentity.state.BlockEntityRenderState;
4+
import net.neoforged.neoforge.transfer.fluid.FluidResource;
55

66
public class TankRenderState extends BlockEntityRenderState {
7-
public FluidVariant resource = FluidVariant.blank();
7+
public FluidResource resource = FluidResource.EMPTY;
88
public int fluidColor;
99
public float fillLevel;
1010
public boolean locked;

src/client/java/aztech/modern_industrialization/client/blocks/storage/tank/TankRenderer.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
package aztech.modern_industrialization.client.blocks.storage.tank;
2626

2727
import aztech.modern_industrialization.blocks.storage.tank.AbstractTankBlockEntity;
28-
import aztech.modern_industrialization.client.thirdparty.fabrictransfer.FluidVariantRendering;
2928
import aztech.modern_industrialization.client.util.RenderHelper;
3029
import com.mojang.blaze3d.vertex.PoseStack;
3130
import net.minecraft.client.renderer.MultiBufferSource;
@@ -51,13 +50,13 @@ public TankRenderState createRenderState() {
5150
@Override
5251
public void extractRenderState(AbstractTankBlockEntity tank, TankRenderState state, float partialTicks, Vec3 cameraPosition, ModelFeatureRenderer.@Nullable CrumblingOverlay breakProgress) {
5352
BlockEntityRenderer.super.extractRenderState(tank, state, partialTicks, cameraPosition, breakProgress);
54-
state.resource = tank.getResource();
55-
state.fluidColor = FluidVariantRendering.getColor(state.resource, tank.getLevel(), tank.getBlockPos());;
56-
if (!tank.getResource().isBlank()) {
53+
state.resource = tank.getResource(0);
54+
state.fluidColor = RenderHelper.getFluidColor(state.resource, tank.getLevel(), tank.getBlockPos());;
55+
if (!tank.getResource(0).isEmpty()) {
5756
if (tank.behaviour.isCreative()) {
5857
state.fillLevel = 1;
59-
} else if (tank.getAmount() > 0) {
60-
state.fillLevel = (float) tank.getAmount() / tank.getCapacity();
58+
} else if (tank.getAmountAsLong(0) > 0) {
59+
state.fillLevel = (float) tank.getAmountAsLong(0) / tank.getCapacityAsLong(0, state.resource);
6160
} else if (tank.isLocked()) {
6261
state.fillLevel = 0.01f;
6362
} else {
@@ -69,7 +68,7 @@ public void extractRenderState(AbstractTankBlockEntity tank, TankRenderState sta
6968

7069
@Override
7170
public void submit(TankRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) {
72-
if (!state.resource.isBlank() && state.fillLevel > 0) {
71+
if (!state.resource.isEmpty() && state.fillLevel > 0) {
7372
RenderHelper.drawFluidInTank(poseStack, submitNodeCollector, state.resource, state.fillLevel, state.fluidColor);
7473
}
7574
if (state.locked) {

src/client/java/aztech/modern_industrialization/client/compat/jade/PipeComponentProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import aztech.modern_industrialization.pipes.impl.PipeBlockEntity;
3333
import aztech.modern_industrialization.pipes.impl.PipeVoxelShape;
3434
import aztech.modern_industrialization.pipes.item.ItemNetwork;
35-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.fluid.FluidVariant;
3635
import aztech.modern_industrialization.util.FluidHelper;
3736
import java.util.List;
3837
import net.minecraft.ChatFormatting;
@@ -42,6 +41,7 @@
4241
import net.minecraft.resources.Identifier;
4342
import net.minecraft.world.phys.AABB;
4443
import net.minecraft.world.phys.Vec3;
44+
import net.neoforged.neoforge.transfer.fluid.FluidResource;
4545
import org.jspecify.annotations.Nullable;
4646
import snownee.jade.api.BlockAccessor;
4747
import snownee.jade.api.IBlockComponentProvider;
@@ -83,7 +83,7 @@ public void appendTooltip(ITooltip tooltip, BlockAccessor accessor, IPluginConfi
8383
if (shape != null) {
8484
CompoundTag tag = accessor.getServerData().getCompoundOrEmpty(shape.type.getIdentifier().toString());
8585
if (tag.contains("fluid")) {
86-
FluidVariant fluid = FluidVariant.fromNbt(tag.getCompoundOrEmpty("fluid"), accessor.getLevel().registryAccess());
86+
FluidResource fluid = tag.read("fluid", FluidResource.OPTIONAL_CODEC).orElse(FluidResource.EMPTY);
8787
long stored = tag.getLongOr("amount", 0);
8888
long capacity = tag.getIntOr("capacity", 0);
8989
long transfer = tag.getLongOr("transfer", 0);
@@ -96,7 +96,7 @@ public void appendTooltip(ITooltip tooltip, BlockAccessor accessor, IPluginConfi
9696
var capacityText = MIJadeClientPlugin.getUnicodeMillibuckets(capacity, true);
9797

9898
Component text;
99-
if (fluid.isBlank()) {
99+
if (fluid.isEmpty()) {
100100
text = Component.translatable("jade.fluid", MIText.Empty.text(), Component.literal(capacityText).withStyle(ChatFormatting.GRAY));
101101
} else if (accessor.showDetails()) {
102102
text = Component.translatable("jade.fluid2", fluidName.withStyle(ChatFormatting.WHITE),
@@ -115,7 +115,7 @@ public void appendTooltip(ITooltip tooltip, BlockAccessor accessor, IPluginConfi
115115
// true));
116116

117117
// Transfer rate
118-
if (!fluid.isBlank()) {
118+
if (!fluid.isEmpty()) {
119119
var transferText = MIJadeClientPlugin.getUnicodeMillibuckets(transfer, true);
120120
var maxTransferText = MIJadeClientPlugin.getUnicodeMillibuckets(maxTransfer, true);
121121

src/client/java/aztech/modern_industrialization/client/compat/viewer/abstraction/ViewerCategory.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@
2525
package aztech.modern_industrialization.client.compat.viewer.abstraction;
2626

2727
import aztech.modern_industrialization.MI;
28-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.fluid.FluidVariant;
29-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.storage.TransferVariant;
3028
import aztech.modern_industrialization.util.Rectangle;
3129
import java.util.List;
3230
import java.util.function.Consumer;
@@ -40,6 +38,8 @@
4038
import net.minecraft.world.item.crafting.RecipeMap;
4139
import net.minecraft.world.level.ItemLike;
4240
import net.neoforged.neoforge.fluids.crafting.FluidIngredient;
41+
import net.neoforged.neoforge.transfer.fluid.FluidResource;
42+
import net.neoforged.neoforge.transfer.resource.Resource;
4343
import org.jspecify.annotations.Nullable;
4444

4545
/**
@@ -112,9 +112,9 @@ public interface LayoutBuilder {
112112
}
113113

114114
public interface SlotBuilder {
115-
SlotBuilder variant(TransferVariant<?> variant); // no amount is shown
115+
SlotBuilder resource(Resource variant); // no amount is shown
116116

117-
SlotBuilder fluid(FluidVariant fluid, long amount, float probability);
117+
SlotBuilder fluid(FluidResource fluid, long amount, float probability);
118118

119119
SlotBuilder fluid(FluidIngredient ingredient, long amount, float probability);
120120

@@ -132,12 +132,12 @@ default SlotBuilder item(ItemStack stack) {
132132

133133
class NoOp implements SlotBuilder {
134134
@Override
135-
public SlotBuilder variant(TransferVariant<?> variant) {
135+
public SlotBuilder resource(Resource resource) {
136136
return this;
137137
}
138138

139139
@Override
140-
public SlotBuilder fluid(FluidVariant fluid, long amount, float probability) {
140+
public SlotBuilder fluid(FluidResource fluid, long amount, float probability) {
141141
return this;
142142
}
143143

src/client/java/aztech/modern_industrialization/client/compat/viewer/impl/jei/MIGhostIngredientHandler.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
import aztech.modern_industrialization.client.screen.MIContainerScreen;
2828
import aztech.modern_industrialization.compat.viewer.ReiDraggable;
2929
import aztech.modern_industrialization.network.machines.DoSlotDraggingPacket;
30-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.fluid.FluidVariant;
31-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.item.ItemVariant;
3230
import aztech.modern_industrialization.util.Simulation;
3331
import java.util.ArrayList;
3432
import java.util.List;
@@ -41,15 +39,17 @@
4139
import net.minecraft.world.inventory.Slot;
4240
import net.minecraft.world.item.ItemStack;
4341
import net.neoforged.neoforge.fluids.FluidStack;
42+
import net.neoforged.neoforge.transfer.fluid.FluidResource;
43+
import net.neoforged.neoforge.transfer.item.ItemResource;
4444

4545
class MIGhostIngredientHandler implements IGhostIngredientHandler<MIContainerScreen<?>> {
4646
@Override
4747
public <I> List<Target<I>> getTargetsTyped(MIContainerScreen<?> gui, ITypedIngredient<I> typedIngredient, boolean doStart) {
4848
var ingredient = typedIngredient.getIngredient();
4949
List<Target<I>> bounds = new ArrayList<>();
5050

51-
FluidVariant fk = ingredient instanceof FluidStack fs ? FluidVariant.of(fs) : null;
52-
ItemVariant ik = ingredient instanceof ItemStack is ? ItemVariant.of(is) : null;
51+
FluidResource fk = ingredient instanceof FluidStack fs ? FluidResource.of(fs) : null;
52+
ItemResource ik = ingredient instanceof ItemStack is ? ItemResource.of(is) : null;
5353
for (GuiEventListener element : gui.children()) {
5454
if (element instanceof AbstractWidget cw && element instanceof ReiDraggable dw) {
5555
if (ik != null && dw.dragItem(ik, Simulation.SIMULATE)) {

src/client/java/aztech/modern_industrialization/client/compat/viewer/impl/jei/MachineGuiContainerHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public Optional<IClickableIngredient<?>> getClickableIngredientUnderMouse(IClick
124124
ConfigurableFluidStack stack = ((ConfigurableFluidStack.ConfigurableFluidSlot) slot).getConfStack();
125125
if (stack.getAmount() > 0) {
126126
var fluid = stack.getResource();
127-
if (!fluid.isBlank()) {
127+
if (!fluid.isEmpty()) {
128128
return fluid.toStack(1);
129129
}
130130
} else if (stack.getLockedInstance() != null) {

src/client/java/aztech/modern_industrialization/client/compat/viewer/impl/jei/ViewerCategoryJei.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@
2828
import aztech.modern_industrialization.client.compat.viewer.abstraction.ViewerCategory;
2929
import aztech.modern_industrialization.client.compat.viewer.impl.ViewerUtil;
3030
import aztech.modern_industrialization.client.machines.gui.MachineScreen;
31-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.fluid.FluidVariant;
32-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.item.ItemVariant;
33-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.storage.TransferVariant;
3431
import java.util.List;
3532
import java.util.Objects;
3633
import java.util.function.Consumer;
@@ -60,6 +57,9 @@
6057
import net.neoforged.neoforge.fluids.FluidType;
6158
import net.neoforged.neoforge.fluids.crafting.FluidIngredient;
6259
import net.neoforged.neoforge.fluids.crafting.display.FluidStackContentsFactory;
60+
import net.neoforged.neoforge.transfer.fluid.FluidResource;
61+
import net.neoforged.neoforge.transfer.item.ItemResource;
62+
import net.neoforged.neoforge.transfer.resource.Resource;
6363
import org.jspecify.annotations.Nullable;
6464

6565
class ViewerCategoryJei<D> extends AbstractRecipeCategory<D> {
@@ -122,17 +122,17 @@ private ViewerCategory.SlotBuilder slot(RecipeIngredientRole role, int x, int y)
122122

123123
return new ViewerCategory.SlotBuilder() {
124124
@Override
125-
public ViewerCategory.SlotBuilder variant(TransferVariant<?> variant) {
126-
if (variant instanceof ItemVariant item) {
125+
public ViewerCategory.SlotBuilder resource(Resource resource) {
126+
if (resource instanceof ItemResource item) {
127127
item(item.toStack());
128-
} else if (variant instanceof FluidVariant fluid) {
129-
if (!fluid.isBlank()) {
128+
} else if (resource instanceof FluidResource fluid) {
129+
if (!fluid.isEmpty()) {
130130
// Use 1000 as the amount to make JEI render the full sprite
131131
slotBuilder.add(fluid.getFluid(), FluidType.BUCKET_VOLUME, fluid.getComponentsPatch());
132132
}
133133
slotBuilder.setBackground(fluidSlot, -1, -1);
134134
} else {
135-
throw new IllegalArgumentException("Unknown variant type: " + variant.getClass());
135+
throw new IllegalArgumentException("Unknown resource type: " + resource.getClass());
136136
}
137137
return this;
138138
}
@@ -148,7 +148,7 @@ private static void addProbability(IRecipeSlotBuilder slot, float probability) {
148148
}
149149

150150
@Override
151-
public ViewerCategory.SlotBuilder fluid(FluidVariant fluid, long amount, float probability) {
151+
public ViewerCategory.SlotBuilder fluid(FluidResource fluid, long amount, float probability) {
152152
slotBuilder.add(fluid.getFluid(), amount, fluid.getComponentsPatch());
153153
// This call displays the full sprite (instead of JEI's partial rendering)
154154
slotBuilder.setFluidRenderer(1, false, 16, 16);

src/client/java/aztech/modern_industrialization/client/compat/viewer/usage/FluidFuelsCategory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import aztech.modern_industrialization.api.datamaps.FluidFuel;
3232
import aztech.modern_industrialization.api.datamaps.MIDataMaps;
3333
import aztech.modern_industrialization.client.compat.viewer.abstraction.ViewerCategory;
34-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.fluid.FluidVariant;
3534
import java.util.function.Consumer;
3635
import net.minecraft.core.RegistryAccess;
3736
import net.minecraft.core.registries.BuiltInRegistries;
@@ -40,6 +39,7 @@
4039
import net.minecraft.resources.Identifier;
4140
import net.minecraft.world.item.crafting.RecipeMap;
4241
import net.minecraft.world.level.material.Fluid;
42+
import net.neoforged.neoforge.transfer.fluid.FluidResource;
4343

4444
public class FluidFuelsCategory extends ViewerCategory<Fluid> {
4545
public FluidFuelsCategory() {
@@ -66,7 +66,7 @@ public void buildRecipes(RecipeMap recipeMap, RegistryAccess registryAccess, Con
6666

6767
@Override
6868
public void buildLayout(Fluid recipe, LayoutBuilder builder) {
69-
builder.inputSlot(15, 10).variant(FluidVariant.of(recipe));
69+
builder.inputSlot(15, 10).resource(FluidResource.of(recipe));
7070
}
7171

7272
@Override

src/client/java/aztech/modern_industrialization/client/compat/viewer/usage/MachineCategory.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import aztech.modern_industrialization.inventory.SlotPositions;
4040
import aztech.modern_industrialization.machines.init.MachineTier;
4141
import aztech.modern_industrialization.machines.recipe.MachineRecipe;
42-
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.fluid.FluidVariant;
4342
import aztech.modern_industrialization.util.TextHelper;
4443
import java.util.ArrayList;
4544
import java.util.Comparator;
@@ -56,6 +55,7 @@
5655
import net.minecraft.world.item.ItemStack;
5756
import net.minecraft.world.item.crafting.RecipeHolder;
5857
import net.minecraft.world.item.crafting.RecipeMap;
58+
import net.neoforged.neoforge.transfer.fluid.FluidResource;
5959

6060
public class MachineCategory extends ViewerCategory<RecipeHolder<MachineRecipe>> {
6161
public static MachineCategory create(MachineCategoryParams params) {
@@ -154,7 +154,7 @@ private void addFluidInputs(LayoutBuilder builder, MachineRecipe recipe) {
154154
var input = recipe.fluidInputs.get(i);
155155
slot.fluid(input.fluid(), input.amount(), input.probability());
156156
} else {
157-
slot.variant(FluidVariant.blank());
157+
slot.resource(FluidResource.EMPTY);
158158
}
159159
}
160160
}
@@ -170,9 +170,9 @@ private void addFluidOutputs(LayoutBuilder builder, MachineRecipe recipe) {
170170

171171
if (i < recipe.fluidOutputs.size()) {
172172
var output = recipe.fluidOutputs.get(i);
173-
slot.fluid(FluidVariant.of(output.fluid()), output.amount(), output.probability());
173+
slot.fluid(FluidResource.of(output.fluid()), output.amount(), output.probability());
174174
} else {
175-
slot.variant(FluidVariant.blank());
175+
slot.resource(FluidResource.EMPTY);
176176
}
177177
}
178178
}

0 commit comments

Comments
 (0)