Initial port to MC 1.11

This commit is contained in:
Raoul Van den Berge
2016-11-26 20:22:35 +01:00
parent fabe8f2bbb
commit 5d9c9aeef9
113 changed files with 409 additions and 1051 deletions

View File

@@ -20,7 +20,7 @@ apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'net.minecraftforge.gradle.forge'
version = "1.2.6"
version = "1.3"
group = "refinedstorage"
archivesBaseName = "refinedstorage"
@@ -28,10 +28,10 @@ sourceCompatibility = 1.8
targetCompatibility = 1.8
minecraft {
version = "1.10.2-12.18.2.2151"
version = "1.11-13.19.0.2160"
runDir = "run"
useDepAts = true
mappings = "stable_29"
mappings = "snapshot_20161126"
}
repositories {
@@ -41,21 +41,12 @@ repositories {
maven {
url "http://maven.epoxide.xyz"
}
maven {
name = "ic2"
url = "http://maven.ic2.player.to/"
}
maven {
url "http://maven.amadornes.com/"
}
}
dependencies {
deobfCompile "mezz.jei:jei_1.10.2:3.13.3.373:api"
runtime "mezz.jei:jei_1.10.2:3.13.3.373"
deobfCompile "net.darkhax.tesla:Tesla:1.10.2-1.2.1.49"
deobfCompile "net.industrial-craft:industrialcraft-2:2.6.105-ex110:api"
deobfCompile "MCMultiPart:MCMultiPart:1.3.0:universal"
deobfCompile "mezz.jei:jei_1.11:4.0.3.196:api"
runtime "mezz.jei:jei_1.11:4.0.3.196"
deobfCompile "net.darkhax.tesla:Tesla:1.11-1.3.0.51"
}
processResources {

View File

@@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage;
import com.raoulvdberge.refinedstorage.proxy.ProxyCommon;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fml.common.Mod;
@@ -36,13 +35,8 @@ public final class RS {
public final SimpleNetworkWrapper network = NetworkRegistry.INSTANCE.newSimpleChannel(ID);
public final CreativeTabs tab = new CreativeTabs(ID) {
@Override
public ItemStack getIconItemStack() {
return new ItemStack(RSItems.STORAGE_HOUSING);
}
@Override
public Item getTabIconItem() {
return null;
public ItemStack getTabIconItem() {
return getIconItemStack();
}
};

View File

@@ -16,14 +16,13 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.NonNullList;
import net.minecraftforge.common.util.Constants;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.fluids.capability.wrappers.FluidHandlerWrapper;
import net.minecraftforge.fml.common.network.ByteBufUtils;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
@@ -35,6 +34,7 @@ import org.apache.commons.lang3.tuple.Pair;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.List;
import java.util.Locale;
import java.util.function.Function;
@@ -53,7 +53,7 @@ public final class RSUtils {
public static void writeItemStack(ByteBuf buf, INetworkMaster network, ItemStack stack) {
buf.writeInt(Item.getIdFromItem(stack.getItem()));
buf.writeInt(stack.stackSize);
buf.writeInt(stack.getCount());
buf.writeInt(stack.getItemDamage());
ByteBufUtils.writeTag(buf, stack.getItem().getNBTShareTag(stack));
buf.writeInt(API.instance().getItemStackHashCode(stack));
@@ -84,6 +84,18 @@ public final class RSUtils {
}
}
public static NonNullList<ItemStack> toNonNullList(List<ItemStack> list) {
NonNullList<ItemStack> other = NonNullList.create();
for (ItemStack item : list) {
if (item != null) {
other.add(item);
}
}
return other;
}
public static void writeItems(IItemHandler handler, int id, NBTTagCompound tag) {
NBTTagList tagList = new NBTTagList();
@@ -111,10 +123,8 @@ public final class RSUtils {
for (int i = 0; i < tagList.tagCount(); i++) {
int slot = tagList.getCompoundTagAt(i).getInteger(NBT_SLOT);
ItemStack stack = ItemStack.loadItemStackFromNBT(tagList.getCompoundTagAt(i));
if (slot >= 0 && slot < handler.getSlots()) {
handler.setStackInSlot(slot, stack);
handler.setStackInSlot(slot, new ItemStack(tagList.getCompoundTagAt(i)));
}
}
}
@@ -147,9 +157,11 @@ public final class RSUtils {
for (int i = 0; i < tagList.tagCount(); i++) {
int slot = tagList.getCompoundTagAt(i).getInteger(NBT_SLOT);
ItemStack stack = ItemStack.loadItemStackFromNBT(tagList.getCompoundTagAt(i));
ItemStack stack = new ItemStack(tagList.getCompoundTagAt(i));
inventory.setInventorySlotContents(slot, stack);
if (!stack.isEmpty()) {
inventory.setInventorySlotContents(slot, stack);
}
}
}
}
@@ -220,23 +232,17 @@ public final class RSUtils {
return null;
}
IFluidHandler handler = null;
if (tile.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side)) {
handler = tile.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side);
} else if (tile instanceof net.minecraftforge.fluids.IFluidHandler) {
handler = new FluidHandlerWrapper((net.minecraftforge.fluids.IFluidHandler) tile, side);
if (!tile.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side)) {
return null;
}
return handler;
return tile.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side);
}
@SuppressWarnings("deprecation")
public static FluidStack getFluidFromStack(ItemStack stack, boolean simulate) {
if (stack.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null)) {
return stack.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null).drain(Fluid.BUCKET_VOLUME, !simulate);
} else if (stack.getItem() instanceof IFluidContainerItem) {
return ((IFluidContainerItem) stack.getItem()).drain(stack, Fluid.BUCKET_VOLUME, !simulate);
}
return null;

View File

@@ -67,7 +67,7 @@ public interface ICraftingStep {
/**
* @param stack the output to check
* @return true if we received the given output (based upon item and stacksize), false otherwise
* @return true if we received the given output (based upon item and getCount()), false otherwise
*/
boolean hasReceivedOutput(ItemStack stack);

View File

@@ -26,7 +26,7 @@ public interface IItemStackList {
* @param stack the stack
*/
default void add(@Nonnull ItemStack stack) {
add(stack, stack.stackSize);
add(stack, stack.getCount());
}
/**
@@ -47,7 +47,7 @@ public interface IItemStackList {
* @return whether the remove was successful for the full amount
*/
default boolean remove(@Nonnull ItemStack stack, boolean removeIfReachedZero) {
return remove(stack, stack.stackSize, removeIfReachedZero);
return remove(stack, stack.getCount(), removeIfReachedZero);
}
/**
@@ -70,7 +70,7 @@ public interface IItemStackList {
* @return whether the remove was successful for the full amount
*/
default boolean trackedRemove(@Nonnull ItemStack stack, boolean removeIfReachedZero) {
return trackedRemove(stack, stack.stackSize, removeIfReachedZero);
return trackedRemove(stack, stack.getCount(), removeIfReachedZero);
}
/**

View File

@@ -131,7 +131,10 @@ public class CraftingPattern implements ICraftingPattern {
.map(OreDictionary::getOres)
.flatMap(List::stream)
.map(ItemStack::copy)
.map(s -> {s.stackSize = input.stackSize; return s;})
.map(s -> {
s.setCount(input.getCount());
return s;
})
.collect(Collectors.toList()));
}
}
@@ -258,7 +261,7 @@ public class CraftingPattern implements ICraftingPattern {
for (ItemStack output : outputs) {
if (API.instance().getComparer().isEqual(requested, output, compare)) {
quantity += output.stackSize;
quantity += output.getCount();
if (!ItemPattern.isProcessing(stack)) {
break;

View File

@@ -61,9 +61,9 @@ public class CraftingTaskFactory implements ICraftingTaskFactory {
Deque<ItemStack> toInsert = new ArrayDeque<>();
for (int i = 0; i < toInsertList.tagCount(); ++i) {
ItemStack insertStack = ItemStack.loadItemStackFromNBT(toInsertList.getCompoundTagAt(i));
ItemStack insertStack = new ItemStack(toInsertList.getCompoundTagAt(i));
if (insertStack != null) {
if (!insertStack.isEmpty()) {
toInsert.add(insertStack);
}
}

View File

@@ -42,9 +42,9 @@ public abstract class CraftingStep implements ICraftingStep {
}
public boolean readFromNBT(NBTTagCompound tag) {
ItemStack patternStack = ItemStack.loadItemStackFromNBT(tag.getCompoundTag(NBT_PATTERN));
ItemStack patternStack = new ItemStack(tag.getCompoundTag(NBT_PATTERN));
if (patternStack != null) {
if (!patternStack.isEmpty()) {
TileEntity container = network.getNetworkWorld().getTileEntity(BlockPos.fromLong(tag.getLong(NBT_PATTERN_CONTAINER)));
if (container instanceof ICraftingPatternContainer) {
@@ -99,7 +99,7 @@ public abstract class CraftingStep implements ICraftingStep {
public boolean hasReceivedOutputs() {
for (ItemStack stack : pattern.getOutputs()) {
Integer received = satisfied.get(API.instance().getItemStackHashCode(stack));
if (received == null || stack.stackSize > received) {
if (received == null || stack.getCount() > received) {
return false;
}
}
@@ -110,7 +110,7 @@ public abstract class CraftingStep implements ICraftingStep {
@Override
public boolean hasReceivedOutput(ItemStack stack) {
Integer received = satisfied.get(API.instance().getItemStackHashCode(stack));
return received != null && received >= stack.stackSize;
return received != null && received >= stack.getCount();
}
@Override
@@ -128,14 +128,14 @@ public abstract class CraftingStep implements ICraftingStep {
received = 0;
}
if (API.instance().getComparer().isEqual(stack, output, CraftingTask.DEFAULT_COMPARE | (getPattern().isOredict() ? IComparer.COMPARE_OREDICT : 0))) {
if (received < output.stackSize) {
int toReceive = Math.min(output.stackSize - received, stack.stackSize);
if (received < output.getCount()) {
int toReceive = Math.min(output.getCount() - received, stack.getCount());
satisfied.put(hashcode, received + toReceive);
stack.stackSize -= toReceive;
stack.shrink(toReceive);
network.markCraftingMonitorForUpdate();
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
return true;
}
}
@@ -163,7 +163,7 @@ public abstract class CraftingStep implements ICraftingStep {
}
protected AvailableType isItemAvailable(IItemStackList items, IFluidStackList fluids, ItemStack stack, ItemStack actualStack, int compare) {
if (actualStack == null || actualStack.stackSize == 0 || !items.trackedRemove(actualStack, stack.stackSize, true)) {
if (actualStack == null || actualStack.getCount() == 0 || !items.trackedRemove(actualStack, stack.getCount(), true)) {
FluidStack fluidInItem = RSUtils.getFluidFromStack(stack, true);
if (fluidInItem != null && RSUtils.hasFluidBucket(fluidInItem)) {
@@ -187,7 +187,7 @@ public abstract class CraftingStep implements ICraftingStep {
compare |= IComparer.COMPARE_DAMAGE;
}
ItemStack input = network.extractItem(insertStack, insertStack.stackSize, compare, false);
ItemStack input = network.extractItem(insertStack, insertStack.getCount(), compare, false);
if (input != null) {
actualInputs.add(input);
} else {

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task;
import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern;
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
@@ -13,7 +12,6 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraftforge.common.util.Constants;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.items.ItemHandlerHelper;
import java.util.*;
import java.util.stream.Collectors;
@@ -107,7 +105,7 @@ public class CraftingStepCraft extends CraftingStep {
NBTTagList toInsertList = tag.getTagList(NBT_TO_INSERT, Constants.NBT.TAG_COMPOUND);
toInsert = new ArrayList<>(toInsertList.tagCount());
for (int i = 0; i < toInsertList.tagCount(); ++i) {
toInsert.add(ItemStack.loadItemStackFromNBT(toInsertList.getCompoundTagAt(i)));
toInsert.add(new ItemStack(toInsertList.getCompoundTagAt(i)));
}
}

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task;
import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern;
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
@@ -49,9 +48,9 @@ public class CraftingStepProcess extends CraftingStep {
AvailableType type = isItemAvailable(items, fluids, stack, actualStack, compare);
if (type == AvailableType.ITEM) {
toInsert.add(ItemHandlerHelper.copyStackWithSize(actualStack, stack.stackSize));
toInsert.add(ItemHandlerHelper.copyStackWithSize(actualStack, stack.getCount()));
} else if (type == AvailableType.FLUID) {
toInsert.add(ItemHandlerHelper.copyStackWithSize(stack, stack.stackSize));
toInsert.add(ItemHandlerHelper.copyStackWithSize(stack, stack.getCount()));
} else {
items.undo();
fluids.undo();
@@ -105,14 +104,14 @@ public class CraftingStepProcess extends CraftingStep {
ItemStack remainder = null;
for (Integer slot : availableSlots) {
remainder = dest.insertItem(slot, current, true);
if (remainder == null || current.stackSize != remainder.stackSize) {
if (remainder == null || current.getCount() != remainder.getCount()) {
availableSlots.remove(slot);
break;
}
}
if (remainder == null || remainder.stackSize <= 0) {
if (remainder == null || remainder.getCount() <= 0) {
current = stacks.poll();
} else if (current.stackSize == remainder.stackSize) {
} else if (current.getCount() == remainder.getCount()) {
break; // Can't be inserted
} else {
current = remainder;

View File

@@ -13,7 +13,10 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.api.util.IFluidStackList;
import com.raoulvdberge.refinedstorage.api.util.IItemStackList;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.*;
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.CraftingMonitorElementError;
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.CraftingMonitorElementInfo;
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.CraftingMonitorElementItemRender;
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.CraftingMonitorElementText;
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementFluidStack;
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementItemStack;
import com.raoulvdberge.refinedstorage.apiimpl.util.ItemStackList;
@@ -134,44 +137,44 @@ public class CraftingTask implements ICraftingTask {
// This handles recipes that use the output as input for the sub recipe
final int lambdaCompare = compare;
ICraftingPattern inputPattern = null;
int available = (extraStack == null ? 0 : extraStack.stackSize) + (networkStack == null ? 0 : networkStack.stackSize);
if (available < input.stackSize) {
int available = (extraStack == null ? 0 : extraStack.getCount()) + (networkStack == null ? 0 : networkStack.getCount());
if (available < input.getCount()) {
inputPattern = network.getPattern(input, compare);
if (inputPattern != null) {
if (inputPattern.getInputs().stream().anyMatch(s -> API.instance().getComparer().isEqual(s, input, lambdaCompare))) {
int craftQuantity = inputPattern.getQuantityPerRequest(input, compare);
// The needed amount is the actual needed amount of extraStacks + the needed input (twice so you can keep repeating it)
long needed = (networkStack == null ? 0 : -networkStack.stackSize) + input.stackSize + inputPattern.getInputs().stream().filter(s -> API.instance().getComparer().isEqual(s, input, lambdaCompare)).count() * 2;
long needed = (networkStack == null ? 0 : -networkStack.getCount()) + input.getCount() + inputPattern.getInputs().stream().filter(s -> API.instance().getComparer().isEqual(s, input, lambdaCompare)).count() * 2;
do {
calculate(networkList, networkFluidList, inputPattern, toInsert);
toCraft.add(ItemHandlerHelper.copyStackWithSize(input, craftQuantity));
extraStack = toInsert.get(input, compare);
} while (extraStack != null && extraStack.stackSize < needed);
} while (extraStack != null && extraStack.getCount() < needed);
}
}
}
while (input.stackSize > 0) {
if (extraStack != null && extraStack.stackSize > 0) {
int takeQuantity = Math.min(extraStack.stackSize, input.stackSize);
while (input.getCount() > 0) {
if (extraStack != null && extraStack.getCount() > 0) {
int takeQuantity = Math.min(extraStack.getCount(), input.getCount());
ItemStack inputStack = ItemHandlerHelper.copyStackWithSize(extraStack, takeQuantity);
actualInputs.add(inputStack.copy());
input.stackSize -= takeQuantity;
input.shrink(takeQuantity);
if (!inputStack.isItemStackDamageable() || !inputStack.isItemDamaged()) {
toCraft.add(inputStack);
}
toInsert.remove(inputStack, true);
if (input.stackSize > 0) {
if (input.getCount() > 0) {
extraStack = toInsert.get(input, compare);
}
} else if (networkStack != null && networkStack.stackSize > 0) {
int takeQuantity = Math.min(networkStack.stackSize, input.stackSize);
} else if (networkStack != null && networkStack.getCount() > 0) {
int takeQuantity = Math.min(networkStack.getCount(), input.getCount());
ItemStack inputStack = ItemHandlerHelper.copyStackWithSize(networkStack, takeQuantity);
toTake.add(inputStack.copy());
actualInputs.add(inputStack.copy());
input.stackSize -= takeQuantity;
input.shrink(takeQuantity);
networkList.remove(inputStack, true);
if (input.stackSize > 0) {
if (input.getCount() > 0) {
networkStack = networkList.get(inputStack, compare);
}
} else {
@@ -181,12 +184,12 @@ public class CraftingTask implements ICraftingTask {
if (inputPattern != null) {
ItemStack actualCraft = inputPattern.getActualOutput(input, compare);
int craftQuantity = Math.min(inputPattern.getQuantityPerRequest(input, compare), input.stackSize);
int craftQuantity = Math.min(inputPattern.getQuantityPerRequest(input, compare), input.getCount());
ItemStack inputCrafted = ItemHandlerHelper.copyStackWithSize(actualCraft, craftQuantity);
toCraft.add(inputCrafted.copy());
actualInputs.add(inputCrafted.copy());
calculate(networkList, networkFluidList, inputPattern, toInsert);
input.stackSize -= craftQuantity;
input.shrink(craftQuantity);
if (!recurseFound) {
// Calculate added all the crafted outputs toInsert
// So we remove the ones we use from toInsert
@@ -196,15 +199,15 @@ public class CraftingTask implements ICraftingTask {
} else {
// Fluid checks are with a stack size of one
ItemStack fluidCheck = ItemHandlerHelper.copyStackWithSize(input, 1);
while (input.stackSize > 0 && doFluidCalculation(networkList, networkFluidList, fluidCheck, toInsert)) {
while (input.getCount() > 0 && doFluidCalculation(networkList, networkFluidList, fluidCheck, toInsert)) {
actualInputs.add(fluidCheck);
input.stackSize -= 1;
input.shrink(1);
}
// When it isn't a fluid or just doesn't have the needed fluids
if (input.stackSize > 0) {
if (input.getCount() > 0) {
missing.add(input.copy());
input.stackSize = 0;
input.setCount(0);
}
}
}
@@ -246,12 +249,12 @@ public class CraftingTask implements ICraftingTask {
} else {
ItemStack bucket = toInsert.get(RSUtils.EMPTY_BUCKET);
boolean hasBucket = false;
if (bucket != null && bucket.stackSize > 0) {
if (bucket != null && bucket.getCount() > 0) {
hasBucket = toInsert.remove(RSUtils.EMPTY_BUCKET, 1, false);
}
if (!hasBucket) {
bucket = networkList.get(RSUtils.EMPTY_BUCKET);
if (bucket != null && bucket.stackSize > 0) {
if (bucket != null && bucket.getCount() > 0) {
hasBucket = networkList.remove(RSUtils.EMPTY_BUCKET, 1, false);
}
}
@@ -283,7 +286,7 @@ public class CraftingTask implements ICraftingTask {
@Override
public void onCancelled() {
for (ItemStack stack : toInsertItems) {
network.insertItem(stack, stack.stackSize, false);
network.insertItem(stack, stack.getCount(), false);
}
network.markCraftingMonitorForUpdate();
@@ -341,7 +344,7 @@ public class CraftingTask implements ICraftingTask {
for (int i = 0; i < times; i++) {
ItemStack insert = toInsertItems.poll();
if (insert != null) {
ItemStack remainder = network.insertItem(insert, insert.stackSize, false);
ItemStack remainder = network.insertItem(insert, insert.getCount(), false);
if (remainder != null) {
toInsertItems.add(remainder);
@@ -441,7 +444,7 @@ public class CraftingTask implements ICraftingTask {
.map(stack -> new CraftingMonitorElementError(new CraftingMonitorElementItemRender(
-1,
stack,
stack.stackSize,
stack.getCount(),
32
), ""))
.forEach(elements::add);
@@ -456,7 +459,7 @@ public class CraftingTask implements ICraftingTask {
.map(stack -> new CraftingMonitorElementItemRender(
-1,
stack,
stack.stackSize,
stack.getCount(),
32
))
.forEach(elements::add);
@@ -476,7 +479,7 @@ public class CraftingTask implements ICraftingTask {
ICraftingMonitorElement element = new CraftingMonitorElementItemRender(
-1,
step.getPattern().getOutputs().get(i),
step.getPattern().getOutputs().get(i).stackSize,
step.getPattern().getOutputs().get(i).getCount(),
32
);
@@ -499,7 +502,7 @@ public class CraftingTask implements ICraftingTask {
ICraftingMonitorElement element = new CraftingMonitorElementItemRender(
-1,
step.getPattern().getOutputs().get(i),
step.getPattern().getOutputs().get(i).stackSize,
step.getPattern().getOutputs().get(i).getCount(),
32
);
@@ -553,7 +556,7 @@ public class CraftingTask implements ICraftingTask {
if (previewStack == null) {
previewStack = new CraftingPreviewElementItemStack(stack);
}
previewStack.addToCraft(stack.stackSize);
previewStack.addToCraft(stack.getCount());
map.put(hash, previewStack);
}
@@ -564,7 +567,7 @@ public class CraftingTask implements ICraftingTask {
previewStack = new CraftingPreviewElementItemStack(stack);
}
previewStack.setMissing(true);
previewStack.addToCraft(stack.stackSize);
previewStack.addToCraft(stack.getCount());
map.put(hash, previewStack);
}
@@ -574,7 +577,7 @@ public class CraftingTask implements ICraftingTask {
if (previewStack == null) {
previewStack = new CraftingPreviewElementItemStack(stack);
}
previewStack.addAvailable(stack.stackSize);
previewStack.addAvailable(stack.getCount());
map.put(hash, previewStack);
}

View File

@@ -32,7 +32,7 @@ public class ItemGridHandler implements IItemGridHandler {
return;
}
int itemSize = item.stackSize;
int itemSize = item.getCount();
int maxItemSize = item.getItem().getItemStackLimit(item);
boolean single = (flags & EXTRACT_SINGLE) == EXTRACT_SINGLE;
@@ -40,7 +40,7 @@ public class ItemGridHandler implements IItemGridHandler {
ItemStack held = player.inventory.getItemStack();
if (single) {
if (held != null && (!API.instance().getComparer().isEqualNoQuantity(item, held) || held.stackSize + 1 > held.getMaxStackSize())) {
if (held != null && (!API.instance().getComparer().isEqualNoQuantity(item, held) || held.getCount() + 1 > held.getMaxStackSize())) {
return;
}
} else if (player.inventory.getItemStack() != null) {
@@ -78,7 +78,7 @@ public class ItemGridHandler implements IItemGridHandler {
took = network.extractItem(item, size, false);
if (single && held != null) {
held.stackSize++;
held.grow(1);
} else {
player.inventory.setItemStack(took);
}
@@ -96,7 +96,7 @@ public class ItemGridHandler implements IItemGridHandler {
@Override
public ItemStack onInsert(EntityPlayerMP player, ItemStack stack) {
ItemStack remainder = network.insertItem(stack, stack.stackSize, false);
ItemStack remainder = network.insertItem(stack, stack.getCount(), false);
INetworkItem networkItem = network.getNetworkItemHandler().getItem(player);
@@ -114,15 +114,15 @@ public class ItemGridHandler implements IItemGridHandler {
}
ItemStack stack = player.inventory.getItemStack();
int size = single ? 1 : stack.stackSize;
int size = single ? 1 : stack.getCount();
if (single) {
if (network.insertItem(stack, size, true) == null) {
network.insertItem(stack, size, false);
stack.stackSize -= size;
stack.shrink(size);
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
player.inventory.setItemStack(null);
}
}

View File

@@ -35,7 +35,7 @@ public class SoldererRegistry implements ISoldererRegistry {
ItemStack row = recipe.getRow(i);
if (rows.getStackInSlot(i) != null && row != null) {
if (rows.getStackInSlot(i).stackSize < row.stackSize) {
if (rows.getStackInSlot(i).getCount() < row.getCount()) {
found = false;
}
}

View File

@@ -40,7 +40,7 @@ public class ItemStorageCache implements IItemStorageCache {
for (ItemStack stack : storage.getStacks()) {
if (stack != null) {
add(stack, stack.stackSize, true);
add(stack, stack.getCount(), true);
}
}
}
@@ -48,8 +48,8 @@ public class ItemStorageCache implements IItemStorageCache {
for (ICraftingPattern pattern : network.getPatterns()) {
for (ItemStack output : pattern.getOutputs()) {
ItemStack patternStack = output.copy();
patternStack.stackSize = 0;
add(patternStack, patternStack.stackSize, true);
patternStack.setCount(0);
add(patternStack, patternStack.getCount(), true);
}
}

View File

@@ -77,7 +77,7 @@ public abstract class ItemStorageNBT implements IItemStorage {
// ItemHandlerHelper#copyStackWithSize is not null-safe!
private ItemStack safeCopy(ItemStack stack, int size) {
ItemStack newStack = stack.copy();
newStack.stackSize = size;
newStack.setCount(size);
return newStack;
}
@@ -94,7 +94,7 @@ public abstract class ItemStorageNBT implements IItemStorage {
NBTTagCompound itemTag = new NBTTagCompound();
itemTag.setInteger(NBT_ITEM_TYPE, Item.getIdFromItem(stack.getItem()));
itemTag.setInteger(NBT_ITEM_QUANTITY, stack.stackSize);
itemTag.setInteger(NBT_ITEM_QUANTITY, stack.getCount());
itemTag.setInteger(NBT_ITEM_DAMAGE, stack.getItemDamage());
if (stack.hasTagCompound()) {
@@ -135,7 +135,7 @@ public abstract class ItemStorageNBT implements IItemStorage {
if (!simulate) {
tag.setInteger(NBT_STORED, getStored() + remainingSpace);
otherStack.stackSize += remainingSpace;
otherStack.grow(remainingSpace);
onStorageChanged();
}
@@ -145,7 +145,7 @@ public abstract class ItemStorageNBT implements IItemStorage {
if (!simulate) {
tag.setInteger(NBT_STORED, getStored() + size);
otherStack.stackSize += size;
otherStack.grow(size);
onStorageChanged();
}
@@ -188,15 +188,15 @@ public abstract class ItemStorageNBT implements IItemStorage {
public synchronized ItemStack extractItem(ItemStack stack, int size, int flags, boolean simulate) {
for (ItemStack otherStack : stacks) {
if (API.instance().getComparer().isEqual(otherStack, stack, flags)) {
if (size > otherStack.stackSize) {
size = otherStack.stackSize;
if (size > otherStack.getCount()) {
size = otherStack.getCount();
}
if (!simulate) {
if (otherStack.stackSize - size == 0) {
if (otherStack.getCount() - size == 0) {
stacks.remove(otherStack);
} else {
otherStack.stackSize -= size;
otherStack.grow(size);
}
tag.setInteger(NBT_STORED, getStored() - size);

View File

@@ -44,7 +44,7 @@ public class Comparer implements IComparer {
}
if ((flags & COMPARE_QUANTITY) == COMPARE_QUANTITY) {
if (left.stackSize != right.stackSize) {
if (left.getCount() != right.getCount()) {
return false;
}
}

View File

@@ -23,10 +23,10 @@ public class ItemStackList implements IItemStackList {
public void add(@Nonnull ItemStack stack, int size) {
for (ItemStack otherStack : stacks.get(stack.getItem())) {
if (API.instance().getComparer().isEqualNoQuantity(otherStack, stack)) {
if ((long) otherStack.stackSize + (long) size > Integer.MAX_VALUE) {
otherStack.stackSize = Integer.MAX_VALUE;
if ((long) otherStack.getCount() + (long) size > Integer.MAX_VALUE) {
otherStack.setCount(Integer.MAX_VALUE);
} else {
otherStack.stackSize += size;
otherStack.grow(size);
}
return;
@@ -39,11 +39,12 @@ public class ItemStackList implements IItemStackList {
@Override
public boolean remove(@Nonnull ItemStack stack, int size, boolean removeIfReachedZero) {
for (ItemStack otherStack : stacks.get(stack.getItem())) {
if (otherStack.stackSize > 0 && API.instance().getComparer().isEqualNoQuantity(otherStack, stack)) {
otherStack.stackSize -= size;
boolean success = otherStack.stackSize >= 0;
if (otherStack.getCount() > 0 && API.instance().getComparer().isEqualNoQuantity(otherStack, stack)) {
otherStack.shrink(size);
if (otherStack.stackSize <= 0 && removeIfReachedZero) {
boolean success = otherStack.getCount() >= 0;
if (otherStack.getCount() <= 0 && removeIfReachedZero) {
stacks.remove(otherStack.getItem(), otherStack);
}
@@ -57,13 +58,15 @@ public class ItemStackList implements IItemStackList {
@Override
public boolean trackedRemove(@Nonnull ItemStack stack, int size, boolean removeIfReachedZero) {
for (ItemStack otherStack : stacks.get(stack.getItem())) {
if (otherStack.stackSize > 0 && API.instance().getComparer().isEqualNoQuantity(otherStack, stack)) {
ItemStack removed = ItemHandlerHelper.copyStackWithSize(otherStack, Math.min(size, otherStack.stackSize));
if (otherStack.getCount() > 0 && API.instance().getComparer().isEqualNoQuantity(otherStack, stack)) {
ItemStack removed = ItemHandlerHelper.copyStackWithSize(otherStack, Math.min(size, otherStack.getCount()));
this.removeTracker.add(removed);
otherStack.stackSize -= size;
boolean success = otherStack.stackSize >= 0;
if (otherStack.stackSize <= 0 && removeIfReachedZero) {
otherStack.shrink(size);
boolean success = otherStack.getCount() >= 0;
if (otherStack.getCount() <= 0 && removeIfReachedZero) {
stacks.remove(otherStack.getItem(), otherStack);
}
@@ -90,7 +93,7 @@ public class ItemStackList implements IItemStackList {
public ItemStack get(@Nonnull ItemStack stack, int flags) {
// When the oredict flag is set all stacks need to be checked not just the ones matching the item
for (ItemStack otherStack : (flags & IComparer.COMPARE_OREDICT) == IComparer.COMPARE_OREDICT ? stacks.values() : stacks.get(stack.getItem())) {
if (otherStack.stackSize > 0 && API.instance().getComparer().isEqual(otherStack, stack, flags)) {
if (otherStack.getCount() > 0 && API.instance().getComparer().isEqual(otherStack, stack, flags)) {
return otherStack;
}
}
@@ -118,7 +121,7 @@ public class ItemStackList implements IItemStackList {
@Override
public void clean() {
List<ItemStack> toRemove = stacks.values().stream()
.filter(stack -> stack.stackSize <= 0)
.filter(stack -> stack.getCount() <= 0)
.collect(Collectors.toList());
toRemove.forEach(stack -> stacks.remove(stack.getItem(), stack));
@@ -170,7 +173,7 @@ public class ItemStackList implements IItemStackList {
compare |= IComparer.COMPARE_DAMAGE;
}
ItemStack actualInput = list.get(input, compare);
ItemStack taken = ItemHandlerHelper.copyStackWithSize(actualInput, input.stackSize);
ItemStack taken = ItemHandlerHelper.copyStackWithSize(actualInput, input.getCount());
took[i] = taken;
list.remove(taken, true);
}

View File

@@ -37,7 +37,7 @@ public class ItemStackListOredicted implements IItemStackList {
public void add(@Nonnull ItemStack stack, int size) {
underlyingList.add(stack, size);
ItemStack internalStack = underlyingList.get(stack);
if (internalStack != null && internalStack.stackSize == stack.stackSize) {
if (internalStack != null && internalStack.getCount() == stack.getCount()) {
for (int id : OreDictionary.getOreIDs(internalStack)) {
stacks.put(id, internalStack);
}
@@ -86,10 +86,10 @@ public class ItemStackListOredicted implements IItemStackList {
if (stacks != null && !stacks.isEmpty()) {
int i = 0;
ItemStack returnStack = stacks.get(i++);
while (returnStack.stackSize == 0 && i < stacks.size()) {
while (returnStack.getCount() == 0 && i < stacks.size()) {
returnStack = stacks.get(i++);
}
if (returnStack.stackSize != 0) {
if (returnStack.getCount() != 0) {
return returnStack;
}
}
@@ -112,7 +112,7 @@ public class ItemStackListOredicted implements IItemStackList {
private void localClean() {
List<Map.Entry<Integer, ItemStack>> toRemove = stacks.entries().stream()
.filter(entry -> entry.getValue().stackSize <= 0)
.filter(entry -> entry.getValue().getCount() <= 0)
.collect(Collectors.toList());
toRemove.forEach(entry -> stacks.remove(entry.getKey(), entry.getValue()));

View File

@@ -1,24 +1,12 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.tile.TileBase;
import com.raoulvdberge.refinedstorage.tile.TileCable;
import com.raoulvdberge.refinedstorage.tile.TileMultipartNode;
import com.raoulvdberge.refinedstorage.tile.TileNode;
import mcmultipart.block.BlockCoverable;
import mcmultipart.block.BlockMultipartContainer;
import mcmultipart.raytrace.RayTraceUtils;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumFacing;
@@ -28,15 +16,12 @@ import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.items.IItemHandler;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class BlockCable extends BlockCoverable {
protected static final PropertyDirection DIRECTION = PropertyDirection.create("direction");
public class BlockCable extends BlockNode {
protected static AxisAlignedBB createAABB(int fromX, int fromY, int fromZ, int toX, int toY, int toZ) {
return new AxisAlignedBB((float) fromX / 16F, (float) fromY / 16F, (float) fromZ / 16F, (float) toX / 16F, (float) toY / 16F, (float) toZ / 16F);
}
@@ -55,43 +40,15 @@ public class BlockCable extends BlockCoverable {
protected static final PropertyBool WEST = PropertyBool.create("west");
protected static final PropertyBool UP = PropertyBool.create("up");
protected static final PropertyBool DOWN = PropertyBool.create("down");
protected static final PropertyBool CONNECTED = PropertyBool.create("connected");
private String name;
public BlockCable(String name) {
super(Material.ROCK);
this.name = name;
setHardness(0.6F);
setRegistryName(RS.ID, name);
setCreativeTab(RS.INSTANCE.tab);
super(name);
}
public BlockCable() {
this("cable");
}
@Override
public String getUnlocalizedName() {
return "block." + RS.ID + ":" + name;
}
public String getName() {
return name;
}
@Override
public boolean canProvidePower(IBlockState state) {
return false;
}
@Override
public boolean hasTileEntity(IBlockState state) {
return true;
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileCable();
@@ -103,67 +60,38 @@ public class BlockCable extends BlockCoverable {
@Override
protected BlockStateContainer createBlockState() {
BlockStateContainer.Builder builder = new BlockStateContainer.Builder(this);
BlockStateContainer.Builder builder = super.createBlockStateBuilder();
builder.add(NORTH)
.add(EAST)
.add(SOUTH)
.add(WEST)
.add(UP)
.add(DOWN)
.add(BlockMultipartContainer.PROPERTY_MULTIPART_CONTAINER);
.add(DOWN);
if (getPlacementType() != null) {
builder.add(DIRECTION);
}
if (hasConnectivityState()) {
builder.add(CONNECTED);
}
return builder.build();
}
@Override
@SuppressWarnings("deprecation")
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
state = super.getActualState(state, world, pos)
return super.getActualState(state, world, pos)
.withProperty(NORTH, hasConnectionWith(world, pos, EnumFacing.NORTH))
.withProperty(EAST, hasConnectionWith(world, pos, EnumFacing.EAST))
.withProperty(SOUTH, hasConnectionWith(world, pos, EnumFacing.SOUTH))
.withProperty(WEST, hasConnectionWith(world, pos, EnumFacing.WEST))
.withProperty(UP, hasConnectionWith(world, pos, EnumFacing.UP))
.withProperty(DOWN, hasConnectionWith(world, pos, EnumFacing.DOWN));
TileNode tile = (TileNode) world.getTileEntity(pos);
if (tile != null) {
if (getPlacementType() != null) {
state = state.withProperty(DIRECTION, tile.getDirection());
}
if (hasConnectivityState()) {
state = state.withProperty(CONNECTED, tile.isConnected());
}
}
return state;
}
private boolean hasConnectionWith(IBlockAccess world, BlockPos pos, EnumFacing direction) {
TileEntity facing = world.getTileEntity(pos.offset(direction));
boolean isConnectable = API.instance().getConnectableConditions().stream().anyMatch(p -> p.test(facing));
if (isConnectable) {
// Do not render a cable extension where our cable "head" is (e.g. importer, exporter, external storage heads).
TileMultipartNode multipartNode = ((TileMultipartNode) world.getTileEntity(pos));
if (getPlacementType() != null && multipartNode != null && multipartNode.getFacingTile() == facing) {
return false;
}
return !TileMultipartNode.hasBlockingMicroblock(world, pos, direction) && !TileMultipartNode.hasBlockingMicroblock(world, pos.offset(direction), direction.getOpposite());
}
return false;
return API.instance().getConnectableConditions().stream().anyMatch(p -> p.test(facing));
}
private boolean isInAABB(AxisAlignedBB aabb, float hitX, float hitY, float hitZ) {
@@ -228,17 +156,20 @@ public class BlockCable extends BlockCoverable {
}
@Override
public void addCollisionBoxToListDefault(IBlockState state, World world, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, Entity entityIn) {
public void addCollisionBoxToList(IBlockState state, World world, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, Entity entityIn) {
for (AxisAlignedBB aabb : getCollisionBoxes(this.getActualState(state, world, pos))) {
addCollisionBoxToList(pos, entityBox, collidingBoxes, aabb);
}
}
@Override
public RayTraceResult collisionRayTraceDefault(IBlockState state, World world, BlockPos pos, Vec3d start, Vec3d end) {
RayTraceUtils.AdvancedRayTraceResult result = RayTraceUtils.collisionRayTrace(world, pos, start, end, getCollisionBoxes(this.getActualState(state, world, pos)));
public RayTraceResult collisionRayTrace(IBlockState state, World world, BlockPos pos, Vec3d start, Vec3d end) {
// @TODO
/*RayTraceUtils.AdvancedRayTraceResult result = RayTraceUtils.collisionRayTrace(world, pos, start, end, getCollisionBoxes(this.getActualState(state, world, pos)));
return result != null ? result.hit : null;
*/
return null;
}
@Override
@@ -251,10 +182,6 @@ public class BlockCable extends BlockCoverable {
return false;
}
public EnumPlacementType getPlacementType() {
return null;
}
@Override
@SuppressWarnings("deprecation")
public IBlockState getStateForPlacement(World world, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase entity) {
@@ -267,96 +194,6 @@ public class BlockCable extends BlockCoverable {
return state;
}
@Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack) {
super.onBlockPlacedBy(world, pos, state, player, stack);
if (getPlacementType() != null) {
((TileBase) world.getTileEntity(pos)).setDirection(state.getValue(DIRECTION));
}
attemptConnect(world, pos);
}
public void attemptConnect(World world, BlockPos pos) {
if (!world.isRemote) {
for (EnumFacing facing : EnumFacing.VALUES) {
TileEntity tile = world.getTileEntity(pos.offset(facing));
if (tile instanceof TileNode && ((TileNode) tile).isConnected()) {
((TileNode) tile).getNetwork().getNodeGraph().rebuild();
break;
}
}
}
}
@Override
public void breakBlock(World world, BlockPos pos, IBlockState state) {
INetworkMaster network = null;
if (!world.isRemote) {
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileNode) {
network = ((TileNode) tile).getNetwork();
}
if (tile instanceof TileBase && ((TileBase) tile).getDrops() != null) {
IItemHandler handler = ((TileBase) tile).getDrops();
for (int i = 0; i < handler.getSlots(); ++i) {
if (handler.getStackInSlot(i) != null) {
InventoryHelper.spawnItemStack(world, pos.getX(), pos.getY(), pos.getZ(), handler.getStackInSlot(i));
}
}
}
}
super.breakBlock(world, pos, state);
if (network != null) {
network.getNodeGraph().rebuild();
}
}
@Override
public List<ItemStack> getDropsDefault(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
List<ItemStack> drops = new ArrayList<>();
drops.add(new ItemStack(this, 1, getMetaFromState(state)));
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileBase && ((TileBase) tile).getDrops() != null) {
IItemHandler handler = ((TileBase) tile).getDrops();
for (int i = 0; i < handler.getSlots(); ++i) {
if (handler.getStackInSlot(i) != null) {
drops.add(handler.getStackInSlot(i));
}
}
}
return drops;
}
@Override
public boolean rotateBlock(World world, BlockPos pos, EnumFacing axis) {
if (!world.isRemote && getPlacementType() != null) {
TileBase tile = (TileBase) world.getTileEntity(pos);
tile.setDirection(getPlacementType().cycle(tile.getDirection()));
tile.updateBlock();
return true;
}
return false;
}
@Override
public BlockRenderLayer getBlockLayer() {
return BlockRenderLayer.CUTOUT;

View File

@@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileConstructor;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -75,7 +74,7 @@ public class BlockConstructor extends BlockCable {
}
@Override
public boolean onBlockActivatedDefault(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (hitCablePart(state, world, pos, hitX, hitY, hitZ)) {
return false;
}

View File

@@ -19,6 +19,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
@@ -36,7 +37,7 @@ public class BlockController extends BlockBase {
}
@Override
public void getSubBlocks(Item item, CreativeTabs tab, List<ItemStack> subItems) {
public void getSubBlocks(Item item, CreativeTabs tab, NonNullList<ItemStack> subItems) {
for (int i = 0; i <= 1; i++) {
subItems.add(ItemBlockController.createStackWithNBT(new ItemStack(item, 1, i)));
}
@@ -79,7 +80,7 @@ public class BlockController extends BlockBase {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.CONTROLLER, world, pos.getX(), pos.getY(), pos.getZ());
}
@@ -113,8 +114,8 @@ public class BlockController extends BlockBase {
@Override
@SuppressWarnings("deprecation")
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block block) {
super.neighborChanged(state, world, pos, block);
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block block, BlockPos fromPos) {
super.neighborChanged(state, world, pos, block, fromPos);
if (!world.isRemote) {
((TileController) world.getTileEntity(pos)).getNodeGraph().rebuild();

View File

@@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileCrafter;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -23,7 +22,7 @@ public class BlockCrafter extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.CRAFTER, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -23,7 +22,7 @@ public class BlockCraftingMonitor extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.CRAFTING_MONITOR, world, pos.getX(), pos.getY(), pos.getZ());

View File

@@ -6,7 +6,6 @@ import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileDestructor;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -32,7 +31,7 @@ public class BlockDestructor extends BlockCable {
}
@Override
public boolean onBlockActivatedDefault(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (hitCablePart(state, world, pos, hitX, hitY, hitZ)) {
return false;
}

View File

@@ -7,7 +7,6 @@ import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumFacing;
@@ -69,7 +68,7 @@ public class BlockDetector extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.DETECTOR, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -7,7 +7,6 @@ import com.raoulvdberge.refinedstorage.tile.TileDiskDrive;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -29,7 +28,7 @@ public class BlockDiskDrive extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.DISK_DRIVE, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -7,7 +7,6 @@ import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -16,8 +15,6 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.property.IExtendedBlockState;
import javax.annotation.Nullable;
public class BlockDiskManipulator extends BlockNode {
public static final PropertyObject<Integer[]> DISK_STATE = new PropertyObject<>("disk_state", Integer[].class);
@@ -31,7 +28,7 @@ public class BlockDiskManipulator extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.DISK_MANIPULATOR, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileExporter;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -86,7 +85,7 @@ public class BlockExporter extends BlockCable {
}
@Override
public boolean onBlockActivatedDefault(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (hitCablePart(state, world, pos, hitX, hitY, hitZ)) {
return false;
}

View File

@@ -6,7 +6,6 @@ import com.raoulvdberge.refinedstorage.tile.externalstorage.TileExternalStorage;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -69,7 +68,7 @@ public class BlockExternalStorage extends BlockCable {
}
@Override
public boolean onBlockActivatedDefault(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (hitCablePart(state, world, pos, hitX, hitY, hitZ)) {
return false;
}
@@ -82,8 +81,8 @@ public class BlockExternalStorage extends BlockCable {
}
@Override
public void onNeighborBlockChangeDefault(World world, BlockPos pos, IBlockState state, Block neighborBlock) {
super.onNeighborBlockChangeDefault(world, pos, state, neighborBlock);
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block block, BlockPos fromPos) {
super.neighborChanged(state, world, pos, block, fromPos);
if (!world.isRemote) {
TileExternalStorage externalStorage = (TileExternalStorage) world.getTileEntity(pos);

View File

@@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileFluidInterface;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -23,7 +22,7 @@ public class BlockFluidInterface extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.FLUID_INTERFACE, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -17,6 +17,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
@@ -34,7 +35,7 @@ public class BlockFluidStorage extends BlockNode {
}
@Override
public void getSubBlocks(Item item, CreativeTabs tab, List<ItemStack> subItems) {
public void getSubBlocks(Item item, CreativeTabs tab, NonNullList<ItemStack> subItems) {
for (int i = 0; i <= 4; ++i) {
subItems.add(ItemBlockFluidStorage.initNBT(new ItemStack(item, 1, i)));
}
@@ -63,7 +64,7 @@ public class BlockFluidStorage extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.FLUID_STORAGE, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -14,11 +14,10 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import java.util.List;
public class BlockGrid extends BlockNode {
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumGridType.class);
@@ -32,7 +31,7 @@ public class BlockGrid extends BlockNode {
}
@Override
public void getSubBlocks(Item item, CreativeTabs tab, List<ItemStack> subItems) {
public void getSubBlocks(Item item, CreativeTabs tab, NonNullList<ItemStack> subItems) {
for (int i = 0; i <= 3; i++) {
subItems.add(new ItemStack(item, 1, i));
}
@@ -56,7 +55,7 @@ public class BlockGrid extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.GRID, world, pos.getX(), pos.getY(), pos.getZ());

View File

@@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileImporter;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -86,7 +85,7 @@ public class BlockImporter extends BlockCable {
}
@Override
public boolean onBlockActivatedDefault(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (hitCablePart(state, world, pos, hitX, hitY, hitZ)) {
return false;
}

View File

@@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileInterface;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -23,7 +22,7 @@ public class BlockInterface extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.INTERFACE, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -18,7 +17,7 @@ public class BlockNetworkTransmitter extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.NETWORK_TRANSMITTER, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -40,7 +40,7 @@ public class BlockProcessingPatternEncoder extends BlockBase {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.PROCESSING_PATTERN_ENCODER, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -4,10 +4,8 @@ import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSBlocks;
import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileReader;
import mcmultipart.microblock.MicroblockContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -29,7 +27,7 @@ public class BlockReader extends BlockCable {
}
@Override
public boolean onBlockActivatedDefault(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (hitCablePart(state, world, pos, hitX, hitY, hitZ)) {
return false;
}
@@ -44,7 +42,7 @@ public class BlockReader extends BlockCable {
}
@Override
public boolean canConnectRedstoneDefault(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side, MicroblockContainer partContainer) {
public boolean canConnectRedstone(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
return side == ((TileReader) world.getTileEntity(pos)).getDirection().getOpposite();
}

View File

@@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileRelay;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -23,7 +22,7 @@ public class BlockRelay extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.RELAY, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -38,7 +38,7 @@ public class BlockSolderer extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.SOLDERER, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -17,6 +17,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
@@ -34,7 +35,7 @@ public class BlockStorage extends BlockNode {
}
@Override
public void getSubBlocks(Item item, CreativeTabs tab, List<ItemStack> subItems) {
public void getSubBlocks(Item item, CreativeTabs tab, NonNullList<ItemStack> subItems) {
for (int i = 0; i <= 4; ++i) {
subItems.add(ItemBlockStorage.initNBT(new ItemStack(item, 1, i)));
}
@@ -63,7 +64,7 @@ public class BlockStorage extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.STORAGE, world, pos.getX(), pos.getY(), pos.getZ());
}

View File

@@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter;
import mcmultipart.block.BlockCoverable;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.resources.I18n;
@@ -35,7 +34,7 @@ public class BlockWirelessTransmitter extends BlockNode {
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RS.INSTANCE, RSGui.WIRELESS_TRANSMITTER, world, pos.getX(), pos.getY(), pos.getZ());
}
@@ -45,7 +44,7 @@ public class BlockWirelessTransmitter extends BlockNode {
@Override
@SuppressWarnings("deprecation")
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block block) {
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos) {
if (!canPlaceBlockAt(world, pos) && world.getBlockState(pos).getBlock() == this) {
dropBlockAsItem(world, pos, state, 0);
@@ -73,7 +72,7 @@ public class BlockWirelessTransmitter extends BlockNode {
@Override
public boolean canPlaceBlockAt(World world, BlockPos pos) {
return world.getBlockState(pos.offset(EnumFacing.DOWN)).getBlock() instanceof BlockCoverable;
return world.getBlockState(pos.offset(EnumFacing.DOWN)).getBlock() instanceof BlockCable;
}
@Override

View File

@@ -4,10 +4,8 @@ import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSBlocks;
import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.tile.TileWriter;
import mcmultipart.microblock.MicroblockContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@@ -29,7 +27,7 @@ public class BlockWriter extends BlockCable {
}
@Override
public boolean onBlockActivatedDefault(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (hitCablePart(state, world, pos, hitX, hitY, hitZ)) {
return false;
}
@@ -50,7 +48,7 @@ public class BlockWriter extends BlockCable {
@Override
@SuppressWarnings("deprecation")
public int getWeakPowerDefault(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side, MicroblockContainer partContainer) {
public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
TileWriter writer = (TileWriter) world.getTileEntity(pos);
return side == writer.getDirection().getOpposite() ? writer.getRedstoneStrength() : 0;
@@ -58,8 +56,8 @@ public class BlockWriter extends BlockCable {
@Override
@SuppressWarnings("deprecation")
public int getStrongPowerDefault(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side, MicroblockContainer partContainer) {
return getWeakPowerDefault(state, world, pos, side, partContainer);
public int getStrongPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
return getWeakPower(state, world, pos, side);
}
@Override
@@ -68,7 +66,7 @@ public class BlockWriter extends BlockCable {
}
@Override
public boolean canConnectRedstoneDefault(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side, MicroblockContainer partContainer) {
public boolean canConnectRedstone(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
return side == ((TileWriter) world.getTileEntity(pos)).getDirection().getOpposite();
}

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.block;
import net.minecraft.block.BlockPistonBase;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
@@ -30,7 +29,7 @@ public enum EnumPlacementType {
case ANY:
return facing.getOpposite();
case ANY_FACE_PLAYER:
return BlockPistonBase.getFacingFromEntity(pos, entity);
return EnumFacing.getDirectionFromEntityLiving(pos, entity);
case HORIZONTAL:
return entity.getHorizontalFacing().getOpposite();
default:

View File

@@ -62,11 +62,11 @@ public abstract class ContainerBase extends Container {
if (clickType == ClickType.QUICK_MOVE) {
slot.putStack(null);
} else if (player.inventory.getItemStack() != null) {
int amount = player.inventory.getItemStack().stackSize;
int amount = player.inventory.getItemStack().getCount();
slot.putStack(ItemHandlerHelper.copyStackWithSize(player.inventory.getItemStack(), amount));
} else if (slot.getHasStack()) {
int amount = slot.getStack().stackSize;
int amount = slot.getStack().getCount();
if (dragType == 0) {
amount = Math.max(1, amount - 1);
@@ -74,7 +74,7 @@ public abstract class ContainerBase extends Container {
amount = Math.min(64, amount + 1);
}
slot.getStack().stackSize = amount;
slot.getStack().setCount(amount);
}
} else if (player.inventory.getItemStack() == null) {
slot.putStack(null);

View File

@@ -37,7 +37,7 @@ public class ContainerConstructor extends ContainerBase {
return mergeItemStackToSpecimen(stack, 4, 4 + 1);
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -38,7 +38,7 @@ public class ContainerCrafter extends ContainerBase {
return null;
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -21,6 +21,11 @@ public class ContainerCraftingSettings extends ContainerBase {
return 1;
}
@Override
public boolean isEmpty() {
return true;
}
@Nullable
@Override
public ItemStack getStackInSlot(int index) {

View File

@@ -39,7 +39,7 @@ public class ContainerDestructor extends ContainerBase {
return mergeItemStackToSpecimen(stack, 4, 4 + 9);
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -42,7 +42,7 @@ public class ContainerDiskDrive extends ContainerBase {
return mergeItemStackToSpecimen(stack, 8, 8 + 9);
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -47,7 +47,7 @@ public class ContainerDiskManipulator extends ContainerBase {
return mergeItemStackToSpecimen(stack, 4 + 6, 4 + 6 + 9);
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -39,7 +39,7 @@ public class ContainerExporter extends ContainerBase {
return mergeItemStackToSpecimen(stack, 4, 4 + 9);
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -38,7 +38,7 @@ public class ContainerFluidInterface extends ContainerBase {
return mergeItemStackToSpecimen(stack, 5, 6);
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -39,7 +39,7 @@ public class ContainerImporter extends ContainerBase {
return mergeItemStackToSpecimen(stack, 4, 4 + 9);
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -48,7 +48,7 @@ public class ContainerInterface extends ContainerBase {
return null;
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -34,7 +34,7 @@ public class ContainerNetworkTransmitter extends ContainerBase {
return null;
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -58,7 +58,7 @@ public class ContainerProcessingPatternEncoder extends ContainerBase {
return null;
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -55,7 +55,7 @@ public class ContainerSolderer extends ContainerBase {
}
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -34,7 +34,7 @@ public class ContainerWirelessTransmitter extends ContainerBase {
return null;
}
if (stack.stackSize == 0) {
if (stack.getCount() == 0) {
slot.putStack(null);
} else {
slot.onSlotChanged();

View File

@@ -19,7 +19,7 @@ public class SlotGridCraftingResult extends SlotCrafting {
}
@Override
public void onPickupFromSlot(EntityPlayer player, ItemStack stack) {
public ItemStack onTake(EntityPlayer player, ItemStack stack) {
FMLCommonHandler.instance().firePlayerCraftingEvent(player, stack, grid.getMatrix());
onCrafting(stack);
@@ -29,5 +29,7 @@ public class SlotGridCraftingResult extends SlotCrafting {
container.sendCraftingSlots();
}
return null;
}
}

View File

@@ -50,7 +50,7 @@ public class SlotSpecimen extends SlotItemHandler {
@Override
public void putStack(ItemStack stack) {
if (stack != null && !isWithSize()) {
stack.stackSize = 1;
stack.setCount(1);
}
super.putStack(stack);

View File

@@ -24,7 +24,7 @@ public class SlotSpecimenLegacy extends Slot {
@Override
public void putStack(ItemStack stack) {
if (stack != null) {
stack.stackSize = 1;
stack.setCount(1);
}
super.putStack(stack);

View File

@@ -66,11 +66,11 @@ public class ClientStackItem implements IClientStack {
@Override
public int getQuantity() {
return stack.stackSize;
return stack.getCount();
}
private String getQuantityForDisplay(boolean advanced) {
int qty = stack.stackSize;
int qty = stack.getCount();
if (advanced && qty > 1) {
return String.valueOf(qty);

View File

@@ -1,40 +0,0 @@
package com.raoulvdberge.refinedstorage.integration.ic2;
import com.raoulvdberge.refinedstorage.tile.TileController;
import ic2.api.energy.prefab.BasicSink;
import net.minecraft.util.EnumFacing;
public class ControllerEnergyIC2 implements IControllerEnergyIC2 {
private BasicSink sink;
public ControllerEnergyIC2(final TileController controller) {
this.sink = new BasicSink(controller, (int) IntegrationIC2.toEU(controller.getEnergy().getMaxEnergyStored()), 3) {
@Override
public double getDemandedEnergy() {
return Math.max(0.0D, IntegrationIC2.toEU(controller.getEnergy().getMaxEnergyStored()) - IntegrationIC2.toEU(controller.getEnergy().getEnergyStored()));
}
@Override
public double injectEnergy(EnumFacing directionFrom, double amount, double voltage) {
controller.getEnergy().setEnergyStored(controller.getEnergy().getEnergyStored() + IntegrationIC2.toRS(amount));
return 0.0D;
}
};
}
@Override
public void invalidate() {
sink.invalidate();
}
@Override
public void update() {
sink.update();
}
@Override
public void onChunkUnload() {
sink.onChunkUnload();
}
}

View File

@@ -1,15 +0,0 @@
package com.raoulvdberge.refinedstorage.integration.ic2;
public class ControllerEnergyIC2None implements IControllerEnergyIC2 {
@Override
public void invalidate() {
}
@Override
public void update() {
}
@Override
public void onChunkUnload() {
}
}

View File

@@ -1,9 +0,0 @@
package com.raoulvdberge.refinedstorage.integration.ic2;
public interface IControllerEnergyIC2 {
void invalidate();
void update();
void onChunkUnload();
}

View File

@@ -1,19 +0,0 @@
package com.raoulvdberge.refinedstorage.integration.ic2;
import com.raoulvdberge.refinedstorage.RS;
import net.minecraftforge.fml.common.Loader;
public final class IntegrationIC2 {
public static boolean isLoaded() {
return Loader.isModLoaded("IC2");
}
public static int toRS(double amount) {
return amount >= Double.POSITIVE_INFINITY ? Integer.MAX_VALUE : ((int) Math.floor(amount) * RS.INSTANCE.config.euConversion);
}
public static double toEU(int amount) {
return Math.floor(amount / RS.INSTANCE.config.euConversion);
}
}

View File

@@ -36,29 +36,6 @@ public class RecipeCategorySolderer extends BlankRecipeCategory<RecipeWrapperSol
return background;
}
@Override
@SuppressWarnings("deprecation")
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull RecipeWrapperSolderer recipeWrapper) {
IGuiItemStackGroup group = recipeLayout.getItemStacks();
int x = 0;
int y = 0;
for (int i = 0; i < 3; ++i) {
group.init(i, true, x, y);
y += 18;
}
group.init(3, false, 83, 18);
for (int i = 0; i < 3; ++i) {
group.set(i, recipeWrapper.getInputs().get(i));
}
group.set(3, recipeWrapper.getOutputs().get(0));
}
@Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull RecipeWrapperSolderer recipeWrapper, @Nonnull IIngredients ingredients) {
IGuiItemStackGroup group = recipeLayout.getItemStacks();

View File

@@ -12,13 +12,6 @@ public class RecipeHandlerSolderer implements IRecipeHandler<RecipeWrapperSolder
return RecipeWrapperSolderer.class;
}
@Override
@Nonnull
@SuppressWarnings("deprecation")
public String getRecipeCategoryUid() {
return RecipeCategorySolderer.ID;
}
@Override
@Nonnull
public String getRecipeCategoryUid(@Nonnull RecipeWrapperSolderer recipe) {

View File

@@ -27,11 +27,6 @@ public class RecipeTransferHandlerGrid implements IRecipeTransferHandler {
return ContainerGrid.class;
}
@Override
public String getRecipeCategoryUid() {
return "minecraft.crafting";
}
@Override
public IRecipeTransferError transferRecipe(Container container, IRecipeLayout recipeLayout, EntityPlayer player, boolean maxTransfer, boolean doTransfer) {
if (doTransfer) {

View File

@@ -21,11 +21,6 @@ public class RecipeTransferHandlerPattern implements IRecipeTransferHandler<Cont
return ContainerProcessingPatternEncoder.class;
}
@Override
public String getRecipeCategoryUid() {
return "patternEncoding";
}
@Nullable
@Override
public IRecipeTransferError transferRecipe(ContainerProcessingPatternEncoder container, IRecipeLayout recipeLayout, EntityPlayer player, boolean maxTransfer, boolean doTransfer) {
@@ -41,13 +36,13 @@ public class RecipeTransferHandlerPattern implements IRecipeTransferHandler<Cont
if (guiIngredient.isInput()) {
if (inputs.containsKey(hash)) {
inputs.get(hash).stackSize++;
inputs.get(hash).grow(1);
} else {
inputs.put(hash, ingredient);
}
} else {
if (outputs.containsKey(hash)) {
outputs.get(hash).stackSize++;
outputs.get(hash).grow(1);
} else {
outputs.put(hash, ingredient);
}

View File

@@ -4,7 +4,6 @@ import mezz.jei.api.ingredients.IIngredients;
import mezz.jei.api.recipe.BlankRecipeWrapper;
import net.minecraft.item.ItemStack;
import java.util.Collections;
import java.util.List;
public class RecipeWrapperSolderer extends BlankRecipeWrapper {
@@ -22,18 +21,6 @@ public class RecipeWrapperSolderer extends BlankRecipeWrapper {
ingredients.setOutput(ItemStack.class, output);
}
@Override
@SuppressWarnings("deprecation")
public List<ItemStack> getInputs() {
return inputs;
}
@Override
@SuppressWarnings("deprecation")
public List<ItemStack> getOutputs() {
return Collections.singletonList(output);
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof RecipeWrapperSolderer)) {

View File

@@ -3,6 +3,7 @@ package com.raoulvdberge.refinedstorage.inventory;
import com.raoulvdberge.refinedstorage.RSUtils;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.NonNullList;
import net.minecraftforge.items.ItemStackHandler;
public class ItemHandlerGridFilter extends ItemStackHandler {
@@ -29,7 +30,7 @@ public class ItemHandlerGridFilter extends ItemStackHandler {
RSUtils.writeItems(this, 0, stack.getTagCompound());
}
public ItemStack[] getFilteredItems() {
public NonNullList<ItemStack> getFilteredItems() {
return stacks;
}
}

View File

@@ -65,7 +65,7 @@ public class ItemHandlerUpgrade extends ItemHandlerBasic {
return 0;
}
public int getInteractStackSize() {
public int getItemInteractCount() {
return hasUpgrade(ItemUpgrade.TYPE_STACK) ? 64 : 1;
}
}

View File

@@ -39,10 +39,12 @@ public class ItemBlockFluidStorage extends ItemBlockBase {
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
ItemStack stack = player.getHeldItem(hand);
EnumFluidStorageType type = EnumFluidStorageType.getById(stack.getMetadata());
if (type != null && stack.stackSize == 1 && isValid(stack) && FluidStorageNBT.getStoredFromNBT(stack.getTagCompound().getCompoundTag(TileFluidStorage.NBT_STORAGE)) <= 0 && stack.getMetadata() != ItemFluidStorageDisk.TYPE_CREATIVE && !world.isRemote && player.isSneaking()) {
if (type != null && stack.getCount() == 1 && isValid(stack) && FluidStorageNBT.getStoredFromNBT(stack.getTagCompound().getCompoundTag(TileFluidStorage.NBT_STORAGE)) <= 0 && stack.getMetadata() != ItemFluidStorageDisk.TYPE_CREATIVE && !world.isRemote && player.isSneaking()) {
ItemStack storagePart = new ItemStack(RSItems.FLUID_STORAGE_PART, 1, stack.getMetadata());
if (!player.inventory.addItemStackToInventory(storagePart.copy())) {

View File

@@ -39,10 +39,12 @@ public class ItemBlockStorage extends ItemBlockBase {
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
ItemStack stack = player.getHeldItem(hand);
EnumItemStorageType type = EnumItemStorageType.getById(stack.getMetadata());
if (type != null && stack.stackSize == 1 && isValid(stack) && ItemStorageNBT.getStoredFromNBT(stack.getTagCompound().getCompoundTag(TileStorage.NBT_STORAGE)) <= 0 && stack.getMetadata() != ItemStorageDisk.TYPE_CREATIVE && !world.isRemote && player.isSneaking()) {
if (type != null && stack.getCount() == 1 && isValid(stack) && ItemStorageNBT.getStoredFromNBT(stack.getTagCompound().getCompoundTag(TileStorage.NBT_STORAGE)) <= 0 && stack.getMetadata() != ItemStorageDisk.TYPE_CREATIVE && !world.isRemote && player.isSneaking()) {
ItemStack storagePart = new ItemStack(RSItems.STORAGE_PART, 1, stack.getMetadata());
if (!player.inventory.addItemStackToInventory(storagePart.copy())) {

View File

@@ -3,8 +3,7 @@ package com.raoulvdberge.refinedstorage.item;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import java.util.List;
import net.minecraft.util.NonNullList;
public class ItemCore extends ItemBase {
public static final int TYPE_CONSTRUCTION = 0;
@@ -18,7 +17,7 @@ public class ItemCore extends ItemBase {
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
public void getSubItems(Item item, CreativeTabs tab, NonNullList<ItemStack> list) {
for (int i = 0; i < 2; ++i) {
list.add(new ItemStack(item, 1, i));
}

View File

@@ -14,6 +14,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.world.World;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
@@ -40,7 +41,7 @@ public class ItemFluidStorageDisk extends ItemBase {
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
public void getSubItems(Item item, CreativeTabs tab, NonNullList<ItemStack> list) {
for (int i = 0; i < 5; ++i) {
list.add(FluidStorageNBT.createStackWithNBT(new ItemStack(item, 1, i)));
}
@@ -81,7 +82,9 @@ public class ItemFluidStorageDisk extends ItemBase {
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack disk, World world, EntityPlayer player, EnumHand hand) {
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
ItemStack disk = player.getHeldItem(hand);
if (!world.isRemote && player.isSneaking() && FluidStorageNBT.isValid(disk) && FluidStorageNBT.getStoredFromNBT(disk.getTagCompound()) <= 0 && disk.getMetadata() != TYPE_CREATIVE) {
ItemStack storagePart = new ItemStack(RSItems.FLUID_STORAGE_PART, 1, disk.getMetadata());

View File

@@ -3,8 +3,7 @@ package com.raoulvdberge.refinedstorage.item;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import java.util.List;
import net.minecraft.util.NonNullList;
public class ItemFluidStoragePart extends ItemBase {
public static final int TYPE_64K = 0;
@@ -20,7 +19,7 @@ public class ItemFluidStoragePart extends ItemBase {
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
public void getSubItems(Item item, CreativeTabs tab, NonNullList<ItemStack> list) {
for (int i = 0; i <= 3; ++i) {
list.add(new ItemStack(item, 1, i));
}

View File

@@ -25,7 +25,9 @@ public class ItemGridFilter extends ItemBase {
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
ItemStack stack = player.getHeldItem(hand);
if (!world.isRemote) {
if (player.isSneaking()) {
return new ActionResult<>(EnumActionResult.SUCCESS, new ItemStack(RSItems.GRID_FILTER));

View File

@@ -27,11 +27,11 @@ public class ItemNetworkCard extends ItemBase {
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
Block block = world.getBlockState(pos).getBlock();
if (block == RSBlocks.NETWORK_RECEIVER) {
setReceiver(stack, pos, world.provider.getDimension());
setReceiver(player.getHeldItem(hand), pos, world.provider.getDimension());
return EnumActionResult.SUCCESS;
}

View File

@@ -5,17 +5,13 @@ import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSBlocks;
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemProvider;
import com.raoulvdberge.refinedstorage.integration.forgeenergy.NetworkItemEnergyForge;
import com.raoulvdberge.refinedstorage.integration.ic2.IntegrationIC2;
import com.raoulvdberge.refinedstorage.integration.tesla.IntegrationTesla;
import com.raoulvdberge.refinedstorage.integration.tesla.NetworkItemEnergyTesla;
import com.raoulvdberge.refinedstorage.tile.TileController;
import ic2.api.item.IElectricItemManager;
import ic2.api.item.ISpecialElectricItem;
import net.darkhax.tesla.capability.TeslaCapabilities;
import net.minecraft.block.Block;
import net.minecraft.client.resources.I18n;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -29,16 +25,11 @@ import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.energy.CapabilityEnergy;
import net.minecraftforge.fml.common.Optional;
import javax.annotation.Nullable;
import java.util.List;
@Optional.InterfaceList({
@Optional.Interface(iface = "ic2.api.item.ISpecialElectricItem", modid = "IC2"),
@Optional.Interface(iface = "ic2.api.item.IElectricItemManager", modid = "IC2")
})
public abstract class ItemNetworkItem extends ItemEnergyContainer implements INetworkItemProvider, ISpecialElectricItem, IElectricItemManager {
public abstract class ItemNetworkItem extends ItemEnergyContainer implements INetworkItemProvider {
public static final int TYPE_NORMAL = 0;
public static final int TYPE_CREATIVE = 1;
@@ -59,7 +50,9 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
ItemStack stack = player.getHeldItem(hand);
if (!world.isRemote && isValid(stack)) {
World controllerWorld = DimensionManager.getWorld(getDimensionId(stack));
@@ -76,7 +69,7 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
}
}
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
@Override
@@ -110,7 +103,7 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
public void getSubItems(Item item, CreativeTabs tab, NonNullList<ItemStack> list) {
list.add(new ItemStack(item, 1, TYPE_NORMAL));
ItemStack fullyCharged = new ItemStack(item, 1, TYPE_NORMAL);
@@ -134,7 +127,9 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
ItemStack stack = player.getHeldItem(hand);
Block block = world.getBlockState(pos).getBlock();
if (block == RSBlocks.CONTROLLER) {
@@ -202,66 +197,6 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
return getUnlocalizedName() + "." + stack.getItemDamage();
}
@Optional.Method(modid = "IC2")
@Override
public IElectricItemManager getManager(ItemStack stack) {
return this;
}
@Optional.Method(modid = "IC2")
@Override
public double charge(ItemStack stack, double amount, int tier, boolean ignoreTransferLimit, boolean simulate) {
return IntegrationIC2.toEU(receiveEnergy(stack, IntegrationIC2.toRS(amount), simulate));
}
@Optional.Method(modid = "IC2")
@Override
public double discharge(ItemStack stack, double amount, int tier, boolean ignoreTransferLimit, boolean externally, boolean simulate) {
return IntegrationIC2.toEU(extractEnergy(stack, IntegrationIC2.toRS(amount), simulate));
}
@Optional.Method(modid = "IC2")
@Override
public double getCharge(ItemStack stack) {
return IntegrationIC2.toEU(getEnergyStored(stack));
}
@Optional.Method(modid = "IC2")
@Override
public double getMaxCharge(ItemStack stack) {
return IntegrationIC2.toEU(getMaxEnergyStored(stack));
}
@Optional.Method(modid = "IC2")
@Override
public boolean canUse(ItemStack stack, double amount) {
return true;
}
@Optional.Method(modid = "IC2")
@Override
public boolean use(ItemStack stack, double amount, EntityLivingBase entity) {
return true;
}
@Optional.Method(modid = "IC2")
@Override
public void chargeFromArmor(ItemStack stack, EntityLivingBase entity) {
// NO OP
}
@Optional.Method(modid = "IC2")
@Override
public String getToolTip(ItemStack stack) {
return null;
}
@Optional.Method(modid = "IC2")
@Override
public int getTier(ItemStack stack) {
return Integer.MAX_VALUE;
}
public boolean isValid(ItemStack stack) {
return stack.hasTagCompound()
&& stack.getTagCompound().hasKey(NBT_CONTROLLER_X)

View File

@@ -1,7 +1,7 @@
package com.raoulvdberge.refinedstorage.item;
import com.google.common.collect.Iterables;
import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern;
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternContainer;
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternProvider;
@@ -17,6 +17,7 @@ import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.util.Constants;
@@ -59,12 +60,12 @@ public class ItemPattern extends ItemBase implements ICraftingPatternProvider {
if (GuiScreen.isShiftKeyDown() || isProcessing(stack)) {
tooltip.add(TextFormatting.YELLOW + I18n.format("misc.refinedstorage:pattern.inputs") + TextFormatting.RESET);
combineItems(tooltip, true, Iterables.toArray(pattern.getInputs(), ItemStack.class));
combineItems(tooltip, true, RSUtils.toNonNullList(pattern.getInputs()));
tooltip.add(TextFormatting.YELLOW + I18n.format("misc.refinedstorage:pattern.outputs") + TextFormatting.RESET);
}
combineItems(tooltip, true, Iterables.toArray(pattern.getOutputs(), ItemStack.class));
combineItems(tooltip, true, RSUtils.toNonNullList(pattern.getOutputs()));
if (isOredict(stack)) {
tooltip.add(TextFormatting.BLUE + I18n.format("misc.refinedstorage:pattern.oredict") + TextFormatting.RESET);
@@ -80,10 +81,10 @@ public class ItemPattern extends ItemBase implements ICraftingPatternProvider {
NBTTagList outputsTag = stack.getTagCompound().getTagList("Outputs", Constants.NBT.TAG_COMPOUND);
ItemStack[] outputs = new ItemStack[outputsTag.tagCount()];
NonNullList<ItemStack> outputs = NonNullList.create();
for (int i = 0; i < outputsTag.tagCount(); ++i) {
outputs[i] = ItemStack.loadItemStackFromNBT(outputsTag.getCompoundTagAt(i));
outputs.add(new ItemStack(outputsTag.getCompoundTagAt(i)));
}
combineItems(tooltip, true, outputs);
@@ -110,7 +111,7 @@ public class ItemPattern extends ItemBase implements ICraftingPatternProvider {
return null;
}
return ItemStack.loadItemStackFromNBT(pattern.getTagCompound().getCompoundTag(id));
return new ItemStack(pattern.getTagCompound().getCompoundTag(id));
}
public static void addOutput(ItemStack pattern, ItemStack output) {
@@ -140,7 +141,7 @@ public class ItemPattern extends ItemBase implements ICraftingPatternProvider {
NBTTagList outputsTag = pattern.getTagCompound().getTagList(NBT_OUTPUTS, Constants.NBT.TAG_COMPOUND);
for (int i = 0; i < outputsTag.tagCount(); ++i) {
ItemStack stack = ItemStack.loadItemStackFromNBT(outputsTag.getCompoundTagAt(i));
ItemStack stack = new ItemStack(outputsTag.getCompoundTagAt(i));
if (stack != null) {
outputs.add(stack);
@@ -166,18 +167,20 @@ public class ItemPattern extends ItemBase implements ICraftingPatternProvider {
pattern.getTagCompound().setBoolean(NBT_OREDICT, oredict);
}
public static void combineItems(List<String> tooltip, boolean displayAmount, ItemStack... stacks) {
public static void combineItems(List<String> tooltip, boolean displayAmount, NonNullList<ItemStack> stacks) {
Set<Integer> combinedIndices = new HashSet<>();
for (int i = 0; i < stacks.length; ++i) {
if (stacks[i] != null && !combinedIndices.contains(i)) {
String data = stacks[i].getDisplayName();
for (int i = 0; i < stacks.size(); ++i) {
if (!stacks.get(i).isEmpty() && !combinedIndices.contains(i)) {
ItemStack stack = stacks.get(i);
int amount = stacks[i].stackSize;
String data = stack.getDisplayName();
for (int j = i + 1; j < stacks.length; ++j) {
if (API.instance().getComparer().isEqual(stacks[i], stacks[j])) {
amount += stacks[j].stackSize;
int amount = stack.getCount();
for (int j = i + 1; j < stacks.size(); ++j) {
if (API.instance().getComparer().isEqual(stack, stacks.get(j))) {
amount += stacks.get(j).getCount();
combinedIndices.add(j);
}
@@ -191,12 +194,12 @@ public class ItemPattern extends ItemBase implements ICraftingPatternProvider {
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
if (!world.isRemote && player.isSneaking()) {
return new ActionResult<>(EnumActionResult.SUCCESS, new ItemStack(RSItems.PATTERN, stack.stackSize));
return new ActionResult<>(EnumActionResult.SUCCESS, new ItemStack(RSItems.PATTERN, player.getHeldItem(hand).getCount()));
}
return new ActionResult<>(EnumActionResult.PASS, stack);
return new ActionResult<>(EnumActionResult.PASS, player.getHeldItem(hand));
}
@Override

View File

@@ -3,8 +3,7 @@ package com.raoulvdberge.refinedstorage.item;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import java.util.List;
import net.minecraft.util.NonNullList;
public class ItemProcessor extends ItemBase {
public static final int TYPE_PRINTED_BASIC = 0;
@@ -23,7 +22,7 @@ public class ItemProcessor extends ItemBase {
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
public void getSubItems(Item item, CreativeTabs tab, NonNullList<ItemStack> list) {
for (int i = 0; i <= 6; ++i) {
list.add(new ItemStack(item, 1, i));
}

View File

@@ -14,9 +14,9 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -39,7 +39,7 @@ public class ItemStorageDisk extends ItemBase {
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
public void getSubItems(Item item, CreativeTabs tab, NonNullList<ItemStack> list) {
for (int i = 0; i < 5; ++i) {
list.add(ItemStorageNBT.createStackWithNBT(new ItemStack(item, 1, i)));
}
@@ -75,7 +75,7 @@ public class ItemStorageDisk extends ItemBase {
Item item = it.next();
if (item != RSItems.STORAGE_DISK) {
List<ItemStack> stacks = new ArrayList<>();
NonNullList<ItemStack> stacks = NonNullList.create();
item.getSubItems(item, CreativeTabs.INVENTORY, stacks);
@@ -105,7 +105,9 @@ public class ItemStorageDisk extends ItemBase {
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack disk, World world, EntityPlayer player, EnumHand hand) {
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
ItemStack disk = player.getHeldItem(hand);
if (!world.isRemote && player.isSneaking() && ItemStorageNBT.isValid(disk) && ItemStorageNBT.getStoredFromNBT(disk.getTagCompound()) <= 0 && disk.getMetadata() != TYPE_CREATIVE) {
ItemStack storagePart = new ItemStack(RSItems.STORAGE_PART, 1, disk.getMetadata());

View File

@@ -3,8 +3,7 @@ package com.raoulvdberge.refinedstorage.item;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import java.util.List;
import net.minecraft.util.NonNullList;
public class ItemStoragePart extends ItemBase {
public static final int TYPE_1K = 0;
@@ -20,7 +19,7 @@ public class ItemStoragePart extends ItemBase {
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
public void getSubItems(Item item, CreativeTabs tab, NonNullList<ItemStack> list) {
for (int i = 0; i <= 3; ++i) {
list.add(new ItemStack(item, 1, i));
}

View File

@@ -12,6 +12,7 @@ import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.NonNullList;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@@ -50,7 +51,7 @@ public class ItemUpgrade extends ItemBase {
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
public void getSubItems(Item item, CreativeTabs tab, NonNullList<ItemStack> list) {
for (int i = 0; i <= 6; ++i) {
list.add(new ItemStack(item, 1, i));
}

View File

@@ -66,11 +66,13 @@ public class ItemWrench extends ItemBase {
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
if (world.isRemote || !player.isSneaking()) {
return EnumActionResult.PASS;
}
ItemStack stack = player.getHeldItem(hand);
WrenchMode mode = WrenchMode.readFromNBT(stack.getTagCompound());
if (mode == WrenchMode.ROTATION) {
@@ -119,8 +121,10 @@ public class ItemWrench extends ItemBase {
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
if (!world.isRemote && !player.isSneaking()) {
ItemStack stack = player.getHeldItem(hand);
WrenchMode mode = WrenchMode.readFromNBT(stack.getTagCompound());
stack.setTagCompound(new NBTTagCompound());
@@ -135,7 +139,7 @@ public class ItemWrench extends ItemBase {
));
}
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
@Override

View File

@@ -50,7 +50,7 @@ public class MessageGridCraftingClear extends MessageHandlerPlayerToServer<Messa
ItemStack slot = grid.getMatrix().getStackInSlot(i);
if (slot != null) {
grid.getMatrix().setInventorySlotContents(i, grid.getNetwork().insertItem(slot, slot.stackSize, false));
grid.getMatrix().setInventorySlotContents(i, grid.getNetwork().insertItem(slot, slot.getCount(), false));
}
}
} else if (grid.getType() == EnumGridType.PATTERN) {

View File

@@ -48,7 +48,7 @@ public class MessageGridCraftingTransfer extends MessageHandlerPlayerToServer<Me
actualRecipe[x] = new ItemStack[list.tagCount()];
for (int y = 0; y < list.tagCount(); y++) {
actualRecipe[x][y] = ItemStack.loadItemStackFromNBT(list.getCompoundTagAt(y));
actualRecipe[x][y] = new ItemStack(list.getCompoundTagAt(y));
}
}
}

View File

@@ -31,7 +31,8 @@ public class MessageGridItemDelta implements IMessage, IMessageHandler<MessageGr
public void fromBytes(ByteBuf buf) {
clientStack = new ClientStackItem(buf);
delta = buf.readInt();
clientStack.getStack().stackSize = delta;
clientStack.getStack().setCount(delta);
}
@Override
@@ -46,10 +47,10 @@ public class MessageGridItemDelta implements IMessage, IMessageHandler<MessageGr
for (ClientStackItem stack : GuiGrid.ITEMS.get(item)) {
if (stack.equals(message.clientStack)) {
if (stack.getStack().stackSize + message.delta == 0 && !message.clientStack.isCraftable()) {
if (stack.getStack().getCount() + message.delta == 0 && !message.clientStack.isCraftable()) {
GuiGrid.ITEMS.remove(item, stack);
} else {
stack.getStack().stackSize += message.delta;
stack.getStack().grow(message.delta);
}
GuiGrid.markForSorting();

View File

@@ -12,13 +12,9 @@ import com.raoulvdberge.refinedstorage.render.BakedModelPattern;
import com.raoulvdberge.refinedstorage.render.ModelDiskDrive;
import com.raoulvdberge.refinedstorage.render.ModelDiskManipulator;
import com.raoulvdberge.refinedstorage.tile.TileController;
import mcmultipart.client.multipart.ModelMultipartContainer;
import mcmultipart.raytrace.PartMOP;
import mcmultipart.raytrace.RayTraceUtils;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.VertexBuffer;
import net.minecraft.client.renderer.block.model.ModelBakery;
@@ -45,9 +41,6 @@ import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.PlayerEvent;
import org.lwjgl.opengl.GL11;
import java.util.List;
public class ProxyClient extends ProxyCommon {
@Override
@@ -273,12 +266,6 @@ public class ProxyClient extends ProxyCommon {
@SubscribeEvent
public void onModelBake(ModelBakeEvent e) {
for (ModelResourceLocation model : e.getModelRegistry().getKeys()) {
for (BlockCable cable : cableTypes) {
if (model.getResourceDomain().equals(RS.ID) && model.getResourcePath().equals(cable.getName()) && !model.getVariant().equals("inventory")) {
e.getModelRegistry().putObject(model, ModelMultipartContainer.fromBlock(e.getModelRegistry().getObject(model), cable));
}
}
if (model.getResourceDomain().equals(RS.ID) && model.getResourcePath().equals("pattern")) {
e.getModelRegistry().putObject(model, new BakedModelPattern(e.getModelRegistry().getObject(model)));
}
@@ -303,11 +290,13 @@ public class ProxyClient extends ProxyCommon {
state = ((BlockCable) state.getBlock()).getActualState(state, player.getEntityWorld(), pos);
if (((BlockCable) state.getBlock()).collisionRayTrace(state, player.getEntityWorld(), pos, RayTraceUtils.getStart(player), RayTraceUtils.getEnd(player)) instanceof PartMOP) {
// @TODO
/*if (((BlockCable) state.getBlock()).collisionRayTrace(state, player.getEntityWorld(), pos, RayTraceUtils.getStart(player), RayTraceUtils.getEnd(player)) instanceof PartMOP) {
return;
}
}*/
return;
List<AxisAlignedBB> unionized = ((BlockCable) state.getBlock()).getUnionizedCollisionBoxes(state);
/*List<AxisAlignedBB> unionized = ((BlockCable) state.getBlock()).getUnionizedCollisionBoxes(state);
List<AxisAlignedBB> nonUnionized = ((BlockCable) state.getBlock()).getNonUnionizedCollisionBoxes(state);
e.setCanceled(true);
@@ -337,7 +326,7 @@ public class ProxyClient extends ProxyCommon {
GlStateManager.depthMask(true);
GlStateManager.enableTexture2D();
GlStateManager.disableBlend();
GlStateManager.disableBlend();*/
}
private void drawSelectionBoundingBox(AxisAlignedBB aabb) {

View File

@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.tile;
import com.raoulvdberge.refinedstorage.RS;
public class TileCable extends TileMultipartNode {
public class TileCable extends TileNode {
@Override
public int getEnergyUsage() {
return RS.INSTANCE.config.cableUsage;

View File

@@ -14,7 +14,6 @@ import com.raoulvdberge.refinedstorage.tile.config.IType;
import com.raoulvdberge.refinedstorage.tile.data.ITileDataConsumer;
import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import mcmultipart.microblock.IMicroblock;
import net.minecraft.block.Block;
import net.minecraft.block.BlockSkull;
import net.minecraft.block.SoundType;
@@ -44,7 +43,7 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
public class TileConstructor extends TileMultipartNode implements IComparable, IType {
public class TileConstructor extends TileNode implements IComparable, IType {
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
public static final TileDataParameter<Boolean> DROP = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileConstructor>() {
@@ -94,11 +93,6 @@ public class TileConstructor extends TileMultipartNode implements IComparable, I
dataManager.addWatchedParameter(DROP);
}
@Override
public boolean canAddMicroblock(IMicroblock microblock) {
return !isBlockingMicroblock(microblock, getDirection());
}
@Override
public int getEnergyUsage() {
return RS.INSTANCE.config.constructorUsage + upgrades.getEnergyUsage();

View File

@@ -42,10 +42,6 @@ import com.raoulvdberge.refinedstorage.container.ContainerCraftingMonitor;
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
import com.raoulvdberge.refinedstorage.container.ContainerReaderWriter;
import com.raoulvdberge.refinedstorage.integration.forgeenergy.ControllerEnergyForge;
import com.raoulvdberge.refinedstorage.integration.ic2.ControllerEnergyIC2;
import com.raoulvdberge.refinedstorage.integration.ic2.ControllerEnergyIC2None;
import com.raoulvdberge.refinedstorage.integration.ic2.IControllerEnergyIC2;
import com.raoulvdberge.refinedstorage.integration.ic2.IntegrationIC2;
import com.raoulvdberge.refinedstorage.integration.tesla.ControllerEnergyTesla;
import com.raoulvdberge.refinedstorage.integration.tesla.IntegrationTesla;
import com.raoulvdberge.refinedstorage.network.*;
@@ -182,7 +178,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
private EnergyStorage energy = new EnergyStorage(RS.INSTANCE.config.controllerCapacity);
private ControllerEnergyForge energyForge = new ControllerEnergyForge(this);
private IControllerEnergyIC2 energyEU;
private ControllerEnergyTesla energyTesla;
private int lastEnergyDisplay;
@@ -202,12 +197,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
dataManager.addParameter(ENERGY_CAPACITY);
dataManager.addParameter(NODES);
if (IntegrationIC2.isLoaded()) {
this.energyEU = new ControllerEnergyIC2(this);
} else {
this.energyEU = new ControllerEnergyIC2None();
}
if (IntegrationTesla.isLoaded()) {
this.energyTesla = new ControllerEnergyTesla(energy);
}
@@ -236,8 +225,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
@Override
public void update() {
if (!getWorld().isRemote) {
energyEU.update();
if (!craftingTasksToRead.isEmpty()) {
for (NBTTagCompound tag : craftingTasksToRead) {
ICraftingTask task = readCraftingTask(getWorld(), this, tag);
@@ -332,13 +319,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
super.update();
}
@Override
public void invalidate() {
super.invalidate();
energyEU.invalidate();
}
@Override
public IItemGridHandler getItemGridHandler() {
return itemGridHandler;
@@ -354,13 +334,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
return networkItemHandler;
}
@Override
public void onChunkUnload() {
super.onChunkUnload();
energyEU.onChunkUnload();
}
public void onDestroyed() {
nodeGraph.disconnectAll();
}
@@ -435,7 +408,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
if (input != null) {
ItemStack stored = itemList.get(input, IComparer.COMPARE_DAMAGE | IComparer.COMPARE_NBT | (patterns.get(i).isOredict() ? IComparer.COMPARE_OREDICT : 0));
score += stored != null ? stored.stackSize : 0;
score += stored != null ? stored.getCount() : 0;
}
}
@@ -453,7 +426,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
for (ICraftingTask task : getCraftingTasks()) {
for (ItemStack output : task.getPattern().getOutputs()) {
if (API.instance().getComparer().isEqual(output, stack, compare)) {
toSchedule -= output.stackSize * task.getQuantity();
toSchedule -= output.getCount() * task.getQuantity();
}
}
}
@@ -622,11 +595,11 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
// if this storage is in insert-only mode, we can disregard this item from the cache
if (storage.getAccessType() == AccessType.INSERT && !simulate) {
insertOnlyInserted += size - (remainder != null ? remainder.stackSize : 0);
insertOnlyInserted += size - (remainder != null ? remainder.getCount() : 0);
}
}
if (remainder == null || remainder.stackSize <= 0) {
if (remainder == null || remainder.getCount() <= 0) {
if (storage instanceof ItemStorageExternal && !simulate) {
((ItemStorageExternal) storage).detectChanges(this);
// the external storage will send the change, we don't need to anymore
@@ -635,26 +608,26 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
break;
} else {
if (size != remainder.stackSize && storage instanceof ItemStorageExternal && !simulate) {
if (size != remainder.getCount() && storage instanceof ItemStorageExternal && !simulate) {
((ItemStorageExternal) storage).detectChanges(this);
// the external storage will send the change, we don't need to anymore
externalStorageInserted += size - remainder.stackSize;
externalStorageInserted += size - remainder.getCount();
}
size = remainder.stackSize;
size = remainder.getCount();
}
}
// If the stack size of the remainder is negative, it means of the original size abs(remainder.stackSize) items have been voided
// If the stack size of the remainder is negative, it means of the original size abs(remainder.getCount()) items have been voided
int inserted;
if (remainder == null) {
inserted = orginalSize;
} else if (remainder.stackSize < 0) {
inserted = orginalSize + remainder.stackSize;
} else if (remainder.getCount() < 0) {
inserted = orginalSize + remainder.getCount();
remainder = null;
} else {
inserted = orginalSize - remainder.stackSize;
inserted = orginalSize - remainder.getCount();
}
if (!simulate) {
@@ -696,16 +669,16 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
if (storage instanceof ItemStorageExternal && !simulate) {
((ItemStorageExternal) storage).detectChanges(this);
// the external storage will send the change, we don't need to anymore
externalStorageExtracted += took.stackSize;
externalStorageExtracted += took.getCount();
}
if (newStack == null) {
newStack = took;
} else {
newStack.stackSize += took.stackSize;
newStack.grow(took.getCount());
}
received += took.stackSize;
received += took.getCount();
}
if (requested == received) {
@@ -713,8 +686,8 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
}
}
if (newStack != null && newStack.stackSize - externalStorageExtracted > 0 && !simulate) {
itemStorage.remove(newStack, newStack.stackSize - externalStorageExtracted);
if (newStack != null && newStack.getCount() - externalStorageExtracted > 0 && !simulate) {
itemStorage.remove(newStack, newStack.getCount() - externalStorageExtracted);
}
return newStack;
@@ -814,9 +787,9 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
}
private static ICraftingTask readCraftingTask(World world, INetworkMaster network, NBTTagCompound tag) {
ItemStack stack = ItemStack.loadItemStackFromNBT(tag.getCompoundTag(ICraftingTask.NBT_PATTERN_STACK));
ItemStack stack = new ItemStack(tag.getCompoundTag(ICraftingTask.NBT_PATTERN_STACK));
if (stack != null && stack.getItem() instanceof ICraftingPatternProvider) {
if (!stack.isEmpty() && stack.getItem() instanceof ICraftingPatternProvider) {
TileEntity container = world.getTileEntity(BlockPos.fromLong(tag.getLong(ICraftingTask.NBT_PATTERN_CONTAINER)));
if (container instanceof ICraftingPatternContainer) {
@@ -825,7 +798,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
ICraftingTaskFactory factory = API.instance().getCraftingTaskRegistry().getFactory(tag.getString(ICraftingTask.NBT_PATTERN_ID));
if (factory != null) {
return factory.create(world, network, tag.hasKey(ICraftingTask.NBT_REQUESTED) ? ItemStack.loadItemStackFromNBT(tag.getCompoundTag(ICraftingTask.NBT_REQUESTED)) : null, pattern, tag.getInteger(ICraftingTask.NBT_QUANTITY), tag);
return factory.create(world, network, tag.hasKey(ICraftingTask.NBT_REQUESTED) ? new ItemStack(tag.getCompoundTag(ICraftingTask.NBT_REQUESTED)) : null, pattern, tag.getInteger(ICraftingTask.NBT_QUANTITY), tag);
}
}
}

View File

@@ -13,7 +13,6 @@ import com.raoulvdberge.refinedstorage.tile.config.IType;
import com.raoulvdberge.refinedstorage.tile.data.ITileDataConsumer;
import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import mcmultipart.microblock.IMicroblock;
import net.minecraft.block.Block;
import net.minecraft.block.BlockLiquid;
import net.minecraft.block.state.IBlockState;
@@ -45,7 +44,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TileDestructor extends TileMultipartNode implements IComparable, IFilterable, IType {
public class TileDestructor extends TileNode implements IComparable, IFilterable, IType {
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
@@ -87,11 +86,6 @@ public class TileDestructor extends TileMultipartNode implements IComparable, IF
dataManager.addWatchedParameter(PICKUP);
}
@Override
public boolean canAddMicroblock(IMicroblock microblock) {
return !isBlockingMicroblock(microblock, getDirection());
}
@Override
public int getEnergyUsage() {
return RS.INSTANCE.config.destructorUsage + upgrades.getEnergyUsage();
@@ -113,8 +107,8 @@ public class TileDestructor extends TileMultipartNode implements IComparable, IF
if (entity instanceof EntityItem) {
ItemStack droppedItem = ((EntityItem) entity).getEntityItem();
if (IFilterable.canTake(itemFilters, mode, compare, droppedItem) && network.insertItem(droppedItem, droppedItem.stackSize, true) == null) {
network.insertItem(droppedItem.copy(), droppedItem.stackSize, false);
if (IFilterable.canTake(itemFilters, mode, compare, droppedItem) && network.insertItem(droppedItem, droppedItem.getCount(), true) == null) {
network.insertItem(droppedItem.copy(), droppedItem.getCount(), false);
getWorld().removeEntity(entity);
@@ -139,7 +133,7 @@ public class TileDestructor extends TileMultipartNode implements IComparable, IF
}
for (ItemStack drop : drops) {
if (network.insertItem(drop, drop.stackSize, true) != null) {
if (network.insertItem(drop, drop.getCount(), true) != null) {
return;
}
}
@@ -156,7 +150,7 @@ public class TileDestructor extends TileMultipartNode implements IComparable, IF
if (network == null) {
InventoryHelper.spawnItemStack(getWorld(), front.getX(), front.getY(), front.getZ(), drop);
} else {
network.insertItem(drop, drop.stackSize, false);
network.insertItem(drop, drop.getCount(), false);
}
}
}

View File

@@ -132,10 +132,10 @@ public class TileDetector extends TileNode implements IComparable, IType {
} else {
ItemStack stack = network.getItemStorageCache().getList().get(slot, compare);
powered = isPowered(stack == null ? null : stack.stackSize);
powered = isPowered(stack == null ? null : stack.getCount());
}
} else {
powered = mode == MODE_AUTOCRAFTING ? !network.getCraftingTasks().isEmpty() : isPowered(network.getItemStorageCache().getList().getStacks().stream().map(s -> s.stackSize).mapToInt(Number::intValue).sum());
powered = mode == MODE_AUTOCRAFTING ? !network.getCraftingTasks().isEmpty() : isPowered(network.getItemStorageCache().getList().getStacks().stream().map(s -> s.getCount()).mapToInt(Number::intValue).sum());
}
} else if (type == IType.FLUIDS) {
FluidStack slot = fluidFilters.getFluidStackInSlot(0);
@@ -156,7 +156,7 @@ public class TileDetector extends TileNode implements IComparable, IType {
if (powered != wasPowered) {
wasPowered = powered;
getWorld().notifyNeighborsOfStateChange(pos, RSBlocks.DETECTOR);
getWorld().notifyNeighborsOfStateChange(pos, RSBlocks.DETECTOR, true);
updateBlock();
}

View File

@@ -64,7 +64,7 @@ public class TileDiskDrive extends TileNode implements IItemStorageProvider, IFl
if (voidExcess && result != null) {
// Simulate should not matter as the items are voided anyway
result.stackSize = -result.stackSize;
result.setCount(-result.getCount());
}
return result;

View File

@@ -277,18 +277,18 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
continue;
}
ItemStack extracted = storage.extractItem(stack, upgrades.getInteractStackSize(), compare, false);
ItemStack extracted = storage.extractItem(stack, upgrades.getItemInteractCount(), compare, false);
if (extracted == null) {
continue;
}
ItemStack remainder = network.insertItem(extracted, extracted.stackSize, false);
ItemStack remainder = network.insertItem(extracted, extracted.getCount(), false);
if (remainder == null) {
break;
}
// We need to check if the stack was inserted
storage.insertItem(((extracted == remainder) ? remainder.copy() : remainder), remainder.stackSize, false);
storage.insertItem(((extracted == remainder) ? remainder.copy() : remainder), remainder.getCount(), false);
}
if (storage.getStacks().size() == 0) {
@@ -311,12 +311,12 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
int j = 0;
while ((toExtract == null || toExtract.stackSize == 0) && j < networkItems.size()) {
while ((toExtract == null || toExtract.getCount() == 0) && j < networkItems.size()) {
toExtract = networkItems.get(j++);
}
if (toExtract != null) {
extracted = network.extractItem(toExtract, upgrades.getInteractStackSize(), compare, false);
extracted = network.extractItem(toExtract, upgrades.getItemInteractCount(), compare, false);
}
} else {
while (itemFilters.getSlots() > i && extracted == null) {
@@ -327,7 +327,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
}
if (stack != null) {
extracted = network.extractItem(stack, upgrades.getInteractStackSize(), compare, false);
extracted = network.extractItem(stack, upgrades.getItemInteractCount(), compare, false);
}
}
}
@@ -337,10 +337,10 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
return;
}
ItemStack remainder = storage.insertItem(extracted, extracted.stackSize, false);
ItemStack remainder = storage.insertItem(extracted, extracted.getCount(), false);
if (remainder != null) {
network.insertItem(remainder, remainder.stackSize, false);
network.insertItem(remainder, remainder.getCount(), false);
}
}
@@ -361,7 +361,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
}
if (stack != null) {
extracted = storage.extractFluid(stack, upgrades.getInteractStackSize(), compare, false);
extracted = storage.extractFluid(stack, upgrades.getItemInteractCount(), compare, false);
}
} while (extracted == null && storage.getStacks().size() > i);
@@ -397,7 +397,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
}
if (toExtract != null) {
extracted = network.extractFluid(toExtract, upgrades.getInteractStackSize(), compare, false);
extracted = network.extractFluid(toExtract, upgrades.getItemInteractCount(), compare, false);
}
} else {
while (fluidFilters.getSlots() > i && extracted == null) {
@@ -408,7 +408,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
}
if (stack != null) {
extracted = network.extractFluid(stack, upgrades.getInteractStackSize(), compare, false);
extracted = network.extractFluid(stack, upgrades.getItemInteractCount(), compare, false);
}
}
}

View File

@@ -10,7 +10,6 @@ import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
import com.raoulvdberge.refinedstorage.tile.config.IType;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import mcmultipart.microblock.IMicroblock;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
@@ -22,7 +21,7 @@ import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemHandlerHelper;
public class TileExporter extends TileMultipartNode implements IComparable, IType {
public class TileExporter extends TileNode implements IComparable, IType {
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
@@ -42,11 +41,6 @@ public class TileExporter extends TileMultipartNode implements IComparable, ITyp
dataManager.addWatchedParameter(TYPE);
}
@Override
public boolean canAddMicroblock(IMicroblock microblock) {
return !isBlockingMicroblock(microblock, getDirection());
}
@Override
public int getEnergyUsage() {
return RS.INSTANCE.config.exporterUsage + upgrades.getEnergyUsage();
@@ -63,14 +57,14 @@ public class TileExporter extends TileMultipartNode implements IComparable, ITyp
ItemStack slot = itemFilters.getStackInSlot(i);
if (slot != null) {
ItemStack took = network.extractItem(slot, upgrades.getInteractStackSize(), compare, true);
ItemStack took = network.extractItem(slot, upgrades.getItemInteractCount(), compare, true);
if (took == null) {
if (upgrades.hasUpgrade(ItemUpgrade.TYPE_CRAFTING)) {
network.scheduleCraftingTask(slot, 1, compare);
}
} else if (ItemHandlerHelper.insertItem(handler, took, true) == null) {
took = network.extractItem(slot, upgrades.getInteractStackSize(), compare, false);
took = network.extractItem(slot, upgrades.getItemInteractCount(), compare, false);
ItemHandlerHelper.insertItem(handler, took, false);
}
@@ -86,7 +80,7 @@ public class TileExporter extends TileMultipartNode implements IComparable, ITyp
FluidStack stackInStorage = network.getFluidStorageCache().getList().get(stack, compare);
if (stackInStorage != null) {
int toExtract = Math.min(Fluid.BUCKET_VOLUME * upgrades.getInteractStackSize(), stackInStorage.amount);
int toExtract = Math.min(Fluid.BUCKET_VOLUME * upgrades.getItemInteractCount(), stackInStorage.amount);
FluidStack took = network.extractFluid(stack, toExtract, compare, true);

View File

@@ -101,7 +101,7 @@ public class TileFluidInterface extends TileNode implements IComparable {
}
if (ticks % upgrades.getSpeed() == 0) {
FluidStack drained = tankIn.drainInternal(Fluid.BUCKET_VOLUME * upgrades.getInteractStackSize(), true);
FluidStack drained = tankIn.drainInternal(Fluid.BUCKET_VOLUME * upgrades.getItemInteractCount(), true);
// Drain in tank
if (drained != null) {
@@ -118,7 +118,7 @@ public class TileFluidInterface extends TileNode implements IComparable {
// If our out fluid doesn't match the new fluid, empty it first
if (tankOut.getFluid() != null && (stack == null || (tankOut.getFluid().getFluid() != stack.getFluid()))) {
FluidStack remainder = tankOut.drainInternal(Fluid.BUCKET_VOLUME * upgrades.getInteractStackSize(), true);
FluidStack remainder = tankOut.drainInternal(Fluid.BUCKET_VOLUME * upgrades.getItemInteractCount(), true);
if (remainder != null) {
network.insertFluid(remainder, remainder.amount, false);
@@ -128,7 +128,7 @@ public class TileFluidInterface extends TileNode implements IComparable {
FluidStack stackInStorage = network.getFluidStorageCache().getList().get(stack, compare);
if (stackInStorage != null) {
int toExtract = Math.min(Fluid.BUCKET_VOLUME * upgrades.getInteractStackSize(), stackInStorage.amount);
int toExtract = Math.min(Fluid.BUCKET_VOLUME * upgrades.getItemInteractCount(), stackInStorage.amount);
FluidStack took = network.extractFluid(stack, toExtract, compare, true);

Some files were not shown because too many files have changed in this diff Show More