DBot — Сегодня, в 8:52
Напомнил Что ящик должен агрить пиглинов Ибо они агрятся даже на ендер сундук И это by design
This commit is contained in:
parent
1f72cd865c
commit
cf45fe69c5
@ -253,6 +253,10 @@ fun addTags(tagsProvider: TagsProvider) {
|
|||||||
MBlocks.BLACK_HOLE,
|
MBlocks.BLACK_HOLE,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
tagsProvider.guardedByPiglins.add(
|
||||||
|
MBlockTags.CARGO_CRATES,
|
||||||
|
)
|
||||||
|
|
||||||
tagsProvider.androidImmuneEffects.add(
|
tagsProvider.androidImmuneEffects.add(
|
||||||
MobEffects.CONDUIT_POWER,
|
MobEffects.CONDUIT_POWER,
|
||||||
MobEffects.HEAL,
|
MobEffects.HEAL,
|
||||||
|
@ -182,6 +182,7 @@ class TagsProvider(private val event: GatherDataEvent) {
|
|||||||
|
|
||||||
val witherImmune = blocks.Appender(BlockTags.WITHER_IMMUNE)
|
val witherImmune = blocks.Appender(BlockTags.WITHER_IMMUNE)
|
||||||
val dragonImmune = blocks.Appender(BlockTags.DRAGON_IMMUNE)
|
val dragonImmune = blocks.Appender(BlockTags.DRAGON_IMMUNE)
|
||||||
|
val guardedByPiglins = blocks.Appender(BlockTags.GUARDED_BY_PIGLINS)
|
||||||
|
|
||||||
fun stoneOre(key: String, block: Block): TagsProvider {
|
fun stoneOre(key: String, block: Block): TagsProvider {
|
||||||
ore(key, block)
|
ore(key, block)
|
||||||
|
@ -6,7 +6,9 @@ import net.minecraft.network.syncher.EntityDataSerializers
|
|||||||
import net.minecraft.network.syncher.SynchedEntityData
|
import net.minecraft.network.syncher.SynchedEntityData
|
||||||
import net.minecraft.sounds.SoundSource
|
import net.minecraft.sounds.SoundSource
|
||||||
import net.minecraft.world.entity.EntityType
|
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.Inventory
|
||||||
|
import net.minecraft.world.entity.player.Player
|
||||||
import net.minecraft.world.entity.vehicle.AbstractMinecartContainer
|
import net.minecraft.world.entity.vehicle.AbstractMinecartContainer
|
||||||
import net.minecraft.world.inventory.AbstractContainerMenu
|
import net.minecraft.world.inventory.AbstractContainerMenu
|
||||||
import net.minecraft.world.item.DyeColor
|
import net.minecraft.world.item.DyeColor
|
||||||
@ -81,19 +83,20 @@ class MinecartCargoCrate(
|
|||||||
|
|
||||||
var interactingPlayers by entityData.delegate(INTERACTING_PLAYERS)
|
var interactingPlayers by entityData.delegate(INTERACTING_PLAYERS)
|
||||||
|
|
||||||
fun onPlayerOpen() {
|
fun onPlayerOpen(player: Player) {
|
||||||
if (isRemoved)
|
if (isRemoved)
|
||||||
return
|
return
|
||||||
|
|
||||||
if (interactingPlayers++ == 0) {
|
if (interactingPlayers++ == 0) {
|
||||||
if (!isRemoved) {
|
if (!isRemoved) {
|
||||||
level().playSound(null, this, MSoundEvents.CARGO_CRATE_OPEN, SoundSource.BLOCKS, 1f, 0.8f + level().random.nextFloat() * 0.2f)
|
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)
|
if (interactingPlayers <= 0)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ class MinecartCargoCrateMenu(
|
|||||||
|
|
||||||
init {
|
init {
|
||||||
if (trackedPlayerOpen) {
|
if (trackedPlayerOpen) {
|
||||||
cart?.onPlayerOpen()
|
cart?.onPlayerOpen(inventory.player)
|
||||||
}
|
}
|
||||||
|
|
||||||
addStorageSlot(storageSlots)
|
addStorageSlot(storageSlots)
|
||||||
@ -38,7 +38,7 @@ class MinecartCargoCrateMenu(
|
|||||||
super.removed(p_38940_)
|
super.removed(p_38940_)
|
||||||
|
|
||||||
if (trackedPlayerOpen) {
|
if (trackedPlayerOpen) {
|
||||||
cart?.onPlayerClose()
|
cart?.onPlayerClose(inventory.player)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user