Skip to content

Commit 3154441

Browse files
committed
fixed issues with components not updating
1 parent 1d7e719 commit 3154441

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

src/main/java/org/gtreimagined/gt4r/blockentity/multi/BlockEntityReactorCore.java

+13
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import muramasa.antimatter.integration.jeirei.renderer.IInfoRenderer;
1616
import muramasa.antimatter.machine.MachineState;
1717
import muramasa.antimatter.machine.Tier;
18+
import muramasa.antimatter.machine.event.IMachineEvent;
1819
import muramasa.antimatter.machine.types.Machine;
1920
import muramasa.antimatter.util.FluidUtils;
2021
import muramasa.antimatter.util.int2;
@@ -126,6 +127,18 @@ public void onBlockUpdate(BlockPos pos) {
126127
this.setChamberCount(getAttachedChambers(level, this.getBlockPos()));
127128
}
128129

130+
@Override
131+
public void onMachineEvent(IMachineEvent event, Object... data) {
132+
if (event == SlotType.STORAGE && data[0] instanceof Integer integer){
133+
ItemStack stack = itemHandler.map(i -> i.getHandler(SlotType.STORAGE).getStackInSlot(integer)).orElse(ItemStack.EMPTY);
134+
if (components[integer] != null && !stack.is(components[integer].getItemStack().getItem())){
135+
components[integer] = null;
136+
getComponent(integer % ROW_COUNT, integer / COL_COUNT);
137+
}
138+
}
139+
super.onMachineEvent(event, data);
140+
}
141+
129142
@Override
130143
public void serverTick(Level level, BlockPos blockPos, BlockState blockState) {
131144
this.tickCounter++;

src/main/java/org/gtreimagined/gt4r/reactor/components/adapters/FuelRodAdapter.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,7 @@ public void onHeatTick() {
6565
return;
6666
}
6767

68-
if (fuelRod.getRemainingHealth(itemStack) <= 0) {
69-
reactor.setItem(x, y, fuelRod.getProduct(itemStack).copy());
70-
return;
71-
}
68+
7269

7370
int pulses = this.getPulseCount();
7471
int heat = (int) (fuelRod.getFuelType().heatMult() * fuelRod.getRodCount(itemStack)
@@ -115,6 +112,9 @@ public void onEnergyTick() {
115112

116113
reactor.addEU(energy);
117114
fuelRod.applyDamage(itemStack, 1);
115+
if (fuelRod.getRemainingHealth(itemStack) <= 0) {
116+
reactor.setItem(x, y, fuelRod.getProduct(itemStack).copy());
117+
}
118118
}
119119

120120
@Override

0 commit comments

Comments
 (0)