package space.autistic.radio.entity import net.minecraft.entity.EntityType import net.minecraft.entity.ai.goal.HoldInHandsGoal import net.minecraft.entity.passive.WanderingTraderEntity import net.minecraft.item.ItemStack import net.minecraft.item.Items import net.minecraft.village.TradeOffer import net.minecraft.village.TradedItem import net.minecraft.world.World import space.autistic.radio.PirateRadioItems class ElectronicsTraderEntity(entityType: EntityType, world: World) : WanderingTraderEntity(entityType, world) { override fun initGoals() { super.initGoals() goalSelector.goals.removeIf { it.goal is HoldInHandsGoal<*> } } override fun fillRecipes() { val offers = this.getOffers() offers.add(TradeOffer(TradedItem(Items.EMERALD, 5), ItemStack(PirateRadioItems.POWERBANK), 3, 0, 0f)) offers.add(TradeOffer(TradedItem(Items.EMERALD, 10), ItemStack(PirateRadioItems.FM_RECEIVER), 3, 0, 0f)) offers.add(TradeOffer(TradedItem(Items.EMERALD, 15), ItemStack(PirateRadioItems.SBC), 3, 0, 0f)) offers.add(TradeOffer(TradedItem(Items.EMERALD, 5), ItemStack(PirateRadioItems.STORAGE_CARD), 3, 0, 0f)) offers.add(TradeOffer(TradedItem(Items.EMERALD, 1), ItemStack(PirateRadioItems.WIRE), 3, 0, 0f)) } override fun tickMovement() { if (!this.world.isClient) { super.setDespawnDelay(1000) } super.tickMovement() } }