PrettyPipes/src/main/java/de/ellpeck/prettypipes/pipe/modules/extraction/ExtractionModuleContainer.java

49 lines
1.6 KiB
Java
Raw Normal View History

2020-04-16 23:40:35 +02:00
package de.ellpeck.prettypipes.pipe.modules.extraction;
2020-04-16 04:42:42 +02:00
2022-06-30 16:00:33 +02:00
import de.ellpeck.prettypipes.misc.DirectionSelector;
import de.ellpeck.prettypipes.misc.DirectionSelector.IDirectionContainer;
2020-04-16 04:42:42 +02:00
import de.ellpeck.prettypipes.misc.ItemFilter;
2020-04-16 15:19:13 +02:00
import de.ellpeck.prettypipes.misc.ItemFilter.IFilteredContainer;
import de.ellpeck.prettypipes.pipe.containers.AbstractPipeContainer;
2021-12-02 15:25:46 +01:00
import net.minecraft.core.BlockPos;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.MenuType;
2020-04-16 04:42:42 +02:00
import javax.annotation.Nullable;
2022-06-30 16:00:33 +02:00
public class ExtractionModuleContainer extends AbstractPipeContainer<ExtractionModuleItem> implements IFilteredContainer, IDirectionContainer {
2020-04-16 04:42:42 +02:00
public ItemFilter filter;
2022-06-30 16:00:33 +02:00
public DirectionSelector directionSelector;
2020-04-16 04:42:42 +02:00
2021-12-02 15:25:46 +01:00
public ExtractionModuleContainer(@Nullable MenuType<?> type, int id, Player player, BlockPos pos, int moduleIndex) {
2020-04-16 04:42:42 +02:00
super(type, id, player, pos, moduleIndex);
}
@Override
protected void addSlots() {
this.filter = this.module.getItemFilter(this.moduleStack, this.tile);
2022-06-30 16:00:33 +02:00
this.directionSelector = this.module.getDirectionSelector(this.moduleStack, this.tile);
2021-12-02 17:46:56 +01:00
for (var slot : this.filter.getSlots((176 - this.module.filterSlots * 18) / 2 + 1, 17 + 32))
2020-04-16 04:42:42 +02:00
this.addSlot(slot);
}
@Override
2021-12-02 15:25:46 +01:00
public void removed(Player playerIn) {
super.removed(playerIn);
2020-04-16 04:42:42 +02:00
this.filter.save();
2022-06-30 16:00:33 +02:00
this.directionSelector.save();
2020-04-16 04:42:42 +02:00
}
2020-04-16 15:19:13 +02:00
@Override
public ItemFilter getFilter() {
return this.filter;
}
2022-06-30 16:00:33 +02:00
@Override
public DirectionSelector getSelector() {
return this.directionSelector;
}
2020-04-16 04:42:42 +02:00
}