Merge pull request #3633 from refinedmods/release/1.13.0-beta.2
Release v1.13.0-beta.2
This commit is contained in:
11
CHANGELOG.md
11
CHANGELOG.md
@@ -7,6 +7,13 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [1.13.0-beta.2] - 2024-02-16
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed JEI transfer in the Pattern Grid wrongly choosing "Processing" mode.
|
||||||
|
- Fixed JEI transfer not working in single player.
|
||||||
|
|
||||||
## [1.13.0-beta.1] - 2024-02-12
|
## [1.13.0-beta.1] - 2024-02-12
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
@@ -3525,7 +3532,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
|
|
||||||
- Internal test release.
|
- Internal test release.
|
||||||
|
|
||||||
[Unreleased]: https://github.com/refinedmods/refinedstorage/compare/v1.13.0-beta.1...HEAD
|
[Unreleased]: https://github.com/refinedmods/refinedstorage/compare/v1.13.0-beta.2...HEAD
|
||||||
|
|
||||||
|
[1.13.0-beta.2]: https://github.com/refinedmods/refinedstorage/compare/v1.13.0-beta.1...v1.13.0-beta.2
|
||||||
|
|
||||||
[1.13.0-beta.1]: https://github.com/refinedmods/refinedstorage/compare/v1.12.4...v1.13.0-beta.1
|
[1.13.0-beta.1]: https://github.com/refinedmods/refinedstorage/compare/v1.12.4...v1.13.0-beta.1
|
||||||
|
|
||||||
|
@@ -156,6 +156,8 @@ public class CrafterNetworkNode extends NetworkNode implements ICraftingPatternC
|
|||||||
if (network != null) {
|
if (network != null) {
|
||||||
network.getCraftingManager().invalidate();
|
network.getCraftingManager().invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
level.invalidateCapabilities(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -46,7 +46,6 @@ public abstract class NetworkNodeBlock extends BaseBlock implements EntityBlock
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) {
|
public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) {
|
||||||
if (state.getBlock() != newState.getBlock()) {
|
if (state.getBlock() != newState.getBlock()) {
|
||||||
BlockEntity blockEntity = level.getBlockEntity(pos);
|
BlockEntity blockEntity = level.getBlockEntity(pos);
|
||||||
|
@@ -19,7 +19,7 @@ import net.minecraft.client.gui.screens.Screen;
|
|||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.world.inventory.MenuType;
|
import net.minecraft.world.inventory.MenuType;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.item.crafting.Recipe;
|
import net.minecraft.world.item.crafting.RecipeHolder;
|
||||||
import net.neoforged.neoforge.fluids.FluidStack;
|
import net.neoforged.neoforge.fluids.FluidStack;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
@@ -128,9 +128,8 @@ public class GridRecipeTransferHandler implements IRecipeTransferHandler<GridCon
|
|||||||
this.lastTransferTimeMs = System.currentTimeMillis();
|
this.lastTransferTimeMs = System.currentTimeMillis();
|
||||||
|
|
||||||
boolean isCraftingRecipe = false;
|
boolean isCraftingRecipe = false;
|
||||||
if(recipe instanceof Recipe<?> castRecipe)
|
if (recipe instanceof RecipeHolder<?> castRecipe) {
|
||||||
{
|
isCraftingRecipe = castRecipe.value().getType() == net.minecraft.world.item.crafting.RecipeType.CRAFTING;
|
||||||
isCraftingRecipe = castRecipe.getType() == net.minecraft.world.item.crafting.RecipeType.CRAFTING;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gridContainer.getGrid().getGridType() == GridType.PATTERN && !isCraftingRecipe) {
|
if (gridContainer.getGrid().getGridType() == GridType.PATTERN && !isCraftingRecipe) {
|
||||||
@@ -142,7 +141,6 @@ public class GridRecipeTransferHandler implements IRecipeTransferHandler<GridCon
|
|||||||
|
|
||||||
private void move(IRecipeSlotsView recipeSlotsView) {
|
private void move(IRecipeSlotsView recipeSlotsView) {
|
||||||
List<List<ItemStack>> inputs = recipeSlotsView.getSlotViews(RecipeIngredientRole.INPUT).stream().map(view -> {
|
List<List<ItemStack>> inputs = recipeSlotsView.getSlotViews(RecipeIngredientRole.INPUT).stream().map(view -> {
|
||||||
|
|
||||||
//Creating a mutable list
|
//Creating a mutable list
|
||||||
List<ItemStack> stacks = view.getItemStacks().collect(Collectors.toCollection(ArrayList::new));
|
List<ItemStack> stacks = view.getItemStacks().collect(Collectors.toCollection(ArrayList::new));
|
||||||
|
|
||||||
@@ -158,7 +156,12 @@ public class GridRecipeTransferHandler implements IRecipeTransferHandler<GridCon
|
|||||||
return stacks;
|
return stacks;
|
||||||
}).toList();
|
}).toList();
|
||||||
|
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridTransferMessage(inputs));
|
final ItemStack[][] inputsArray = new ItemStack[inputs.size()][];
|
||||||
|
for (int i = 0; i < inputs.size(); i++) {
|
||||||
|
inputsArray[i] = inputs.get(i).toArray(new ItemStack[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
RS.NETWORK_HANDLER.sendToServer(new GridTransferMessage(inputsArray));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void moveForProcessing(IRecipeSlotsView recipeLayout, GridContainerMenu gridContainer, Player player) {
|
private void moveForProcessing(IRecipeSlotsView recipeLayout, GridContainerMenu gridContainer, Player player) {
|
||||||
|
@@ -16,30 +16,23 @@ import java.util.List;
|
|||||||
public class GridTransferMessage implements CustomPacketPayload {
|
public class GridTransferMessage implements CustomPacketPayload {
|
||||||
public static final ResourceLocation ID = new ResourceLocation(RS.ID, "grid_transfer");
|
public static final ResourceLocation ID = new ResourceLocation(RS.ID, "grid_transfer");
|
||||||
|
|
||||||
private ItemStack[][] recipe;
|
private final ItemStack[][] recipe;
|
||||||
private List<List<ItemStack>> inputs;
|
|
||||||
|
|
||||||
public GridTransferMessage() {
|
public GridTransferMessage(final ItemStack[][] recipe) {
|
||||||
}
|
this.recipe = recipe;
|
||||||
|
|
||||||
public GridTransferMessage(List<List<ItemStack>> inputs) {
|
|
||||||
this.inputs = inputs;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GridTransferMessage decode(FriendlyByteBuf buf) {
|
public static GridTransferMessage decode(FriendlyByteBuf buf) {
|
||||||
GridTransferMessage msg = new GridTransferMessage();
|
|
||||||
int slots = buf.readInt();
|
int slots = buf.readInt();
|
||||||
msg.recipe = new ItemStack[slots][];
|
final ItemStack[][] recipe = new ItemStack[slots][];
|
||||||
for (int i = 0; i < slots; i++) {
|
for (int i = 0; i < slots; i++) {
|
||||||
int numberOfIngredients = buf.readInt();
|
int numberOfIngredients = buf.readInt();
|
||||||
msg.recipe[i] = new ItemStack[numberOfIngredients];
|
recipe[i] = new ItemStack[numberOfIngredients];
|
||||||
|
|
||||||
for (int j = 0; j < numberOfIngredients; j++) {
|
for (int j = 0; j < numberOfIngredients; j++) {
|
||||||
msg.recipe[i][j] = StackUtils.readItemStack(buf);
|
recipe[i][j] = StackUtils.readItemStack(buf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return new GridTransferMessage(recipe);
|
||||||
return msg;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void handle(GridTransferMessage message, PlayPayloadContext ctx) {
|
public static void handle(GridTransferMessage message, PlayPayloadContext ctx) {
|
||||||
@@ -56,10 +49,9 @@ public class GridTransferMessage implements CustomPacketPayload {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(FriendlyByteBuf buf) {
|
public void write(FriendlyByteBuf buf) {
|
||||||
buf.writeInt(inputs.size());
|
buf.writeInt(recipe.length);
|
||||||
for (List<ItemStack> stacks : inputs) {
|
for (ItemStack[] stacks : recipe) {
|
||||||
buf.writeInt(stacks.size());
|
buf.writeInt(stacks.length);
|
||||||
|
|
||||||
for (ItemStack possibleStack : stacks) {
|
for (ItemStack possibleStack : stacks) {
|
||||||
StackUtils.writeItemStack(buf, possibleStack);
|
StackUtils.writeItemStack(buf, possibleStack);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user