Adding c:end_stones to terrain Blockas and all blocks that are used in surface rules for our end biomes. (#436)

This commit is contained in:
Frank 2022-02-24 11:38:42 +01:00
parent 4e008ab208
commit 288bf2e473
5 changed files with 46 additions and 4 deletions

View file

@ -5,18 +5,23 @@ import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
import net.minecraft.core.BlockPos;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.FallingBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.bclib.api.tag.NamedCommonBlockTags;
import ru.bclib.api.tag.TagAPI.TagLocation;
import ru.bclib.interfaces.TagProvider;
import ru.bclib.util.ColorUtil;
import java.util.Collections;
import java.util.List;
public class EndstoneDustBlock extends FallingBlock {
public class EndstoneDustBlock extends FallingBlock implements TagProvider {
@Environment(EnvType.CLIENT)
private static final int COLOR = ColorUtil.color(226, 239, 168);
@ -38,4 +43,9 @@ public class EndstoneDustBlock extends FallingBlock {
public int getDustColor(BlockState state, BlockGetter world, BlockPos pos) {
return COLOR;
}
@Override
public void addTags(List<TagLocation<Block>> blockTags, List<TagLocation<Item>> itemTags) {
blockTags.add(NamedCommonBlockTags.END_STONES);
}
}

View file

@ -3,15 +3,21 @@ package ru.betterend.blocks;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.core.BlockPos;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.MaterialColor;
import ru.bclib.api.tag.NamedCommonBlockTags;
import ru.bclib.api.tag.TagAPI.TagLocation;
import ru.bclib.interfaces.TagProvider;
import ru.betterend.blocks.basis.EndTerrainBlock;
import ru.betterend.registry.EndParticles;
import java.util.List;
import java.util.Random;
public class ShadowGrassBlock extends EndTerrainBlock {
public class ShadowGrassBlock extends EndTerrainBlock implements TagProvider {
public ShadowGrassBlock() {
super(MaterialColor.COLOR_BLACK);
}
@ -31,4 +37,9 @@ public class ShadowGrassBlock extends EndTerrainBlock {
);
}
}
@Override
public void addTags(List<TagLocation<Block>> blockTags, List<TagLocation<Item>> itemTags) {
blockTags.add(NamedCommonBlockTags.END_STONES);
}
}

View file

@ -1,12 +1,24 @@
package ru.betterend.blocks.basis;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.material.MaterialColor;
import ru.bclib.api.tag.NamedCommonBlockTags;
import ru.bclib.api.tag.TagAPI.TagLocation;
import ru.bclib.blocks.BaseTerrainBlock;
import ru.bclib.interfaces.TagProvider;
import ru.betterend.interfaces.PottableTerrain;
public class EndTerrainBlock extends BaseTerrainBlock implements PottableTerrain {
import java.util.List;
public class EndTerrainBlock extends BaseTerrainBlock implements PottableTerrain, TagProvider {
public EndTerrainBlock(MaterialColor color) {
super(Blocks.END_STONE, color);
}
@Override
public void addTags(List<TagLocation<Block>> blockTags, List<TagLocation<Item>> itemTags) {
blockTags.add(NamedCommonBlockTags.END_STONES);
}
}

View file

@ -31,6 +31,7 @@ import ru.betterend.BetterEnd;
import ru.betterend.blocks.basis.EndTerrainBlock;
import ru.betterend.blocks.basis.PedestalBlock;
import ru.betterend.item.tool.EndHammerItem;
import ru.betterend.world.biome.EndBiome;
import java.util.List;
@ -139,6 +140,12 @@ public class EndTags {
TagAPI.addBlockTag(NamedCommonBlockTags.END_STONES, bl);
}
public static void addBiomeSurfaceToEndGroup(EndBiome b){
addEndGround(b.getTopMaterial().getBlock());
addEndGround(b.getAltTopMaterial().getBlock());
addEndGround(b.getUnderMaterial().getBlock());
}
// TODO make getter for biome top blocks
public static void addTerrainTags(Registry<Biome> biomeRegistry) {
/*biomeRegistry.forEach((biome) -> {

View file

@ -21,6 +21,7 @@ import ru.betterend.interfaces.StructureFeaturesAccessor;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
import ru.betterend.registry.EndTags;
public class EndBiome extends BCLBiome implements SurfaceMaterialProvider {
public static class DefaultSurfaceMaterialProvider implements SurfaceMaterialProvider{
@ -124,7 +125,8 @@ public class EndBiome extends BCLBiome implements SurfaceMaterialProvider {
EndBiome biome = builder.build(biomeConfig.getSupplier());
biome.addCustomData("has_caves", biomeConfig.hasCaves());
biome.setSurfaceMaterial(biomeConfig.surfaceMaterial());
EndTags.addBiomeSurfaceToEndGroup(biome);
return biome;
}