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
new file mode 100644
index 000000000..bcb599fb0
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/entity/BlockWithEntity.kt
@@ -0,0 +1,29 @@
+/*
+ * 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.registries.blocks.types.entity
+
+import de.bixilon.minosoft.camera.target.targets.BlockTarget
+import de.bixilon.minosoft.data.container.stack.ItemStack
+import de.bixilon.minosoft.data.entities.block.BlockEntity
+import de.bixilon.minosoft.data.entities.entities.player.Hands
+import de.bixilon.minosoft.data.registries.blocks.entites.BlockEntityType
+import de.bixilon.minosoft.data.registries.blocks.types.properties.InteractBlockHandler
+import de.bixilon.minosoft.input.interaction.InteractionResults
+import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
+
+interface BlockWithEntity : InteractBlockHandler {
+ val blockEntity: BlockEntityType?
+
+ 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/BannerBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BannerBlock.kt
index 56ce131f2..1e0f11130 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BannerBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BannerBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class BannerBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class BannerBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): BannerBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BeaconBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BeaconBlock.kt
index ccf6fe0da..ebb438de0 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BeaconBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BeaconBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class BeaconBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class BeaconBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): BeaconBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BedBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BedBlock.kt
index bcbd42510..79680f247 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BedBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BedBlock.kt
@@ -19,7 +19,7 @@ import de.bixilon.minosoft.data.registries.blocks.handler.entity.landing.Bouncin
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class BedBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data), BouncingHandler {
+open class BedBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data), BouncingHandler {
override val bounceStrength: Double get() = 0.66f.toDouble()
companion object : PixLyzerBlockFactory {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BeehiveBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BeehiveBlock.kt
index 0cc654494..c4b88c8cc 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BeehiveBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BeehiveBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class BeehiveBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class BeehiveBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): BeehiveBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BellBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BellBlock.kt
index fe1a8c5f9..bd2292062 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BellBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BellBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class BellBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class BellBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): BellBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/CampfireBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/CampfireBlock.kt
index ac1566033..6fbd806c4 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/CampfireBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/CampfireBlock.kt
@@ -38,7 +38,7 @@ import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
import de.bixilon.minosoft.util.KUtil.toResourceLocation
import java.util.*
-open class CampfireBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data), LitBlock, RandomDisplayTickable {
+open class CampfireBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data), LitBlock, RandomDisplayTickable {
val lavaParticles = data["lava_particles"]?.toBoolean() ?: true
private val cosySmokeParticle = registries.particleType[CampfireSmokeParticle.CosyFactory]!!
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/ConduitBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/ConduitBlock.kt
index ab9bb8ea5..67c5e1ee2 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/ConduitBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/ConduitBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class ConduitBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class ConduitBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): ConduitBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/EnchantingTableBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/EnchantingTableBlock.kt
index 2580f3626..c533f0f71 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/EnchantingTableBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/EnchantingTableBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class EnchantingTableBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class EnchantingTableBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): EnchantingTableBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/JigsawBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/JigsawBlock.kt
index 090612217..d72987ef5 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/JigsawBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/JigsawBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class JigsawBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class JigsawBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): JigsawBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/LecternBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/LecternBlock.kt
index ea07d3c63..e13f488d8 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/LecternBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/LecternBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class LecternBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class LecternBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): LecternBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/MobSpawnerBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/MobSpawnerBlock.kt
index dc3396370..47f4c2c44 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/MobSpawnerBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/MobSpawnerBlock.kt
@@ -19,7 +19,7 @@ import de.bixilon.minosoft.data.registries.factory.clazz.MultiClassFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class MobSpawnerBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class MobSpawnerBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory, MultiClassFactory {
override val ALIASES: Set = setOf("SpawnerBlock")
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/NoteBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/NoteBlock.kt
index 4d455ac2b..3d66de68b 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/NoteBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/NoteBlock.kt
@@ -19,7 +19,7 @@ import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
// The block might have an entity, but it is not required
-open class NoteBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class NoteBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): NoteBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BlockWithEntity.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/PixLyzerBlockWithEntity.kt
similarity index 78%
rename from src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BlockWithEntity.kt
rename to src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/PixLyzerBlockWithEntity.kt
index e52137a1b..bccabbd57 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/BlockWithEntity.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/PixLyzerBlockWithEntity.kt
@@ -13,13 +13,14 @@
package de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity
+import de.bixilon.kutil.cast.CastUtil.unsafeNull
import de.bixilon.minosoft.camera.target.targets.BlockTarget
import de.bixilon.minosoft.data.container.stack.ItemStack
import de.bixilon.minosoft.data.entities.block.BlockEntity
import de.bixilon.minosoft.data.entities.entities.player.Hands
import de.bixilon.minosoft.data.registries.blocks.entites.BlockEntityType
+import de.bixilon.minosoft.data.registries.blocks.types.entity.BlockWithEntity
import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.PixLyzerBlock
-import de.bixilon.minosoft.data.registries.blocks.types.properties.InteractBlockHandler
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
import de.bixilon.minosoft.data.registries.registries.registry.RegistryItem
@@ -27,8 +28,8 @@ import de.bixilon.minosoft.input.interaction.InteractionResults
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
import kotlin.reflect.jvm.javaField
-abstract class BlockWithEntity(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlock(resourceLocation, registries, data), InteractBlockHandler {
- val factory: BlockEntityType? = null
+abstract class PixLyzerBlockWithEntity(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlock(resourceLocation, registries, data), BlockWithEntity {
+ override val blockEntity: BlockEntityType = unsafeNull()
init {
FACTORY_FIELD.inject(this)
@@ -37,6 +38,6 @@ abstract class BlockWithEntity(resourceLocation: ResourceLocati
override fun interact(connection: PlayConnection, target: BlockTarget, hand: Hands, stack: ItemStack?) = InteractionResults.SUCCESS
private companion object {
- val FACTORY_FIELD = BlockWithEntity<*>::factory.javaField!!
+ val FACTORY_FIELD = PixLyzerBlockWithEntity<*>::blockEntity.javaField!!
}
}
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/ShulkerBoxBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/ShulkerBoxBlock.kt
index f1a40894f..efa4fec22 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/ShulkerBoxBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/ShulkerBoxBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class ShulkerBoxBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class ShulkerBoxBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): ShulkerBoxBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/SkullBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/SkullBlock.kt
index e8b19131d..7c3c6536b 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/SkullBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/SkullBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class SkullBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class SkullBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): SkullBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/StructureBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/StructureBlock.kt
index 576b0a32d..3d1495edd 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/StructureBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/StructureBlock.kt
@@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.Registries
-open class StructureBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class StructureBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): StructureBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/container/ContainerBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/container/ContainerBlock.kt
index 2a4410809..651b8565b 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/container/ContainerBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/container/ContainerBlock.kt
@@ -14,8 +14,8 @@
package de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.container
import de.bixilon.minosoft.data.entities.block.container.ContainerBlockEntity
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+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
-abstract class ContainerBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data)
+abstract class ContainerBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/end/EndGatewayBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/end/EndGatewayBlock.kt
index a43d17af5..9e2e2555b 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/end/EndGatewayBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/end/EndGatewayBlock.kt
@@ -15,11 +15,11 @@ package de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.end
import de.bixilon.minosoft.data.entities.block.end.EndGatewayBlockEntity
import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+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 EndGatewayBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class EndGatewayBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): EndGatewayBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/end/EndPortalBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/end/EndPortalBlock.kt
index 366d1e241..ecea83952 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/end/EndPortalBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/end/EndPortalBlock.kt
@@ -15,11 +15,11 @@ package de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.end
import de.bixilon.minosoft.data.entities.block.end.EndPortalBlockEntity
import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+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 EndPortalBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class EndPortalBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): EndPortalBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/CommandBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/CommandBlock.kt
index 32d0a2516..989e336b9 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/CommandBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/CommandBlock.kt
@@ -15,11 +15,11 @@ package de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.redston
import de.bixilon.minosoft.data.entities.block.redstone.CommandBlockEntity
import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+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 CommandBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class CommandBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): CommandBlock {
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 083a7d810..8dbf7da0b 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
@@ -15,11 +15,11 @@ package de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.redston
import de.bixilon.minosoft.data.entities.block.redstone.DaylightDetectorBlockEntity
import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+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) : BlockWithEntity(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 {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/PistonBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/PistonBlock.kt
index 95ad52ec1..f4c592a85 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/PistonBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/PistonBlock.kt
@@ -15,11 +15,11 @@ package de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.redston
import de.bixilon.minosoft.data.entities.block.redstone.piston.PistonBlockEntity
import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+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 PistonBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class PistonBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): PistonBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/SculkSensorBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/SculkSensorBlock.kt
index 366ab4b72..148c905c7 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/SculkSensorBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/redstone/SculkSensorBlock.kt
@@ -15,11 +15,11 @@ package de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.redston
import de.bixilon.minosoft.data.entities.block.redstone.SculkSensorBlockEntity
import de.bixilon.minosoft.data.registries.blocks.factory.PixLyzerBlockFactory
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+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 SculkSensorBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data) {
+open class SculkSensorBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data) {
companion object : PixLyzerBlockFactory {
override fun build(resourceLocation: ResourceLocation, registries: Registries, data: Map): SculkSensorBlock {
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/sign/SignBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/sign/SignBlock.kt
index b81782cb7..a47fd145f 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/sign/SignBlock.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/sign/SignBlock.kt
@@ -14,9 +14,9 @@
package de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.sign
import de.bixilon.minosoft.data.entities.block.sign.SignBlockEntity
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+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
-abstract class SignBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : BlockWithEntity(resourceLocation, registries, data)
+abstract class SignBlock(resourceLocation: ResourceLocation, registries: Registries, data: Map) : PixLyzerBlockWithEntity(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/world/chunk/chunk/Chunk.kt b/src/main/java/de/bixilon/minosoft/data/world/chunk/chunk/Chunk.kt
index a452777bf..b38ce9552 100644
--- a/src/main/java/de/bixilon/minosoft/data/world/chunk/chunk/Chunk.kt
+++ b/src/main/java/de/bixilon/minosoft/data/world/chunk/chunk/Chunk.kt
@@ -20,7 +20,7 @@ import de.bixilon.minosoft.data.direction.Directions
import de.bixilon.minosoft.data.entities.block.BlockEntity
import de.bixilon.minosoft.data.registries.biomes.Biome
import de.bixilon.minosoft.data.registries.blocks.state.BlockState
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+import de.bixilon.minosoft.data.registries.blocks.types.entity.BlockWithEntity
import de.bixilon.minosoft.data.world.biome.accessor.BiomeAccessor
import de.bixilon.minosoft.data.world.biome.source.BiomeSource
import de.bixilon.minosoft.data.world.chunk.ChunkSection
@@ -99,7 +99,7 @@ class Chunk(
if (block.block !is BlockWithEntity<*>) {
return null
}
- blockEntity = block.block.factory?.build(connection) ?: return null
+ blockEntity = block.block.blockEntity?.build(connection) ?: return null
(this.getOrPut(sectionHeight) ?: return null).blockEntities[x, inSectionHeight, z] = blockEntity
return blockEntity
diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/outline/BlockOutlineRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/outline/BlockOutlineRenderer.kt
index dfdb3f53a..02098dcdd 100644
--- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/outline/BlockOutlineRenderer.kt
+++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/outline/BlockOutlineRenderer.kt
@@ -21,7 +21,7 @@ import de.bixilon.minosoft.camera.target.targets.BlockTarget
import de.bixilon.minosoft.data.abilities.Gamemodes
import de.bixilon.minosoft.data.registries.blocks.shapes.collision.context.EntityCollisionContext
import de.bixilon.minosoft.data.registries.blocks.state.BlockState
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+import de.bixilon.minosoft.data.registries.blocks.types.entity.BlockWithEntity
import de.bixilon.minosoft.data.registries.blocks.types.properties.offset.OffsetBlock
import de.bixilon.minosoft.data.registries.blocks.types.properties.shape.collision.CollidableBlock
import de.bixilon.minosoft.data.registries.blocks.types.properties.shape.outline.OutlinedBlock
diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/CrosshairHUDElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/CrosshairHUDElement.kt
index 06eca3c12..b3f35ac66 100644
--- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/CrosshairHUDElement.kt
+++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/CrosshairHUDElement.kt
@@ -17,7 +17,7 @@ import de.bixilon.kutil.observer.DataObserver.Companion.observe
import de.bixilon.minosoft.camera.target.targets.BlockTarget
import de.bixilon.minosoft.camera.target.targets.EntityTarget
import de.bixilon.minosoft.data.abilities.Gamemodes
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+import de.bixilon.minosoft.data.registries.blocks.types.entity.BlockWithEntity
import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft
import de.bixilon.minosoft.data.registries.identified.Namespaces.minosoft
import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer
diff --git a/src/main/java/de/bixilon/minosoft/physics/parts/CollisionMovementPhysics.kt b/src/main/java/de/bixilon/minosoft/physics/parts/CollisionMovementPhysics.kt
index a0de72c8b..9ef4a19a7 100644
--- a/src/main/java/de/bixilon/minosoft/physics/parts/CollisionMovementPhysics.kt
+++ b/src/main/java/de/bixilon/minosoft/physics/parts/CollisionMovementPhysics.kt
@@ -20,7 +20,7 @@ import de.bixilon.minosoft.data.Axes
import de.bixilon.minosoft.data.registries.blocks.shapes.collision.CollisionPredicate
import de.bixilon.minosoft.data.registries.blocks.shapes.collision.context.CollisionContext
import de.bixilon.minosoft.data.registries.blocks.shapes.collision.context.EntityCollisionContext
-import de.bixilon.minosoft.data.registries.blocks.types.pixlyzer.entity.BlockWithEntity
+import de.bixilon.minosoft.data.registries.blocks.types.entity.BlockWithEntity
import de.bixilon.minosoft.data.registries.blocks.types.properties.shape.collision.CollidableBlock
import de.bixilon.minosoft.data.registries.blocks.types.properties.shape.collision.fixed.FixedCollidable
import de.bixilon.minosoft.data.registries.shapes.aabb.AABB