Initial work on shift clicking support
This commit is contained in:
@@ -1,5 +1,14 @@
|
|||||||
# Refined Storage Changelog
|
# Refined Storage Changelog
|
||||||
|
|
||||||
|
### 0.7.14
|
||||||
|
**Bugfixes**
|
||||||
|
- Fixed item overflow bug with storage drawers and external storage
|
||||||
|
|
||||||
|
**Features**
|
||||||
|
- Added shift clicking support to every inventory (for upgrades etc)
|
||||||
|
- Tweaked some recipes
|
||||||
|
- Tweaked some energy usage in machines
|
||||||
|
|
||||||
### 0.7.13
|
### 0.7.13
|
||||||
**Features**
|
**Features**
|
||||||
- Added ability to triple click in grid
|
- Added ability to triple click in grid
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
package refinedstorage.container;
|
package refinedstorage.container;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.inventory.Slot;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.items.SlotItemHandler;
|
import net.minecraftforge.items.SlotItemHandler;
|
||||||
import refinedstorage.container.slot.SlotSpecimen;
|
import refinedstorage.container.slot.SlotSpecimen;
|
||||||
import refinedstorage.tile.TileConstructor;
|
import refinedstorage.tile.TileConstructor;
|
||||||
@@ -9,12 +11,39 @@ public class ContainerConstructor extends ContainerBase {
|
|||||||
public ContainerConstructor(EntityPlayer player, TileConstructor constructor) {
|
public ContainerConstructor(EntityPlayer player, TileConstructor constructor) {
|
||||||
super(player);
|
super(player);
|
||||||
|
|
||||||
addSlotToContainer(new SlotSpecimen(constructor.getFilter(), 0, 80, 20, SlotSpecimen.SPECIMEN_BLOCK));
|
|
||||||
|
|
||||||
for (int i = 0; i < 4; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
addSlotToContainer(new SlotItemHandler(constructor.getUpgrades(), i, 187, 6 + (i * 18)));
|
addSlotToContainer(new SlotItemHandler(constructor.getUpgrades(), i, 187, 6 + (i * 18)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addSlotToContainer(new SlotSpecimen(constructor.getFilter(), 0, 80, 20, SlotSpecimen.SPECIMEN_BLOCK));
|
||||||
|
|
||||||
addPlayerInventory(8, 55);
|
addPlayerInventory(8, 55);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack transferStackInSlot(EntityPlayer player, int index) {
|
||||||
|
ItemStack stack = null;
|
||||||
|
|
||||||
|
Slot slot = getSlot(index);
|
||||||
|
|
||||||
|
if (slot != null && slot.getHasStack()) {
|
||||||
|
stack = slot.getStack().copy();
|
||||||
|
|
||||||
|
if (index < 4) {
|
||||||
|
if (!mergeItemStack(stack, 4 + 1, inventorySlots.size(), false)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} else if (!mergeItemStack(stack, 0, 4, false)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stack.stackSize == 0) {
|
||||||
|
slot.putStack(null);
|
||||||
|
} else {
|
||||||
|
slot.onSlotChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -30,11 +30,11 @@ public class ContainerCrafter extends ContainerStorage {
|
|||||||
if (slot != null && slot.getHasStack()) {
|
if (slot != null && slot.getHasStack()) {
|
||||||
stack = slot.getStack().copy();
|
stack = slot.getStack().copy();
|
||||||
|
|
||||||
if (index < 8) {
|
if (index < 9 + 4) {
|
||||||
if (!mergeItemStack(stack, 9, inventorySlots.size(), true)) {
|
if (!mergeItemStack(stack, 9 + 4 + 1, inventorySlots.size(), false)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else if (!mergeItemStack(stack, 0, 9, false)) {
|
} else if (!mergeItemStack(stack, 0, 9 + 4, false)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
package refinedstorage.container;
|
package refinedstorage.container;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.inventory.Slot;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.items.SlotItemHandler;
|
import net.minecraftforge.items.SlotItemHandler;
|
||||||
import refinedstorage.container.slot.SlotSpecimen;
|
import refinedstorage.container.slot.SlotSpecimen;
|
||||||
import refinedstorage.tile.TileDestructor;
|
import refinedstorage.tile.TileDestructor;
|
||||||
@@ -9,14 +11,41 @@ public class ContainerDestructor extends ContainerBase {
|
|||||||
public ContainerDestructor(EntityPlayer player, TileDestructor destructor) {
|
public ContainerDestructor(EntityPlayer player, TileDestructor destructor) {
|
||||||
super(player);
|
super(player);
|
||||||
|
|
||||||
for (int i = 0; i < 9; ++i) {
|
|
||||||
addSlotToContainer(new SlotSpecimen(destructor.getInventory(), i, 8 + (18 * i), 20, SlotSpecimen.SPECIMEN_BLOCK));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < 4; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
addSlotToContainer(new SlotItemHandler(destructor.getUpgrades(), i, 187, 6 + (i * 18)));
|
addSlotToContainer(new SlotItemHandler(destructor.getUpgrades(), i, 187, 6 + (i * 18)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 9; ++i) {
|
||||||
|
addSlotToContainer(new SlotSpecimen(destructor.getInventory(), i, 8 + (18 * i), 20, SlotSpecimen.SPECIMEN_BLOCK));
|
||||||
|
}
|
||||||
|
|
||||||
addPlayerInventory(8, 55);
|
addPlayerInventory(8, 55);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack transferStackInSlot(EntityPlayer player, int index) {
|
||||||
|
ItemStack stack = null;
|
||||||
|
|
||||||
|
Slot slot = getSlot(index);
|
||||||
|
|
||||||
|
if (slot != null && slot.getHasStack()) {
|
||||||
|
stack = slot.getStack().copy();
|
||||||
|
|
||||||
|
if (index < 4) {
|
||||||
|
if (!mergeItemStack(stack, 4 + 9, inventorySlots.size(), false)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} else if (!mergeItemStack(stack, 0, 4, false)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stack.stackSize == 0) {
|
||||||
|
slot.putStack(null);
|
||||||
|
} else {
|
||||||
|
slot.onSlotChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -31,7 +31,7 @@ public class ContainerDiskDrive extends ContainerStorage {
|
|||||||
stack = slot.getStack().copy();
|
stack = slot.getStack().copy();
|
||||||
|
|
||||||
if (index < 8) {
|
if (index < 8) {
|
||||||
if (!mergeItemStack(stack, 8, inventorySlots.size(), true)) {
|
if (!mergeItemStack(stack, 8 + 9 + 1, inventorySlots.size(), false)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else if (!mergeItemStack(stack, 0, 8, false)) {
|
} else if (!mergeItemStack(stack, 0, 8, false)) {
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
package refinedstorage.container;
|
package refinedstorage.container;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.inventory.Slot;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.items.SlotItemHandler;
|
import net.minecraftforge.items.SlotItemHandler;
|
||||||
import refinedstorage.container.slot.SlotSpecimen;
|
import refinedstorage.container.slot.SlotSpecimen;
|
||||||
import refinedstorage.tile.TileExporter;
|
import refinedstorage.tile.TileExporter;
|
||||||
@@ -9,14 +11,41 @@ public class ContainerExporter extends ContainerBase {
|
|||||||
public ContainerExporter(EntityPlayer player, TileExporter exporter) {
|
public ContainerExporter(EntityPlayer player, TileExporter exporter) {
|
||||||
super(player);
|
super(player);
|
||||||
|
|
||||||
for (int i = 0; i < 9; ++i) {
|
|
||||||
addSlotToContainer(new SlotSpecimen(exporter.getFilters(), i, 8 + (18 * i), 20));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < 4; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
addSlotToContainer(new SlotItemHandler(exporter.getUpgrades(), i, 187, 6 + (i * 18)));
|
addSlotToContainer(new SlotItemHandler(exporter.getUpgrades(), i, 187, 6 + (i * 18)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 9; ++i) {
|
||||||
|
addSlotToContainer(new SlotSpecimen(exporter.getFilters(), i, 8 + (18 * i), 20));
|
||||||
|
}
|
||||||
|
|
||||||
addPlayerInventory(8, 55);
|
addPlayerInventory(8, 55);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack transferStackInSlot(EntityPlayer player, int index) {
|
||||||
|
ItemStack stack = null;
|
||||||
|
|
||||||
|
Slot slot = getSlot(index);
|
||||||
|
|
||||||
|
if (slot != null && slot.getHasStack()) {
|
||||||
|
stack = slot.getStack().copy();
|
||||||
|
|
||||||
|
if (index < 4) {
|
||||||
|
if (!mergeItemStack(stack, 4 + 9, inventorySlots.size(), false)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} else if (!mergeItemStack(stack, 0, 4, false)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stack.stackSize == 0) {
|
||||||
|
slot.putStack(null);
|
||||||
|
} else {
|
||||||
|
slot.onSlotChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
package refinedstorage.container;
|
package refinedstorage.container;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.inventory.Slot;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.items.SlotItemHandler;
|
import net.minecraftforge.items.SlotItemHandler;
|
||||||
import refinedstorage.container.slot.SlotSpecimen;
|
import refinedstorage.container.slot.SlotSpecimen;
|
||||||
import refinedstorage.tile.TileImporter;
|
import refinedstorage.tile.TileImporter;
|
||||||
@@ -9,14 +11,41 @@ public class ContainerImporter extends ContainerBase {
|
|||||||
public ContainerImporter(EntityPlayer player, TileImporter importer) {
|
public ContainerImporter(EntityPlayer player, TileImporter importer) {
|
||||||
super(player);
|
super(player);
|
||||||
|
|
||||||
for (int i = 0; i < 9; ++i) {
|
|
||||||
addSlotToContainer(new SlotSpecimen(importer.getFilters(), i, 8 + (18 * i), 20));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < 4; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
addSlotToContainer(new SlotItemHandler(importer.getUpgrades(), i, 187, 6 + (i * 18)));
|
addSlotToContainer(new SlotItemHandler(importer.getUpgrades(), i, 187, 6 + (i * 18)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 9; ++i) {
|
||||||
|
addSlotToContainer(new SlotSpecimen(importer.getFilters(), i, 8 + (18 * i), 20));
|
||||||
|
}
|
||||||
|
|
||||||
addPlayerInventory(8, 55);
|
addPlayerInventory(8, 55);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack transferStackInSlot(EntityPlayer player, int index) {
|
||||||
|
ItemStack stack = null;
|
||||||
|
|
||||||
|
Slot slot = getSlot(index);
|
||||||
|
|
||||||
|
if (slot != null && slot.getHasStack()) {
|
||||||
|
stack = slot.getStack().copy();
|
||||||
|
|
||||||
|
if (index < 4) {
|
||||||
|
if (!mergeItemStack(stack, 4 + 9, inventorySlots.size(), false)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} else if (!mergeItemStack(stack, 0, 4, false)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stack.stackSize == 0) {
|
||||||
|
slot.putStack(null);
|
||||||
|
} else {
|
||||||
|
slot.onSlotChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -41,7 +41,7 @@ public class ContainerInterface extends ContainerBase {
|
|||||||
stack = slot.getStack().copy();
|
stack = slot.getStack().copy();
|
||||||
|
|
||||||
if (index < 9) {
|
if (index < 9) {
|
||||||
if (!mergeItemStack(stack, 9, inventorySlots.size(), true)) {
|
if (!mergeItemStack(stack, 9 + 9 + 9 + 4 + 1, inventorySlots.size(), true)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else if (!mergeItemStack(stack, 0, 9, false)) {
|
} else if (!mergeItemStack(stack, 0, 9, false)) {
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
package refinedstorage.container;
|
package refinedstorage.container;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.inventory.Slot;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.items.SlotItemHandler;
|
import net.minecraftforge.items.SlotItemHandler;
|
||||||
import refinedstorage.container.slot.SlotOutput;
|
import refinedstorage.container.slot.SlotOutput;
|
||||||
import refinedstorage.container.slot.SlotSpecimen;
|
import refinedstorage.container.slot.SlotSpecimen;
|
||||||
@@ -10,6 +12,9 @@ public class ContainerProcessingPatternEncoder extends ContainerBase {
|
|||||||
public ContainerProcessingPatternEncoder(EntityPlayer player, TileProcessingPatternEncoder processingPatternEncoder) {
|
public ContainerProcessingPatternEncoder(EntityPlayer player, TileProcessingPatternEncoder processingPatternEncoder) {
|
||||||
super(player);
|
super(player);
|
||||||
|
|
||||||
|
addSlotToContainer(new SlotItemHandler(processingPatternEncoder.getPatterns(), 0, 152, 18));
|
||||||
|
addSlotToContainer(new SlotOutput(processingPatternEncoder.getPatterns(), 1, 152, 58));
|
||||||
|
|
||||||
int ox = 8;
|
int ox = 8;
|
||||||
int x = ox;
|
int x = ox;
|
||||||
int y = 20;
|
int y = 20;
|
||||||
@@ -31,9 +36,33 @@ public class ContainerProcessingPatternEncoder extends ContainerBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addSlotToContainer(new SlotItemHandler(processingPatternEncoder.getPatterns(), 0, 152, 18));
|
|
||||||
addSlotToContainer(new SlotOutput(processingPatternEncoder.getPatterns(), 1, 152, 58));
|
|
||||||
|
|
||||||
addPlayerInventory(8, 90);
|
addPlayerInventory(8, 90);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack transferStackInSlot(EntityPlayer player, int index) {
|
||||||
|
ItemStack stack = null;
|
||||||
|
|
||||||
|
Slot slot = getSlot(index);
|
||||||
|
|
||||||
|
if (slot != null && !(slot instanceof SlotSpecimen) && slot.getHasStack()) {
|
||||||
|
stack = slot.getStack().copy();
|
||||||
|
|
||||||
|
if (index < 2) {
|
||||||
|
if (!mergeItemStack(stack, 2 + 18 + 1, inventorySlots.size(), false)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} else if (!mergeItemStack(stack, 0, 1, false)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stack.stackSize == 0) {
|
||||||
|
slot.putStack(null);
|
||||||
|
} else {
|
||||||
|
slot.onSlotChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -38,11 +38,11 @@ public class ContainerSolderer extends ContainerBase {
|
|||||||
if (slot != null && slot.getHasStack()) {
|
if (slot != null && slot.getHasStack()) {
|
||||||
stack = slot.getStack().copy();
|
stack = slot.getStack().copy();
|
||||||
|
|
||||||
if (index < 3) {
|
if (index < 4) {
|
||||||
if (!mergeItemStack(stack, 3, inventorySlots.size(), true)) {
|
if (!mergeItemStack(stack, 4 + 1, inventorySlots.size(), true)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else if (!mergeItemStack(stack, 0, 3, false)) {
|
} else if (!mergeItemStack(stack, 0, 3, false)) { // 0 - 3 because we can't shift click to output slot
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -26,11 +26,11 @@ public class ContainerWirelessTransmitter extends ContainerBase {
|
|||||||
if (slot != null && slot.getHasStack()) {
|
if (slot != null && slot.getHasStack()) {
|
||||||
stack = slot.getStack().copy();
|
stack = slot.getStack().copy();
|
||||||
|
|
||||||
if (index < 8) {
|
if (index < 4) {
|
||||||
if (!mergeItemStack(stack, 9, inventorySlots.size(), true)) {
|
if (!mergeItemStack(stack, 4 + 1, inventorySlots.size(), false)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else if (!mergeItemStack(stack, 0, 9, false)) {
|
} else if (!mergeItemStack(stack, 0, 4, false)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user