Spectral Relays with a Glass Lens but without the multiblock count towards relay starlight cannibalisation
Jeuvke opened this issue ยท 2 comments
1.15.2-1.12.13
This is because TileSpectralRelay.java only checks if a relay has a lens, and not if it has a multiblock too.
Relevant code:
private static void foreachNearbyRelay(World world, BlockPos pos, Consumer<TileSpectralRelay> relayConsumer) {
List<BlockPos> nearbyRelays = BlockDiscoverer.searchForBlocksAround(world, pos, 8,
((world1, pos1, state) -> {
TileSpectralRelay relay;
return state.getBlock() instanceof BlockSpectralRelay &&
(relay = MiscUtils.getTileAt(world1, pos1, TileSpectralRelay.class, false)) != null &&
relay.hasGlassLens();
}));
nearbyRelays.forEach(relayPos -> {
TileSpectralRelay relay = MiscUtils.getTileAt(world, relayPos, TileSpectralRelay.class, false);
if (relay != null) {
relayConsumer.accept(relay);
}
});
}