Skip to content

Commit

Permalink
Merge pull request #804 from Hunter19823/feature/carpet_support
Browse files Browse the repository at this point in the history
FEATURE: Added a CarpetBlockBuilder
  • Loading branch information
LatvianModder authored Mar 26, 2024
2 parents 178baae + 7855843 commit 8cc7924
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import dev.latvian.mods.kubejs.block.MaterialListJS;
import dev.latvian.mods.kubejs.block.SoundTypeWrapper;
import dev.latvian.mods.kubejs.block.custom.BasicBlockJS;
import dev.latvian.mods.kubejs.block.custom.CarpetBlockBuilder;
import dev.latvian.mods.kubejs.block.custom.CropBlockBuilder;
import dev.latvian.mods.kubejs.block.custom.FallingBlockBuilder;
import dev.latvian.mods.kubejs.block.custom.FenceBlockBuilder;
Expand Down Expand Up @@ -194,6 +195,7 @@ public void init() {
RegistryInfo.BLOCK.addType("falling", FallingBlockBuilder.class, FallingBlockBuilder::new);
RegistryInfo.BLOCK.addType("crop", CropBlockBuilder.class, CropBlockBuilder::new);
RegistryInfo.BLOCK.addType("cardinal", HorizontalDirectionalBlockBuilder.class, HorizontalDirectionalBlockBuilder::new);
RegistryInfo.BLOCK.addType("carpet", CarpetBlockBuilder.class, CarpetBlockBuilder::new);

RegistryInfo.ITEM.addType("basic", BasicItemJS.Builder.class, BasicItemJS.Builder::new);
RegistryInfo.ITEM.addType("sword", SwordItemBuilder.class, SwordItemBuilder::new);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package dev.latvian.mods.kubejs.block.custom;

import dev.latvian.mods.kubejs.client.VariantBlockStateGenerator;
import dev.latvian.mods.kubejs.generator.AssetJsonGenerator;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.BlockTags;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.CarpetBlock;

public class CarpetBlockBuilder extends ShapedBlockBuilder {
public CarpetBlockBuilder(ResourceLocation i) {
super(i, "_carpet");
tagBoth(BlockTags.WOOL_CARPETS.location());
}

@Override
public Block createObject() {
return new CarpetBlock(createProperties());
}

@Override
protected void generateBlockStateJson(VariantBlockStateGenerator bs) {
var mod = newID("block/", "").toString();
bs.variant("", (v) -> v.model(mod));
}

@Override
protected void generateBlockModelJsons(AssetJsonGenerator generator) {
var texture = textures.get("texture").getAsString();

generator.blockModel(id, m -> {
m.parent("minecraft:block/carpet");
m.texture("wool", texture);
});
}

public CarpetBlockBuilder texture(String texture) {
return (CarpetBlockBuilder) textureAll(texture);
}
}

0 comments on commit 8cc7924

Please sign in to comment.