mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-19 12:25:12 -04:00
add add block entities
This commit is contained in:
parent
805c535c9b
commit
7edf846d5d
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class BannerBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<BannerBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:banner")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): BannerBlockEntity {
|
||||||
|
return BannerBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class BarrelBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<BarrelBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:barrel")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): BarrelBlockEntity {
|
||||||
|
return BarrelBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
import de.bixilon.minosoft.util.nbt.tag.CompoundTag
|
||||||
|
|
||||||
|
class BeaconBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
override fun updateNBT(nbt: CompoundTag) {
|
||||||
|
// ToDO: {Secondary: -1, Paper.Range: -1.0D, Primary: -1, x: -90, y: 4, Levels: 0, z: 212, id: "minecraft:beacon"}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<BeaconBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:beacon")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): BeaconBlockEntity {
|
||||||
|
return BeaconBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class BeehiveBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<BeehiveBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:beehive")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): BeehiveBlockEntity {
|
||||||
|
return BeehiveBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class BellBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<BellBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:bell")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): BellBlockEntity {
|
||||||
|
return BellBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -15,20 +15,14 @@ package de.bixilon.minosoft.data.entities.block
|
|||||||
|
|
||||||
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
import de.bixilon.minosoft.util.nbt.tag.CompoundTag
|
|
||||||
|
|
||||||
class BlastBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
class BlastFurnaceBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<BlastFurnaceBlockEntity> {
|
||||||
override fun updateNBT(nbt: CompoundTag) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object : BlockEntityFactory<BlastBlockEntity> {
|
|
||||||
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:blast_furnace")
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:blast_furnace")
|
||||||
|
|
||||||
override fun build(connection: PlayConnection): BlastBlockEntity {
|
override fun build(connection: PlayConnection): BlastFurnaceBlockEntity {
|
||||||
return BlastBlockEntity(connection)
|
return BlastFurnaceBlockEntity(connection)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -20,5 +20,5 @@ abstract class BlockEntity(
|
|||||||
val connection: PlayConnection,
|
val connection: PlayConnection,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
abstract fun updateNBT(nbt: CompoundTag)
|
open fun updateNBT(nbt: CompoundTag) {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class BrewingStandBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<BrewingStandBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:brewing_stand")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): BrewingStandBlockEntity {
|
||||||
|
return BrewingStandBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class ChestBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<ChestBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:chest")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): ChestBlockEntity {
|
||||||
|
return ChestBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class CommandBlockBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<CommandBlockBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:command_block")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): CommandBlockBlockEntity {
|
||||||
|
return CommandBlockBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class ComparatorBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<ComparatorBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:comparator")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): ComparatorBlockEntity {
|
||||||
|
return ComparatorBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class ConduitBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<ConduitBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:conduit")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): ConduitBlockEntity {
|
||||||
|
return ConduitBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class DaylightDetectorBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<DaylightDetectorBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:daylight_detector")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): DaylightDetectorBlockEntity {
|
||||||
|
return DaylightDetectorBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -25,9 +25,33 @@ object DefaultBlockEntityMetaDataFactory {
|
|||||||
BedBlockEntity,
|
BedBlockEntity,
|
||||||
HopperBlockEntity,
|
HopperBlockEntity,
|
||||||
SignBlockEntity,
|
SignBlockEntity,
|
||||||
BlastBlockEntity,
|
BlastFurnaceBlockEntity,
|
||||||
FurnaceBlockEntity,
|
FurnaceBlockEntity,
|
||||||
CampfireBlockEntity,
|
CampfireBlockEntity,
|
||||||
|
JigsawBlockEntity,
|
||||||
|
LecternBlockEntity,
|
||||||
|
BellBlockEntity,
|
||||||
|
SmokerBlockEntity,
|
||||||
|
ConduitBlockEntity,
|
||||||
|
BarrelBlockEntity,
|
||||||
|
ShulkerBoxBlockEntity,
|
||||||
|
StructureBlockBlockEntity,
|
||||||
|
CommandBlockBlockEntity,
|
||||||
|
ComparatorBlockEntity,
|
||||||
|
BannerBlockEntity,
|
||||||
|
DaylightDetectorBlockEntity,
|
||||||
|
BeaconBlockEntity,
|
||||||
|
SkullBlockEntity,
|
||||||
|
EnchantingTableBlockEntity,
|
||||||
|
BrewingStandBlockEntity,
|
||||||
|
MobSpawnerBlockEntity,
|
||||||
|
DispenserBlockEntity,
|
||||||
|
DropperBlockEntity,
|
||||||
|
EnderChestBlockEntity,
|
||||||
|
JukeboxBlockEntity,
|
||||||
|
ChestBlockEntity,
|
||||||
|
TrappedChestBlockEntity,
|
||||||
|
BeehiveBlockEntity,
|
||||||
)
|
)
|
||||||
|
|
||||||
val ret: MutableMap<ResourceLocation, BlockEntityFactory<out BlockEntity>> = mutableMapOf()
|
val ret: MutableMap<ResourceLocation, BlockEntityFactory<out BlockEntity>> = mutableMapOf()
|
||||||
|
|||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class DispenserBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<DispenserBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:dispenser")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): DispenserBlockEntity {
|
||||||
|
return DispenserBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class DropperBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<DropperBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:dropper")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): DropperBlockEntity {
|
||||||
|
return DropperBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class EnchantingTableBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<EnchantingTableBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:enchanting_table")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): EnchantingTableBlockEntity {
|
||||||
|
return EnchantingTableBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class EnderChestBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<EnderChestBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:ender_chest")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): EnderChestBlockEntity {
|
||||||
|
return EnderChestBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -15,15 +15,9 @@ package de.bixilon.minosoft.data.entities.block
|
|||||||
|
|
||||||
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
import de.bixilon.minosoft.util.nbt.tag.CompoundTag
|
|
||||||
|
|
||||||
class FurnaceBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
class FurnaceBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
|
||||||
override fun updateNBT(nbt: CompoundTag) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object : BlockEntityFactory<FurnaceBlockEntity> {
|
companion object : BlockEntityFactory<FurnaceBlockEntity> {
|
||||||
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:furnace")
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:furnace")
|
||||||
|
|
||||||
|
|||||||
@ -15,15 +15,10 @@ package de.bixilon.minosoft.data.entities.block
|
|||||||
|
|
||||||
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
import de.bixilon.minosoft.util.nbt.tag.CompoundTag
|
|
||||||
|
|
||||||
class HopperBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
class HopperBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
|
||||||
override fun updateNBT(nbt: CompoundTag) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object : BlockEntityFactory<HopperBlockEntity> {
|
companion object : BlockEntityFactory<HopperBlockEntity> {
|
||||||
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:hopper")
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:hopper")
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
import de.bixilon.minosoft.util.nbt.tag.CompoundTag
|
||||||
|
|
||||||
|
class JigsawBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
var joint: String = "rollable"
|
||||||
|
private set
|
||||||
|
var name: ResourceLocation = ResourceLocation("minecraft:empty")
|
||||||
|
private set
|
||||||
|
var pool: ResourceLocation = ResourceLocation("minecraft:empty")
|
||||||
|
private set
|
||||||
|
var finalState: ResourceLocation = ResourceLocation("minecraft:empty")
|
||||||
|
private set
|
||||||
|
var target: ResourceLocation = ResourceLocation("minecraft:empty")
|
||||||
|
private set
|
||||||
|
|
||||||
|
|
||||||
|
override fun updateNBT(nbt: CompoundTag) {
|
||||||
|
nbt.getStringTag("joint")?.value?.let { joint = it }
|
||||||
|
nbt.getStringTag("name")?.value?.let { name = ResourceLocation.getPathResourceLocation(it) }
|
||||||
|
nbt.getStringTag("pool")?.value?.let { pool = ResourceLocation.getPathResourceLocation(it) }
|
||||||
|
nbt.getStringTag("finalState")?.value?.let { finalState = ResourceLocation.getPathResourceLocation(it) }
|
||||||
|
nbt.getStringTag("target")?.value?.let { target = ResourceLocation.getPathResourceLocation(it) }
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<JigsawBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:jigsaw")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): JigsawBlockEntity {
|
||||||
|
return JigsawBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class JukeboxBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<JukeboxBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:jukebox")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): JukeboxBlockEntity {
|
||||||
|
return JukeboxBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class LecternBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<LecternBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:lectern")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): LecternBlockEntity {
|
||||||
|
return LecternBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
import de.bixilon.minosoft.util.nbt.tag.CompoundTag
|
||||||
|
|
||||||
|
class MobSpawnerBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
|
||||||
|
override fun updateNBT(nbt: CompoundTag) {
|
||||||
|
// ToDo: {MaxNearbyEntities: 6s, RequiredPlayerRange: 16s, SpawnCount: 4s, x: -80, y: 4, SpawnData: {id: "minecraft:zombie"}, z: 212, id: "minecraft:mob_spawner", MaxSpawnDelay: 800s, SpawnRange: 4s, Delay: 0s, MinSpawnDelay: 200s}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<MobSpawnerBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:mob_spawner")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): MobSpawnerBlockEntity {
|
||||||
|
return MobSpawnerBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class ShulkerBoxBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<ShulkerBoxBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:shulker_box")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): ShulkerBoxBlockEntity {
|
||||||
|
return ShulkerBoxBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class SkullBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<SkullBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:skull")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): SkullBlockEntity {
|
||||||
|
return SkullBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class SmokerBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<SmokerBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:smoker")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): SmokerBlockEntity {
|
||||||
|
return SmokerBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
import de.bixilon.minosoft.util.nbt.tag.CompoundTag
|
||||||
|
|
||||||
|
class StructureBlockBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
override fun updateNBT(nbt: CompoundTag) {
|
||||||
|
// ToDo: {mirror: "NONE", metadata: "asd", ignoreEntities: 1b, powered: 0b, seed: 0l, author: "Bixilon", rotation: "NONE", posX: 0, mode: "DATA", posY: 1, sizeX: 0, integrity: 1.0F, posZ: 0, showair: 0b, x: -102, name: "", y: 4, z: 212, id: "minecraft:structure_block", sizeY: 0, sizeZ: 0, showboundingbox: 1b}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<StructureBlockBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:structure_block")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): StructureBlockBlockEntity {
|
||||||
|
return StructureBlockBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2021 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.data.entities.block
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||||
|
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||||
|
|
||||||
|
class TrappedChestBlockEntity(connection: PlayConnection) : BlockEntity(connection) {
|
||||||
|
|
||||||
|
companion object : BlockEntityFactory<TrappedChestBlockEntity> {
|
||||||
|
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("minecraft:trapped_chest")
|
||||||
|
|
||||||
|
override fun build(connection: PlayConnection): TrappedChestBlockEntity {
|
||||||
|
return TrappedChestBlockEntity(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user