Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
reobf committed Apr 12, 2024
1 parent 81c4644 commit 4ef895e
Show file tree
Hide file tree
Showing 10 changed files with 183 additions and 27 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ catch (Exception ignored) {

// Pulls version first from the VERSION env and then git tag
String identifiedVersion = null
String versionOverride = '0.0.10'
String versionOverride = '0.0.9'
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) {
Expand Down
62 changes: 55 additions & 7 deletions src/main/java/reobf/proghatches/eucrafting/PartEUP2PInterface.java
Original file line number Diff line number Diff line change
Expand Up @@ -146,35 +146,78 @@ public NBTTagCompound getNBTData(EntityPlayerMP player, IPart part, TileEntity t
tag.setInteger("INPUT_Z",s.getTile().zCoord);
tag.setInteger("INPUT_DIM",s.getTile().getWorldObj().provider.dimensionId);
});

PartEUP2PInterface in = pt.isP2POut()?pt.getInput():pt;
Optional.ofNullable(in).ifPresent(s->{
tag.setLong("V", pt.voltage);
tag.setLong("A", pt.amp);
tag.setLong("EA", pt.expectedamp);
tag.setDouble("AA", pt.averageamp);
tag.setDouble("AAL",pt.injectedamp_local);
});
;


}



return tag;
}
@Override
public List<String> getWailaBody(IPart part, List<String> currentToolTip, IWailaDataAccessor accessor,
IWailaConfigHandler config) {
if(PartEUP2PInterface.class.isInstance(part)){


currentToolTip.add(StatCollector.translateToLocalFormatted(
"proghatches.eu.interface.waila.V",accessor.getNBTData().getLong("V")));
currentToolTip.add(StatCollector.translateToLocalFormatted(
"proghatches.eu.interface.waila.EA",accessor.getNBTData().getLong("EA")));

currentToolTip.add(StatCollector.translateToLocalFormatted(
"proghatches.eu.interface.waila.AA",String.format("%.2f",accessor.getNBTData().getDouble("AA")),accessor.getNBTData().getLong("A")));
//if(pt)
{
double d1=accessor.getNBTData().getDouble("AAL");
double d2=accessor.getNBTData().getDouble("AA");

currentToolTip.add(StatCollector.translateToLocalFormatted(
"proghatches.eu.interface.waila.AAL",
String.format("%.2f",
(d1>0.01&&d1<=d2)?
d1/d2*100:
0
)
));
}


if(accessor.getNBTData().getBoolean("p2p_out")){

UUID id=ProghatchesUtil.deser(accessor.getNBTData(), "INPUT_ID");
if(id.equals(zero)){return super.getWailaBody(part, currentToolTip, accessor, config);}
if(accessor.getNBTData().hasKey("INPUT_DIM")){
for(int i=0;i<4;i++)
currentToolTip.add(
StatCollector.translateToLocalFormatted("proghatches.eu.interface.waila.UUID.out."+i,
ProghatchesUtil.deser(accessor.getNBTData(), "INPUT_ID").toString(),
id.toString(),
accessor.getNBTData().getInteger("INPUT_X"),
accessor.getNBTData().getInteger("INPUT_Y"),
accessor.getNBTData().getInteger("INPUT_Z"),
accessor.getNBTData().getInteger("INPUT_DIM")
)
);

}else{

currentToolTip.add(StatCollector.translateToLocal("proghatches.eu.interface.waila.inputmissing"));
}


}else{

UUID id=ProghatchesUtil.deser(accessor.getNBTData(), "ID");
if(id.equals(zero)){return super.getWailaBody(part, currentToolTip, accessor, config);}
currentToolTip.add(
StatCollector.translateToLocalFormatted("proghatches.eu.interface.waila.UUID",
ProghatchesUtil.deser(accessor.getNBTData(), "ID").toString())
id.toString())

);

Expand Down Expand Up @@ -235,6 +278,7 @@ public int getInstalledUpgrades(Upgrades u) {
private boolean updatev;
private long instantamp;
private double averageamp;
private double averageamp_local;
private long amp;
private long minv;
private long maxv;
Expand Down Expand Up @@ -1346,6 +1390,7 @@ public long doInject(long a, long v) {
a-=consume;
if(consume==0)dead.add(face);
injectedamp+=consume;
face.injectedamp_local+=consume;
if(a==0)break alldone;

}
Expand Down Expand Up @@ -1373,11 +1418,14 @@ public void accept(long a) {
accepted+=a;
}
long injectedamp;
long injectedamp_local;
@Override
public void reset() {
instantamp=injectedamp;
averageamp=(injectedamp)*0.01+averageamp*0.99;
averageamp=(injectedamp)/32.0+averageamp*31/32;
injectedamp=0;
averageamp_local=(injectedamp_local)/32.0+averageamp_local*31/32;
injectedamp_local=0;
accepted=0;

}
Expand Down
42 changes: 40 additions & 2 deletions src/main/java/reobf/proghatches/eucrafting/PartEUSource.java
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
import appeng.api.storage.data.IItemList;
import appeng.client.texture.CableBusTextures;
import appeng.core.settings.TickRates;
import appeng.integration.modules.waila.part.BasePartWailaDataProvider;
import appeng.me.GridAccessException;
import appeng.me.cache.CraftingGridCache;
import appeng.me.cluster.implementations.CraftingCPUCluster;
Expand All @@ -73,12 +74,15 @@
import gregtech.api.interfaces.tileentity.IEnergyConnected;
import gregtech.common.gui.modularui.widget.CoverCycleButtonWidget;
import io.netty.buffer.ByteBuf;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
Expand All @@ -100,6 +104,39 @@

public class PartEUSource extends AEBasePart
implements IGuiProvidingPart, ICraftingProvider, IGridTickable, IInstantCompletable, IPartGT5Power, ISource {

public static class WailaDataProvider extends BasePartWailaDataProvider{

@Override
public NBTTagCompound getNBTData(EntityPlayerMP player, IPart part, TileEntity te, NBTTagCompound tag,
World world, int x, int y, int z) {
if(PartEUSource.class.isInstance(part)){
PartEUSource pt = (PartEUSource) part;

tag.setLong("V",pt.voltage);
tag.setLong("A",pt.amp);
tag.setLong("AC",pt.consumed);
tag.setDouble("AA",pt.averageamp);
}
return super.getNBTData(player, part, te, tag, world, x, y, z);
}
@Override
public List<String> getWailaBody(IPart part, List<String> currentToolTip, IWailaDataAccessor accessor,
IWailaConfigHandler config) {
if(PartEUSource.class.isInstance(part)){

currentToolTip.add(StatCollector.translateToLocalFormatted("proghatches.eu.source.waila.V", accessor.getNBTData().getLong("V")));
currentToolTip.add(StatCollector.translateToLocalFormatted("proghatches.eu.source.waila.A", accessor.getNBTData().getLong("A")));
currentToolTip.add(StatCollector.translateToLocalFormatted("proghatches.eu.source.waila.AC", accessor.getNBTData().getLong("AC")));
currentToolTip.add(StatCollector.translateToLocalFormatted("proghatches.eu.source.waila.AA", String.format("%.2f",accessor.getNBTData().getDouble("AA"))));



}
return super.getWailaBody(part, currentToolTip, accessor, config);
}

}
@Override
public void markDirty() {
this.getTile().markDirty();
Expand Down Expand Up @@ -699,11 +736,12 @@ public void complete() {
returnItems();

}

double averageamp;
@Override
public void reset() {
averageamp= (ampInjectedthisTick)/32.0+averageamp*31/32;
ampInjectedthisTick = 0;

}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,23 @@ public List<String> getWailaHead(ItemStack itemStack, List<String> currenttip, I
@Override
public List<String> getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor,
IWailaConfigHandler config) {

UUID id=ProghatchesUtil.deser(accessor.getNBTData(), "EUFI");
if(id.equals(zero)){return currenttip;}
currenttip.add(
StatCollector.translateToLocalFormatted("proghatches.eu.interface.waila.UUID",ProghatchesUtil.deser(accessor.getNBTData(), "EUFI").toString())
);return currenttip;
StatCollector.translateToLocalFormatted("proghatches.eu.interface.waila.UUID",id.toString())
);

currenttip.add(StatCollector.translateToLocalFormatted(
"proghatches.eu.interface.waila.V",accessor.getNBTData().getLong("V")));
currenttip.add(StatCollector.translateToLocalFormatted(
"proghatches.eu.interface.waila.EA",accessor.getNBTData().getLong("EA")));
currenttip.add(StatCollector.translateToLocalFormatted(
"proghatches.eu.interface.waila.AA",String.format("%.2f",accessor.getNBTData().getDouble("AA")),accessor.getNBTData().getLong("A")));
System.out.println(
StatCollector.translateToLocal("proghatches.eu.interface.waila.AA"));


return currenttip;
}

@Override
Expand All @@ -114,6 +127,11 @@ public List<String> getWailaTail(ItemStack itemStack, List<String> currenttip, I
public NBTTagCompound getNBTData(EntityPlayerMP player, TileEntity te, NBTTagCompound tag, World world, int x,
int y, int z) {
ProghatchesUtil.ser(tag, ((TileFluidInterface_EU)te).id, "EUFI");
TileFluidInterface_EU pt= ((TileFluidInterface_EU)te);
tag.setLong("V", pt.voltage);
tag.setLong("A", pt.amp);
tag.setLong("EA", pt.expectedamp);
tag.setDouble("AA", pt.averageamp);
return tag;
}};
public TileFluidInterface_EU() {
Expand Down Expand Up @@ -804,7 +822,7 @@ public void accept(long a) {
@Override
public void reset() {
instantamp=injectedamp;
averageamp=(injectedamp)*0.01+averageamp*0.99;
averageamp=(injectedamp)/32.0+averageamp*31/32;
injectedamp=0;
accepted=0;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@
import javax.annotation.Nullable;

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.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
Expand Down Expand Up @@ -63,6 +66,8 @@
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.extensions.ArrayExt;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
import reobf.proghatches.eucrafting.TileFluidInterface_EU;
import reobf.proghatches.item.ItemProgrammingCircuit;
import reobf.proghatches.main.MyMod;
Expand Down Expand Up @@ -554,5 +559,30 @@ public ItemStack getCrafterIcon() {

return new ItemStack(GregTech_API.sBlockMachines, 1, getBaseMetaTileEntity().getMetaTileID());
}
@Override
public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y,
int z) {
//no-op get the name on client side
super.getWailaNBTData(player, tile, tag, world, x, y, z);
}

@Override
public void getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor,
IWailaConfigHandler config) {

currenttip.add(
StatCollector.translateToLocal("proghatches.provider.waila")
+
Optional.ofNullable(
((IInventory)accessor.getTileEntity())
.getStackInSlot(0)).map(s->s.getDisplayName()+"@"+s.getItemDamage()).orElse("<empty>")


);




super.getWailaBody(itemStack, currenttip, accessor, config);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ private void executeCrafting1(final IEnergyGrid eg, final CraftingGridCache cc,C

IAEItemStack u=s.copy().setStackSize(1);

storage.merge(u,0l, (a,b)->a+b+s.getStackSize());
storage.merge(u,s.getStackSize(),Long::sum);
}


Expand All @@ -140,8 +140,8 @@ private void executeCrafting1(final IEnergyGrid eg, final CraftingGridCache cc,C
if(d.out.getItemDamage()==1){
IAEItemStack key = d.o[0].copy().setStackSize(1);

storage.merge(key, 0l,
(a,b)->a+b+MixinCallback.getter.apply(s.getValue())
storage.merge(key, MixinCallback.getter.apply(s.getValue()) ,
Long::sum
);

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ public void startCrafting(MECraftingInventory storage, ICraftingCPU rawCluster,
long excessive= actual-need;
if(excessive<=0)return;
// if(!tokill.containsKey(d.getKey()))tokill.put((PatternDetail) d.getKey(), 0l);
tokill.merge((PatternDetail) d.getKey(),0l, (aa,bb)->aa+bb+excessive);
tokill.merge((PatternDetail) d.getKey(),excessive, Long::sum);
return ;
});

System.out.println(tokill);
HashMap<IAEItemStack ,Long> killnum=new HashMap();
tokill.forEach((a,b)->{
tasks.computeIfPresent(a,
Expand All @@ -84,7 +84,7 @@ public void startCrafting(MECraftingInventory storage, ICraftingCPU rawCluster,

IAEItemStack is=a.i[0].copy().setStackSize(1);

killnum.merge(is,0l, (ax,bx)->ax+bx+a.i[0].getStackSize()*b);
killnum.merge(is,a.i[0].getStackSize()*b, Long::sum);



Expand All @@ -94,7 +94,7 @@ public void startCrafting(MECraftingInventory storage, ICraftingCPU rawCluster,
);

});

System.out.println(killnum);
// HashSet<> = tokill.keySet().stream().map(S->S.i[0]).collect(Collectors.toCollection(HashSet::new));
tasks.forEach((a,b)->{

Expand All @@ -117,12 +117,12 @@ public void startCrafting(MECraftingInventory storage, ICraftingCPU rawCluster,

});

/* tasks.forEach((s,b)->{
tasks.forEach((s,b)->{

System.out.println(s+" "+MixinCallback.getter.apply(b));


});*/
});

//
// System.out.println(killnum.get(AEItemStack.create(w.out)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import appeng.integration.modules.waila.PartWailaDataProvider;
import appeng.integration.modules.waila.part.IPartWailaDataProvider;
import reobf.proghatches.eucrafting.PartEUP2PInterface;
import reobf.proghatches.eucrafting.PartEUSource;

@Mixin(value =PartWailaDataProvider.class, remap = false, priority = 1)
public class MixinWailaProvider {
Expand All @@ -23,6 +24,7 @@ public class MixinWailaProvider {
public void constructor(CallbackInfo a) {

providers.add(new PartEUP2PInterface.WailaDataProvider());
providers.add(new PartEUSource.WailaDataProvider());
}


Expand Down
Loading

0 comments on commit 4ef895e

Please sign in to comment.