Skip to content

Commit 0602300

Browse files
committed
Bug fix
1 parent d794614 commit 0602300

10 files changed

+144
-6
lines changed

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ parchment_mappings_version=2024.11.17
2121
mod_version=4.1.0
2222
edivadlib_id=5491721
2323
edivadlib_version_range=[3.0.0,)
24-
refinedstorage_version_range=[1.13.0-beta.4,)
24+
refinedstorage_version_range=[2.0.0-beta.1,)
2525

2626
# Dependencies
2727
jei_version=19.21.0.247
2828
top_version=6106998
29-
rs_version=2.0.0-milestone.4.14
29+
rs_version=2.0.0-beta.1
3030
co_version=2.1.2.5
3131
jade_id=6198776

src/main/java/edivad/extrastorage/ExtraStorage.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
import java.util.Arrays;
44
import org.slf4j.Logger;
55
import com.mojang.logging.LogUtils;
6+
import com.refinedmods.refinedstorage.common.api.RefinedStorageApi;
67
import com.refinedmods.refinedstorage.common.api.RefinedStorageClientApi;
78
import com.refinedmods.refinedstorage.common.api.support.network.AbstractNetworkNodeContainerBlockEntity;
9+
import com.refinedmods.refinedstorage.common.content.Items;
810
import com.refinedmods.refinedstorage.common.support.resource.FluidResource;
911
import com.refinedmods.refinedstorage.common.support.resource.ItemResource;
1012
import com.refinedmods.refinedstorage.neoforge.api.RefinedStorageNeoForgeApi;
@@ -32,6 +34,7 @@
3234
import edivad.extrastorage.storage.AdvancedItemStorageVariant;
3335
import edivad.extrastorage.storage.advancedstorageblock.AdvancedStorageBlockContainerMenu;
3436
import edivad.extrastorage.storage.advancedstorageblock.AdvancedStorageBlockScreen;
37+
import edivad.extrastorage.tools.UpgradeDestinations;
3538
import net.minecraft.client.gui.screens.MenuScreens;
3639
import net.minecraft.core.registries.Registries;
3740
import net.minecraft.network.chat.Component;
@@ -126,6 +129,7 @@ public void handleCommonSetup(FMLCommonSetupEvent event) {
126129
InterModComms.sendTo("inventorysorter", "containerblacklist",
127130
ESContainer.ADVANCED_IMPORTER::getId);
128131
}
132+
this.registerUpgradeMappings();
129133
}
130134

131135
private void handleRegisterMenuScreens(RegisterMenuScreensEvent event) {
@@ -175,4 +179,20 @@ private void registerNetworkNodeContainerProvider(RegisterCapabilitiesEvent even
175179
(be, side) -> be.getContainerProvider()
176180
);
177181
}
182+
183+
private void registerUpgradeMappings() {
184+
RefinedStorageApi.INSTANCE.getUpgradeRegistry().forDestination(UpgradeDestinations.ADVANCED_IMPORTER)
185+
.add(Items.INSTANCE.getSpeedUpgrade(), 4)
186+
.add(Items.INSTANCE.getStackUpgrade())
187+
.add(Items.INSTANCE.getRegulatorUpgrade(), 4);
188+
189+
RefinedStorageApi.INSTANCE.getUpgradeRegistry().forDestination(UpgradeDestinations.ADVANCED_EXPORTER)
190+
.add(Items.INSTANCE.getSpeedUpgrade(), 4)
191+
.add(Items.INSTANCE.getStackUpgrade())
192+
.add(Items.INSTANCE.getRegulatorUpgrade(), 4)
193+
.add(Items.INSTANCE.getAutocraftingUpgrade());
194+
195+
RefinedStorageApi.INSTANCE.getUpgradeRegistry().forDestination(UpgradeDestinations.ADVANCED_AUTOCRAFTER)
196+
.add(Items.INSTANCE.getSpeedUpgrade(), 4);
197+
}
178198
}

