diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/DefaultBlockDataFactory.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/DefaultBlockDataFactory.kt index d9a3f0f19..21474a722 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/DefaultBlockDataFactory.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/block/DefaultBlockDataFactory.kt @@ -13,13 +13,13 @@ package de.bixilon.minosoft.data.entities.block -import de.bixilon.minosoft.data.entities.block.container.processing.* -import de.bixilon.minosoft.data.entities.block.container.storage.* +import de.bixilon.minosoft.data.entities.block.container.storage.ChestBlockEntity +import de.bixilon.minosoft.data.entities.block.container.storage.EnderChestBlockEntity +import de.bixilon.minosoft.data.entities.block.container.storage.ShulkerBoxBlockEntity +import de.bixilon.minosoft.data.entities.block.container.storage.TrappedChestBlockEntity import de.bixilon.minosoft.data.entities.block.end.EndGatewayBlockEntity import de.bixilon.minosoft.data.entities.block.end.EndPortalBlockEntity import de.bixilon.minosoft.data.entities.block.redstone.CommandBlockEntity -import de.bixilon.minosoft.data.entities.block.redstone.ComparatorBlockEntity -import de.bixilon.minosoft.data.entities.block.redstone.DaylightDetectorBlockEntity import de.bixilon.minosoft.data.entities.block.redstone.SculkSensorBlockEntity import de.bixilon.minosoft.data.entities.block.redstone.piston.PistonBlockEntity import de.bixilon.minosoft.data.entities.block.redstone.piston.StickyPistonBlockEntity @@ -28,30 +28,20 @@ import de.bixilon.minosoft.data.registries.factory.DefaultFactory object DefaultBlockDataFactory : DefaultFactory>( BedBlockEntity, - HopperBlockEntity, SignBlockEntity, - BlastFurnaceBlockEntity, - FurnaceBlockEntity, CampfireBlockEntity, JigsawBlockEntity, LecternBlockEntity, BellBlockEntity, - SmokerBlockEntity, ConduitBlockEntity, - BarrelBlockEntity, ShulkerBoxBlockEntity, StructureBlockBlockEntity, CommandBlockEntity, - ComparatorBlockEntity, BannerBlockEntity, - DaylightDetectorBlockEntity, BeaconBlockEntity, SkullBlockEntity, EnchantingTableBlockEntity, - BrewingStandBlockEntity, MobSpawnerBlockEntity, - DispenserBlockEntity, - DropperBlockEntity, EnderChestBlockEntity, JukeboxBlockEntity, ChestBlockEntity, diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/BlastFurnaceBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/BlastFurnaceBlockEntity.kt deleted file mode 100644 index 00c87caa4..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/BlastFurnaceBlockEntity.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.container.processing - -import de.bixilon.minosoft.data.entities.block.BlockEntityFactory -import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft -import de.bixilon.minosoft.data.registries.identified.ResourceLocation -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.util.KUtil - -class BlastFurnaceBlockEntity(connection: PlayConnection) : ProcessingBlockEntity(connection) { - - companion object : BlockEntityFactory { - override val identifier: ResourceLocation = minecraft("blast_furnace") - - override fun build(connection: PlayConnection): BlastFurnaceBlockEntity { - return BlastFurnaceBlockEntity(connection) - } - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/BrewingStandBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/BrewingStandBlockEntity.kt deleted file mode 100644 index 8628d84b5..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/BrewingStandBlockEntity.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.container.processing - -import de.bixilon.minosoft.data.entities.block.BlockEntityFactory -import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft -import de.bixilon.minosoft.data.registries.identified.ResourceLocation -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.util.KUtil - -class BrewingStandBlockEntity(connection: PlayConnection) : ProcessingBlockEntity(connection) { - - companion object : BlockEntityFactory { - override val identifier: ResourceLocation = minecraft("brewing_stand") - - override fun build(connection: PlayConnection): BrewingStandBlockEntity { - return BrewingStandBlockEntity(connection) - } - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/DispenserBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/DispenserBlockEntity.kt deleted file mode 100644 index 092482e53..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/DispenserBlockEntity.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.container.processing - -import de.bixilon.minosoft.data.entities.block.BlockEntityFactory -import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft -import de.bixilon.minosoft.data.registries.identified.ResourceLocation -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.util.KUtil - -class DispenserBlockEntity(connection: PlayConnection) : ProcessingBlockEntity(connection) { - - companion object : BlockEntityFactory { - override val identifier: ResourceLocation = minecraft("dispenser") - - override fun build(connection: PlayConnection): DispenserBlockEntity { - return DispenserBlockEntity(connection) - } - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/DropperBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/DropperBlockEntity.kt deleted file mode 100644 index 32ad1ce38..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/DropperBlockEntity.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.container.processing - -import de.bixilon.minosoft.data.entities.block.BlockEntityFactory -import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft -import de.bixilon.minosoft.data.registries.identified.ResourceLocation -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.util.KUtil - -class DropperBlockEntity(connection: PlayConnection) : ProcessingBlockEntity(connection) { - - companion object : BlockEntityFactory { - override val identifier: ResourceLocation = minecraft("dropper") - - override fun build(connection: PlayConnection): DropperBlockEntity { - return DropperBlockEntity(connection) - } - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/FurnaceBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/FurnaceBlockEntity.kt deleted file mode 100644 index accdea979..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/FurnaceBlockEntity.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.container.processing - -import de.bixilon.minosoft.data.entities.block.BlockEntityFactory -import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft -import de.bixilon.minosoft.data.registries.identified.ResourceLocation -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.util.KUtil - -class FurnaceBlockEntity(connection: PlayConnection) : ProcessingBlockEntity(connection) { - - companion object : BlockEntityFactory { - override val identifier: ResourceLocation = minecraft("furnace") - - override fun build(connection: PlayConnection): FurnaceBlockEntity { - return FurnaceBlockEntity(connection) - } - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/HopperBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/HopperBlockEntity.kt deleted file mode 100644 index 104cc0ed8..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/HopperBlockEntity.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.container.processing - -import de.bixilon.minosoft.data.entities.block.BlockEntityFactory -import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft -import de.bixilon.minosoft.data.registries.identified.ResourceLocation -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.util.KUtil - -class HopperBlockEntity(connection: PlayConnection) : ProcessingBlockEntity(connection) { - - - companion object : BlockEntityFactory { - override val identifier: ResourceLocation = minecraft("hopper") - - override fun build(connection: PlayConnection): HopperBlockEntity { - return HopperBlockEntity(connection) - } - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/ProcessingBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/ProcessingBlockEntity.kt deleted file mode 100644 index 71c28d178..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/ProcessingBlockEntity.kt +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2022 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.container.processing - -import de.bixilon.minosoft.data.entities.block.container.ContainerBlockEntity -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection - -abstract class ProcessingBlockEntity(connection: PlayConnection) : ContainerBlockEntity(connection) diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/SmokerBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/SmokerBlockEntity.kt deleted file mode 100644 index 8d35b0483..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/container/processing/SmokerBlockEntity.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.container.processing - -import de.bixilon.minosoft.data.entities.block.BlockEntityFactory -import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft -import de.bixilon.minosoft.data.registries.identified.ResourceLocation -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.util.KUtil - -class SmokerBlockEntity(connection: PlayConnection) : ProcessingBlockEntity(connection) { - - companion object : BlockEntityFactory { - override val identifier: ResourceLocation = minecraft("smoker") - - override fun build(connection: PlayConnection): SmokerBlockEntity { - return SmokerBlockEntity(connection) - } - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/container/storage/BarrelBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/container/storage/BarrelBlockEntity.kt deleted file mode 100644 index 4a0b24c89..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/container/storage/BarrelBlockEntity.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.container.storage - -import de.bixilon.minosoft.data.entities.block.BlockEntityFactory -import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft -import de.bixilon.minosoft.data.registries.identified.ResourceLocation -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.util.KUtil - -class BarrelBlockEntity(connection: PlayConnection) : StorageBlockEntity(connection) { - - companion object : BlockEntityFactory { - override val identifier: ResourceLocation = minecraft("barrel") - - override fun build(connection: PlayConnection): BarrelBlockEntity { - return BarrelBlockEntity(connection) - } - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/redstone/ComparatorBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/redstone/ComparatorBlockEntity.kt deleted file mode 100644 index c3fcbe13e..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/redstone/ComparatorBlockEntity.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.redstone - -import de.bixilon.minosoft.data.entities.block.BlockEntity -import de.bixilon.minosoft.data.entities.block.BlockEntityFactory -import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft -import de.bixilon.minosoft.data.registries.identified.ResourceLocation -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.util.KUtil - -class ComparatorBlockEntity(connection: PlayConnection) : BlockEntity(connection) { - - companion object : BlockEntityFactory { - override val identifier: ResourceLocation = minecraft("comparator") - - override fun build(connection: PlayConnection): ComparatorBlockEntity { - return ComparatorBlockEntity(connection) - } - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/entities/block/redstone/DaylightDetectorBlockEntity.kt b/src/main/java/de/bixilon/minosoft/data/entities/block/redstone/DaylightDetectorBlockEntity.kt deleted file mode 100644 index 8d06b0c73..000000000 --- a/src/main/java/de/bixilon/minosoft/data/entities/block/redstone/DaylightDetectorBlockEntity.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.entities.block.redstone - -import de.bixilon.minosoft.data.entities.block.BlockEntity -import de.bixilon.minosoft.data.entities.block.BlockEntityFactory -import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft -import de.bixilon.minosoft.data.registries.identified.ResourceLocation -import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.util.KUtil - -class DaylightDetectorBlockEntity(connection: PlayConnection) : BlockEntity(connection) { - - companion object : BlockEntityFactory { - override val identifier: ResourceLocation = minecraft("daylight_detector") - - override fun build(connection: PlayConnection): DaylightDetectorBlockEntity { - return DaylightDetectorBlockEntity(connection) - } - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/entity/BlockWithEntity.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/entity/BlockWithEntity.kt index 28dd5c90f..6fac6eb61 100644 --- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/entity/BlockWithEntity.kt +++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/entity/BlockWithEntity.kt @@ -23,7 +23,7 @@ import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection interface BlockWithEntity : InteractBlockHandler { - fun createBlockEntity(connection: PlayConnection): BlockEntity? + fun createBlockEntity(connection: PlayConnection): T? override fun interact(connection: PlayConnection, target: BlockTarget, hand: Hands, stack: ItemStack?) = InteractionResults.SUCCESS } diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/DaylightDetectorBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/DaylightDetectorBlock.kt index 8dbf7da0b..3cce0e77a 100644 --- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/DaylightDetectorBlock.kt +++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/DaylightDetectorBlock.kt @@ -13,13 +13,13 @@ package de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.redstone -import de.bixilon.minosoft.data.entities.block.redstone.DaylightDetectorBlockEntity +import de.bixilon.minosoft.data.entities.block.BlockEntity import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.PixLyzerBlockWithEntity import de.bixilon.minosoft.data.registries.identified.ResourceLocation import de.bixilon.minosoft.data.registries.registries.Registries -open class DaylightDetectorBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) { +open class DaylightDetectorBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) { companion object : PixLyzerBlockFactory { override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): DaylightDetectorBlock {