Skip to content

Commit 68db8e6

Browse files
committed
fix bugs
1 parent 99bcdd6 commit 68db8e6

File tree

13 files changed

+67
-54
lines changed

13 files changed

+67
-54
lines changed

src/main/java/net/hellomouse/ae2dn/AE2DistributedNetworks.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package net.hellomouse.ae2dn;
22

3+
import appeng.api.AECapabilities;
4+
import appeng.api.networking.IInWorldGridNodeHost;
35
import net.hellomouse.ae2dn.definitions.DNBlockEntities;
46
import net.hellomouse.ae2dn.definitions.DNBlocks;
57
import net.hellomouse.ae2dn.definitions.DNItems;
8+
import net.neoforged.bus.api.SubscribeEvent;
9+
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
610
import org.slf4j.Logger;
711

812
import com.mojang.logging.LogUtils;
@@ -19,6 +23,7 @@ public class AE2DistributedNetworks {
1923

2024
public AE2DistributedNetworks(IEventBus modEventBus, ModContainer modContainer) {
2125
modEventBus.addListener(this::commonSetup);
26+
modEventBus.addListener(this::initCapabilities);
2227

2328
// Register our mod's ModConfigSpec so that FML can create and load the config file for us
2429
modContainer.registerConfig(ModConfig.Type.SERVER, Config.SPEC);
@@ -31,4 +36,12 @@ public AE2DistributedNetworks(IEventBus modEventBus, ModContainer modContainer)
3136
private void commonSetup(final FMLCommonSetupEvent event) {
3237
LOGGER.info("Hello, world!");
3338
}
39+
40+
private void initCapabilities(RegisterCapabilitiesEvent event) {
41+
event.registerBlockEntity(
42+
AECapabilities.IN_WORLD_GRID_NODE_HOST,
43+
DNBlockEntities.ROUTE_DISTRIBUTOR.get(),
44+
(object, context) -> (IInWorldGridNodeHost) object
45+
);
46+
}
3447
}

src/main/java/net/hellomouse/ae2dn/Config.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ public class Config {
1313
.comment("Whether to enable mod functionality")
1414
.define("enable", true);
1515

16-
private static final ModConfigSpec.BooleanValue REQUIRE_SUBNET_MANAGER = BUILDER
16+
private static final ModConfigSpec.BooleanValue REQUIRE_ROUTE_DISTRIBUTOR = BUILDER
1717
.comment("Whether the Subnet Manager is required to allow multiple controllers on a network")
1818
.define("enable", true);
1919

2020
static final ModConfigSpec SPEC = BUILDER.build();
2121

2222
public static boolean globalEnable;
23-
public static boolean requireSubnetManager;
23+
public static boolean requireRouteDistributor;
2424

2525
@SubscribeEvent
2626
static void onLoad(final ModConfigEvent event) {
2727
globalEnable = GLOBAL_ENABLE.get();
28-
requireSubnetManager = REQUIRE_SUBNET_MANAGER.get();
28+
requireRouteDistributor = REQUIRE_ROUTE_DISTRIBUTOR.get();
2929
}
3030
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package net.hellomouse.ae2dn;
2+
3+
import appeng.block.AEBaseEntityBlock;
4+
5+
public class RouteDistributorBlock extends AEBaseEntityBlock<RouteDistributorBlockEntity> {
6+
public RouteDistributorBlock() {
7+
super(metalProps());
8+
}
9+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package net.hellomouse.ae2dn;
2+
3+
import appeng.api.inventories.InternalInventory;
4+
import appeng.api.networking.GridFlags;
5+
import appeng.blockentity.grid.AENetworkedBlockEntity;
6+
import net.minecraft.core.BlockPos;
7+
import net.minecraft.world.level.block.entity.BlockEntityType;
8+
import net.minecraft.world.level.block.state.BlockState;
9+
10+
public class RouteDistributorBlockEntity extends AENetworkedBlockEntity {
11+
public RouteDistributorBlockEntity(BlockEntityType<?> blockEntityType, BlockPos pos, BlockState blockState) {
12+
super(blockEntityType, pos, blockState);
13+
this.getMainNode().setIdlePowerUsage(100);
14+
this.getMainNode().setFlags(GridFlags.REQUIRE_CHANNEL);
15+
}
16+
}

src/main/java/net/hellomouse/ae2dn/SubnetManagerBlock.java

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/main/java/net/hellomouse/ae2dn/SubnetManagerBlockEntity.java

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/main/java/net/hellomouse/ae2dn/definitions/DNBlockEntities.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import appeng.core.definitions.BlockDefinition;
66
import appeng.core.definitions.DeferredBlockEntityType;
77
import net.hellomouse.ae2dn.AE2DistributedNetworks;
8-
import net.hellomouse.ae2dn.SubnetManagerBlockEntity;
8+
import net.hellomouse.ae2dn.RouteDistributorBlockEntity;
99
import net.minecraft.core.BlockPos;
1010
import net.minecraft.core.registries.Registries;
1111
import net.minecraft.world.level.block.entity.BlockEntityType;
@@ -27,11 +27,11 @@ public static List<DeferredBlockEntityType<?>> getBlockEntityTypes() {
2727
return Collections.unmodifiableList(BLOCK_ENTITY_TYPES);
2828
}
2929

30-
public static final Supplier<BlockEntityType<SubnetManagerBlockEntity>> SUBNET_MANAGER = create(
31-
"subnet_manager",
32-
SubnetManagerBlockEntity.class,
33-
SubnetManagerBlockEntity::new,
34-
DNBlocks.SUBNET_MANAGER_BLOCK
30+
public static final Supplier<BlockEntityType<RouteDistributorBlockEntity>> ROUTE_DISTRIBUTOR = create(
31+
"route_distributor",
32+
RouteDistributorBlockEntity.class,
33+
RouteDistributorBlockEntity::new,
34+
DNBlocks.ROUTE_DISTRIBUTOR_BLOCK
3535
);
3636

3737
private static <T extends AEBaseBlockEntity> Supplier<BlockEntityType<T>> create(

src/main/java/net/hellomouse/ae2dn/definitions/DNBlocks.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import appeng.core.definitions.BlockDefinition;
66
import appeng.core.definitions.ItemDefinition;
77
import net.hellomouse.ae2dn.AE2DistributedNetworks;
8-
import net.hellomouse.ae2dn.SubnetManagerBlock;
8+
import net.hellomouse.ae2dn.RouteDistributorBlock;
99
import net.minecraft.world.item.BlockItem;
1010
import net.minecraft.world.item.Item;
1111
import net.minecraft.world.level.block.Block;
@@ -25,10 +25,10 @@ public static List<BlockDefinition<?>> getBlocks() {
2525
return Collections.unmodifiableList(BLOCKS);
2626
}
2727

28-
public static final BlockDefinition<SubnetManagerBlock> SUBNET_MANAGER_BLOCK = block(
29-
"Subnet Manager",
30-
"subnet_manager",
31-
SubnetManagerBlock::new,
28+
public static final BlockDefinition<RouteDistributorBlock> ROUTE_DISTRIBUTOR_BLOCK = block(
29+
"Route Distributor",
30+
"route_distributor",
31+
RouteDistributorBlock::new,
3232
AEBaseBlockItem::new
3333
);
3434

src/main/java/net/hellomouse/ae2dn/mixin/ChannelDataProviderMixin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ private void handleTrunkError(IUsedChannelProvider object, TooltipContext contex
3939
.withStyle(ChatFormatting.RED)
4040
);
4141
ci.cancel();
42-
} else if (error.equals(TrunkIssue.MISSING_SUBNET_MANAGER.name())) {
42+
} else if (error.equals(TrunkIssue.MISSING_ROUTE_DISTRIBUTOR.name())) {
4343
tooltip.addLine(
44-
Component.translatable("waila.ae2dn.ErrorMissingSubnetManager")
44+
Component.translatable("waila.ae2dn.ErrorMissingRouteDistributor")
4545
.withStyle(ChatFormatting.RED)
4646
);
4747
ci.cancel();

src/main/java/net/hellomouse/ae2dn/mixin/PathingCalculationMixin.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import net.hellomouse.ae2dn.pathfinding.ControllerInfo;
1616
import net.hellomouse.ae2dn.pathfinding.ControllerInfo.SubtreeInfo;
1717
import net.hellomouse.ae2dn.pathfinding.ControllerInfo.TrunkSearchState;
18-
import net.hellomouse.ae2dn.SubnetManagerBlockEntity;
18+
import net.hellomouse.ae2dn.RouteDistributorBlockEntity;
1919
import net.hellomouse.ae2dn.pathfinding.TrunkIssue;
2020
import net.hellomouse.ae2dn.extension.HasSubtreeInfo;
2121
import net.hellomouse.ae2dn.extension.PathingCalculationExt;
@@ -337,16 +337,15 @@ private void postCompute(CallbackInfo ci) {
337337
return;
338338
}
339339

340-
smCheck: if (Config.requireSubnetManager) {
341-
// TODO: SubnetManagerBlockEntity.class
342-
for (var node : grid.getMachineNodes(SubnetManagerBlockEntity.class)) {
340+
smCheck: if (Config.requireRouteDistributor) {
341+
for (var node : grid.getMachineNodes(RouteDistributorBlockEntity.class)) {
343342
// require at least one subnet manager to have a channel
344343
if (channelNodes.contains((GridNode) node)) {
345344
break smCheck;
346345
}
347346
}
348347

349-
ae2dn$trunkIssue = TrunkIssue.MISSING_SUBNET_MANAGER;
348+
ae2dn$trunkIssue = TrunkIssue.MISSING_ROUTE_DISTRIBUTOR;
350349
ci.cancel();
351350
}
352351
}

0 commit comments

Comments
 (0)