Remove Regulator mode
This commit is contained in:
@@ -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
|
||||
|
@@ -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";
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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
|
||||
|
@@ -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());
|
||||
}
|
||||
}
|
@@ -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<NetworkNodeExporter> {
|
||||
public static final TileDataParameter<Integer, TileExporter> COMPARE = IComparable.createParameter();
|
||||
public static final TileDataParameter<Integer, TileExporter> TYPE = IType.createParameter();
|
||||
public static final TileDataParameter<Boolean, TileExporter> 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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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=케이블
|
||||
|
@@ -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
|
||||
|
@@ -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=Кабель
|
||||
|
@@ -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=线缆
|
||||
|
Reference in New Issue
Block a user