From cf45fe69c5c8831f1267350503f6bd545fe5b568 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Thu, 26 Oct 2023 09:10:48 +0300 Subject: [PATCH] =?UTF-8?q?DBot=20=E2=80=94=20=D0=A1=D0=B5=D0=B3=D0=BE?= =?UTF-8?q?=D0=B4=D0=BD=D1=8F,=20=D0=B2=208:52=20=D0=9D=D0=B0=D0=BF=D0=BE?= =?UTF-8?q?=D0=BC=D0=BD=D0=B8=D0=BB=20=D0=A7=D1=82=D0=BE=20=D1=8F=D1=89?= =?UTF-8?q?=D0=B8=D0=BA=20=D0=B4=D0=BE=D0=BB=D0=B6=D0=B5=D0=BD=20=D0=B0?= =?UTF-8?q?=D0=B3=D1=80=D0=B8=D1=82=D1=8C=20=D0=BF=D0=B8=D0=B3=D0=BB=D0=B8?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=20=D0=98=D0=B1=D0=BE=20=D0=BE=D0=BD=D0=B8=20?= =?UTF-8?q?=D0=B0=D0=B3=D1=80=D1=8F=D1=82=D1=81=D1=8F=20=D0=B4=D0=B0=D0=B6?= =?UTF-8?q?=D0=B5=20=D0=BD=D0=B0=20=D0=B5=D0=BD=D0=B4=D0=B5=D1=80=20=D1=81?= =?UTF-8?q?=D1=83=D0=BD=D0=B4=D1=83=D0=BA=20=D0=98=20=D1=8D=D1=82=D0=BE=20?= =?UTF-8?q?by=20design?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt | 4 ++++ .../ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt | 1 + .../ru/dbotthepony/mc/otm/entity/MinecartCargoCrate.kt | 9 ++++++--- .../mc/otm/menu/decorative/MinecartCargoCrateMenu.kt | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt index a75c50d42..74b3e4eeb 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt @@ -253,6 +253,10 @@ fun addTags(tagsProvider: TagsProvider) { MBlocks.BLACK_HOLE, ) + tagsProvider.guardedByPiglins.add( + MBlockTags.CARGO_CRATES, + ) + tagsProvider.androidImmuneEffects.add( MobEffects.CONDUIT_POWER, MobEffects.HEAL, diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt index a09ae7255..636f88fa5 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt @@ -182,6 +182,7 @@ class TagsProvider(private val event: GatherDataEvent) { val witherImmune = blocks.Appender(BlockTags.WITHER_IMMUNE) val dragonImmune = blocks.Appender(BlockTags.DRAGON_IMMUNE) + val guardedByPiglins = blocks.Appender(BlockTags.GUARDED_BY_PIGLINS) fun stoneOre(key: String, block: Block): TagsProvider { ore(key, block) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/MinecartCargoCrate.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/MinecartCargoCrate.kt index 4ef8947d7..8e55da5e9 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/MinecartCargoCrate.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/MinecartCargoCrate.kt @@ -6,7 +6,9 @@ import net.minecraft.network.syncher.EntityDataSerializers import net.minecraft.network.syncher.SynchedEntityData import net.minecraft.sounds.SoundSource import net.minecraft.world.entity.EntityType +import net.minecraft.world.entity.monster.piglin.PiglinAi import net.minecraft.world.entity.player.Inventory +import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.vehicle.AbstractMinecartContainer import net.minecraft.world.inventory.AbstractContainerMenu import net.minecraft.world.item.DyeColor @@ -81,19 +83,20 @@ class MinecartCargoCrate( var interactingPlayers by entityData.delegate(INTERACTING_PLAYERS) - fun onPlayerOpen() { + fun onPlayerOpen(player: Player) { if (isRemoved) return if (interactingPlayers++ == 0) { if (!isRemoved) { level().playSound(null, this, MSoundEvents.CARGO_CRATE_OPEN, SoundSource.BLOCKS, 1f, 0.8f + level().random.nextFloat() * 0.2f) - level().gameEvent(GameEvent.CONTAINER_OPEN, position, GameEvent.Context.of(this)) + this.gameEvent(GameEvent.CONTAINER_OPEN, player) + PiglinAi.angerNearbyPiglins(player, true) } } } - fun onPlayerClose() { + fun onPlayerClose(player: Player) { if (interactingPlayers <= 0) return diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/MinecartCargoCrateMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/MinecartCargoCrateMenu.kt index 7ce6c9f23..b4aa8d957 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/MinecartCargoCrateMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/MinecartCargoCrateMenu.kt @@ -27,7 +27,7 @@ class MinecartCargoCrateMenu( init { if (trackedPlayerOpen) { - cart?.onPlayerOpen() + cart?.onPlayerOpen(inventory.player) } addStorageSlot(storageSlots) @@ -38,7 +38,7 @@ class MinecartCargoCrateMenu( super.removed(p_38940_) if (trackedPlayerOpen) { - cart?.onPlayerClose() + cart?.onPlayerClose(inventory.player) } }