src/main/java/edivad/extrastorage/advancedexporter/AdvancedExporterBlockEntity.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.refinedmods.refinedstorage.common.upgrade.UpgradeContainer;
3131
import com.refinedmods.refinedstorage.common.upgrade.UpgradeDestinations;
3232
import com.refinedmods.refinedstorage.common.util.ContainerUtil;
33+
import com.refinedmods.refinedstorage.neoforge.support.render.ModelProperties;
3334
import edivad.extrastorage.setup.ESBlockEntities;
3435
import net.minecraft.core.BlockPos;
3536
import net.minecraft.core.Direction;
@@ -45,6 +46,7 @@
4546
import net.minecraft.world.inventory.AbstractContainerMenu;
4647
import net.minecraft.world.item.ItemStack;
4748
import net.minecraft.world.level.block.state.BlockState;
49+
import net.neoforged.neoforge.client.model.data.ModelData;
4850

4951
public class AdvancedExporterBlockEntity extends AbstractCableLikeBlockEntity<ExporterNetworkNode>
5052
implements BlockEntityWithDrops, NetworkNodeExtendedMenuProvider<ExporterData> {
@@ -219,4 +221,9 @@ protected boolean doesBlockStateChangeWarrantNetworkNodeUpdate(final BlockState
219221
final BlockState newBlockState) {
220222
return AbstractDirectionalBlock.didDirectionChange(oldBlockState, newBlockState);
221223
}
224+
225+
@Override
226+
public ModelData getModelData() {
227+
return ModelData.builder().with(ModelProperties.CABLE_CONNECTIONS, connections).build();
228+
}
222229
}

src/main/java/edivad/extrastorage/advancedexporter/AdvancedExporterContainerMenu.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.refinedmods.refinedstorage.common.exporter.ExporterData;
55
import com.refinedmods.refinedstorage.common.support.RedstoneMode;
66
import com.refinedmods.refinedstorage.common.support.SchedulingModeType;
7-
import com.refinedmods.refinedstorage.common.support.containermenu.AbstractSimpleFilterContainerMenu;
87
import com.refinedmods.refinedstorage.common.support.containermenu.ClientProperty;
98
import com.refinedmods.refinedstorage.common.support.containermenu.PropertyTypes;
109
import com.refinedmods.refinedstorage.common.support.containermenu.ServerProperty;
@@ -15,12 +14,13 @@
1514
import com.refinedmods.refinedstorage.common.upgrade.UpgradeDestinations;
1615
import com.refinedmods.refinedstorage.common.util.IdentifierUtil;
1716
import edivad.extrastorage.setup.ESContainer;
17+
import edivad.extrastorage.tools.AbstractAdvanceFilterContainerMenu;
1818
import net.minecraft.network.chat.MutableComponent;
1919
import net.minecraft.server.level.ServerPlayer;
2020
import net.minecraft.world.entity.player.Inventory;
2121
import net.minecraft.world.entity.player.Player;
2222

