End chest loot table

This commit is contained in:
paulevsGitch 2021-03-21 21:07:49 +03:00
parent e6542130f0
commit 78b47c8589
2 changed files with 29 additions and 0 deletions

View file

@ -31,6 +31,7 @@ import ru.betterend.registry.EndTags;
import ru.betterend.util.BonemealUtil;
import ru.betterend.util.DataFixerUtil;
import ru.betterend.util.Logger;
import ru.betterend.util.LootTableUtil;
import ru.betterend.world.generator.BetterEndBiomeSource;
import ru.betterend.world.generator.GeneratorOptions;
import ru.betterend.world.surface.SurfaceBuilders;
@ -64,6 +65,7 @@ public class BetterEnd implements ModInitializer {
BonemealUtil.init();
GeneratorOptions.init();
DataFixerUtil.init();
LootTableUtil.init();
if (hasGuideBook()) {
GuideBookItem.register();

View file

@ -0,0 +1,27 @@
package ru.betterend.util;
import net.fabricmc.fabric.api.loot.v1.FabricLootPoolBuilder;
import net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback;
import net.minecraft.item.Items;
import net.minecraft.loot.UniformLootTableRange;
import net.minecraft.loot.condition.RandomChanceLootCondition;
import net.minecraft.loot.entry.ItemEntry;
import net.minecraft.util.Identifier;
import ru.betterend.registry.EndItems;
public class LootTableUtil {
private static final Identifier END_CITY_TREASURE_ID = new Identifier("chests/end_city_treasure");
public static void init() {
LootTableLoadingCallback.EVENT.register((resourceManager, lootManager, id, supplier, setter) -> {
if (END_CITY_TREASURE_ID.equals(id)) {
FabricLootPoolBuilder builder = FabricLootPoolBuilder.builder();
builder.rolls(UniformLootTableRange.between(0, 5));
builder.withCondition(RandomChanceLootCondition.builder(0.5f).build());
builder.withEntry(ItemEntry.builder(Items.GHAST_TEAR).build());
builder.withEntry(ItemEntry.builder(EndItems.MUSIC_DISC_STRANGE_AND_ALIEN).build());
supplier.pool(builder);
}
});
}
}