Biome features rebalance
This commit is contained in:
parent
a9174260be
commit
c3a7a59d78
8 changed files with 11 additions and 12 deletions
|
@ -14,16 +14,13 @@ import net.minecraft.sound.BlockSoundGroup;
|
||||||
|
|
||||||
public class BlockWallMushroom extends BlockWallPlant {
|
public class BlockWallMushroom extends BlockWallPlant {
|
||||||
public BlockWallMushroom(int light) {
|
public BlockWallMushroom(int light) {
|
||||||
super(FabricBlockSettings.of(Material.WOOD)
|
super(FabricBlockSettings.of(Material.PLANT)
|
||||||
.breakByTool(FabricToolTags.AXES)
|
.breakByTool(FabricToolTags.AXES)
|
||||||
.sounds(BlockSoundGroup.GRASS)
|
.sounds(BlockSoundGroup.GRASS)
|
||||||
.luminance(light)
|
.luminance(light)
|
||||||
.sounds(BlockSoundGroup.WOOD)
|
.sounds(BlockSoundGroup.WOOD)
|
||||||
.hardness(0.2F)
|
.hardness(0.2F)
|
||||||
.breakByHand(true)
|
.breakByHand(true)
|
||||||
.allowsSpawning((state, world, pos, type) -> { return false; })
|
|
||||||
.suffocates((state, world, pos) -> { return false; })
|
|
||||||
.blockVision((state, world, pos) -> { return false; })
|
|
||||||
.noCollision());
|
.noCollision());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
package ru.betterend.blocks.basis;
|
package ru.betterend.blocks.basis;
|
||||||
|
|
||||||
import java.util.EnumMap;
|
import java.util.EnumMap;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.Lists;
|
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
|
@ -17,8 +15,6 @@ import net.minecraft.block.HorizontalFacingBlock;
|
||||||
import net.minecraft.block.Material;
|
import net.minecraft.block.Material;
|
||||||
import net.minecraft.block.ShapeContext;
|
import net.minecraft.block.ShapeContext;
|
||||||
import net.minecraft.item.ItemPlacementContext;
|
import net.minecraft.item.ItemPlacementContext;
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.loot.context.LootContext;
|
|
||||||
import net.minecraft.sound.BlockSoundGroup;
|
import net.minecraft.sound.BlockSoundGroup;
|
||||||
import net.minecraft.state.StateManager;
|
import net.minecraft.state.StateManager;
|
||||||
import net.minecraft.state.property.DirectionProperty;
|
import net.minecraft.state.property.DirectionProperty;
|
||||||
|
|
|
@ -60,8 +60,10 @@ public class EndFeatures {
|
||||||
// Wall Plants //
|
// Wall Plants //
|
||||||
public static final EndFeature PURPLE_POLYPORE = new EndFeature("purple_polypore", new WallPlantOnLogFeature(EndBlocks.PURPLE_POLYPORE, 3), 5);
|
public static final EndFeature PURPLE_POLYPORE = new EndFeature("purple_polypore", new WallPlantOnLogFeature(EndBlocks.PURPLE_POLYPORE, 3), 5);
|
||||||
public static final EndFeature PURPLE_POLYPORE_DENSE = new EndFeature("purple_polypore_dense", new WallPlantOnLogFeature(EndBlocks.PURPLE_POLYPORE, 5), 15);
|
public static final EndFeature PURPLE_POLYPORE_DENSE = new EndFeature("purple_polypore_dense", new WallPlantOnLogFeature(EndBlocks.PURPLE_POLYPORE, 5), 15);
|
||||||
public static final EndFeature TAIL_MOSS = new EndFeature("tail_moss", new WallPlantFeature(EndBlocks.TAIL_MOSS, 5), 30);
|
public static final EndFeature TAIL_MOSS = new EndFeature("tail_moss", new WallPlantFeature(EndBlocks.TAIL_MOSS, 3), 15);
|
||||||
public static final EndFeature CYAN_MOSS = new EndFeature("cyan_moss", new WallPlantFeature(EndBlocks.CYAN_MOSS, 5), 30);
|
public static final EndFeature CYAN_MOSS = new EndFeature("cyan_moss", new WallPlantFeature(EndBlocks.CYAN_MOSS, 3), 15);
|
||||||
|
public static final EndFeature TAIL_MOSS_WOOD = new EndFeature("tail_moss_wood", new WallPlantOnLogFeature(EndBlocks.TAIL_MOSS, 4), 25);
|
||||||
|
public static final EndFeature CYAN_MOSS_WOOD = new EndFeature("cyan_moss_wood", new WallPlantOnLogFeature(EndBlocks.CYAN_MOSS, 4), 25);
|
||||||
|
|
||||||
// Water //
|
// Water //
|
||||||
public static final EndFeature BUBBLE_CORAL = new EndFeature("bubble_coral", new UnderwaterPlantFeature(EndBlocks.BUBBLE_CORAL, 10), 10);
|
public static final EndFeature BUBBLE_CORAL = new EndFeature("bubble_coral", new UnderwaterPlantFeature(EndBlocks.BUBBLE_CORAL, 10), 10);
|
||||||
|
|
|
@ -29,6 +29,7 @@ public class BiomeChorusForest extends EndBiome {
|
||||||
.addFeature(Feature.VEGETAL_DECORATION, ConfiguredFeatures.CHORUS_PLANT)
|
.addFeature(Feature.VEGETAL_DECORATION, ConfiguredFeatures.CHORUS_PLANT)
|
||||||
.addFeature(EndFeatures.CHORUS_GRASS)
|
.addFeature(EndFeatures.CHORUS_GRASS)
|
||||||
.addFeature(EndFeatures.TAIL_MOSS)
|
.addFeature(EndFeatures.TAIL_MOSS)
|
||||||
|
.addFeature(EndFeatures.TAIL_MOSS_WOOD)
|
||||||
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
||||||
.addMobSpawn(EndEntities.END_SLIME, 5, 1, 2)
|
.addMobSpawn(EndEntities.END_SLIME, 5, 1, 2)
|
||||||
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 4));
|
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 4));
|
||||||
|
|
|
@ -29,6 +29,7 @@ public class BiomeFoggyMushroomland extends EndBiome {
|
||||||
.addFeature(EndFeatures.CREEPING_MOSS)
|
.addFeature(EndFeatures.CREEPING_MOSS)
|
||||||
.addFeature(EndFeatures.DENSE_VINE)
|
.addFeature(EndFeatures.DENSE_VINE)
|
||||||
.addFeature(EndFeatures.CYAN_MOSS)
|
.addFeature(EndFeatures.CYAN_MOSS)
|
||||||
|
.addFeature(EndFeatures.CYAN_MOSS_WOOD)
|
||||||
.addFeature(EndFeatures.END_LILY)
|
.addFeature(EndFeatures.END_LILY)
|
||||||
.addFeature(EndFeatures.BUBBLE_CORAL)
|
.addFeature(EndFeatures.BUBBLE_CORAL)
|
||||||
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
||||||
|
|
|
@ -24,14 +24,12 @@ public class BiomeMegalakeGrove extends EndBiome {
|
||||||
.addStructureFeature(EndStructures.MEGALAKE)
|
.addStructureFeature(EndStructures.MEGALAKE)
|
||||||
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
||||||
.addFeature(EndFeatures.LACUGROVE)
|
.addFeature(EndFeatures.LACUGROVE)
|
||||||
.addFeature(EndFeatures.DENSE_VINE)
|
|
||||||
.addFeature(EndFeatures.END_LOTUS)
|
.addFeature(EndFeatures.END_LOTUS)
|
||||||
.addFeature(EndFeatures.END_LOTUS_LEAF)
|
.addFeature(EndFeatures.END_LOTUS_LEAF)
|
||||||
.addFeature(EndFeatures.BUBBLE_CORAL_RARE)
|
.addFeature(EndFeatures.BUBBLE_CORAL_RARE)
|
||||||
.addFeature(EndFeatures.END_LILY_RARE)
|
.addFeature(EndFeatures.END_LILY_RARE)
|
||||||
.addFeature(EndFeatures.UMBRELLA_MOSS)
|
.addFeature(EndFeatures.UMBRELLA_MOSS)
|
||||||
.addFeature(EndFeatures.CREEPING_MOSS)
|
.addFeature(EndFeatures.CREEPING_MOSS)
|
||||||
.addFeature(EndFeatures.CYAN_MOSS)
|
|
||||||
.addMobSpawn(EndEntities.DRAGONFLY, 20, 1, 3)
|
.addMobSpawn(EndEntities.DRAGONFLY, 20, 1, 3)
|
||||||
.addMobSpawn(EndEntities.END_FISH, 20, 3, 8)
|
.addMobSpawn(EndEntities.END_FISH, 20, 3, 8)
|
||||||
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
|
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
|
||||||
|
|
|
@ -27,6 +27,7 @@ public class BiomeShadowForest extends EndBiome {
|
||||||
.addFeature(EndFeatures.TWISTED_VINE)
|
.addFeature(EndFeatures.TWISTED_VINE)
|
||||||
.addFeature(EndFeatures.PURPLE_POLYPORE)
|
.addFeature(EndFeatures.PURPLE_POLYPORE)
|
||||||
.addFeature(EndFeatures.TAIL_MOSS)
|
.addFeature(EndFeatures.TAIL_MOSS)
|
||||||
|
.addFeature(EndFeatures.TAIL_MOSS_WOOD)
|
||||||
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
||||||
.addMobSpawn(EntityType.ENDERMAN, 80, 1, 4)
|
.addMobSpawn(EntityType.ENDERMAN, 80, 1, 4)
|
||||||
.addMobSpawn(EntityType.PHANTOM, 1, 1, 2));
|
.addMobSpawn(EntityType.PHANTOM, 1, 1, 2));
|
||||||
|
|
|
@ -28,6 +28,9 @@ public abstract class WallScatterFeature extends DefaultFeature {
|
||||||
public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerator, Random random, BlockPos center, DefaultFeatureConfig featureConfig) {
|
public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerator, Random random, BlockPos center, DefaultFeatureConfig featureConfig) {
|
||||||
int maxY = world.getTopY(Heightmap.Type.WORLD_SURFACE, center.getX(), center.getZ());
|
int maxY = world.getTopY(Heightmap.Type.WORLD_SURFACE, center.getX(), center.getZ());
|
||||||
int minY = BlocksHelper.upRay(world, new BlockPos(center.getX(), 0, center.getZ()), maxY);
|
int minY = BlocksHelper.upRay(world, new BlockPos(center.getX(), 0, center.getZ()), maxY);
|
||||||
|
if (maxY < 10 || maxY < minY) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
int py = MHelper.randRange(minY, maxY, random);
|
int py = MHelper.randRange(minY, maxY, random);
|
||||||
|
|
||||||
Mutable mut = new Mutable();
|
Mutable mut = new Mutable();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue