Compare commits

...

3 commits

Author SHA1 Message Date
Ell
ae182423c1 update 2022-01-24 23:25:55 +01:00
Ell
0eb5047de9 actually also do it all here 2022-01-24 23:08:46 +01:00
Ell
87ecc7f74e possibly really fixed #112?? 2022-01-24 23:06:17 +01:00
4 changed files with 12 additions and 10 deletions

View file

@ -13,7 +13,7 @@ apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
version = '1.9.5'
version = '1.9.6'
group = 'de.ellpeck.prettypipes' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'PrettyPipes'

View file

@ -175,7 +175,7 @@ public class ItemTerminalTileEntity extends TileEntity implements INamedContaine
return stack.getCount() - ret.getRight().getCount();
}
protected PlayerEntity[] getLookingPlayers() {
public PlayerEntity[] getLookingPlayers() {
return this.world.getPlayers().stream()
.filter(p -> p.openContainer instanceof ItemTerminalContainer)
.filter(p -> ((ItemTerminalContainer) p.openContainer).tile == this)

View file

@ -39,7 +39,8 @@ public class CraftingTerminalContainer extends ItemTerminalContainer {
this.craftResult = new CraftResultInventory() {
@Override
public void markDirty() {
CraftingTerminalContainer.this.onCraftMatrixChanged(this);
for (PlayerEntity player : CraftingTerminalContainer.this.getTile().getLookingPlayers())
player.openContainer.onCraftMatrixChanged(this);
}
};
this.addSlot(new CraftingResultSlot(player, this.craftInventory, this.craftResult, 0, 25, 77));

View file

@ -2,8 +2,6 @@ package de.ellpeck.prettypipes.terminal.containers;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.CraftingInventory;
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.inventory.container.Container;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.RecipeItemHelper;
import net.minecraftforge.items.ItemStackHandler;
@ -11,9 +9,9 @@ import net.minecraftforge.items.ItemStackHandler;
public class WrappedCraftingInventory extends CraftingInventory {
private final ItemStackHandler items;
private final Container eventHandler;
private final CraftingTerminalContainer eventHandler;
public WrappedCraftingInventory(ItemStackHandler items, Container eventHandlerIn, int width, int height) {
public WrappedCraftingInventory(ItemStackHandler items, CraftingTerminalContainer eventHandlerIn, int width, int height) {
super(eventHandlerIn, width, height);
this.eventHandler = eventHandlerIn;
this.items = items;
@ -49,15 +47,18 @@ public class WrappedCraftingInventory extends CraftingInventory {
public ItemStack decrStackSize(int index, int count) {
ItemStack slotStack = this.items.getStackInSlot(index);
ItemStack ret = !slotStack.isEmpty() && count > 0 ? slotStack.split(count) : ItemStack.EMPTY;
if (!ret.isEmpty())
this.eventHandler.onCraftMatrixChanged(this);
if (!ret.isEmpty()) {
for (PlayerEntity player : this.eventHandler.getTile().getLookingPlayers())
player.openContainer.onCraftMatrixChanged(this);
}
return ret;
}
@Override
public void setInventorySlotContents(int index, ItemStack stack) {
this.items.setStackInSlot(index, stack);
this.eventHandler.onCraftMatrixChanged(this);
for (PlayerEntity player : this.eventHandler.getTile().getLookingPlayers())
player.openContainer.onCraftMatrixChanged(this);
}
@Override