auriny Posted April 23, 2022 Share Posted April 23, 2022 (edited) i wanted the blaze to still be able to drop rods but when i added this the blazes started only dropping what i typed in how to fix it? global_loot_modifiers.json { "replace": false, "entries": [ "cosrpg:blaze_rinkril" ] } blaze_rinkril.json { "type": "cosrpg:blaze_rinkril", "conditions": [ { "condition": "forge:loot_table_id", "loot_table_id": "minecraft:entities/blaze" } ], "addition": "cosrpg:rinkril" } Edited April 23, 2022 by auriny Quote Link to comment Share on other sites More sharing options...
auriny Posted April 23, 2022 Author Share Posted April 23, 2022 7 minutes ago, diesieben07 said: Show your loot modifier code. package com.auriny.cosrpg.events.loot; import com.google.gson.JsonObject; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.loot.LootContext; import net.minecraft.loot.conditions.ILootCondition; import net.minecraft.util.JSONUtils; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.loot.GlobalLootModifierSerializer; import net.minecraftforge.common.loot.LootModifier; import net.minecraftforge.registries.ForgeRegistries; import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.List; public class RinkrilAdditionModifier extends LootModifier { private Item addition; public RinkrilAdditionModifier(ILootCondition[] conditionsIn, Item addition) { super(conditionsIn); this.addition = addition; } @Nonnull @Override public List<ItemStack> doApply(List<ItemStack> generatedLoot, LootContext context) { List<ItemStack> stack = new ArrayList<ItemStack>(); stack.add(new ItemStack(addition)); return stack; } public static class Serializer extends GlobalLootModifierSerializer<RinkrilAdditionModifier> { @Override public RinkrilAdditionModifier read(ResourceLocation name, JsonObject object, ILootCondition[] conditionsIn) { Item addition = ForgeRegistries.ITEMS.getValue(new ResourceLocation(JSONUtils.getString(object, "addition"))); return new RinkrilAdditionModifier(conditionsIn, addition); } @Override public JsonObject write(RinkrilAdditionModifier instance) { JsonObject json = makeConditions(instance.conditions); json.addProperty("addition", ForgeRegistries.ITEMS.getKey(instance.addition).toString()); return json; } } } Quote Link to comment Share on other sites More sharing options...
auriny Posted April 23, 2022 Author Share Posted April 23, 2022 22 minutes ago, diesieben07 said: You are entirely ignoring the already generated loot and just creating a new, empty list. What did you expect? fixed, thank you Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.