diff --git a/CHANGELOG.md b/CHANGELOG.md index 53e8562d6..9f9ddd7cb 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Refined Storage Changelog -### 1.5.35 +### 1.6 +- Removed Regulator mode in the Exporter (raoulvdberge) +- Removed MCMultiPart integration (raoulvdberge) +- Removed Project E integration (raoulvdberge) +- Removed Storage Drawers integration (you can still attach an External Storage to drawers, though) (raoulvdberge) - Updated Russian translation (kellixon) ### 1.5.34 diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RS.java b/src/main/java/com/raoulvdberge/refinedstorage/RS.java index 2c1df0517..18fccd1a3 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/RS.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RS.java @@ -16,7 +16,7 @@ import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; -@Mod(modid = RS.ID, version = RS.VERSION, dependencies = RS.DEPENDENCIES, acceptedMinecraftVersions = "[1.12.2,1.13)", guiFactory = RS.GUI_FACTORY, updateJSON = RS.UPDATE_JSON, certificateFingerprint = RS.FINGERPRINT) +@Mod(modid = RS.ID, version = RS.VERSION, acceptedMinecraftVersions = "[1.12.2,1.13)", guiFactory = RS.GUI_FACTORY, updateJSON = RS.UPDATE_JSON, certificateFingerprint = RS.FINGERPRINT) public final class RS { static { FluidRegistry.enableUniversalBucket(); @@ -24,7 +24,6 @@ public final class RS { public static final String ID = "refinedstorage"; public static final String VERSION = "1.6"; - public static final String DEPENDENCIES = "required-after:forge@[14.23.1.2555,);after:mcmultipart@[2.4.1,);after:storagedrawers@[1.12-5.2.2,);"; public static final String GUI_FACTORY = "com.raoulvdberge.refinedstorage.gui.config.ModGuiFactory"; public static final String UPDATE_JSON = "https://refinedstorage.raoulvdberge.com/update"; public static final String FINGERPRINT = "57893d5b90a7336e8c63fe1c1e1ce472c3d59578"; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java index 5d27c98cd..f0630f7e4 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java @@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.api.util.IComparer; -import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode; @@ -22,7 +21,6 @@ import net.minecraft.world.World; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.IFluidTankProperties; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemHandlerHelper; @@ -31,7 +29,6 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy private static final String NBT_COMPARE = "Compare"; private static final String NBT_TYPE = "Type"; - private static final String NBT_REGULATOR = "Regulator"; private ItemHandlerBase itemFilters = new ItemHandlerBase(9, new ItemHandlerListenerNetworkNode(this)); private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this)); @@ -40,7 +37,6 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE; private int type = IType.ITEMS; - private boolean regulator = false; public NetworkNodeExporter(World world, BlockPos pos) { super(world, pos); @@ -87,29 +83,6 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy if (stackInStorage != null) { int toExtract = Math.min(Fluid.BUCKET_VOLUME * upgrades.getItemInteractCount(), stackInStorage.amount); - boolean skipSlot = false; - - if (regulator) { - for (IFluidTankProperties tankProperty : handler.getTankProperties()) { - FluidStack exporterStack = tankProperty.getContents(); - - if (API.instance().getComparer().isEqual(stackInStorage, exporterStack, compare)) { - if (exporterStack.amount >= stack.amount * Fluid.BUCKET_VOLUME) { - skipSlot = true; - - break; - } else { - toExtract = upgrades.hasUpgrade(ItemUpgrade.TYPE_STACK) ? stack.amount * Fluid.BUCKET_VOLUME - exporterStack.amount : Fluid.BUCKET_VOLUME; - toExtract = Math.min(toExtract, stackInStorage.amount); - } - } - } - } - - if (skipSlot) { - continue; - } - FluidStack took = network.extractFluid(stack, toExtract, compare, true); if (took != null) { @@ -134,34 +107,6 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy private void doExport(IItemHandler handler, ItemStack slot) { int stackSize = upgrades.getItemInteractCount(); - if (regulator) { - int found = 0; - - for (int index = 0; index < handler.getSlots(); index++) { - ItemStack handlerStack = handler.getStackInSlot(index); - - if (API.instance().getComparer().isEqual(slot, handlerStack, compare)) { - found += handlerStack.getCount(); - } - } - - int needed = 0; - - for (int i = 0; i < itemFilters.getSlots(); ++i) { - if (API.instance().getComparer().isEqualNoQuantity(slot, itemFilters.getStackInSlot(i))) { - needed += itemFilters.getStackInSlot(i).getCount(); - } - } - - stackSize = needed - found; - - if (stackSize <= 0) { - return; - } else if (!upgrades.hasUpgrade(ItemUpgrade.TYPE_STACK)) { - stackSize = 1; - } - } - ItemStack took = network.extractItem(slot, Math.min(slot.getMaxStackSize(), stackSize), compare, true); if (took == null) { @@ -216,7 +161,6 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy tag.setInteger(NBT_COMPARE, compare); tag.setInteger(NBT_TYPE, type); - tag.setBoolean(NBT_REGULATOR, regulator); StackUtils.writeItems(itemFilters, 0, tag); StackUtils.writeItems(fluidFilters, 2, tag); @@ -236,10 +180,6 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy type = tag.getInteger(NBT_TYPE); } - if (tag.hasKey(NBT_REGULATOR)) { - regulator = tag.getBoolean(NBT_REGULATOR); - } - StackUtils.readItems(itemFilters, 0, tag); StackUtils.readItems(fluidFilters, 2, tag); } @@ -265,14 +205,6 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy markDirty(); } - public void setRegulator(boolean regulator) { - this.regulator = regulator; - } - - public boolean isRegulator() { - return world.isRemote ? TileExporter.REGULATOR.getValue() : regulator; - } - public ItemHandlerBase getItemFilters() { return itemFilters; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExporter.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExporter.java index 24a4157dd..f60164e29 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExporter.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.container.slot.SlotFilter; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType; import com.raoulvdberge.refinedstorage.tile.TileExporter; import net.minecraft.entity.player.EntityPlayer; @@ -9,17 +8,9 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.items.SlotItemHandler; public class ContainerExporter extends ContainerBase { - private TileExporter exporter; - public ContainerExporter(TileExporter exporter, EntityPlayer player) { super(exporter, player); - this.exporter = exporter; - - initSlots(); - } - - public void initSlots() { this.inventorySlots.clear(); this.inventoryItemStacks.clear(); @@ -28,7 +19,7 @@ public class ContainerExporter extends ContainerBase { } for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotFilterType(exporter.getNode(), i, 8 + (18 * i), 20, exporter.getNode().isRegulator() ? SlotFilter.FILTER_ALLOW_SIZE : 0)); + addSlotToContainer(new SlotFilterType(exporter.getNode(), i, 8 + (18 * i), 20)); } addPlayerInventory(8, 55); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiExporter.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiExporter.java index 8417e905e..9e21e23db 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiExporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiExporter.java @@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.gui; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.container.ContainerExporter; import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare; -import com.raoulvdberge.refinedstorage.gui.control.SideButtonExporterRegulator; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonType; import com.raoulvdberge.refinedstorage.tile.TileExporter; @@ -22,8 +21,6 @@ public class GuiExporter extends GuiBase { addSideButton(new SideButtonCompare(this, TileExporter.COMPARE, IComparer.COMPARE_DAMAGE)); addSideButton(new SideButtonCompare(this, TileExporter.COMPARE, IComparer.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileExporter.COMPARE, IComparer.COMPARE_OREDICT)); - - addSideButton(new SideButtonExporterRegulator(this)); } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/control/SideButtonExporterRegulator.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/control/SideButtonExporterRegulator.java deleted file mode 100644 index d1b75ff19..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/control/SideButtonExporterRegulator.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.raoulvdberge.refinedstorage.gui.control; - -import com.raoulvdberge.refinedstorage.gui.GuiBase; -import com.raoulvdberge.refinedstorage.tile.TileExporter; -import com.raoulvdberge.refinedstorage.tile.data.TileDataManager; -import net.minecraft.util.text.TextFormatting; - -public class SideButtonExporterRegulator extends SideButton { - public SideButtonExporterRegulator(GuiBase gui) { - super(gui); - } - - @Override - protected void drawButtonIcon(int x, int y) { - gui.drawTexture(x, y, 64 + (TileExporter.REGULATOR.getValue() ? 16 : 0), 48, 16, 16); - } - - @Override - public String getTooltip() { - return GuiBase.t("sidebutton.refinedstorage:exporter.regulator") + "\n" + TextFormatting.GRAY + GuiBase.t(TileExporter.REGULATOR.getValue() ? "gui.yes" : "gui.no"); - } - - @Override - public void actionPerformed() { - TileDataManager.setParameter(TileExporter.REGULATOR, !TileExporter.REGULATOR.getValue()); - } -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExporter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExporter.java index f02880de0..b8564e2e1 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExporter.java @@ -1,14 +1,9 @@ package com.raoulvdberge.refinedstorage.tile; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeExporter; -import com.raoulvdberge.refinedstorage.container.ContainerExporter; -import com.raoulvdberge.refinedstorage.gui.GuiExporter; import com.raoulvdberge.refinedstorage.tile.config.IComparable; import com.raoulvdberge.refinedstorage.tile.config.IType; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraft.network.datasync.DataSerializers; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -17,37 +12,10 @@ import javax.annotation.Nonnull; public class TileExporter extends TileNode { public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter TYPE = IType.createParameter(); - public static final TileDataParameter REGULATOR = new TileDataParameter<>(DataSerializers.BOOLEAN, false, t -> t.getNode().isRegulator(), (t, v) -> { - NetworkNodeExporter exporter = t.getNode(); - - for (int i = 0; i < exporter.getItemFilters().getSlots() + exporter.getFluidFilters().getSlots(); ++i) { - ItemStack slot = i >= exporter.getItemFilters().getSlots() ? exporter.getFluidFilters().getStackInSlot(i - exporter.getItemFilters().getSlots()) : exporter.getItemFilters().getStackInSlot(i); - - if (!slot.isEmpty()) { - slot.setCount(1); - } - } - - exporter.setRegulator(v); - exporter.markDirty(); - - t.world.getMinecraftServer().getPlayerList().getPlayers().stream() - .filter(player -> player.openContainer instanceof ContainerExporter && ((ContainerExporter) player.openContainer).getTile().getPos().equals(t.getPos())) - .forEach(player -> { - ((ContainerExporter) player.openContainer).initSlots(); - - player.openContainer.detectAndSendChanges(); - }); - }, (initial, p) -> { - if (Minecraft.getMinecraft().currentScreen instanceof GuiExporter) { - ((ContainerExporter) ((GuiExporter) Minecraft.getMinecraft().currentScreen).inventorySlots).initSlots(); - } - }); public TileExporter() { dataManager.addWatchedParameter(COMPARE); dataManager.addWatchedParameter(TYPE); - dataManager.addWatchedParameter(REGULATOR); } @Override diff --git a/src/main/resources/assets/refinedstorage/lang/en_us.lang b/src/main/resources/assets/refinedstorage/lang/en_us.lang index c3e80a046..9082b01ed 100644 --- a/src/main/resources/assets/refinedstorage/lang/en_us.lang +++ b/src/main/resources/assets/refinedstorage/lang/en_us.lang @@ -197,8 +197,6 @@ sidebutton.refinedstorage:access_type.0=Insert and extract sidebutton.refinedstorage:access_type.1=Insert only sidebutton.refinedstorage:access_type.2=Extract only -sidebutton.refinedstorage:exporter.regulator=Regulator mode - block.refinedstorage:controller.0.name=Controller block.refinedstorage:controller.1.name=Creative Controller block.refinedstorage:cable.name=Cable diff --git a/src/main/resources/assets/refinedstorage/lang/es_es.lang b/src/main/resources/assets/refinedstorage/lang/es_es.lang index ed2ec1110..abcffcb90 100644 --- a/src/main/resources/assets/refinedstorage/lang/es_es.lang +++ b/src/main/resources/assets/refinedstorage/lang/es_es.lang @@ -196,8 +196,6 @@ sidebutton.refinedstorage:access_type.0=Insertar y extraer sidebutton.refinedstorage:access_type.1=Solo insertar sidebutton.refinedstorage:access_type.2=solo extraer -sidebutton.refinedstorage:exporter.regulator=Modo de regulación - block.refinedstorage:controller.0.name=Controlador block.refinedstorage:controller.1.name=Controlador Creativo block.refinedstorage:cable.name=Cable diff --git a/src/main/resources/assets/refinedstorage/lang/fr_fr.lang b/src/main/resources/assets/refinedstorage/lang/fr_fr.lang index d719ca316..bce2c7e7b 100755 --- a/src/main/resources/assets/refinedstorage/lang/fr_fr.lang +++ b/src/main/resources/assets/refinedstorage/lang/fr_fr.lang @@ -172,9 +172,6 @@ sidebutton.refinedstorage:access_type.0=Insère and extrait sidebutton.refinedstorage:access_type.1=Insère seulement sidebutton.refinedstorage:access_type.2=Extrait seulement -sidebutton.refinedstorage:exporter.regulator=Mode régulateur -sidebutton.refinedstorage:exporter.craft_only=Mode craft uniquement - block.refinedstorage:controller.0.name=Controlleur block.refinedstorage:controller.1.name=Controlleur créatif block.refinedstorage:cable.name=Cable diff --git a/src/main/resources/assets/refinedstorage/lang/ko_kr.lang b/src/main/resources/assets/refinedstorage/lang/ko_kr.lang index 079fc67dc..7810c4a6e 100644 --- a/src/main/resources/assets/refinedstorage/lang/ko_kr.lang +++ b/src/main/resources/assets/refinedstorage/lang/ko_kr.lang @@ -171,9 +171,6 @@ sidebutton.refinedstorage:access_type.0=입출력 sidebutton.refinedstorage:access_type.1=입력 sidebutton.refinedstorage:access_type.2=출력 -sidebutton.refinedstorage:exporter.regulator=조절 모드 -sidebutton.refinedstorage:exporter.craft_only=조합 전용 모드 - block.refinedstorage:controller.0.name=컨트롤러 block.refinedstorage:controller.1.name=크리에이티브 컨트롤러 block.refinedstorage:cable.name=케이블 diff --git a/src/main/resources/assets/refinedstorage/lang/pt_br.lang b/src/main/resources/assets/refinedstorage/lang/pt_br.lang index 02f163b60..c9406476e 100755 --- a/src/main/resources/assets/refinedstorage/lang/pt_br.lang +++ b/src/main/resources/assets/refinedstorage/lang/pt_br.lang @@ -174,9 +174,6 @@ sidebutton.refinedstorage:access_type.0=Inserir e extrair sidebutton.refinedstorage:access_type.1=Inserir apenas sidebutton.refinedstorage:access_type.2=Extrair apenas -sidebutton.refinedstorage:exporter.regulator=Modo regulador -sidebutton.refinedstorage:exporter.craft_only=Modo apenas fabricáveis - block.refinedstorage:controller.0.name=Controlador block.refinedstorage:controller.1.name=Controlador (Modo Criativo) block.refinedstorage:cable.name=Cabo diff --git a/src/main/resources/assets/refinedstorage/lang/ru_ru.lang b/src/main/resources/assets/refinedstorage/lang/ru_ru.lang index 08bacd682..4fb4d9dc8 100755 --- a/src/main/resources/assets/refinedstorage/lang/ru_ru.lang +++ b/src/main/resources/assets/refinedstorage/lang/ru_ru.lang @@ -197,8 +197,6 @@ sidebutton.refinedstorage:access_type.0=Вставить и извлечь sidebutton.refinedstorage:access_type.1=Только вставить sidebutton.refinedstorage:access_type.2=Только извлечь -sidebutton.refinedstorage:exporter.regulator=Режим регулятора - block.refinedstorage:controller.0.name=Контроллер block.refinedstorage:controller.1.name=Творческий контроллер block.refinedstorage:cable.name=Кабель diff --git a/src/main/resources/assets/refinedstorage/lang/zh_cn.lang b/src/main/resources/assets/refinedstorage/lang/zh_cn.lang index fafc628bf..a9754fb08 100755 --- a/src/main/resources/assets/refinedstorage/lang/zh_cn.lang +++ b/src/main/resources/assets/refinedstorage/lang/zh_cn.lang @@ -175,9 +175,6 @@ sidebutton.refinedstorage:access_type.0=输入输出 sidebutton.refinedstorage:access_type.1=仅输入 sidebutton.refinedstorage:access_type.2=仅输出 -sidebutton.refinedstorage:exporter.regulator=监控模式 -sidebutton.refinedstorage:exporter.craft_only=仅合成模式 - block.refinedstorage:controller.0.name=控制器 block.refinedstorage:controller.1.name=创造控制器 block.refinedstorage:cable.name=线缆