Skip to content

Commit e9727ae

Browse files
committed
fixed debugger, energy caps
1 parent 3c8c12f commit e9727ae

File tree

9 files changed

+81
-13
lines changed

9 files changed

+81
-13
lines changed

src/main/java/com/mrh0/createaddition/blocks/connector/LargeConnectorBlockEntity.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
import com.mrh0.createaddition.blocks.connector.base.AbstractConnectorBlock;
44
import com.mrh0.createaddition.blocks.connector.base.AbstractConnectorBlockEntity;
55
import com.mrh0.createaddition.config.CommonConfig;
6+
import com.mrh0.createaddition.index.CABlockEntities;
67
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
78
import net.minecraft.core.BlockPos;
89
import net.minecraft.world.level.block.entity.BlockEntityType;
910
import net.minecraft.world.level.block.state.BlockState;
1011
import net.minecraft.world.phys.Vec3;
12+
import net.neoforged.neoforge.capabilities.Capabilities;
13+
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
1114

1215
import java.util.List;
1316

@@ -25,6 +28,14 @@ public LargeConnectorBlockEntity(BlockEntityType<?> blockEntityTypeIn, BlockPos
2528
super(blockEntityTypeIn, pos, state);
2629
}
2730

31+
public static void registerCapabilities(RegisterCapabilitiesEvent event) {
32+
event.registerBlockEntity(
33+
Capabilities.EnergyStorage.BLOCK,
34+
CABlockEntities.LARGE_CONNECTOR.get(),
35+
(be, context) -> be.internal
36+
);
37+
}
38+
2839
@Override
2940
public void addBehaviours(List<BlockEntityBehaviour> list) {}
3041

src/main/java/com/mrh0/createaddition/blocks/connector/SmallConnectorBlockEntity.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
import com.mrh0.createaddition.blocks.connector.base.AbstractConnectorBlock;
44
import com.mrh0.createaddition.blocks.connector.base.AbstractConnectorBlockEntity;
55
import com.mrh0.createaddition.config.CommonConfig;
6+
import com.mrh0.createaddition.index.CABlockEntities;
67
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
78
import net.minecraft.core.BlockPos;
89
import net.minecraft.world.level.block.entity.BlockEntityType;
910
import net.minecraft.world.level.block.state.BlockState;
1011
import net.minecraft.world.phys.Vec3;
12+
import net.neoforged.neoforge.capabilities.Capabilities;
13+
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
1114

1215
import java.util.List;
1316

@@ -25,6 +28,14 @@ public SmallConnectorBlockEntity(BlockEntityType<?> blockEntityTypeIn, BlockPos
2528
super(blockEntityTypeIn, pos, state);
2629
}
2730

31+
public static void registerCapabilities(RegisterCapabilitiesEvent event) {
32+
event.registerBlockEntity(
33+
Capabilities.EnergyStorage.BLOCK,
34+
CABlockEntities.SMALL_CONNECTOR.get(),
35+
(be, context) -> be.internal
36+
);
37+
}
38+
2839
@Override
2940
public void addBehaviours(List<BlockEntityBehaviour> list) {}
3041

src/main/java/com/mrh0/createaddition/blocks/connector/SmallLightConnectorBlockEntity.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@
44
import com.mrh0.createaddition.blocks.connector.base.AbstractConnectorBlockEntity;
55
import com.mrh0.createaddition.config.CommonConfig;
66
import com.mrh0.createaddition.energy.network.EnergyNetwork;
7+
import com.mrh0.createaddition.index.CABlockEntities;
78
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
89
import net.minecraft.core.BlockPos;
910
import net.minecraft.core.HolderLookup;
1011
import net.minecraft.nbt.CompoundTag;
1112
import net.minecraft.world.level.block.entity.BlockEntityType;
1213
import net.minecraft.world.level.block.state.BlockState;
1314
import net.minecraft.world.phys.Vec3;
15+
import net.neoforged.neoforge.capabilities.Capabilities;
16+
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
1417

1518
import java.util.List;
1619

@@ -32,6 +35,14 @@ public SmallLightConnectorBlockEntity(BlockEntityType<?> blockEntityTypeIn, Bloc
3235
posTimeOffset = 10 + (Math.abs(pos.getX()*31 + pos.getY()*45 + pos.getZ()*33) % 7) * 3;
3336
}
3437

