Skip to content

Commit 4c18209

Browse files
committed
made reactor chamber able to output energy
1 parent 190bbe5 commit 4c18209

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

src/main/java/org/gtreimagined/gt4r/reactor/tile/BlockEntityReactorChamber.java

+23
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package org.gtreimagined.gt4r.reactor.tile;
22

33
import lombok.Getter;
4+
import muramasa.antimatter.Ref;
45
import muramasa.antimatter.blockentity.BlockEntityFakeBlock;
56
import muramasa.antimatter.blockentity.BlockEntityMachine;
67
import muramasa.antimatter.machine.Tier;
78
import muramasa.antimatter.machine.types.Machine;
89
import muramasa.antimatter.tool.AntimatterToolType;
10+
import muramasa.antimatter.util.Utils;
911
import net.minecraft.core.BlockPos;
1012
import net.minecraft.core.Direction;
1113
import net.minecraft.nbt.CompoundTag;
@@ -23,6 +25,10 @@
2325
import org.gtreimagined.gt4r.data.Machines;
2426
import org.jetbrains.annotations.NotNull;
2527
import org.jetbrains.annotations.Nullable;
28+
import tesseract.TesseractCapUtils;
29+
import tesseract.api.gt.IEnergyHandler;
30+
31+
import java.util.Optional;
2632

2733
public class BlockEntityReactorChamber extends BlockEntityMachine<BlockEntityReactorChamber> {
2834
@Getter
@@ -63,6 +69,23 @@ public void onFirstTickClient(Level level, BlockPos pos, BlockState state) {
6369
}
6470
}
6571

72+
@Override
73+
public void serverTick(Level level, BlockPos pos, BlockState state) {
74+
super.serverTick(level, pos, state);
75+
if (reactor != null && !reactor.isFluid()) {
76+
for (Direction dir : Ref.DIRS) {
77+
if (dir != reactorSide) {
78+
BlockEntity tile = this.getCachedBlockEntity(dir);
79+
if (tile == null) continue;
80+
Optional<IEnergyHandler> handle = TesseractCapUtils.INSTANCE.getEnergyHandler(tile, dir.getOpposite());
81+
if (handle.map(h -> !h.canInput(dir.getOpposite())).orElse(true)) continue;
82+
handle.ifPresent(eh -> reactor.energyHandler.ifPresent(h -> Utils.transferEnergy(h, eh)));
83+
}
84+
}
85+
}
86+
87+
}
88+
6689
@Override
6790
public @NotNull <U> LazyOptional<U> getCapability(@NotNull Capability<U> cap, @Nullable Direction side) {
6891
if (reactor != null) {

0 commit comments

Comments
 (0)