From 1498a69e3382124ef72993913cbb47525dfdad6e Mon Sep 17 00:00:00 2001 From: Moritz Zwerger Date: Sun, 29 Oct 2023 18:22:12 +0100 Subject: [PATCH] block with entity (diverge from PixLyzerBlockWithEntity) --- .../blocks/types/entity/BlockWithEntity.kt | 29 +++++++++++++++++++ .../types/pixlyzer/entity/BannerBlock.kt | 2 +- .../types/pixlyzer/entity/BeaconBlock.kt | 2 +- .../blocks/types/pixlyzer/entity/BedBlock.kt | 2 +- .../types/pixlyzer/entity/BeehiveBlock.kt | 2 +- .../blocks/types/pixlyzer/entity/BellBlock.kt | 2 +- .../types/pixlyzer/entity/CampfireBlock.kt | 2 +- .../types/pixlyzer/entity/ConduitBlock.kt | 2 +- .../pixlyzer/entity/EnchantingTableBlock.kt | 2 +- .../types/pixlyzer/entity/JigsawBlock.kt | 2 +- .../types/pixlyzer/entity/LecternBlock.kt | 2 +- .../types/pixlyzer/entity/MobSpawnerBlock.kt | 2 +- .../blocks/types/pixlyzer/entity/NoteBlock.kt | 2 +- ...thEntity.kt => PixLyzerBlockWithEntity.kt} | 9 +++--- .../types/pixlyzer/entity/ShulkerBoxBlock.kt | 2 +- .../types/pixlyzer/entity/SkullBlock.kt | 2 +- .../types/pixlyzer/entity/StructureBlock.kt | 2 +- .../entity/container/ContainerBlock.kt | 4 +-- .../pixlyzer/entity/end/EndGatewayBlock.kt | 4 +-- .../pixlyzer/entity/end/EndPortalBlock.kt | 4 +-- .../pixlyzer/entity/redstone/CommandBlock.kt | 4 +-- .../entity/redstone/DaylightDetectorBlock.kt | 4 +-- .../pixlyzer/entity/redstone/PistonBlock.kt | 4 +-- .../entity/redstone/SculkSensorBlock.kt | 4 +-- .../types/pixlyzer/entity/sign/SignBlock.kt | 4 +-- .../minosoft/data/world/chunk/chunk/Chunk.kt | 4 +-- .../chunk/outline/BlockOutlineRenderer.kt | 2 +- .../hud/elements/other/CrosshairHUDElement.kt | 2 +- .../physics/parts/CollisionMovementPhysics.kt | 2 +- 29 files changed, 70 insertions(+), 40 deletions(-) create mode 100644 src/main/java/de/bixilon/minosoft/data/registries/blocks/types/entity/BlockWithEntity.kt rename src/main/java/de/bixilon/minosoft/data/registries/blocks/types/pixlyzer/entity/{BlockWithEntity.kt => PixLyzerBlockWithEntity.kt} (78%) 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