summary refs log blame commit diff stats
path: root/src/main/kotlin/space/autistic/radio/entity/ElectronicsTraderEntity.kt
blob: 3aa53b1f06ca6d4accbd2806f7ba142bdeb1c099 (plain) (tree)



































                                                                                                                
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<out ElectronicsTraderEntity>, 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()
    }
}