Update chest upgrader item
This commit is contained in:
parent
e3bbc9a51e
commit
0631287d4f
@ -1,18 +1,15 @@
|
|||||||
package ru.dbotthepony.mc.otm.item
|
package ru.dbotthepony.mc.otm.item
|
||||||
|
|
||||||
import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap
|
import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap
|
||||||
import net.minecraft.ChatFormatting
|
import net.minecraft.core.component.DataComponents
|
||||||
import net.minecraft.network.chat.Component
|
|
||||||
import net.minecraft.server.level.ServerLevel
|
import net.minecraft.server.level.ServerLevel
|
||||||
import net.minecraft.world.Container
|
import net.minecraft.world.Container
|
||||||
import net.minecraft.world.InteractionHand
|
import net.minecraft.world.InteractionHand
|
||||||
import net.minecraft.world.InteractionResult
|
import net.minecraft.world.InteractionResult
|
||||||
import net.minecraft.world.entity.vehicle.AbstractMinecart
|
|
||||||
import net.minecraft.world.entity.vehicle.MinecartChest
|
import net.minecraft.world.entity.vehicle.MinecartChest
|
||||||
import net.minecraft.world.item.*
|
import net.minecraft.world.item.*
|
||||||
import net.minecraft.world.item.context.BlockPlaceContext
|
import net.minecraft.world.item.context.BlockPlaceContext
|
||||||
import net.minecraft.world.item.context.UseOnContext
|
import net.minecraft.world.item.context.UseOnContext
|
||||||
import net.minecraft.world.level.Level
|
|
||||||
import net.minecraft.world.level.block.Block
|
import net.minecraft.world.level.block.Block
|
||||||
import net.minecraft.world.level.block.LevelEvent
|
import net.minecraft.world.level.block.LevelEvent
|
||||||
import net.minecraft.world.level.block.entity.BarrelBlockEntity
|
import net.minecraft.world.level.block.entity.BarrelBlockEntity
|
||||||
@ -20,14 +17,11 @@ import net.minecraft.world.level.block.entity.ChestBlockEntity
|
|||||||
import net.minecraft.world.level.gameevent.GameEvent
|
import net.minecraft.world.level.gameevent.GameEvent
|
||||||
import net.minecraft.world.level.storage.loot.LootParams
|
import net.minecraft.world.level.storage.loot.LootParams
|
||||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParams
|
import net.minecraft.world.level.storage.loot.parameters.LootContextParams
|
||||||
import net.minecraftforge.event.entity.player.PlayerInteractEvent
|
|
||||||
import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent
|
import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent
|
||||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters.MOD_ID
|
|
||||||
import ru.dbotthepony.mc.otm.block.decorative.CargoCrateBlock
|
import ru.dbotthepony.mc.otm.block.decorative.CargoCrateBlock
|
||||||
import ru.dbotthepony.mc.otm.block.entity.decorative.CargoCrateBlockEntity
|
import ru.dbotthepony.mc.otm.block.entity.decorative.CargoCrateBlockEntity
|
||||||
import ru.dbotthepony.mc.otm.container.get
|
import ru.dbotthepony.mc.otm.container.get
|
||||||
import ru.dbotthepony.mc.otm.container.set
|
import ru.dbotthepony.mc.otm.container.set
|
||||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
|
||||||
import ru.dbotthepony.mc.otm.core.math.Vector
|
import ru.dbotthepony.mc.otm.core.math.Vector
|
||||||
import ru.dbotthepony.mc.otm.entity.MinecartCargoCrate
|
import ru.dbotthepony.mc.otm.entity.MinecartCargoCrate
|
||||||
import ru.dbotthepony.mc.otm.registry.MEntityTypes
|
import ru.dbotthepony.mc.otm.registry.MEntityTypes
|
||||||
@ -143,15 +137,16 @@ class ChestUpgraderItem : MatteryItem(Properties().stacksTo(1)) {
|
|||||||
newCart.xRot = cart.xRot
|
newCart.xRot = cart.xRot
|
||||||
newCart.yRot = cart.yRot
|
newCart.yRot = cart.yRot
|
||||||
newCart.deltaMovement = delta
|
newCart.deltaMovement = delta
|
||||||
newCart.customName = if (stack.hasCustomHoverName()) stack.hoverName else cart.customName
|
newCart.customName = stack[DataComponents.CUSTOM_NAME] ?: cart.customName
|
||||||
|
|
||||||
val contents = Int2ObjectArrayMap<ItemStack>(cart.containerSize)
|
val contents = Int2ObjectArrayMap<ItemStack>(cart.containerSize)
|
||||||
for (i in 0 until cart.containerSize) {
|
|
||||||
|
for (i in 0 until cart.containerSize)
|
||||||
contents.put(i, cart.getItem(i))
|
contents.put(i, cart.getItem(i))
|
||||||
}
|
|
||||||
cart.clearContent()
|
cart.clearContent()
|
||||||
|
|
||||||
(cart as AbstractMinecart).destroy(cart.damageSources().genericKill())
|
cart.destroy(cart.damageSources().genericKill())
|
||||||
level.addFreshEntity(newCart)
|
level.addFreshEntity(newCart)
|
||||||
level.gameEvent(GameEvent.ENTITY_PLACE, event.pos, GameEvent.Context.of(event.entity, level.getBlockState(event.pos.below())))
|
level.gameEvent(GameEvent.ENTITY_PLACE, event.pos, GameEvent.Context.of(event.entity, level.getBlockState(event.pos.below())))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user