aeff644cc3
# Conflicts: # src/generated/resources/assets/create/lang/en_us.json # src/generated/resources/assets/create/lang/unfinished/de_de.json # src/generated/resources/assets/create/lang/unfinished/es_es.json # src/generated/resources/assets/create/lang/unfinished/es_mx.json # src/generated/resources/assets/create/lang/unfinished/fr_fr.json # src/generated/resources/assets/create/lang/unfinished/it_it.json # src/generated/resources/assets/create/lang/unfinished/ja_jp.json # src/generated/resources/assets/create/lang/unfinished/ko_kr.json # src/generated/resources/assets/create/lang/unfinished/nl_nl.json # src/generated/resources/assets/create/lang/unfinished/pl_pl.json # src/generated/resources/assets/create/lang/unfinished/pt_br.json # src/generated/resources/assets/create/lang/unfinished/ru_ru.json # src/generated/resources/assets/create/lang/unfinished/zh_cn.json # src/generated/resources/assets/create/lang/unfinished/zh_tw.json # src/main/java/com/simibubi/create/AllContainerTypes.java # src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java # src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java # src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerTileEntity.java # src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintEntity.java # src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintOverlayRenderer.java # src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintRenderer.java # src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintScreen.java # src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmRenderer.java # src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerScreen.java # src/main/java/com/simibubi/create/content/logistics/item/filter/AttributeFilterScreen.java # src/main/java/com/simibubi/create/content/logistics/item/filter/FilterContainer.java # src/main/java/com/simibubi/create/content/schematics/block/SchematicTableScreen.java # src/main/java/com/simibubi/create/content/schematics/block/SchematicannonTileEntity.java # src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java # src/main/java/com/simibubi/create/foundation/gui/mainMenu/CreateMainMenuScreen.java # src/main/java/com/simibubi/create/foundation/ponder/content/ChainDriveScenes.java # src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java # src/main/resources/META-INF/mods.toml # src/main/resources/assets/create/lang/default/messages.json # src/main/resources/assets/create/lang/default/tooltips.json
61 lines
1.8 KiB
Java
61 lines
1.8 KiB
Java
package com.simibubi.create.content.logistics.item.filter;
|
|
|
|
import com.simibubi.create.foundation.gui.GhostItemContainer;
|
|
|
|
import net.minecraft.entity.player.PlayerEntity;
|
|
import net.minecraft.entity.player.PlayerInventory;
|
|
import net.minecraft.inventory.container.ClickType;
|
|
import net.minecraft.inventory.container.ContainerType;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.network.PacketBuffer;
|
|
import net.minecraftforge.api.distmarker.Dist;
|
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
|
|
|
public abstract class AbstractFilterContainer extends GhostItemContainer<ItemStack> {
|
|
|
|
protected AbstractFilterContainer(ContainerType<?> type, int id, PlayerInventory inv, PacketBuffer extraData) {
|
|
super(type, id, inv, extraData);
|
|
}
|
|
|
|
protected AbstractFilterContainer(ContainerType<?> type, int id, PlayerInventory inv, ItemStack contentHolder) {
|
|
super(type, id, inv, contentHolder);
|
|
}
|
|
|
|
@Override
|
|
public ItemStack slotClick(int slotId, int dragType, ClickType clickTypeIn, PlayerEntity player) {
|
|
if (slotId == playerInventory.currentItem && clickTypeIn != ClickType.THROW)
|
|
return ItemStack.EMPTY;
|
|
return super.slotClick(slotId, dragType, clickTypeIn, player);
|
|
}
|
|
|
|
@Override
|
|
protected boolean allowRepeats() {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
@OnlyIn(Dist.CLIENT)
|
|
protected ItemStack createOnClient(PacketBuffer extraData) {
|
|
return extraData.readItemStack();
|
|
}
|
|
|
|
protected abstract int getPlayerInventoryXOffset();
|
|
|
|
protected abstract int getPlayerInventoryYOffset();
|
|
|
|
protected abstract void addFilterSlots();
|
|
|
|
@Override
|
|
protected void addSlots() {
|
|
addPlayerSlots(getPlayerInventoryXOffset(), getPlayerInventoryYOffset());
|
|
addFilterSlots();
|
|
}
|
|
|
|
@Override
|
|
protected void saveData(ItemStack contentHolder) {
|
|
contentHolder.getOrCreateTag()
|
|
.put("Items", ghostInventory.serializeNBT());
|
|
}
|
|
|
|
}
|