Compare commits

..

2 Commits

Author SHA1 Message Date
24080f0437
fix: presistent inventory 2023-07-02 15:30:41 +08:00
f5bdaf34bc
feat: never remove projected person for far away 2023-07-02 15:30:04 +08:00

View File

@ -6,6 +6,7 @@ import dev.architectury.registry.level.entity.EntityAttributeRegistry
import net.fabricmc.api.EnvType import net.fabricmc.api.EnvType
import net.minecraft.nbt.CompoundTag import net.minecraft.nbt.CompoundTag
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import net.minecraft.network.protocol.game.DebugPackets
import net.minecraft.network.syncher.EntityDataAccessor import net.minecraft.network.syncher.EntityDataAccessor
import net.minecraft.network.syncher.EntityDataSerializers import net.minecraft.network.syncher.EntityDataSerializers
import net.minecraft.network.syncher.SynchedEntityData import net.minecraft.network.syncher.SynchedEntityData
@ -94,11 +95,13 @@ class ProjectedPersonEntity(entityType: EntityType<out PathfinderMob>, level: Le
override fun addAdditionalSaveData(tag: CompoundTag) { override fun addAdditionalSaveData(tag: CompoundTag) {
super.addAdditionalSaveData(tag) super.addAdditionalSaveData(tag)
tag.put(KEY_ENTITY_SHAPE, shapeTag) tag.put(KEY_ENTITY_SHAPE, shapeTag)
writeInventoryToTag(tag)
} }
override fun readAdditionalSaveData(tag: CompoundTag) { override fun readAdditionalSaveData(tag: CompoundTag) {
super.readAdditionalSaveData(tag) super.readAdditionalSaveData(tag)
shapeTag = tag.getCompound(KEY_ENTITY_SHAPE) shapeTag = tag.getCompound(KEY_ENTITY_SHAPE)
readInventoryFromTag(tag)
} }
override fun shouldShowName() = true override fun shouldShowName() = true
@ -136,4 +139,11 @@ class ProjectedPersonEntity(entityType: EntityType<out PathfinderMob>, level: Le
InventoryCarrier.pickUpItem(this, this, item) InventoryCarrier.pickUpItem(this, this, item)
} }
override fun sendDebugPackets() {
super.sendDebugPackets()
DebugPackets.sendEntityBrain(this)
}
override fun removeWhenFarAway(d: Double) = false
} }