summary refs log tree commit diff stats
path: root/src/main/kotlin/space/autistic/radio/entity
diff options
context:
space:
mode:
authorSoniEx2 <endermoneymod@gmail.com>2025-03-04 22:45:19 -0300
committerSoniEx2 <endermoneymod@gmail.com>2025-03-04 22:45:19 -0300
commit79ff3692b9462fc79d93bd74213ce6904340fc13 (patch)
tree22055c038783b87cceffe3d2220cc2b568a4493d /src/main/kotlin/space/autistic/radio/entity
First public commit
Diffstat (limited to 'src/main/kotlin/space/autistic/radio/entity')
-rw-r--r--src/main/kotlin/space/autistic/radio/entity/ElectronicsTraderEntity.kt36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/kotlin/space/autistic/radio/entity/ElectronicsTraderEntity.kt b/src/main/kotlin/space/autistic/radio/entity/ElectronicsTraderEntity.kt
new file mode 100644
index 0000000..3aa53b1
--- /dev/null
+++ b/src/main/kotlin/space/autistic/radio/entity/ElectronicsTraderEntity.kt
@@ -0,0 +1,36 @@
+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()
+    }
+}
\ No newline at end of file