Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
reobf committed Jan 19, 2025
1 parent be4726d commit cf941f8
Show file tree
Hide file tree
Showing 2 changed files with 108 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

import com.glodblock.github.common.item.ItemFluidDrop;
import com.glodblock.github.common.item.ItemFluidPacket;
import com.glodblock.github.inventory.FluidConvertingInventoryCrafting;
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
import com.llamalad7.mixinextras.sugar.Local;
import com.llamalad7.mixinextras.sugar.Share;
Expand Down Expand Up @@ -221,7 +222,7 @@ public void MixinMultiPattern_executeCrafting(IEnergyGrid eg, CraftingGridCache
break stop;// that's impossible to be done in same tick
}
InventoryCrafting ic = detail.isCraftable() ? new InventoryCrafting(new ContainerNull(), 3, 3)
: new InventoryCrafting(new ContainerNull(), detail.getInputs().length, 1);
: new FluidConvertingInventoryCrafting(new ContainerNull(), detail.getInputs().length, 1);
final IAEItemStack[] input = detail.getInputs();
boolean found = false;
for (int x = 0; x < input.length; x++) {
Expand Down Expand Up @@ -252,8 +253,15 @@ public void MixinMultiPattern_executeCrafting(IEnergyGrid eg, CraftingGridCache
if (!found) {
// put stuff back..
for (int x = 0; x < ic.getSizeInventory(); x++) {
final ItemStack is = ic.getStackInSlot(x);
ItemStack is = ic.getStackInSlot(x);
if (is != null) {
if(is.getItem() instanceof ItemFluidDrop){

is=ItemFluidDrop.newStack(ItemFluidPacket.getFluidStack(is));

}


this.inventory.injectItems(AEItemStack.create(is), Actionable.MODULATE, this.machineSrc);
}
}
Expand All @@ -272,8 +280,14 @@ public void MixinMultiPattern_executeCrafting(IEnergyGrid eg, CraftingGridCache
if (ic != null) {
// put stuff back..
for (int x = 0; x < ic.getSizeInventory(); x++) {
final ItemStack is = ic.getStackInSlot(x);
ItemStack is = ic.getStackInSlot(x);

if (is != null) {
if(is.getItem() instanceof ItemFluidDrop){

is=ItemFluidDrop.newStack(ItemFluidPacket.getFluidStack(is));

}
this.inventory.injectItems(AEItemStack.create(is), Actionable.MODULATE, this.machineSrc);
}
}
Expand Down
92 changes: 91 additions & 1 deletion src/main/java/reobf/proghatches/oc/ItemCPU.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,30 @@
package reobf.proghatches.oc;


import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Optional;
import java.util.function.Predicate;
import java.util.regex.Pattern;

import li.cil.oc.api.Network;
import li.cil.oc.api.driver.item.Slot;
import li.cil.oc.api.internal.Database;
import li.cil.oc.api.machine.Architecture;
import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.EnvironmentHost;
import li.cil.oc.api.network.ManagedEnvironment;
import li.cil.oc.api.network.Message;
import li.cil.oc.api.network.Node;
import li.cil.oc.api.network.Visibility;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.oredict.OreDictionary;

public class ItemCPU extends Item implements li.cil.oc.api.driver.item.HostAware,
li.cil.oc.api.driver.item.Processor{
Expand All @@ -21,7 +38,80 @@ public boolean worksWith(ItemStack stack) {
@Override
public ManagedEnvironment createEnvironment(ItemStack stack, EnvironmentHost host) {

return null;
return new APIEnv(stack);
}
public class APIEnv implements ManagedEnvironment {

@Override
public void update() {
node().network().nodes().forEach(s->{




System.out.println(s.host());
});

}

// public RedstoneEnv(EnvironmentHost
// env){this.env=env;};EnvironmentHost env;
private Node _node = Network.newNode(this, Visibility.Network)

.create();

public APIEnv(ItemStack stack) {
this.stack = stack;
}

ItemStack stack;

@Override
public Node node() {
return _node;

}


@Override
public void onConnect(Node node) {
// TODO Auto-generated method stub

}

@Override
public void onDisconnect(Node node) {

}

@Override
public void onMessage(Message message) {

}

@Override
public void load(NBTTagCompound nbt) {
Optional.ofNullable(nbt.getTag("node")).ifPresent(s -> {
if (node() != null)
node().load((NBTTagCompound) s);
});

}

@Override
public void save(NBTTagCompound nbt) {
NBTTagCompound t = new NBTTagCompound();
Optional.ofNullable(node()).ifPresent(s -> s.save(t));
nbt.setTag("node", t);
}

@Override
public boolean canUpdate() {

return true;
}


}

@Override
Expand Down

0 comments on commit cf941f8

Please sign in to comment.