38+
public static void registerCapabilities(RegisterCapabilitiesEvent event) {
39+
event.registerBlockEntity(
40+
Capabilities.EnergyStorage.BLOCK,
41+
CABlockEntities.SMALL_LIGHT_CONNECTOR.get(),
42+
(be, context) -> be.internal
43+
);
44+
}
45+
3546
@Override
3647
public void read(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket) {
3748
tickToggleTimer = nbt.getInt("tick_toggle_timer");

src/main/java/com/mrh0/createaddition/blocks/connector/base/AbstractConnectorBlockEntity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.mrh0.createaddition.debug.IDebugDrawer;
1010
import com.mrh0.createaddition.energy.*;
1111
import com.mrh0.createaddition.energy.network.EnergyNetwork;
12+
import com.mrh0.createaddition.index.CABlockEntities;
1213
import com.mrh0.createaddition.util.Util;
1314
import com.mrh0.createaddition.network.EnergyNetworkPacketPayload;
1415
import com.mrh0.createaddition.network.IObserveTileEntity;
@@ -32,6 +33,7 @@
3233
import net.minecraft.world.phys.shapes.VoxelShape;
3334
import net.neoforged.neoforge.capabilities.BlockCapabilityCache;
3435
import net.neoforged.neoforge.capabilities.Capabilities;
36+
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
3537
import net.neoforged.neoforge.energy.IEnergyStorage;
3638
import org.jetbrains.annotations.Nullable;
3739

@@ -46,7 +48,7 @@ public abstract class AbstractConnectorBlockEntity extends SmartBlockEntity impl
4648
private boolean wasContraption = false;
4749
private boolean firstTick = true;
4850

49-
private InterfaceEnergyHandler internal = new InterfaceEnergyHandler();
51+
public InterfaceEnergyHandler internal = new InterfaceEnergyHandler();
5052
protected BlockCapabilityCache<IEnergyStorage, Direction> external;
5153

5254
public AbstractConnectorBlockEntity(BlockEntityType<?> blockEntityTypeIn, BlockPos pos, BlockState state) {

src/main/java/com/mrh0/createaddition/blocks/modular_accumulator/ModularAccumulatorBlockEntity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,9 @@ public void tickOutputSide(Direction side) {
174174
if (level == null) return;
175175
if (!level.isLoaded(getBlockPos())) return;
176176
if (!level.isLoaded(getBlockPos().relative(side))) return;
177-
IEnergyStorage ies = cache.get(side).getCapability();
177+
var sideCache = cache.get(side);
178+
if (sideCache == null) return;
179+
IEnergyStorage ies = sideCache.getCapability();
178180
if(ies == null) return;
179181
int ext = getControllerBE().energyStorage.extractEnergy(ies.receiveEnergy(CommonConfig.ACCUMULATOR_MAX_OUTPUT.get(), true), false);
180182
int rec = ies.receiveEnergy(ext, false);

src/main/java/com/mrh0/createaddition/blocks/portable_energy_interface/PortableEnergyInterfaceBlockEntity.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package com.mrh0.createaddition.blocks.portable_energy_interface;
22

33
import com.mrh0.createaddition.config.CommonConfig;
4+
import com.mrh0.createaddition.index.CABlockEntities;
45
import com.simibubi.create.content.contraptions.Contraption;
56
import com.simibubi.create.content.contraptions.actors.psi.PortableStorageInterfaceBlockEntity;
67
import net.minecraft.core.BlockPos;
78
import net.minecraft.world.entity.Entity;
89
import net.minecraft.world.level.block.entity.BlockEntityType;
910
import net.minecraft.world.level.block.state.BlockState;
11+
import net.neoforged.neoforge.capabilities.Capabilities;
12+
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
1013
import net.neoforged.neoforge.energy.EnergyStorage;
1114
import net.neoforged.neoforge.energy.IEnergyStorage;
1215

@@ -24,6 +27,14 @@ public PortableEnergyInterfaceBlockEntity(BlockEntityType<?> type, BlockPos pos,
2427
// this.peripheral = LazyOptional.of(() -> Peripherals.createPortableEnergyInterfacePeripheral(this));
2528
}
2629

30+
public static void registerCapabilities(RegisterCapabilitiesEvent event) {
31+
event.registerBlockEntity(
32+
Capabilities.EnergyStorage.BLOCK,
33+
CABlockEntities.PORTABLE_ENERGY_INTERFACE.get(),
34+
(be, context) -> be.capability
35+
);
36+
}
37+
2738
public void startTransferringTo(Contraption contraption, float distance) {
2839
IEnergyStorage oldcap = this.capability;
2940
this.capability = new InterfaceEnergyHandler(PortableEnergyManager.get(contraption));

src/main/java/com/mrh0/createaddition/blocks/tesla_coil/TeslaCoilBlockEntity.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22

33
import com.mrh0.createaddition.config.CommonConfig;
44
import com.mrh0.createaddition.energy.AbstractElectricBlockEntity;
5-
import com.mrh0.createaddition.index.CABlocks;
6-
import com.mrh0.createaddition.index.CADamageTypes;
7-
import com.mrh0.createaddition.index.CAEffects;
8-
import com.mrh0.createaddition.index.CARecipes;
9-
import com.mrh0.createaddition.index.CASounds;
5+
import com.mrh0.createaddition.index.*;
106
import com.mrh0.createaddition.recipe.charging.ChargingRecipe;
117
import com.mrh0.createaddition.recipe.rolling.RollingRecipe;
128
import com.mrh0.createaddition.sound.CASoundScapes;
@@ -34,6 +30,7 @@
3430
import net.neoforged.api.distmarker.Dist;
3531
import net.neoforged.api.distmarker.OnlyIn;
3632
import net.neoforged.neoforge.capabilities.Capabilities;
33+
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
3734
import net.neoforged.neoforge.energy.IEnergyStorage;
3835
import net.neoforged.neoforge.items.ItemStackHandler;
3936
import net.neoforged.neoforge.items.wrapper.RecipeWrapper;
@@ -55,6 +52,14 @@ public TeslaCoilBlockEntity(BlockEntityType<?> tileEntityTypeIn, BlockPos pos, B
5552
inputInv = new ItemStackHandler(1);
5653
}
5754

55+
public static void registerCapabilities(RegisterCapabilitiesEvent event) {
56+
event.registerBlockEntity(
57+
Capabilities.EnergyStorage.BLOCK,
58+
CABlockEntities.TESLA_COIL.get(),
59+
(be, context) -> be.localEnergy
60+
);
61+
}
62+
5863
@Override
5964
public int getCapacity() {
6065
return Util.max(CommonConfig.TESLA_COIL_CAPACITY.get(), CommonConfig.TESLA_COIL_CHARGE_RATE.get(), CommonConfig.TESLA_COIL_RECIPE_CHARGE_RATE.get());

src/main/java/com/mrh0/createaddition/debug/CADebugger.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class CADebugger {
1414
public CADebugger() {}
1515

1616
public static void tick() {
17-
if (Minecraft.getInstance().getDebugOverlay().showDebugScreen()) return;
17+
if (!Minecraft.getInstance().getDebugOverlay().showDebugScreen()) return;
1818
IDebugDrawer drawer = getSelected();
1919
if (drawer == null) return;
2020
drawer.drawDebug();
Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,31 @@
11
package com.mrh0.createaddition.index;
22

3+
import com.mrh0.createaddition.blocks.alternator.AlternatorBlock;
4+
import com.mrh0.createaddition.blocks.alternator.AlternatorBlockEntity;
5+
import com.mrh0.createaddition.blocks.connector.LargeConnectorBlockEntity;
6+
import com.mrh0.createaddition.blocks.connector.SmallConnectorBlockEntity;
7+
import com.mrh0.createaddition.blocks.connector.SmallLightConnectorBlockEntity;
8+
import com.mrh0.createaddition.blocks.connector.base.AbstractConnectorBlockEntity;
9+
import com.mrh0.createaddition.blocks.creative_energy.CreativeEnergyBlockEntity;
10+
import com.mrh0.createaddition.blocks.electric_motor.ElectricMotorBlockEntity;
11+
import com.mrh0.createaddition.blocks.modular_accumulator.ModularAccumulatorBlockEntity;
12+
import com.mrh0.createaddition.blocks.portable_energy_interface.PortableEnergyInterfaceBlockEntity;
13+
import com.mrh0.createaddition.blocks.tesla_coil.TeslaCoilBlockEntity;
314
import com.mrh0.createaddition.energy.IEnergyProvider;
415
import net.neoforged.neoforge.capabilities.Capabilities;
516
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
617
import net.neoforged.neoforge.energy.EnergyStorage;
718

819
public class CACapabilities {
920
public static void register(RegisterCapabilitiesEvent event) {
10-
event.registerBlockEntity(
11-
Capabilities.EnergyStorage.BLOCK,
12-
CABlockEntities.ALTERNATOR.get(),
13-
IEnergyProvider::getEnergyStorage
14-
);
21+
AlternatorBlockEntity.registerCapabilities(event);
22+
LargeConnectorBlockEntity.registerCapabilities(event);
23+
SmallConnectorBlockEntity.registerCapabilities(event);
24+
SmallLightConnectorBlockEntity.registerCapabilities(event);
25+
ElectricMotorBlockEntity.registerCapabilities(event);
26+
CreativeEnergyBlockEntity.registerCapabilities(event);
27+
ModularAccumulatorBlockEntity.registerCapabilities(event);
28+
PortableEnergyInterfaceBlockEntity.registerCapabilities(event);
29+
TeslaCoilBlockEntity.registerCapabilities(event);
1530
}
1631
}

0 commit comments

Comments
 (0)