summaryrefslogtreecommitdiff
path: root/src/main/java/luckyblock/action/triggers/SummonItemTrigger.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/luckyblock/action/triggers/SummonItemTrigger.java')
-rw-r--r--src/main/java/luckyblock/action/triggers/SummonItemTrigger.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/luckyblock/action/triggers/SummonItemTrigger.java b/src/main/java/luckyblock/action/triggers/SummonItemTrigger.java
new file mode 100644
index 0000000..fbf44ff
--- /dev/null
+++ b/src/main/java/luckyblock/action/triggers/SummonItemTrigger.java
@@ -0,0 +1,34 @@
+package luckyblock.action.triggers;
+
+
+import luckyblock.action.LuckyActionHolder;
+import net.minecraft.core.BlockPos;
+import net.minecraft.core.registries.BuiltInRegistries;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.util.RandomSource;
+import net.minecraft.world.entity.item.ItemEntity;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.level.block.Blocks;
+
+public class SummonItemTrigger implements ILuckyTrigger {
+ @Override
+ public String getName() {
+ return "summon_item";
+ }
+
+ @Override
+ public void execute(ServerLevel level, BlockPos pos, LuckyActionHolder holder, RandomSource random) {
+ if (holder.items != null) {
+ for (String itemId : holder.items) {
+ var item = BuiltInRegistries.ITEM.get(new ResourceLocation(itemId));
+ if (item != Blocks.AIR.asItem()) {
+ for (int i = 0; i < holder.count; i++) {
+ ItemEntity entity = new ItemEntity(level, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, new ItemStack(item));
+ level.addFreshEntity(entity);
+ }
+ }
+ }
+ }
+ }
+}