Bump to 1.3.3, update Forge, removed some ugly workarounds

This commit is contained in:
Raoul Van den Berge
2016-12-06 15:47:30 +01:00
parent 442926009b
commit 0c47ff0813
21 changed files with 48 additions and 159 deletions

View File

@@ -20,7 +20,7 @@ apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'net.minecraftforge.gradle.forge'
version = "1.3.2"
version = "1.3.3"
group = "refinedstorage"
archivesBaseName = "refinedstorage"
@@ -28,10 +28,10 @@ sourceCompatibility = 1.8
targetCompatibility = 1.8
minecraft {
version = "1.11-13.19.0.2180"
version = "1.11-13.19.1.2188"
runDir = "run"
useDepAts = true
mappings = "snapshot_20161126"
mappings = "snapshot_20161206"
}
repositories {
@@ -44,8 +44,8 @@ repositories {
}
dependencies {
deobfCompile "mezz.jei:jei_1.11:4.0.3.196:api"
runtime "mezz.jei:jei_1.11:4.0.3.196"
deobfCompile "mezz.jei:jei_1.11:4.0.4.199:api"
runtime "mezz.jei:jei_1.11:4.0.4.199"
deobfCompile "net.darkhax.tesla:Tesla:1.11-1.3.0.51"
}

View File

@@ -21,7 +21,7 @@ public final class RS {
}
public static final String ID = "refinedstorage";
public static final String VERSION = "1.3.2";
public static final String VERSION = "1.3.3";
public static final String GUI_FACTORY = "com.raoulvdberge.refinedstorage.gui.config.ModGuiFactory";
@SidedProxy(clientSide = "com.raoulvdberge.refinedstorage.proxy.ProxyClient", serverSide = "com.raoulvdberge.refinedstorage.proxy.ProxyCommon")

View File

@@ -30,96 +30,6 @@ public abstract class ContainerBase extends Container {
return tile;
}
// @todo Forge issue #3498
@Override
protected boolean mergeItemStack(ItemStack stack, int startIndex, int endIndex, boolean reverseDirection) {
boolean flag = false;
int i = startIndex;
if (reverseDirection) {
i = endIndex - 1;
}
if (stack.isStackable()) {
while (!stack.isEmpty()) {
if (reverseDirection) {
if (i < startIndex) {
break;
}
} else if (i >= endIndex) {
break;
}
Slot slot = (Slot) this.inventorySlots.get(i);
ItemStack itemstack = slot.getStack();
if (!itemstack.isEmpty() && itemstack.getItem() == stack.getItem() && (!stack.getHasSubtypes() || stack.getMetadata() == itemstack.getMetadata()) && ItemStack.areItemStackTagsEqual(stack, itemstack)) {
int j = itemstack.getCount() + stack.getCount();
int max = Math.min(slot.getSlotStackLimit(), stack.getMaxStackSize());
if (j <= max) {
stack.setCount(0);
itemstack.setCount(j);
slot.onSlotChanged();
flag = true;
} else if (itemstack.getCount() < max) {
stack.shrink(max - itemstack.getCount());
itemstack.setCount(max);
slot.onSlotChanged();
flag = true;
}
}
if (reverseDirection) {
--i;
} else {
++i;
}
}
}
if (!stack.isEmpty()) {
if (reverseDirection) {
i = endIndex - 1;
} else {
i = startIndex;
}
while (true) {
if (reverseDirection) {
if (i < startIndex) {
break;
}
} else if (i >= endIndex) {
break;
}
Slot slot1 = (Slot) this.inventorySlots.get(i);
ItemStack itemstack1 = slot1.getStack();
if (itemstack1.isEmpty() && slot1.isItemValid(stack)) {
if (stack.getCount() > slot1.getSlotStackLimit()) {
slot1.putStack(stack.splitStack(slot1.getSlotStackLimit()));
} else {
slot1.putStack(stack.splitStack(stack.getCount()));
}
slot1.onSlotChanged();
flag = true;
break;
}
if (reverseDirection) {
--i;
} else {
++i;
}
}
}
return flag;
}
protected void addPlayerInventory(int xInventory, int yInventory) {
int id = 0;

View File

@@ -1,18 +1,18 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileConstructor;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerConstructor extends ContainerBase {
public ContainerConstructor(TileConstructor constructor, EntityPlayer player) {
super(constructor, player);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(constructor.getUpgrades(), i, 187, 6 + (i * 18)));
addSlotToContainer(new SlotItemHandler(constructor.getUpgrades(), i, 187, 6 + (i * 18)));
}
addSlotToContainer(new SlotFilterType(constructor, 0, 80, 20));

View File

@@ -1,21 +1,21 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.tile.TileCrafter;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerCrafter extends ContainerBase {
public ContainerCrafter(TileCrafter crafter, EntityPlayer player) {
super(crafter, player);
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotBase(crafter.getPatternItems(), i, 8 + (18 * i), 20));
addSlotToContainer(new SlotItemHandler(crafter.getPatternItems(), i, 8 + (18 * i), 20));
}
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(crafter.getUpgrades(), i, 187, 6 + (i * 18)));
addSlotToContainer(new SlotItemHandler(crafter.getUpgrades(), i, 187, 6 + (i * 18)));
}
addPlayerInventory(8, 55);