23-
public class AdvancedExporterContainerMenu extends AbstractSimpleFilterContainerMenu<AdvancedExporterBlockEntity>
23+
public class AdvancedExporterContainerMenu extends AbstractAdvanceFilterContainerMenu<AdvancedExporterBlockEntity>
2424
implements ExportingIndicatorListener {
2525

2626
private static final MutableComponent FILTER_HELP = IdentifierUtil.createTranslation("gui", "exporter.filter_help");

src/main/java/edivad/extrastorage/advancedexporter/AdvancedExporterScreen.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ public class AdvancedExporterScreen extends AbstractFilterScreen<AdvancedExporte
1818
public AdvancedExporterScreen(AdvancedExporterContainerMenu menu, Inventory inventory,
1919
Component title) {
2020
super(menu, inventory, title);
21+
this.inventoryLabelY = 60;
22+
this.imageHeight = 211;
2123
}
2224

2325
@Override

src/main/java/edivad/extrastorage/advancedimporter/AdvancedImporterBlockEntity.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.refinedmods.refinedstorage.common.upgrade.UpgradeContainer;
2626
import com.refinedmods.refinedstorage.common.upgrade.UpgradeDestinations;
2727
import com.refinedmods.refinedstorage.common.util.ContainerUtil;
28+
import com.refinedmods.refinedstorage.neoforge.support.render.ModelProperties;
2829
import edivad.extrastorage.setup.ESBlockEntities;
2930
import net.minecraft.core.BlockPos;
3031
import net.minecraft.core.Direction;
@@ -40,6 +41,7 @@
4041
import net.minecraft.world.inventory.AbstractContainerMenu;
4142
import net.minecraft.world.item.ItemStack;
4243
import net.minecraft.world.level.block.state.BlockState;
44+
import net.neoforged.neoforge.client.model.data.ModelData;
4345

4446
public class AdvancedImporterBlockEntity extends AbstractCableLikeBlockEntity<ImporterNetworkNode>
4547
implements NetworkNodeExtendedMenuProvider<ResourceContainerData>, BlockEntityWithDrops {
@@ -182,4 +184,9 @@ protected boolean doesBlockStateChangeWarrantNetworkNodeUpdate(final BlockState
182184
final BlockState newBlockState) {
183185
return AbstractDirectionalBlock.didDirectionChange(oldBlockState, newBlockState);
184186
}
187+
188+
@Override
189+
public ModelData getModelData() {
190+
return ModelData.builder().with(ModelProperties.CABLE_CONNECTIONS, connections).build();
191+
}
185192
}

src/main/java/edivad/extrastorage/advancedimporter/AdvancedImporterContainerMenu.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.refinedmods.refinedstorage.api.resource.filter.FilterMode;
44
import com.refinedmods.refinedstorage.common.api.support.resource.ResourceContainer;
55
import com.refinedmods.refinedstorage.common.support.RedstoneMode;
6-
import com.refinedmods.refinedstorage.common.support.containermenu.AbstractSimpleFilterContainerMenu;
76
import com.refinedmods.refinedstorage.common.support.containermenu.ClientProperty;
87
import com.refinedmods.refinedstorage.common.support.containermenu.PropertyTypes;
98
import com.refinedmods.refinedstorage.common.support.containermenu.ServerProperty;
@@ -12,12 +11,13 @@
1211
import com.refinedmods.refinedstorage.common.upgrade.UpgradeDestinations;
1312
import com.refinedmods.refinedstorage.common.util.IdentifierUtil;
1413
import edivad.extrastorage.setup.ESContainer;
14+
import edivad.extrastorage.tools.AbstractAdvanceFilterContainerMenu;
1515
import net.minecraft.network.chat.MutableComponent;
1616
import net.minecraft.world.entity.player.Inventory;
1717
import net.minecraft.world.entity.player.Player;
1818

1919
public class AdvancedImporterContainerMenu extends
20-
AbstractSimpleFilterContainerMenu<AdvancedImporterBlockEntity> {
20+
AbstractAdvanceFilterContainerMenu<AdvancedImporterBlockEntity> {
2121

2222
private static final MutableComponent FILTER_HELP = IdentifierUtil.createTranslation("gui", "importer.filter_help");
2323

src/main/java/edivad/extrastorage/advancedimporter/AdvancedImporterScreen.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ public class AdvancedImporterScreen extends AbstractFilterScreen<AdvancedImporte
1818
public AdvancedImporterScreen(AdvancedImporterContainerMenu menu, Inventory inventory,
1919
Component title) {
2020
super(menu, inventory, title);
21+
this.inventoryLabelY = 60;
22+
this.imageHeight = 211;
2123
}
2224

2325
@Override
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package edivad.extrastorage.tools;
2+
3+
import org.jetbrains.annotations.Nullable;
4+
import com.refinedmods.refinedstorage.common.api.support.resource.ResourceContainer;
5+
import com.refinedmods.refinedstorage.common.support.containermenu.AbstractResourceContainerMenu;
6+
import com.refinedmods.refinedstorage.common.support.containermenu.ResourceSlot;
7+
import com.refinedmods.refinedstorage.common.support.containermenu.ResourceSlotType;
8+
import com.refinedmods.refinedstorage.common.support.resource.ResourceContainerData;
9+
import com.refinedmods.refinedstorage.common.support.resource.ResourceContainerImpl;
10+
import com.refinedmods.refinedstorage.common.upgrade.UpgradeContainer;
11+
import com.refinedmods.refinedstorage.common.upgrade.UpgradeDestinations;
12+
import com.refinedmods.refinedstorage.common.upgrade.UpgradeSlot;
13+
import net.minecraft.network.chat.Component;
14+
import net.minecraft.world.entity.player.Player;
15+
import net.minecraft.world.inventory.MenuType;
16+
import net.minecraft.world.level.block.entity.BlockEntity;
17+
18+
public abstract class AbstractAdvanceFilterContainerMenu<T extends BlockEntity> extends AbstractResourceContainerMenu {
19+
private static final int FILTER_SLOT_X = 8;
20+
private final Component filterHelp;
21+
22+
protected AbstractAdvanceFilterContainerMenu(MenuType<?> type, int syncId, Player player, ResourceContainer resourceContainer, @Nullable UpgradeContainer upgradeContainer, T blockEntity, Component filterHelp) {
23+
super(type, syncId, player);
24+
this.filterHelp = filterHelp;
25+
this.registerServerProperties(blockEntity);
26+
this.addSlots(player, resourceContainer, upgradeContainer);
27+
}
28+
29+
protected AbstractAdvanceFilterContainerMenu(MenuType<?> type, int syncId, Player player, ResourceContainerData resourceContainerData, @Nullable UpgradeDestinations upgradeDestination, Component filterHelp) {
30+
super(type, syncId);
31+
this.filterHelp = filterHelp;
32+
this.registerClientProperties();
33+
this.addSlots(player, ResourceContainerImpl.createForFilter(resourceContainerData), upgradeDestination == null ? null : new UpgradeContainer(upgradeDestination));
34+
}
35+
36+
protected abstract void registerClientProperties();
37+
38+
protected abstract void registerServerProperties(T var1);
39+
40+
private void addSlots(Player player, ResourceContainer resourceContainer, @Nullable UpgradeContainer upgradeContainer) {
41+
for (int i = 0; i < 2; i++) {
42+
for (int j = 0; j < 9; j++) {
43+
int index = (i * 9) + j;
44+
int x = 8 + (18 * j);
45+
int y = 20 + (18 * i);
46+
this.addSlot(new ResourceSlot(resourceContainer, index, this.filterHelp, x, y,
47+
ResourceSlotType.FILTER));
48+
}
49+
}
50+
51+
if (upgradeContainer != null) {
52+
for(int i = 0; i < upgradeContainer.getContainerSize(); ++i) {
53+
this.addSlot(new UpgradeSlot(upgradeContainer, i, 187, 6 + i * 18));
54+
}
55+
}
56+
57+
this.addPlayerInventory(player.getInventory(), FILTER_SLOT_X, 73);
58+
if (upgradeContainer != null) {
59+
this.transferManager.addBiTransfer(player.getInventory(), upgradeContainer);
60+
}
61+
62+
this.transferManager.addFilterTransfer(player.getInventory());
63+
}
64+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package edivad.extrastorage.tools;
2+
3+
import java.util.function.Supplier;
4+
import javax.annotation.Nullable;
5+
import com.refinedmods.refinedstorage.common.api.upgrade.UpgradeDestination;
6+
import edivad.extrastorage.autocrafting.advancedautocrafter.CrafterTier;
7+
import edivad.extrastorage.setup.ESItems;
8+
import lombok.Getter;
9+
import net.minecraft.network.chat.Component;
10+
import net.minecraft.world.item.ItemStack;
11+
12+
public enum UpgradeDestinations implements UpgradeDestination {
13+
ADVANCED_IMPORTER(Translations.ADVANCED_IMPORTER.translateTitle(),
14+
() -> new ItemStack(ESItems.ADVANCED_IMPORTER.get())),
15+
ADVANCED_EXPORTER(Translations.ADVANCED_EXPORTER.translateTitle(), () -> new ItemStack(ESItems.ADVANCED_EXPORTER.get())),
16+
ADVANCED_AUTOCRAFTER(Translations.IRON_CRAFTER.translateTitle(),
17+
() -> new ItemStack(ESItems.CRAFTER.get(CrafterTier.IRON).get()));
18+
19+
@Getter
20+
private final Component name;
21+
private final Supplier<ItemStack> stackFactory;
22+
@Nullable
23+
private ItemStack cachedStack;
24+
25+
UpgradeDestinations(final Component name, final Supplier<ItemStack> stackFactory) {
26+
this.name = name;
27+
this.stackFactory = stackFactory;
28+
}
29+
30+
public ItemStack getStackRepresentation() {
31+
if (this.cachedStack == null) {
32+
this.cachedStack = this.stackFactory.get();
33+
}
34+
return this.cachedStack;
35+
}
36+
}

0 commit comments

Comments
 (0)