improved loot table builder
Some checks failed
build / build (21) (push) Has been cancelled

This commit is contained in:
Jottyfan 2024-11-26 18:25:27 +01:00
parent b063cd6ef2
commit 4fc53e92d1

View File

@ -19,12 +19,9 @@ import net.minecraft.block.Block;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.loot.LootPool; import net.minecraft.loot.LootPool;
import net.minecraft.loot.LootTable;
import net.minecraft.loot.condition.SurvivesExplosionLootCondition; import net.minecraft.loot.condition.SurvivesExplosionLootCondition;
import net.minecraft.loot.entry.ItemEntry; import net.minecraft.loot.entry.ItemEntry;
import net.minecraft.loot.entry.LeafEntry.Builder; import net.minecraft.loot.entry.LeafEntry.Builder;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
/** /**
* *
@ -43,18 +40,17 @@ public class Quickiemod implements ModInitializer {
} }
private void registerLootTableChanges() { private void registerLootTableChanges() {
// does not work yet // does not work yet right
LootTableEvents.MODIFY.register((key, tableBuilder, source, registries) -> { LootTableEvents.MODIFY.register((key, tableBuilder, source, registries) -> {
if (Blocks.SHORT_GRASS.equals(key)) { if (source.isBuiltin()) {
Builder<?> entry = ItemEntry.builder(ModItems.ITEM_COTTON); if (Blocks.SHORT_GRASS.getLootTableKey().get().getRegistry().equals(key.getRegistry())) {
LootPool.Builder poolBuilder = LootPool.builder().with(entry) tableBuilder.pool(LootPool.builder().with(ItemEntry.builder(ModItems.ITEM_COTTONSEED))
.conditionally(SurvivesExplosionLootCondition.builder()); .conditionally(SurvivesExplosionLootCondition.builder()));
tableBuilder.pool(poolBuilder); }
} else if (Blocks.TALL_GRASS.getLootTableKey().equals(key)) { if (Blocks.TALL_GRASS.getLootTableKey().get().getRegistry().equals(key.getRegistry())) {
Builder<?> entry = ItemEntry.builder(ModItems.ITEM_CANOLA); tableBuilder.pool(LootPool.builder().with(ItemEntry.builder(ModItems.ITEM_CANOLASEED))
LootPool.Builder poolBuilder = LootPool.builder().with(entry) .conditionally(SurvivesExplosionLootCondition.builder()));
.conditionally(SurvivesExplosionLootCondition.builder()); }
tableBuilder.pool(poolBuilder);
} }
}); });
} }