View File

@@ -1,18 +1,18 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileDestructor;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerDestructor extends ContainerBase {
public ContainerDestructor(TileDestructor destructor, EntityPlayer player) {
super(destructor, player);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(destructor.getUpgrades(), i, 187, 6 + (i * 18)));
addSlotToContainer(new SlotItemHandler(destructor.getUpgrades(), i, 187, 6 + (i * 18)));
}
for (int i = 0; i < 9; ++i) {

View File

@@ -1,11 +1,11 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileDiskDrive;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerDiskDrive extends ContainerBase {
public ContainerDiskDrive(TileDiskDrive drive, EntityPlayer player) {
@@ -15,7 +15,7 @@ public class ContainerDiskDrive extends ContainerBase {
int y = 54;
for (int i = 0; i < 8; ++i) {
addSlotToContainer(new SlotBase(drive.getDisks(), i, x + ((i % 2) * 18), y + Math.floorDiv(i, 2) * 18));
addSlotToContainer(new SlotItemHandler(drive.getDisks(), i, x + ((i % 2) * 18), y + Math.floorDiv(i, 2) * 18));
}
for (int i = 0; i < 9; ++i) {

View File

@@ -1,26 +1,26 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerDiskManipulator extends ContainerBase {
public ContainerDiskManipulator(TileDiskManipulator manipulator, EntityPlayer player) {
super(manipulator, player);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(manipulator.getUpgrades(), i, 187, 6 + (i * 18)));
addSlotToContainer(new SlotItemHandler(manipulator.getUpgrades(), i, 187, 6 + (i * 18)));
}
for (int i = 0; i < 3; ++i) {
addSlotToContainer(new SlotBase(manipulator.getInputDisks(), i, 44, 57 + (i * 18)));
addSlotToContainer(new SlotItemHandler(manipulator.getInputDisks(), i, 44, 57 + (i * 18)));
}
for (int i = 0; i < 3; ++i) {
addSlotToContainer(new SlotBase(manipulator.getOutputDisks(), i, 116, 57 + (i * 18)));
addSlotToContainer(new SlotItemHandler(manipulator.getOutputDisks(), i, 116, 57 + (i * 18)));
}
for (int i = 0; i < 9; ++i) {

View File

@@ -1,18 +1,18 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileExporter;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerExporter extends ContainerBase {
public ContainerExporter(TileExporter exporter, EntityPlayer player) {
super(exporter, player);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(exporter.getUpgrades(), i, 187, 6 + (i * 18)));
addSlotToContainer(new SlotItemHandler(exporter.getUpgrades(), i, 187, 6 + (i * 18)));
}
for (int i = 0; i < 9; ++i) {

View File

@@ -1,21 +1,21 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileFluidInterface;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerFluidInterface extends ContainerBase {
public ContainerFluidInterface(TileFluidInterface fluidInterface, EntityPlayer player) {
super(fluidInterface, player);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(fluidInterface.getUpgrades(), i, 187, 6 + (i * 18)));
addSlotToContainer(new SlotItemHandler(fluidInterface.getUpgrades(), i, 187, 6 + (i * 18)));
}
addSlotToContainer(new SlotBase(fluidInterface.getIn(), 0, 44, 32));
addSlotToContainer(new SlotItemHandler(fluidInterface.getIn(), 0, 44, 32));
addSlotToContainer(new SlotFilterFluid(!fluidInterface.getWorld().isRemote, fluidInterface.getOut(), 0, 116, 32));
addPlayerInventory(8, 122);

View File

@@ -12,6 +12,7 @@ import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.IContainerListener;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerGrid extends ContainerBase {
private IGrid grid;
@@ -59,13 +60,13 @@ public class ContainerGrid extends ContainerBase {
addSlotToContainer(patternResultSlot = new SlotDisabled(((TileGrid) grid).getResult(), 0, 112 + 4, 110 + 4));
addSlotToContainer(new SlotBase(((TileGrid) grid).getPatterns(), 0, 152, 96));
addSlotToContainer(new SlotItemHandler(((TileGrid) grid).getPatterns(), 0, 152, 96));
addSlotToContainer(new SlotOutput(((TileGrid) grid).getPatterns(), 1, 152, 132));
}
if (grid.getType() != EnumGridType.FLUID) {
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(grid.getFilter(), i, 204, 6 + (18 * i)));
addSlotToContainer(new SlotItemHandler(grid.getFilter(), i, 204, 6 + (18 * i)));
}
}
}

View File

@@ -1,18 +1,18 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileImporter;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerImporter extends ContainerBase {
public ContainerImporter(TileImporter importer, EntityPlayer player) {
super(importer, player);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(importer.getUpgrades(), i, 187, 6 + (i * 18)));
addSlotToContainer(new SlotItemHandler(importer.getUpgrades(), i, 187, 6 + (i * 18)));
}
for (int i = 0; i < 9; ++i) {

View File

@@ -1,19 +1,19 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.SlotOutput;
import com.raoulvdberge.refinedstorage.tile.TileInterface;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerInterface extends ContainerBase {
public ContainerInterface(TileInterface tile, EntityPlayer player) {
super(tile, player);
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotBase(tile.getImportItems(), i, 8 + (18 * i), 20));
addSlotToContainer(new SlotItemHandler(tile.getImportItems(), i, 8 + (18 * i), 20));
}
for (int i = 0; i < 9; ++i) {
@@ -25,7 +25,7 @@ public class ContainerInterface extends ContainerBase {
}
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(tile.getUpgrades(), i, 187, 6 + (i * 18)));
addSlotToContainer(new SlotItemHandler(tile.getUpgrades(), i, 187, 6 + (i * 18)));
}
addPlayerInventory(8, 134);

View File

@@ -1,18 +1,18 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerNetworkTransmitter extends ContainerBase {
public ContainerNetworkTransmitter(TileNetworkTransmitter networkTransmitter, EntityPlayer player) {
super(networkTransmitter, player);
addSlotToContainer(new SlotBase(networkTransmitter.getNetworkCard(), 0, 8, 20));
addSlotToContainer(new SlotItemHandler(networkTransmitter.getNetworkCard(), 0, 8, 20));
addSlotToContainer(new SlotBase(networkTransmitter.getUpgrades(), 0, 187, 6));
addSlotToContainer(new SlotItemHandler(networkTransmitter.getUpgrades(), 0, 187, 6));
addPlayerInventory(8, 55);
}

View File

@@ -1,12 +1,12 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.SlotOutput;
import com.raoulvdberge.refinedstorage.tile.TileProcessingPatternEncoder;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
import java.util.Collection;
@@ -14,7 +14,7 @@ public class ContainerProcessingPatternEncoder extends ContainerBase {
public ContainerProcessingPatternEncoder(TileProcessingPatternEncoder encoder, EntityPlayer player) {
super(encoder, player);
addSlotToContainer(new SlotBase(encoder.getPatterns(), 0, 152, 18));
addSlotToContainer(new SlotItemHandler(encoder.getPatterns(), 0, 152, 18));
addSlotToContainer(new SlotOutput(encoder.getPatterns(), 1, 152, 58));
int ox = 8;

View File

@@ -1,12 +1,12 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.container.slot.SlotOutput;
import com.raoulvdberge.refinedstorage.tile.TileSolderer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerSolderer extends ContainerBase {
public ContainerSolderer(TileSolderer solderer, EntityPlayer player) {
@@ -16,7 +16,7 @@ public class ContainerSolderer extends ContainerBase {
int y = 20;
for (int i = 0; i < 3; ++i) {
addSlotToContainer(new SlotBase(solderer.getItems(), i, x, y));
addSlotToContainer(new SlotItemHandler(solderer.getItems(), i, x, y));
y += 18;
}
@@ -24,7 +24,7 @@ public class ContainerSolderer extends ContainerBase {
addSlotToContainer(new SlotOutput(solderer.getResult(), 0, 127, 38));
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(solderer.getUpgrades(), i, 187, 6 + (i * 18)));
addSlotToContainer(new SlotItemHandler(solderer.getUpgrades(), i, 187, 6 + (i * 18)));
}
addPlayerInventory(8, 89);

View File

@@ -1,17 +1,17 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotBase;
import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerWirelessTransmitter extends ContainerBase {
public ContainerWirelessTransmitter(TileWirelessTransmitter wirelessTransmitter, EntityPlayer player) {
super(wirelessTransmitter, player);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotBase(wirelessTransmitter.getUpgrades(), i, 187, 6 + (i * 18)));
addSlotToContainer(new SlotItemHandler(wirelessTransmitter.getUpgrades(), i, 187, 6 + (i * 18)));
}
addPlayerInventory(8, 55);

View File

@@ -1,16 +0,0 @@
package com.raoulvdberge.refinedstorage.container.slot;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.SlotItemHandler;
// @todo: Forge issue #3497
public class SlotBase extends SlotItemHandler {
public SlotBase(IItemHandler itemHandler, int index, int xPosition, int yPosition) {
super(itemHandler, index, xPosition, yPosition);
}
@Override
public int getSlotStackLimit() {
return getItemHandler().getSlotLimit(getSlotIndex());
}
}

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.container.slot;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
@@ -9,11 +8,11 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.common.IPlantable;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.SlotItemHandler;
import javax.annotation.Nonnull;
import java.lang.reflect.Field;
public class SlotFilter extends SlotBase {
public class SlotFilter extends SlotItemHandler {
public static final int FILTER_ALLOW_SIZE = 1;
public static final int FILTER_ALLOW_BLOCKS = 2;
@@ -69,13 +68,7 @@ public class SlotFilter extends SlotBase {
Item item = stack.getItem();
if (item instanceof ItemBlockSpecial) {
try {
Field f = ((ItemBlockSpecial) item).getClass().getDeclaredField("block");
f.setAccessible(true);
return ((Block) f.get(item)).getDefaultState();
} catch (IllegalAccessException | NoSuchFieldException e) {
// NO OP
}
return ((ItemBlockSpecial) item).getBlock().getDefaultState();
} else if (item instanceof ItemBlock) {
return (((ItemBlock) item).getBlock()).getDefaultState();
} else if (item instanceof IPlantable) {

View File

@@ -2,10 +2,11 @@ package com.raoulvdberge.refinedstorage.container.slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.SlotItemHandler;
import javax.annotation.Nonnull;
public class SlotOutput extends SlotBase {
public class SlotOutput extends SlotItemHandler {
public SlotOutput(IItemHandler inventory, int id, int x, int y) {
super(inventory, id, x, y);
}

View File

@@ -3,7 +3,7 @@
"modid": "refinedstorage",
"name": "Refined Storage",
"description": "An elegant solution to your hoarding problem",
"version": "1.3.2",
"version": "1.3.3",
"mcversion": "1.11",
"url": "",
"updateUrl": "",