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:
parent
4e008ab208
commit
288bf2e473
5 changed files with 46 additions and 4 deletions
|
@ -5,18 +5,23 @@ import net.fabricmc.api.Environment;
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
|
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.level.BlockGetter;
|
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.Blocks;
|
||||||
import net.minecraft.world.level.block.FallingBlock;
|
import net.minecraft.world.level.block.FallingBlock;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.level.storage.loot.LootContext;
|
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 ru.bclib.util.ColorUtil;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class EndstoneDustBlock extends FallingBlock {
|
public class EndstoneDustBlock extends FallingBlock implements TagProvider {
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
private static final int COLOR = ColorUtil.color(226, 239, 168);
|
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) {
|
public int getDustColor(BlockState state, BlockGetter world, BlockPos pos) {
|
||||||
return COLOR;
|
return COLOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addTags(List<TagLocation<Block>> blockTags, List<TagLocation<Item>> itemTags) {
|
||||||
|
blockTags.add(NamedCommonBlockTags.END_STONES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,15 +3,21 @@ package ru.betterend.blocks;
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.Environment;
|
import net.fabricmc.api.Environment;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.level.Level;
|
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.block.state.BlockState;
|
||||||
import net.minecraft.world.level.material.MaterialColor;
|
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.blocks.basis.EndTerrainBlock;
|
||||||
import ru.betterend.registry.EndParticles;
|
import ru.betterend.registry.EndParticles;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
public class ShadowGrassBlock extends EndTerrainBlock {
|
public class ShadowGrassBlock extends EndTerrainBlock implements TagProvider {
|
||||||
public ShadowGrassBlock() {
|
public ShadowGrassBlock() {
|
||||||
super(MaterialColor.COLOR_BLACK);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,24 @@
|
||||||
package ru.betterend.blocks.basis;
|
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.block.Blocks;
|
||||||
import net.minecraft.world.level.material.MaterialColor;
|
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.blocks.BaseTerrainBlock;
|
||||||
|
import ru.bclib.interfaces.TagProvider;
|
||||||
import ru.betterend.interfaces.PottableTerrain;
|
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) {
|
public EndTerrainBlock(MaterialColor color) {
|
||||||
super(Blocks.END_STONE, color);
|
super(Blocks.END_STONE, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addTags(List<TagLocation<Block>> blockTags, List<TagLocation<Item>> itemTags) {
|
||||||
|
blockTags.add(NamedCommonBlockTags.END_STONES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ import ru.betterend.BetterEnd;
|
||||||
import ru.betterend.blocks.basis.EndTerrainBlock;
|
import ru.betterend.blocks.basis.EndTerrainBlock;
|
||||||
import ru.betterend.blocks.basis.PedestalBlock;
|
import ru.betterend.blocks.basis.PedestalBlock;
|
||||||
import ru.betterend.item.tool.EndHammerItem;
|
import ru.betterend.item.tool.EndHammerItem;
|
||||||
|
import ru.betterend.world.biome.EndBiome;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -139,6 +140,12 @@ public class EndTags {
|
||||||
TagAPI.addBlockTag(NamedCommonBlockTags.END_STONES, bl);
|
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
|
// TODO make getter for biome top blocks
|
||||||
public static void addTerrainTags(Registry<Biome> biomeRegistry) {
|
public static void addTerrainTags(Registry<Biome> biomeRegistry) {
|
||||||
/*biomeRegistry.forEach((biome) -> {
|
/*biomeRegistry.forEach((biome) -> {
|
||||||
|
|
|
@ -21,6 +21,7 @@ import ru.betterend.interfaces.StructureFeaturesAccessor;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.registry.EndFeatures;
|
import ru.betterend.registry.EndFeatures;
|
||||||
import ru.betterend.registry.EndSounds;
|
import ru.betterend.registry.EndSounds;
|
||||||
|
import ru.betterend.registry.EndTags;
|
||||||
|
|
||||||
public class EndBiome extends BCLBiome implements SurfaceMaterialProvider {
|
public class EndBiome extends BCLBiome implements SurfaceMaterialProvider {
|
||||||
public static class DefaultSurfaceMaterialProvider implements SurfaceMaterialProvider{
|
public static class DefaultSurfaceMaterialProvider implements SurfaceMaterialProvider{
|
||||||
|
@ -125,6 +126,7 @@ public class EndBiome extends BCLBiome implements SurfaceMaterialProvider {
|
||||||
biome.addCustomData("has_caves", biomeConfig.hasCaves());
|
biome.addCustomData("has_caves", biomeConfig.hasCaves());
|
||||||
biome.setSurfaceMaterial(biomeConfig.surfaceMaterial());
|
biome.setSurfaceMaterial(biomeConfig.surfaceMaterial());
|
||||||
|
|
||||||
|
EndTags.addBiomeSurfaceToEndGroup(biome);
|
||||||
return biome;
|
return biome;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue