make AWBs only accept recipe-relevant items again, restore Java 6 compat, fix #2765
This commit is contained in:
parent
1e3f270d5c
commit
7e16217021
2 changed files with 18 additions and 14 deletions
|
@ -11,7 +11,7 @@ package buildcraft;
|
||||||
import java.util.EnumMap;
|
import java.util.EnumMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Queue;
|
import java.util.Queue;
|
||||||
import java.util.concurrent.ConcurrentLinkedDeque;
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||||
|
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
@ -116,7 +116,7 @@ public class BuildCraftMod {
|
||||||
}
|
}
|
||||||
|
|
||||||
static class PacketSender implements Runnable {
|
static class PacketSender implements Runnable {
|
||||||
private Queue<SendRequest> packets = new ConcurrentLinkedDeque<SendRequest>();
|
private Queue<SendRequest> packets = new ConcurrentLinkedQueue<SendRequest>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -131,7 +131,8 @@ public class BuildCraftMod {
|
||||||
SendRequest r = packets.remove();
|
SendRequest r = packets.remove();
|
||||||
S3FPacketCustomPayload packetCustomPayload = new S3FPacketCustomPayload();
|
S3FPacketCustomPayload packetCustomPayload = new S3FPacketCustomPayload();
|
||||||
net.minecraft.network.Packet p = r.source.channels.get(Side.SERVER).generatePacketFrom(r.packet);
|
net.minecraft.network.Packet p = r.source.channels.get(Side.SERVER).generatePacketFrom(r.packet);
|
||||||
for (EntityPlayerMP player : (List<EntityPlayerMP>) MinecraftServer.getServer().getConfigurationManager().playerEntityList) {
|
List<EntityPlayerMP> playerList = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
|
||||||
|
for (EntityPlayerMP player : playerList.toArray(new EntityPlayerMP[playerList.size()])) {
|
||||||
if (r.isValid(player)) {
|
if (r.isValid(player)) {
|
||||||
NetHandlerPlayServer handler = player.playerNetServerHandler;
|
NetHandlerPlayServer handler = player.playerNetServerHandler;
|
||||||
if (handler == null) {
|
if (handler == null) {
|
||||||
|
@ -183,16 +184,6 @@ public class BuildCraftMod {
|
||||||
sender.add(new PlayerSendRequest(this, packet, entityplayer));
|
sender.add(new PlayerSendRequest(this, packet, entityplayer));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* public void sendToAll(Packet packet) {
|
|
||||||
try {
|
|
||||||
channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET)
|
|
||||||
.set(FMLOutboundHandler.OutboundTarget.ALL);
|
|
||||||
channels.get(Side.SERVER).writeOutbound(packet);
|
|
||||||
} catch (Throwable t) {
|
|
||||||
BCLog.logger.log(Level.WARN, "sendToAll crash", t);
|
|
||||||
}
|
|
||||||
} */
|
|
||||||
|
|
||||||
public void sendToServer(Packet packet) {
|
public void sendToServer(Packet packet) {
|
||||||
try {
|
try {
|
||||||
channels.get(Side.CLIENT).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(OutboundTarget.TOSERVER);
|
channels.get(Side.CLIENT).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(OutboundTarget.TOSERVER);
|
||||||
|
|
|
@ -428,7 +428,20 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canInsertItem(int slot, ItemStack stack, int side) {
|
public boolean canInsertItem(int slot, ItemStack stack, int side) {
|
||||||
return slot < 9;
|
if (slot >= 9) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
ItemStack slotStack = inv.getStackInSlot(slot);
|
||||||
|
if (StackHelper.canStacksMerge(stack, slotStack)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < 9; i++) {
|
||||||
|
ItemStack inputStack = craftMatrix.getStackInSlot(i);
|
||||||
|
if (inputStack != null && StackHelper.isMatchingItem(inputStack, stack, true, false)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue