Àgeable, MobBucketItem, UniformGenerator and ShuffleList`

This commit is contained in:
Frank Bauer 2021-06-23 20:31:56 +02:00
parent 0ac3814cd5
commit cfa765437c
6 changed files with 14 additions and 14 deletions

View file

@ -6,7 +6,7 @@ import java.util.Random;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.entity.AgableMob; import net.minecraft.world.entity.AgeableMob;
import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.Mob;
@ -194,7 +194,7 @@ public class DragonflyEntity extends Animal implements FlyingAnimal {
} }
@Override @Override
public AgableMob getBreedOffspring(ServerLevel world, AgableMob entity) { public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
return EndEntities.DRAGONFLY.create(world); return EndEntities.DRAGONFLY.create(world);
} }

View file

@ -16,7 +16,7 @@ import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundEvents;
import net.minecraft.sounds.SoundSource; import net.minecraft.sounds.SoundSource;
import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.AgableMob; import net.minecraft.world.entity.AgeableMob;
import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.Mob;
@ -162,7 +162,7 @@ public class SilkMothEntity extends Animal implements FlyingAnimal {
} }
@Override @Override
public AgableMob getBreedOffspring(ServerLevel world, AgableMob entity) { public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
return EndEntities.SILK_MOTH.create(world); return EndEntities.SILK_MOTH.create(world);
} }

View file

@ -5,7 +5,7 @@ import java.util.stream.Collectors;
import net.minecraft.data.BuiltinRegistries; import net.minecraft.data.BuiltinRegistries;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.ai.behavior.WeightedList; import net.minecraft.world.entity.ai.behavior.ShufflingList;
import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import ru.bclib.api.BiomeAPI; import ru.bclib.api.BiomeAPI;
@ -62,7 +62,7 @@ public class BYGIntegration extends ModIntegration implements EndBiomeIntegratio
EndBiomes.LAND_BIOMES.removeMutableBiome(biomeID); EndBiomes.LAND_BIOMES.removeMutableBiome(biomeID);
EndBiomes.VOID_BIOMES.addBiomeMutable(endBiome); EndBiomes.VOID_BIOMES.addBiomeMutable(endBiome);
} }
WeightedList<ResourceLocation> subBiomes = this.getAndExecuteRuntime(biomeClass, obj, "getHills"); ShufflingList<ResourceLocation> subBiomes = this.getAndExecuteRuntime(biomeClass, obj, "getHills");
if (subBiomes != null) { if (subBiomes != null) {
subBiomes.stream().collect(Collectors.toList()).forEach((id) -> { subBiomes.stream().collect(Collectors.toList()).forEach((id) -> {
BCLBiome subBiome = BiomeAPI.getBiome(id); BCLBiome subBiome = BiomeAPI.getBiome(id);

View file

@ -1,12 +1,12 @@
package ru.betterend.item; package ru.betterend.item;
import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EntityType;
import net.minecraft.world.item.FishBucketItem; import net.minecraft.world.item.MobBucketItem;
import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.Fluids;
import ru.bclib.client.models.ItemModelProvider; import ru.bclib.client.models.ItemModelProvider;
import ru.betterend.registry.EndItems; import ru.betterend.registry.EndItems;
public class EndBucketItem extends FishBucketItem implements ItemModelProvider { public class EndBucketItem extends MobBucketItem implements ItemModelProvider {
public EndBucketItem(EntityType<?> type) { public EndBucketItem(EntityType<?> type) {
super(type, Fluids.WATER, EndItems.makeEndItemSettings().stacksTo(1)); super(type, Fluids.WATER, EndItems.makeEndItemSettings().stacksTo(1));
} }

View file

@ -4,9 +4,9 @@ import net.fabricmc.fabric.api.loot.v1.FabricLootPoolBuilder;
import net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback; import net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Items; import net.minecraft.world.item.Items;
import net.minecraft.world.level.storage.loot.RandomValueBounds;
import net.minecraft.world.level.storage.loot.entries.LootItem; import net.minecraft.world.level.storage.loot.entries.LootItem;
import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition; import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition;
import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator;
import ru.betterend.registry.EndItems; import ru.betterend.registry.EndItems;
public class LootTableUtil { public class LootTableUtil {
@ -16,13 +16,13 @@ public class LootTableUtil {
LootTableLoadingCallback.EVENT.register((resourceManager, lootManager, id, supplier, setter) -> { LootTableLoadingCallback.EVENT.register((resourceManager, lootManager, id, supplier, setter) -> {
if (END_CITY_TREASURE_ID.equals(id)) { if (END_CITY_TREASURE_ID.equals(id)) {
FabricLootPoolBuilder builder = FabricLootPoolBuilder.builder(); FabricLootPoolBuilder builder = FabricLootPoolBuilder.builder();
builder.setRolls(RandomValueBounds.between(0, 5)); builder.setRolls(UniformGenerator.between(0, 5));
builder.withCondition(LootItemRandomChanceCondition.randomChance(0.5f).build()); builder.withCondition(LootItemRandomChanceCondition.randomChance(0.5f).build());
builder.withEntry(LootItem.lootTableItem(Items.GHAST_TEAR).build()); builder.withEntry(LootItem.lootTableItem(Items.GHAST_TEAR).build());
supplier.withPool(builder); supplier.withPool(builder);
builder = FabricLootPoolBuilder.builder(); builder = FabricLootPoolBuilder.builder();
builder.setRolls(RandomValueBounds.between(0, 5)); builder.setRolls(UniformGenerator.between(0, 5));
builder.withCondition(LootItemRandomChanceCondition.randomChance(0.1f).build()); builder.withCondition(LootItemRandomChanceCondition.randomChance(0.1f).build());
builder.withEntry(LootItem.lootTableItem(EndItems.MUSIC_DISC_STRANGE_AND_ALIEN).build()); builder.withEntry(LootItem.lootTableItem(EndItems.MUSIC_DISC_STRANGE_AND_ALIEN).build());
builder.withEntry(LootItem.lootTableItem(EndItems.MUSIC_DISC_GRASPING_AT_STARS).build()); builder.withEntry(LootItem.lootTableItem(EndItems.MUSIC_DISC_GRASPING_AT_STARS).build());

View file

@ -3,7 +3,7 @@ package ru.betterend.world.biome.cave;
import java.util.Random; import java.util.Random;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.world.entity.ai.behavior.WeightedList; import net.minecraft.world.entity.ai.behavior.ShufflingList;
import net.minecraft.world.level.biome.Biome.BiomeCategory; import net.minecraft.world.level.biome.Biome.BiomeCategory;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.Feature;
@ -16,8 +16,8 @@ import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.features.terrain.caves.CaveChunkPopulatorFeature; import ru.betterend.world.features.terrain.caves.CaveChunkPopulatorFeature;
public class EndCaveBiome extends EndBiome { public class EndCaveBiome extends EndBiome {
private WeightedList<Feature<?>> floorFeatures = new WeightedList<Feature<?>>(); private ShufflingList<Feature<?>> floorFeatures = new ShufflingList<Feature<?>>();
private WeightedList<Feature<?>> ceilFeatures = new WeightedList<Feature<?>>(); private ShufflingList<Feature<?>> ceilFeatures = new ShufflingList<Feature<?>>();
public EndCaveBiome(BCLBiomeDef definition) { public EndCaveBiome(BCLBiomeDef definition) {
super(makeDef(definition)); super(makeDef(definition));