Skip to content

Commit b838efe

Browse files
authored
Merge pull request #151 from zeng-github01/unlock-mode
Add support for crafting lock
2 parents 3a5f262 + 711ea03 commit b838efe

File tree

6 files changed

+52
-7
lines changed

6 files changed

+52
-7
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ dependencies {
5050
deobfCompile 'curse.maven:modular-machinery-270790:2761302' // 1.11.1
5151
deobfCompile 'curse.maven:codechicken-lib-1-8-242818:2779848' //ccl
5252
deobfCompile 'curse.maven:gregtech-ce-unofficial-557242:3784798' // gt
53-
deobfCompile 'curse.maven:ae2-extended-life-570458:5028606' //pae2
53+
deobfCompile 'curse.maven:ae2-extended-life-570458:5147702' //pae2
5454
deobfCompile 'curse.maven:dynamistics-383632:3056455' // dy
5555
deobfCompile 'curse.maven:baubles-227083:2518667' //baubles
5656
compileOnly 'curse.maven:opencomputers-223008:4630537' //oc

src/main/java/com/glodblock/github/client/GuiItemDualInterface.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ protected void addButtons() {
4040
ItemStack icon = AEApi.instance().definitions().blocks().fluidIface().maybeStack(1).orElse(ItemStack.EMPTY);
4141
switchInterface = new GuiTabButton(guiLeft + 133, guiTop, icon, icon.getDisplayName(), itemRender);
4242
buttonList.add(switchInterface);
43-
fluidPacketBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 44, "SEND_MODE", "REAL_FLUID");
43+
fluidPacketBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 62, "SEND_MODE", "REAL_FLUID");
4444
buttonList.add(fluidPacketBtn);
45-
splittingBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 62, "SPLITTING", "ALLOW");
45+
splittingBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 80, "SPLITTING", "ALLOW");
4646
buttonList.add(splittingBtn);
47-
blockingBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 80, "BLOCK", "ALL");
47+
blockingBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 98, "BLOCK", "ALL");
4848
buttonList.add(blockingBtn);
4949
priorityBtn = Ae2ReflectClient.getPriorityButton(this);
5050
}

src/main/java/com/glodblock/github/client/client/gui/GuiWrapInterface.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ public GuiWrapInterface(final InventoryPlayer inventoryPlayer, final IInterfaceH
3131
@Override
3232
protected void addButtons() {
3333
super.addButtons();
34-
fluidPacketBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 44, "SEND_MODE", "REAL_FLUID");
34+
fluidPacketBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 62, "SEND_MODE", "REAL_FLUID");
3535
buttonList.add(fluidPacketBtn);
36-
splittingBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 62, "SPLITTING", "ALLOW");
36+
splittingBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 80, "SPLITTING", "ALLOW");
3737
buttonList.add(splittingBtn);
38-
blockingBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 80, "BLOCK", "ALL");
38+
blockingBtn = new GuiFCImgButton(this.guiLeft - 18, this.guiTop + 98, "BLOCK", "ALL");
3939
buttonList.add(blockingBtn);
4040
}
4141

src/main/java/com/glodblock/github/common/block/BlockDualInterface.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
import appeng.api.util.IOrientable;
44
import appeng.block.AEBaseTileBlock;
5+
import appeng.tile.misc.TileInterface;
56
import appeng.util.Platform;
67
import com.glodblock.github.common.tile.TileDualInterface;
78
import com.glodblock.github.inventory.GuiType;
89
import com.glodblock.github.inventory.InventoryHandler;
10+
import net.minecraft.block.Block;
911
import net.minecraft.block.material.Material;
1012
import net.minecraft.block.properties.IProperty;
1113
import net.minecraft.block.properties.PropertyBool;
@@ -14,6 +16,7 @@
1416
import net.minecraft.block.state.IBlockState;
1517
import net.minecraft.entity.player.EntityPlayer;
1618
import net.minecraft.item.ItemStack;
19+
import net.minecraft.tileentity.TileEntity;
1720
import net.minecraft.util.EnumFacing;
1821
import net.minecraft.util.EnumHand;
1922
import net.minecraft.util.math.BlockPos;
@@ -82,4 +85,11 @@ protected void customRotateBlock(final IOrientable rotatable, final EnumFacing a
8285
}
8386
}
8487

88+
@Override
89+
public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos) {
90+
TileEntity tileEntity = this.getTileEntity(worldIn, pos);
91+
if (tileEntity instanceof TileDualInterface) {
92+
((TileDualInterface) tileEntity).getInterfaceDuality().updateRedstoneState();
93+
}
94+
}
8595
}

src/main/java/com/glodblock/github/common/part/PartDualInterface.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import appeng.api.networking.ticking.TickingRequest;
1515
import appeng.api.parts.IPartCollisionHelper;
1616
import appeng.api.parts.IPartModel;
17+
import appeng.api.storage.data.IAEFluidStack;
1718
import appeng.api.storage.data.IAEItemStack;
1819
import appeng.api.util.AECableType;
1920
import appeng.api.util.IConfigManager;
@@ -25,13 +26,16 @@
2526
import appeng.items.parts.PartModels;
2627
import appeng.parts.PartBasicState;
2728
import appeng.parts.PartModel;
29+
import appeng.tile.misc.TileInterface;
2830
import appeng.util.Platform;
2931
import appeng.util.SettingsFrom;
3032
import appeng.util.inv.IAEAppEngInventory;
3133
import appeng.util.inv.IInventoryDestination;
3234
import appeng.util.inv.InvOperation;
3335
import com.glodblock.github.FluidCraft;
3436
import com.glodblock.github.common.component.DualityDualInterface;
37+
import com.glodblock.github.common.item.fake.FakeFluids;
38+
import com.glodblock.github.common.tile.TileDualInterface;
3539
import com.glodblock.github.interfaces.FCPriorityHost;
3640
import com.glodblock.github.inventory.GuiType;
3741
import com.glodblock.github.inventory.InventoryHandler;
@@ -45,7 +49,9 @@
4549
import net.minecraft.util.EnumFacing;
4650
import net.minecraft.util.EnumHand;
4751
import net.minecraft.util.ResourceLocation;
52+
import net.minecraft.util.math.BlockPos;
4853
import net.minecraft.util.math.Vec3d;
54+
import net.minecraft.world.IBlockAccess;
4955
import net.minecraftforge.common.capabilities.Capability;
5056
import net.minecraftforge.items.IItemHandler;
5157

@@ -172,6 +178,16 @@ public void onChangeInventory(final IItemHandler inv, final int slot, final InvO
172178
duality.onItemInventoryChange(inv, slot, mc, removedStack, newStack);
173179
}
174180

181+
@Override
182+
public void onStackReturnNetwork(IAEFluidStack stack) {
183+
this.duality.getItemInterface().onStackReturnedToNetwork(FakeFluids.packFluid2AEDrops(stack));
184+
}
185+
186+
@Override
187+
public void onStackReturnNetwork(IAEItemStack stack) {
188+
this.duality.getItemInterface().onStackReturnedToNetwork(stack);
189+
}
190+
175191
@Override
176192
public DualityInterface getInterfaceDuality() {
177193
return duality.getItemInterface();
@@ -281,4 +297,11 @@ public void uploadSettings(SettingsFrom from, NBTTagCompound compound, EntityPla
281297
}
282298
}
283299

300+
@Override
301+
public void onNeighborChanged(IBlockAccess w, BlockPos pos, BlockPos neighbor) {
302+
TileEntity tileEntity = getTileEntity();
303+
if (tileEntity instanceof TileDualInterface) {
304+
((TileDualInterface) tileEntity).getInterfaceDuality().updateRedstoneState();
305+
}
306+
}
284307
}

src/main/java/com/glodblock/github/common/tile/TileDualInterface.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import appeng.api.networking.ticking.IGridTickable;
1313
import appeng.api.networking.ticking.TickRateModulation;
1414
import appeng.api.networking.ticking.TickingRequest;
15+
import appeng.api.storage.data.IAEFluidStack;
1516
import appeng.api.storage.data.IAEItemStack;
1617
import appeng.api.util.AECableType;
1718
import appeng.api.util.AEPartLocation;
@@ -27,6 +28,7 @@
2728
import appeng.util.inv.IInventoryDestination;
2829
import appeng.util.inv.InvOperation;
2930
import com.glodblock.github.common.component.DualityDualInterface;
31+
import com.glodblock.github.common.item.fake.FakeFluids;
3032
import com.glodblock.github.interfaces.FCPriorityHost;
3133
import com.glodblock.github.inventory.GuiType;
3234
import com.glodblock.github.loader.FCBlocks;
@@ -205,6 +207,16 @@ public void onChangeInventory(final IItemHandler inv, final int slot, final InvO
205207
duality.onItemInventoryChange(inv, slot, mc, removed, added);
206208
}
207209

210+
@Override
211+
public void onStackReturnNetwork(IAEFluidStack stack) {
212+
duality.getItemInterface().onStackReturnedToNetwork(FakeFluids.packFluid2AEDrops(stack));
213+
}
214+
215+
@Override
216+
public void onStackReturnNetwork(IAEItemStack stack) {
217+
duality.getItemInterface().onStackReturnedToNetwork(stack);
218+
}
219+
208220
@Override
209221
public DualityInterface getInterfaceDuality() {
210222
return duality.getItemInterface();

0 commit comments

Comments
 (0)