From 0c4063b41ba815836c1878ef89b913858bb22cf0 Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Tue, 17 May 2022 23:18:38 +0800 Subject: [PATCH] cards for dual interface --- build.gradle | 1 + .../java/com/glodblock/github/FluidCraft.java | 8 ++++++++ .../glodblock/github/coremod/CoreModHooks.java | 17 +++++++++++++++++ .../com/glodblock/github/coremod/FCCoreMod.java | 1 + 4 files changed, 27 insertions(+) diff --git a/build.gradle b/build.gradle index 75dd6d3c..90e1e766 100644 --- a/build.gradle +++ b/build.gradle @@ -66,6 +66,7 @@ minecraft { jar { manifest { attributes 'FMLCorePluginContainsFMLMod': 'true' + attributes 'FMLCorePlugin' : 'com.glodblock.github.coremod.FCCoreMod' } } diff --git a/src/main/java/com/glodblock/github/FluidCraft.java b/src/main/java/com/glodblock/github/FluidCraft.java index a751dbc2..0884a7ff 100644 --- a/src/main/java/com/glodblock/github/FluidCraft.java +++ b/src/main/java/com/glodblock/github/FluidCraft.java @@ -1,7 +1,11 @@ package com.glodblock.github; +import appeng.api.config.Upgrades; +import com.glodblock.github.loader.FCBlocks; +import com.glodblock.github.loader.FCItems; import com.glodblock.github.proxy.CommonProxy; import com.glodblock.github.util.ModAndClassUtil; +import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.SidedProxy; @@ -34,6 +38,10 @@ public class FluidCraft { @Mod.EventHandler public void onPostInit(FMLPostInitializationEvent event) { + Upgrades.PATTERN_EXPANSION.registerItem(new ItemStack(FCBlocks.DUAL_INTERFACE), 3 ); + Upgrades.CRAFTING.registerItem(new ItemStack(FCBlocks.DUAL_INTERFACE), 1 ); + Upgrades.PATTERN_EXPANSION.registerItem(new ItemStack(FCItems.PART_DUAL_INTERFACE), 3 ); + Upgrades.CRAFTING.registerItem(new ItemStack(FCItems.PART_DUAL_INTERFACE), 1 ); proxy.postInit(event); } diff --git a/src/main/java/com/glodblock/github/coremod/CoreModHooks.java b/src/main/java/com/glodblock/github/coremod/CoreModHooks.java index b14ef678..010539fc 100644 --- a/src/main/java/com/glodblock/github/coremod/CoreModHooks.java +++ b/src/main/java/com/glodblock/github/coremod/CoreModHooks.java @@ -5,11 +5,14 @@ import appeng.api.networking.IGridHost; import appeng.api.networking.IGridNode; import appeng.api.networking.IMachineSet; import appeng.api.storage.data.IAEItemStack; +import appeng.items.misc.ItemEncodedPattern; import appeng.me.MachineSet; import appeng.parts.misc.PartInterface; import appeng.tile.misc.TileInterface; import appeng.util.InventoryAdaptor; +import appeng.util.inv.filter.IAEItemFilter; import com.glodblock.github.common.item.ItemFluidDrop; +import com.glodblock.github.common.item.ItemFluidEncodedPattern; import com.glodblock.github.common.item.ItemFluidPacket; import com.glodblock.github.common.part.PartDualInterface; import com.glodblock.github.common.tile.TileDualInterface; @@ -20,6 +23,7 @@ import com.glodblock.github.loader.FCItems; import com.glodblock.github.util.Ae2Reflect; import com.glodblock.github.util.SetBackedMachineSet; import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; @@ -102,4 +106,17 @@ public class CoreModHooks { } } + public static class FluidPatternSlotFilter implements IAEItemFilter { + public FluidPatternSlotFilter() { + } + + public boolean allowExtract(IItemHandler inv, int slot, int amount) { + return true; + } + + public boolean allowInsert(IItemHandler inv, int slot, ItemStack stack) { + return !stack.isEmpty() && (stack.getItem() instanceof ItemEncodedPattern || stack.getItem() instanceof ItemFluidEncodedPattern); + } + } + } \ No newline at end of file diff --git a/src/main/java/com/glodblock/github/coremod/FCCoreMod.java b/src/main/java/com/glodblock/github/coremod/FCCoreMod.java index 789f05fc..5837e8bb 100644 --- a/src/main/java/com/glodblock/github/coremod/FCCoreMod.java +++ b/src/main/java/com/glodblock/github/coremod/FCCoreMod.java @@ -5,6 +5,7 @@ import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin; import javax.annotation.Nullable; import java.util.Map; +@IFMLLoadingPlugin.Name("FluidCraftCore") @IFMLLoadingPlugin.MCVersion("1.12.2") @IFMLLoadingPlugin.TransformerExclusions("com.glodblock.github.coremod") public class FCCoreMod implements IFMLLoadingPlugin {