Create-Design-n-Decor/src/main/java/com/mangomilk/design_decor/base/CDDVanillaBlockStates.java
DrMangoTea 484c362423 0.4.0 ;3
2024-05-03 15:02:36 +02:00

67 linhas
2,8 KiB
Java

package com.mangomilk.design_decor.base;
import com.mangomilk.design_decor.DesignDecor;
import com.simibubi.create.foundation.data.CreateRegistrate;
import com.tterrag.registrate.builders.BlockBuilder;
import com.tterrag.registrate.builders.ItemBuilder;
import com.tterrag.registrate.providers.DataGenContext;
import com.tterrag.registrate.providers.RegistrateBlockstateProvider;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SlabBlock;
import net.minecraft.world.level.block.StairBlock;
import net.minecraft.world.level.block.WallBlock;
import net.minecraftforge.client.model.generators.ModelFile;
public class CDDVanillaBlockStates {
//WALL
public static void generateWallBlockState(DataGenContext<Block, WallBlock> ctx, RegistrateBlockstateProvider prov,
String name) {
prov.wallBlock(ctx.get(), name, DesignDecor.asResource("block/"+name));
}
public static ItemBuilder<BlockItem, BlockBuilder<WallBlock, CreateRegistrate>> transformWallItem(
ItemBuilder<BlockItem, BlockBuilder<WallBlock, CreateRegistrate>> builder, String name) {
builder.model((c, p) -> p.wallInventory(c.getName(), DesignDecor.asResource("block/"+name)));
return builder;
}
//STAIR
public static void generateStairBlockState(DataGenContext<Block, StairBlock> ctx, RegistrateBlockstateProvider prov,
String name) {
prov.stairsBlock(ctx.get(), name, DesignDecor.asResource("block/"+name));
}
public static ItemBuilder<BlockItem, BlockBuilder<StairBlock, CreateRegistrate>> transformStairItem(
ItemBuilder<BlockItem, BlockBuilder<StairBlock, CreateRegistrate>> builder, String variantName) {
return builder;
}
//SLAB
public static void generateSlabBlockState(DataGenContext<Block, SlabBlock> ctx, RegistrateBlockstateProvider prov,
String variantName) {
String name = variantName;
ResourceLocation texture = DesignDecor.asResource("block/"+name);
ModelFile bottom = prov.models()
.slab(name+"_bottom", texture, texture, texture);
ModelFile top = prov.models()
.slabTop(name + "_top", texture, texture, texture);
ModelFile doubleSlab = prov.models()
.getExistingFile(prov.modLoc("block/"+name));
prov.slabBlock(ctx.get(), bottom, top, doubleSlab);
}
public static ItemBuilder<BlockItem, BlockBuilder<SlabBlock, CreateRegistrate>> transformSlabItem(
ItemBuilder<BlockItem, BlockBuilder<SlabBlock, CreateRegistrate>> builder, String variantName) {
return builder;
}
}