diff --git a/build.gradle b/build.gradle index e4a670a..b9fc06c 100644 --- a/build.gradle +++ b/build.gradle @@ -373,7 +373,7 @@ catch (Exception ignored) { // Pulls version first from the VERSION env and then git tag String identifiedVersion = null -String versionOverride = '0.0.15p6' +String versionOverride = '0.0.15p8' try { // Produce a version based on the tag, or for branches something like 0.2.2-configurable-maven-and-extras.38+43090270b6-dirty if (versionOverride == null) { diff --git a/src/main/java/reobf/proghatches/block/BlockIOHub.java b/src/main/java/reobf/proghatches/block/BlockIOHub.java index d7af3f2..b6d3837 100644 --- a/src/main/java/reobf/proghatches/block/BlockIOHub.java +++ b/src/main/java/reobf/proghatches/block/BlockIOHub.java @@ -54,8 +54,12 @@ public void registerBlockIcons(IIconRegister reg) { @Override public void onBlockPlacedBy(World worldIn, int x, int y, int z, EntityLivingBase placer, ItemStack itemIn) { - // TODO Auto-generated method stub + super.onBlockPlacedBy(worldIn, x, y, z, placer, itemIn); + try{ + ((TileIOHub)worldIn.getTileEntity(x, y, z) + ).getProxy().setOwner((EntityPlayer) placer); + }catch(Exception e){e.printStackTrace();} } @Override diff --git a/src/main/java/reobf/proghatches/eucrafting/AECover.java b/src/main/java/reobf/proghatches/eucrafting/AECover.java index b9aaaa7..59a4c27 100644 --- a/src/main/java/reobf/proghatches/eucrafting/AECover.java +++ b/src/main/java/reobf/proghatches/eucrafting/AECover.java @@ -41,6 +41,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; @@ -201,6 +202,16 @@ public TileEntity fakeTile() { } public static interface Data extends ISerializableObject, IGridProxyable { + default String tagName(){ + NBTTagCompound tag = getTag(); + if(tag==null)return null; + ItemStack is=new ItemStack(Items.apple); + is.setTagCompound(tag); + if(is.hasDisplayName())return is.getDisplayName(); + return null; + } + default String name(){return null;} + default boolean dualityName(){return false;} // AENetworkProxy gridProxy; // ForgeDirection side=ForgeDirection.UNKNOWN; // DimensionalCoord pos=new DimensionalCoord(0, 0, 0, 0); @@ -399,7 +410,7 @@ default boolean supportFluid() { return false; } - default public void accept(ForgeDirection side, ICoverable aTileEntity) { + default public void accept(ForgeDirection side, ICoverable aTileEntity,boolean onPlace) { setPos(new DimensionalCoord((TileEntity) aTileEntity)); setSide(side); Optional.ofNullable(aTileEntity.getCoverItemAtSide(side)).filter(s -> s.hasDisplayName()) @@ -448,7 +459,28 @@ public Data createDataObject(int aLegacyData) { @Override protected ItemStack getDisplayStackImpl(int aCoverID, Data aCoverVariable) { ItemStack is = super.getDisplayStackImpl(aCoverID, aCoverVariable); - is.setTagCompound(aCoverVariable.getTag()); + + + + + if(aCoverVariable.dualityName()){ + String s=aCoverVariable.name(); + if(s==null||s.equals("")){ + is.stackTagCompound=null; + }else{ + is.setStackDisplayName(s); + } + + } + else{ + String s=aCoverVariable.tagName(); + if(s!=null&&!s.equals("")){ + is.setStackDisplayName(s); + } + } + + + return is; } @@ -488,15 +520,15 @@ public void placeCover(ForgeDirection side, ItemStack aCover, ICoverable aTileEn super.placeCover(side, aCover, aTileEntity); Data data = ((Data) aTileEntity.getComplexCoverDataAtSide(side)); - - data.accept(side, aTileEntity); data.setTag(aCover.getTagCompound()); + data.accept(side, aTileEntity,false); + } @Override public void onPlayerAttach(EntityPlayer player, ItemStack aCover, ICoverable aTileEntity, ForgeDirection side) { - Data data = (InterfaceData) aTileEntity.getComplexCoverDataAtSide(side); + Data data = (Data) aTileEntity.getComplexCoverDataAtSide(side); data.getProxy().setOwner(player); } protected boolean onCoverRightClickImpl(ForgeDirection side, int aCoverID, Data aCoverVariable, @@ -589,7 +621,7 @@ static public boolean canConnect(Object obj, ForgeDirection dir) { protected Data doCoverThingsImpl(ForgeDirection side, byte aInputRedstone, int aCoverID, Data data, ICoverable aTileEntity, long aTimer) { if (data.firstUpdate()) - data.accept(side, aTileEntity); + data.accept(side, aTileEntity,false); if (!data.getProxy().isReady()) { data.getProxy().onReady(); diff --git a/src/main/java/reobf/proghatches/eucrafting/IActualSideProvider.java b/src/main/java/reobf/proghatches/eucrafting/IActualSideProvider.java new file mode 100644 index 0000000..60e6d27 --- /dev/null +++ b/src/main/java/reobf/proghatches/eucrafting/IActualSideProvider.java @@ -0,0 +1,7 @@ +package reobf.proghatches.eucrafting; + +import net.minecraftforge.common.util.ForgeDirection; + +public interface IActualSideProvider { + public ForgeDirection getActualSide(); +} diff --git a/src/main/java/reobf/proghatches/eucrafting/InterfaceData.java b/src/main/java/reobf/proghatches/eucrafting/InterfaceData.java index 7bb866f..1d8eb92 100644 --- a/src/main/java/reobf/proghatches/eucrafting/InterfaceData.java +++ b/src/main/java/reobf/proghatches/eucrafting/InterfaceData.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.EnumSet; import com.google.common.collect.ImmutableSet; +import com.google.common.io.ByteArrayDataInput; import com.gtnewhorizons.modularui.api.screen.ModularWindow.Builder; import appeng.api.config.Actionable; @@ -15,11 +16,14 @@ import appeng.api.networking.events.MENetworkChannelsChanged; import appeng.api.networking.events.MENetworkEventSubscribe; import appeng.api.networking.events.MENetworkPowerStatusChange; +import appeng.api.networking.security.IActionHost; import appeng.api.networking.security.ISecurityProvider; import appeng.api.networking.ticking.IGridTickable; import appeng.api.networking.ticking.TickRateModulation; import appeng.api.networking.ticking.TickingRequest; +import appeng.api.parts.IPartHost; import appeng.api.storage.data.IAEItemStack; +import appeng.api.util.AECableType; import appeng.api.util.DimensionalCoord; import appeng.api.util.IConfigManager; import appeng.api.util.IConfigurableObject; @@ -35,6 +39,9 @@ import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; import gregtech.api.gui.modularui.GT_CoverUIBuildContext; +import gregtech.api.util.ISerializableObject; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.InventoryCrafting; @@ -47,8 +54,11 @@ import reobf.proghatches.main.FakeHost; public class InterfaceData implements Data, IInterfaceHost, IGridTickable, IUpgradeableHost, ICustomNameObject, - IConfigurableObject, IPriorityHost { + IConfigurableObject, IPriorityHost, + IActualSideProvider + { public void setTag(NBTTagCompound tagCompound) { + tag = tagCompound; } @@ -108,12 +118,8 @@ public void onReady() { }; private TileEntity faketile = new TileEntity(); - private final DualityInterface duality = new DI(this.getProxy(), this);; - - public interface IActualSideProvider { - public ForgeDirection getActualSide(); + private final DI duality = new DI(this.getProxy(), this);; - } public static class Disabled0 extends AppEngInternalAEInventory implements DisabledInventory { public Disabled0(IAEAppEngInventory te, int s) { @@ -383,8 +389,11 @@ public TickRateModulation tickingRequest(IGridNode node, int TicksSinceLastCall) } public String getCustomName() { - if (name != null&&name.length()>=0) + if (name != null&&name.length()>0){ + //System.out.println(name.length()); + return name; + } return nameOverride(); } private String nameOverride(){ @@ -400,8 +409,10 @@ public void setCustomName(String name) { this.name = name; if(name==null||name.isEmpty()){ NBTTagCompound tg = this.getTag(); + if(tg!=null){ tg.removeTag("display"); this.setTag(tg); + } return; } ItemStack is=new ItemStack(Items.apple); @@ -461,5 +472,12 @@ public void addUIWidgets(Builder builder, GT_CoverUIBuildContext gt_CoverUIBuild } +@Override +public ForgeDirection getActualSide() { + + return duality.getActualSide(); +} + + } diff --git a/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PData.java b/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PData.java index eb24ffa..91d992e 100644 --- a/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PData.java +++ b/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PData.java @@ -2,12 +2,14 @@ import java.lang.reflect.Field; import java.util.ArrayList; +import java.util.Collection; import java.util.EnumSet; import java.util.Iterator; import java.util.Optional; import java.util.Set; import com.glodblock.github.common.parts.PartFluidP2PInterface; import com.glodblock.github.loader.ItemAndBlockHolder; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import appeng.api.config.Actionable; import appeng.api.config.Upgrades; @@ -37,6 +39,7 @@ import appeng.api.util.DimensionalCoord; import appeng.api.util.IConfigManager; import appeng.api.util.IConfigurableObject; +import appeng.api.util.IInterfaceViewable; import appeng.helpers.DualityInterface; import appeng.helpers.ICustomNameObject; import appeng.helpers.IInterfaceHost; @@ -50,6 +53,7 @@ import cpw.mods.fml.relauncher.Side; import gregtech.api.interfaces.tileentity.ICoverable; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; @@ -65,7 +69,7 @@ import reobf.proghatches.main.MyMod; public class InterfaceP2PData implements AECover.IMemoryCardSensitive, Data, IInterfaceHost, IGridTickable, - IUpgradeableHost, ICustomNameObject, IConfigurableObject, IPriorityHost { + IUpgradeableHost, ICustomNameObject, IConfigurableObject, IPriorityHost , IActualSideProvider{ public void setTag(NBTTagCompound tagCompound) { tag = tagCompound; } @@ -93,7 +97,7 @@ public boolean supportFluid() { IPartHost fakehost = new Host(); - public class Host implements IPartHost, InterfaceData.IActualSideProvider, InterfaceData.DisabledInventory { + public class Host implements IPartHost, IActualSideProvider, InterfaceData.DisabledInventory { @Override public SelectedPart selectPart(Vec3 pos) { @@ -422,7 +426,8 @@ public NBTBase saveDataToNBT() { NBTBase t = Data.super.saveDataToNBT(); ((NBTTagCompound) t).setInteger("p", p); duality.writeToNBT((NBTTagCompound) t); - + if(duality.hasCustomName())((NBTTagCompound) t).setString("realName", duality.getCustomName()); + return t; } @@ -439,10 +444,10 @@ public void loadDataFromNBT(NBTBase aNBT) { if (FMLCommonHandler.instance().getEffectiveSide() == Side.SERVER) { duality.readFromNBT((NBTTagCompound) aNBT); - } ; - + if(((NBTTagCompound) aNBT).hasKey("realName"))duality.setCustomName(((NBTTagCompound) aNBT).getString("realName")); + } public void update(ICoverable aTileEntity) { @@ -472,7 +477,9 @@ public void update(ICoverable aTileEntity) { } ; - + + + }; @Override @@ -485,25 +492,44 @@ public TickingRequest getTickingRequest(IGridNode node) { public TickRateModulation tickingRequest(IGridNode node, int TicksSinceLastCall) { if (first) return TickRateModulation.SAME; - + + + /*ItemStack is=new ItemStack(Items.apple); + is.setTagCompound(this.getTag()); + is.setStackDisplayName( + duality.hasCustomName()? + duality.getCustomName():""); + this.setTag(is.getTagCompound()); + */ + + return duality.tickingRequest(node, TicksSinceLastCall); } public String getCustomName() { - if (name != null) - return name; + if(duality.hasCustomName())return duality.getCustomName(); return nameOverride(); } private String nameOverride(){ return "P2P - Dual ME Interface"; } public boolean hasCustomName() { - return this.name != null && this.name.length() > 0; + return duality.hasCustomName(); } - private String name; - + public void setCustomName(String name) { - this.name = name; + + /*if(name==null||name.isEmpty()){ + NBTTagCompound tg = this.getTag(); + tg.removeTag("display"); + this.setTag(tg); + return; + }*/ + + duality.setCustomName(name); + + + } @@ -540,6 +566,7 @@ public void destroy() { @Override public boolean firstUpdate() { + if (first) { first = false; return true; @@ -550,10 +577,19 @@ public boolean firstUpdate() { boolean first = true; @Override - public void accept(ForgeDirection side, ICoverable aTileEntity) { - Data.super.accept(side, aTileEntity); + public void accept(ForgeDirection side, ICoverable aTileEntity,boolean b) { + Data.super.accept(side, aTileEntity,b); this.duality.setPartHostInfo(ForgeDirection.UNKNOWN, fakehost, getTile()); - this.duality.setCustomName(this.getCustomName()); + + String s=tagName(); + if(s!=null&&!s.equals("")){ + duality.setCustomName(s); + setTag(null); + } + + + + } public boolean click(EntityPlayer player) { @@ -659,4 +695,21 @@ public TileEntity fakeTile() { public boolean requireChannel() { return false; }// internal node will require + @Override + public ForgeDirection getActualSide() { + // TODO Auto-generated method stub + return side; + } + + @Override + public boolean dualityName() { + return true; + } + @Override + public String name() { + if(duality.hasCustomName())return duality.getCustomName(); + return null; + } + + } diff --git a/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PEUData.java b/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PEUData.java index 41d45fe..612d572 100644 --- a/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PEUData.java +++ b/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PEUData.java @@ -68,6 +68,7 @@ import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; @@ -83,7 +84,7 @@ import reobf.proghatches.main.MyMod; public class InterfaceP2PEUData implements AECover.IMemoryCardSensitive, Data, IInterfaceHost, IGridTickable, - IUpgradeableHost, ICustomNameObject, IConfigurableObject, IPriorityHost { + IUpgradeableHost, ICustomNameObject, IConfigurableObject, IPriorityHost, IActualSideProvider { public void setTag(NBTTagCompound tagCompound) { tag = tagCompound; } @@ -126,7 +127,7 @@ public boolean supportFluid() { IPartHost fakehost = new Host(); - public class Host implements IPartHost, InterfaceData.IActualSideProvider, InterfaceData.DisabledInventory { + public class Host implements IPartHost, IActualSideProvider, InterfaceData.DisabledInventory { @Override public SelectedPart selectPart(Vec3 pos) { @@ -457,7 +458,8 @@ public NBTBase saveDataToNBT() { t.setBoolean("inputdetect", inputdetect); t.setBoolean("delay", delay); t.setBoolean("worksensitive", worksensitive); - + if(duality.hasCustomName())((NBTTagCompound) t).setString("realName", duality.getCustomName()); + return t; } @@ -479,7 +481,8 @@ public void loadDataFromNBT(NBTBase aNBT) { duality.readFromNBT((NBTTagCompound) aNBT); } - + if(((NBTTagCompound) aNBT).hasKey("realName"))duality.setCustomName(((NBTTagCompound) aNBT).getString("realName")); + /* * else{ duality.delay=((NBTTagCompound) aNBT).getBoolean("delay"); * duality.inputdetect=((NBTTagCompound) @@ -574,22 +577,20 @@ public TickRateModulation tickingRequest(IGridNode node, int TicksSinceLastCall) return duality.tickingRequest(node, TicksSinceLastCall); } public String getCustomName() { - if (name != null) - return name; + if(duality.hasCustomName())return duality.getCustomName(); return nameOverride(); } private String nameOverride(){ return "P2P - EU Interface"; } public boolean hasCustomName() { - return this.name != null && this.name.length() > 0; + return duality.hasCustomName(); } - private String name; - public void setCustomName(String name) { - this.name = name; +public void setCustomName(String name) { + duality.setCustomName(name); } @@ -635,10 +636,15 @@ public boolean firstUpdate() { boolean first = true; @Override - public void accept(ForgeDirection side, ICoverable aTileEntity) { - Data.super.accept(side, aTileEntity); + public void accept(ForgeDirection side, ICoverable aTileEntity,boolean b) { + Data.super.accept(side, aTileEntity,b); this.duality.setPartHostInfo(ForgeDirection.UNKNOWN, fakehost, getTile()); - this.duality.setCustomName(this.getCustomName()); + + String s=tagName(); + if(s!=null&&!s.equals("")){ + duality.setCustomName(s); + setTag(null); + } } public boolean click(EntityPlayer player) { @@ -892,4 +898,9 @@ public TileEntity fakeTile() { public boolean requireChannel() { return false; }// internal node will require + @Override + public ForgeDirection getActualSide() { + // TODO Auto-generated method stub + return side; + } } diff --git a/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PNoFluidData.java b/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PNoFluidData.java index 1e537f0..27b0ddb 100644 --- a/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PNoFluidData.java +++ b/src/main/java/reobf/proghatches/eucrafting/InterfaceP2PNoFluidData.java @@ -50,6 +50,7 @@ import cpw.mods.fml.relauncher.Side; import gregtech.api.interfaces.tileentity.ICoverable; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; @@ -64,7 +65,7 @@ import reobf.proghatches.main.MyMod; public class InterfaceP2PNoFluidData implements AECover.IMemoryCardSensitive, Data, IInterfaceHost, IGridTickable, - IUpgradeableHost, ICustomNameObject, IConfigurableObject, IPriorityHost { + IUpgradeableHost, ICustomNameObject, IConfigurableObject, IPriorityHost, IActualSideProvider { public void setTag(NBTTagCompound tagCompound) { tag = tagCompound; } @@ -92,7 +93,7 @@ public boolean supportFluid() { IPartHost fakehost = new Host(); - public class Host implements IPartHost, InterfaceData.IActualSideProvider, InterfaceData.DisabledInventory { + public class Host implements IPartHost, IActualSideProvider, InterfaceData.DisabledInventory { @Override public SelectedPart selectPart(Vec3 pos) { @@ -421,7 +422,8 @@ public NBTBase saveDataToNBT() { NBTBase t = Data.super.saveDataToNBT(); ((NBTTagCompound) t).setInteger("p", p); duality.writeToNBT((NBTTagCompound) t); - + if(duality.hasCustomName())((NBTTagCompound) t).setString("realName", duality.getCustomName()); + return t; } @@ -441,7 +443,8 @@ public void loadDataFromNBT(NBTBase aNBT) { } ; - + if(((NBTTagCompound) aNBT).hasKey("realName"))duality.setCustomName(((NBTTagCompound) aNBT).getString("realName")); + } public void update(ICoverable aTileEntity) { @@ -488,21 +491,30 @@ public TickRateModulation tickingRequest(IGridNode node, int TicksSinceLastCall) return duality.tickingRequest(node, TicksSinceLastCall); } public String getCustomName() { - if (name != null) - return name; + if(duality.hasCustomName())return duality.getCustomName(); return nameOverride(); } private String nameOverride(){ return "P2P - ME Interface"; } public boolean hasCustomName() { - return this.name != null && this.name.length() > 0; + return duality.hasCustomName(); } - private String name; - + public void setCustomName(String name) { - this.name = name; + + /*if(name==null||name.isEmpty()){ + NBTTagCompound tg = this.getTag(); + tg.removeTag("display"); + this.setTag(tg); + return; + }*/ + + duality.setCustomName(name); + + + } @@ -549,10 +561,14 @@ public boolean firstUpdate() { boolean first = true; @Override - public void accept(ForgeDirection side, ICoverable aTileEntity) { - Data.super.accept(side, aTileEntity); + public void accept(ForgeDirection side, ICoverable aTileEntity,boolean b) { + Data.super.accept(side, aTileEntity,b); this.duality.setPartHostInfo(ForgeDirection.UNKNOWN, fakehost, getTile()); - this.duality.setCustomName(this.getCustomName()); + String s=tagName(); + if(s!=null&&!s.equals("")){ + duality.setCustomName(s); + setTag(null); + } } public boolean click(EntityPlayer player) { @@ -658,4 +674,9 @@ public TileEntity fakeTile() { public boolean requireChannel() { return false; }// internal node will require + @Override + public ForgeDirection getActualSide() { + // TODO Auto-generated method stub + return side; + } } diff --git a/src/main/java/reobf/proghatches/main/GuiHandler.java b/src/main/java/reobf/proghatches/main/GuiHandler.java index 32ab3aa..323ce11 100644 --- a/src/main/java/reobf/proghatches/main/GuiHandler.java +++ b/src/main/java/reobf/proghatches/main/GuiHandler.java @@ -182,7 +182,8 @@ public void initGui() { this.guiLeft + 132, this.guiTop, AEApi.instance().items().itemCertusQuartzKnife.stack(1), - StatCollector.translateToLocal("ae2fc.tooltip.switch_fluid_interface"), + "Rename" // StatCollector.translateToLocal("ae2fc.tooltip.switch_fluid_interface") + , itemRender){ diff --git a/src/main/java/reobf/proghatches/main/mixin/MixinCallback.java b/src/main/java/reobf/proghatches/main/mixin/MixinCallback.java index cb573e0..a544438 100644 --- a/src/main/java/reobf/proghatches/main/mixin/MixinCallback.java +++ b/src/main/java/reobf/proghatches/main/mixin/MixinCallback.java @@ -46,5 +46,8 @@ public static void handleAddedToMachineList(IGregTechTileEntity aTileEntity, Obj } } - +public static void aa(Object t){ + //System.out.println(t); + +} } diff --git a/src/main/java/reobf/proghatches/main/mixin/MixinPlugin.java b/src/main/java/reobf/proghatches/main/mixin/MixinPlugin.java index d39f3c5..2735e3c 100644 --- a/src/main/java/reobf/proghatches/main/mixin/MixinPlugin.java +++ b/src/main/java/reobf/proghatches/main/mixin/MixinPlugin.java @@ -141,6 +141,8 @@ public List getMixins() { ret.add("eucrafting." + "MixinCoverInsertion"); ret.add("eucrafting." + "MixinEUSourceCoverChunkUnloadNotification"); } + if (FMLLaunchHandler.side().isClient()) {ret.add("eucrafting." + "MixinWirelessRename");;} + ret.add("eucrafting." + "MixinInvTracker"); //ret.add("MixinBaseSlot");// ret.add("MixinAEAdaptorSkipStackSizeCheck"); diff --git a/src/main/java/reobf/proghatches/main/mixin/mixins/MixinNoFuzzyForProgrammingCircuit.java b/src/main/java/reobf/proghatches/main/mixin/mixins/MixinNoFuzzyForProgrammingCircuit.java index 51dac1e..5c78acc 100644 --- a/src/main/java/reobf/proghatches/main/mixin/mixins/MixinNoFuzzyForProgrammingCircuit.java +++ b/src/main/java/reobf/proghatches/main/mixin/mixins/MixinNoFuzzyForProgrammingCircuit.java @@ -18,32 +18,20 @@ import reobf.proghatches.main.MyMod; @Mixin(value = ItemList.class, remap = false) -public abstract class MixinNoFuzzyForProgrammingCircuit implements IItemList { - - @Inject(cancellable=true, - method="findFuzzy", at = { @At( - value="INVOKE", - target = "Lappeng/util/item/AEItemStack;isOre()Z" - ,shift=Shift.BEFORE - ) } - ) - public void prevent(final IAEItemStack filter, final FuzzyMode fuzzy - ,CallbackInfoReturnable> xx - ){ - if((filter.getItem()==MyMod.progcircuit)){ - +public abstract class MixinNoFuzzyForProgrammingCircuit implements IItemList { + + @Inject(cancellable = true, method = "findFuzzy", at = { + @At(value = "INVOKE", target = "Lappeng/util/item/AEItemStack;isOre()Z", shift = Shift.BEFORE) }) + public void prevent(final IAEItemStack filter, final FuzzyMode fuzzy, + CallbackInfoReturnable> xx) { + if ((filter.getItem() == MyMod.progcircuit)) { + IAEItemStack obj = findPrecise(filter); - xx.setReturnValue( - obj==null? - Collections.emptyList() - : - Collections.singletonList(obj) - - ); + xx.setReturnValue(obj == null ? Collections.emptyList() : Collections.singletonList(obj) + + ); } - - + } - - + } diff --git a/src/main/java/reobf/proghatches/main/mixin/mixins/eucrafting/MixinCoverInsertion.java b/src/main/java/reobf/proghatches/main/mixin/mixins/eucrafting/MixinCoverInsertion.java index e1683c4..3d7c0cb 100644 --- a/src/main/java/reobf/proghatches/main/mixin/mixins/eucrafting/MixinCoverInsertion.java +++ b/src/main/java/reobf/proghatches/main/mixin/mixins/eucrafting/MixinCoverInsertion.java @@ -10,6 +10,7 @@ import appeng.helpers.IInterfaceHost; import appeng.parts.AEBasePart; import net.minecraftforge.common.util.ForgeDirection; +import reobf.proghatches.eucrafting.IActualSideProvider; import reobf.proghatches.eucrafting.InterfaceData; @Mixin(value = DualityInterface.class, remap = false) @@ -40,15 +41,15 @@ private ForgeDirection correct(ForgeDirection f) { if (f != ForgeDirection.UNKNOWN) return f; - if (this instanceof InterfaceData.IActualSideProvider) { - return ((InterfaceData.IActualSideProvider) this).getActualSide().getOpposite(); + if (this instanceof IActualSideProvider) { + return ((IActualSideProvider) this).getActualSide().getOpposite(); } if (AEBasePart.class.isInstance(iHost)) { AEBasePart host = (AEBasePart) iHost; - if (host.getHost() instanceof InterfaceData.IActualSideProvider) { + if (host.getHost() instanceof IActualSideProvider) { - return ((InterfaceData.IActualSideProvider) host.getHost()).getActualSide().getOpposite(); + return ((IActualSideProvider) host.getHost()).getActualSide().getOpposite(); } diff --git a/src/main/java/reobf/proghatches/main/mixin/mixins/eucrafting/MixinInvTracker.java b/src/main/java/reobf/proghatches/main/mixin/mixins/eucrafting/MixinInvTracker.java new file mode 100644 index 0000000..bcf55e3 --- /dev/null +++ b/src/main/java/reobf/proghatches/main/mixin/mixins/eucrafting/MixinInvTracker.java @@ -0,0 +1,56 @@ +package reobf.proghatches.main.mixin.mixins.eucrafting; + +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import appeng.api.networking.security.IActionHost; +import appeng.api.util.IInterfaceViewable; +import appeng.container.implementations.ContainerInterfaceTerminal; +import appeng.me.cluster.implementations.CraftingCPUCluster; +import appeng.parts.AEBasePart; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraftforge.common.util.ForgeDirection; +import reobf.proghatches.eucrafting.IActualSideProvider; +import reobf.proghatches.main.mixin.MixinCallback; + +@Mixin( + targets="appeng.container.implementations.ContainerInterfaceTerminal$InvTracker", + //value = ContainerInterfaceTerminal.InvTracker.class, + remap = false, priority = 1) +public class MixinInvTracker { + + @Mutable// @Final + @Shadow private ForgeDirection side; + @Mutable// @Final + @Shadow private long id; + @Inject(method = "", at = @At(value = "RETURN"), require = 1) + public void check(long idx, IInterfaceViewable machine, boolean online,CallbackInfo c) + { + check(machine); + MixinCallback.aa(machine); + if(machine instanceof AEBasePart){ + check(((AEBasePart) machine).getHost()); + + } + + + } + public void check(Object machine){ + +if(machine instanceof IActualSideProvider){ + + side=((IActualSideProvider) machine).getActualSide(); + id=id|Long.MIN_VALUE; + } + + } + + + + +} diff --git a/src/main/java/reobf/proghatches/main/mixin/mixins/eucrafting/MixinWirelessRename.java b/src/main/java/reobf/proghatches/main/mixin/mixins/eucrafting/MixinWirelessRename.java new file mode 100644 index 0000000..92ddce8 --- /dev/null +++ b/src/main/java/reobf/proghatches/main/mixin/mixins/eucrafting/MixinWirelessRename.java @@ -0,0 +1,57 @@ +package reobf.proghatches.main.mixin.mixins.eucrafting; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import com.glodblock.github.client.gui.GuiInterfaceWireless; + +import net.minecraft.client.Minecraft; +import net.minecraftforge.common.util.ForgeDirection; +import reobf.proghatches.main.MyMod; +import reobf.proghatches.net.RenameMessage; + +@Mixin( + targets="com.glodblock.github.client.gui.GuiInterfaceWireless$InterfaceWirelessEntry" + , remap = false + ) +public class MixinWirelessRename { + + + public boolean isCover; + @Shadow long id; + + @Shadow int x;//, y, z, dim, side; + @Shadow int y; + @Shadow int z; + @Shadow int dim; + @Shadow int side; + @Inject(cancellable=true,method = "mouseClicked", at = @At(value = "NEW",target="com/glodblock/github/network/CPacketRenamer"), require = 1) + + public void mouseClicked(int mouseX, int mouseY, int btn,CallbackInfoReturnable c) { + if(isCover){ + + if(Minecraft.getMinecraft().thePlayer.getEntityWorld().provider.dimensionId==dim) + MyMod.net.sendToServer( + new RenameMessage(x, y, z, ForgeDirection.getOrientation(side))); + + + c.setReturnValue(true); + } + } + + @Inject(method = "", at = @At(value = "RETURN"), require = 1) + public void ctor(GuiInterfaceWireless parent,long idx, String name, int rows, int rowSize, boolean online,CallbackInfo x) { + + if((id&Long.MIN_VALUE)!=0){ + isCover=true; + id=id&Long.MAX_VALUE; + } + + + } + +}