Skip to content

Commit

Permalink
Added root blocks
Browse files Browse the repository at this point in the history
This reverts commit 62c9b6b.
  • Loading branch information
supermassimo committed Aug 12, 2023
1 parent e511d17 commit 17ec3f0
Show file tree
Hide file tree
Showing 44 changed files with 774 additions and 218 deletions.
14 changes: 7 additions & 7 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ plugins {
id("com.harleyoconnor.translationsheet") version "0.1.1"
id("com.matthewprenger.cursegradle") version "1.4.0"
id("com.modrinth.minotaur") version "2.+"
id("com.harleyoconnor.autoupdatetool") version "1.+"
id("com.harleyoconnor.autoupdatetool") version "1.0.7"
}

repositories {
Expand Down Expand Up @@ -258,12 +258,12 @@ tasks.register("publishToAllPlatforms") {

val minecraftVersion = mcVersion

autoUpdateTool {
this.mcVersion.set(minecraftVersion)
this.version.set(modVersion)
this.versionRecommended.set(property("versionRecommended") == "true")
this.updateCheckerFile.set(file(property("dynamictrees.version_info_repo.path") + File.separatorChar + property("updateCheckerPath")))
}
//autoUpdateTool {
// this.mcVersion.set(minecraftVersion)
// this.version.set(modVersion)
// this.versionRecommended.set(property("versionRecommended") == "true")
// this.updateCheckerFile.set(file(property("dynamictrees.version_info_repo.path") + File.separatorChar + property("updateCheckerPath")))
//}

tasks.autoUpdate {
doLast {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.19.2 2023-08-11T16:59:31.7274329 Block States: dynamictrees
// 1.19.2 2023-08-12T15:21:27.5359478 Block States: dynamictrees
ba3df68d28fba8cf21f652ea60b7575c7915d267 assets/dynamictrees/blockstates/acacia_branch.json
2606791521eac27fa77ebbeeea442b8073802a51 assets/dynamictrees/blockstates/acacia_leaves.json
28a0cd7b38e1a854acd4f0c477573a9460811d82 assets/dynamictrees/blockstates/acacia_sapling.json
Expand All @@ -24,6 +24,7 @@ a82f9fc1c2378f77e75442eb41b6eff31ae0c687 assets/dynamictrees/blockstates/jungle_
a82f9fc1c2378f77e75442eb41b6eff31ae0c687 assets/dynamictrees/blockstates/jungle_undergrowth_leaves.json
37acee73dec3f5e4aef8c42938909ae26f9d0e6f assets/dynamictrees/blockstates/mangrove_branch.json
e8323999fd52df15a0a4a6644543902710c6192a assets/dynamictrees/blockstates/mangrove_leaves.json
8322563ee7870806d6140a71f0f9875d31929701 assets/dynamictrees/blockstates/mangrove_roots.json
ec8ab110c9a7deb973ad5c223fa05d2391f77c44 assets/dynamictrees/blockstates/mangrove_sapling.json
530b13d53b4adfb7b9463d6c40054223433d8f30 assets/dynamictrees/blockstates/mega_spruce_sapling.json
0dec9ba9d981a4b67a72b307630c1deaed9eaf7f assets/dynamictrees/blockstates/oak_branch.json
Expand Down Expand Up @@ -82,15 +83,17 @@ a51dea793d1d99cf75772e6c88078e02aca50a88 assets/dynamictrees/models/block/dark_o
b501cdf4d823a839cb321bc083c32cf985943cd3 assets/dynamictrees/models/block/jungle_branch.json
bc79d5a2bb8cf4546943c818292e6ae9592e2562 assets/dynamictrees/models/block/jungle_root.json
ef4b7408b4b4974a798c340818a91a4c8b1b4035 assets/dynamictrees/models/block/mangrove_branch.json
3ab361dc6ea3ca2c9bc43db3cef7c215e0ad03d1 assets/dynamictrees/models/block/mangrove_roots.json
a398ef5f258c41ef042f8583b358a526420feba2 assets/dynamictrees/models/block/mangrove_roots_filled.json
5e4f53ad61cabb371357397906ee7dc5d509966a assets/dynamictrees/models/block/oak_branch.json
7c5918859e6981f02d1cfbe4daeaaa2db755896d assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius1.json
3b8c2922767706500425c54406ed21e574b6b569 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius2.json
f24f1b11cd9b1ad5916c025092717cde4dbb3f58 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius3.json
3e821577fc6fb4a262be94377ae652efc183f599 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius4.json
9bce7990f9b02493f560689ddda1a6bc7cb33a5c assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius5.json
529c775620e1345e9cf40460522fa4b1af87d175 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius6.json
419aeceeb682e1e9f00eb533ab89245c8e84dcc0 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius7.json
62317a50a672a3addf54392b8ccb8adc6115c604 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius8.json
6553ecc912e1c9e94f830f407978a12070aa3c5e assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius1.json
a50406e9a273e88502bfc8c4e5ab7dc74d65d246 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius2.json
919fbba491e265702636b461b027e9a63a83b1d9 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius3.json
9fd80a5971d7e8022ca49a6594d2d74285689588 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius4.json
d65648547bbb20740572da96935f3934506379e2 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius5.json
e5a5baf1543cc816d381d65dc95f290d6576eecc assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius6.json
15d1da18826bfbc5536514a94fddf1e56284e246 assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius7.json
fcdb9bc5efbdbb4e4fafca3defa3324afb1ecbfc assets/dynamictrees/models/block/rooty_mangrove_root_collar_radius8.json
01b3a87546301bb658752a3d8e895a56c122edc0 assets/dynamictrees/models/block/saplings/acacia.json
7a849487d3813ef0bcd33e55299ef4e396af2777 assets/dynamictrees/models/block/saplings/apple_oak.json
b465c30f23ed200e7d6b139fa4ba3e6ce2e66ca6 assets/dynamictrees/models/block/saplings/azalea.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.19.2 2023-08-11T16:59:31.7331394 dynamictrees DT Block Tags
// 1.19.2 2023-08-12T15:32:15.0627398 dynamictrees DT Block Tags
0852fd1f90777eeab7126995157c4b1242a44700 data/dynamictrees/tags/blocks/branches.json
c16c437c51cfaa61f8cec19b3f2c9af858cf2e3e data/dynamictrees/tags/blocks/branches_that_burn.json
c442ebbd74e7603d2ce20deea3e8948883715416 data/dynamictrees/tags/blocks/foliage.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.19.2 2023-08-11T00:28:36.7949264 Item Models: dynamictrees
// 1.19.2 2023-08-12T14:35:01.786446 Item Models: dynamictrees
1f9425675ff3d713f0dd06fd3d1177c66513087a assets/dynamictrees/models/item/acacia_branch.json
532f140669da99b328b9a70c6102d246580997ec assets/dynamictrees/models/item/acacia_seed.json
54853d40b15711f7e03af7c9adea92726af9a78d assets/dynamictrees/models/item/apple_oak_seed.json
Expand All @@ -13,6 +13,7 @@ a32c202fbb6da4e7a874208dd9cec27baf149104 assets/dynamictrees/models/item/dark_oa
88c3f02ac8ae87a85cffc2ecc1cb25886a237677 assets/dynamictrees/models/item/jungle_branch.json
d220e9feaf18c42013f66d5229af116f4a716fa2 assets/dynamictrees/models/item/jungle_seed.json
fe2b74afefe052cef5a1e21e84f87b31c02f6987 assets/dynamictrees/models/item/mangrove_branch.json
1ef3b0d26a42523f218e5af446f504aec32d632f assets/dynamictrees/models/item/mangrove_roots.json
b73206687d7b81afa245128641201e1e7af7649b assets/dynamictrees/models/item/mangrove_seed.json
68c6183dee60590ec9cb99bb9ee56ec0cf8573d2 assets/dynamictrees/models/item/oak_branch.json
1e6386e05c482bdfa730b3048c82cd0499caf68b assets/dynamictrees/models/item/oak_seed.json
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"variants": {
"layer=covered": {
"model": "minecraft:block/mud"
},
"layer=exposed": {
"model": "dynamictrees:block/mangrove_roots"
},
"layer=filled": {
"model": "dynamictrees:block/mangrove_roots_filled"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"loader": "dynamictrees:branch",
"render_type": "minecraft:cutout_mipped",
"textures": {
"bark": "minecraft:block/mangrove_roots_side",
"rings": "minecraft:block/mangrove_roots_top"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"loader": "dynamictrees:branch",
"textures": {
"bark": "minecraft:block/muddy_mangrove_roots_side",
"rings": "minecraft:block/muddy_mangrove_roots_top"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius1",
"textures": {
"end": "minecraft:block/mangrove_log",
"end": "minecraft:block/mangrove_log_top",
"side": "minecraft:block/mangrove_log"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius2",
"textures": {
"end": "minecraft:block/mangrove_log",
"end": "minecraft:block/mangrove_log_top",
"side": "minecraft:block/mangrove_log"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius3",
"textures": {
"end": "minecraft:block/mangrove_log",
"end": "minecraft:block/mangrove_log_top",
"side": "minecraft:block/mangrove_log"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius4",
"textures": {
"end": "minecraft:block/mangrove_log",
"end": "minecraft:block/mangrove_log_top",
"side": "minecraft:block/mangrove_log"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius5",
"textures": {
"end": "minecraft:block/mangrove_log",
"end": "minecraft:block/mangrove_log_top",
"side": "minecraft:block/mangrove_log"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius6",
"textures": {
"end": "minecraft:block/mangrove_log",
"end": "minecraft:block/mangrove_log_top",
"side": "minecraft:block/mangrove_log"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius7",
"textures": {
"end": "minecraft:block/mangrove_log",
"end": "minecraft:block/mangrove_log_top",
"side": "minecraft:block/mangrove_log"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius8",
"textures": {
"end": "minecraft:block/mangrove_log",
"end": "minecraft:block/mangrove_log_top",
"side": "minecraft:block/mangrove_log"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"parent": "dynamictrees:item/root_branch",
"textures": {
"bark": "minecraft:block/mangrove_roots_side",
"rings": "minecraft:block/mangrove_roots_top"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,20 +43,10 @@ public Dependencies gatherDependencies(SoilProperties input) {

private BlockModelBuilder soilModelBuilder (BlockStateProvider provider, int radius, String name, Block primitiveBlock){
ResourceLocation side = provider.blockTexture(primitiveBlock);
ResourceLocation top = new ResourceLocation(side.getNamespace(), side.getPath()+"_top");
return provider.models().withExistingParent(name+"_radius"+radius, DynamicTrees.location("block/smartmodel/rooty/aerial_roots_radius"+ radius))
.texture("side", side)
.texture("end", side);
.texture("end", top);
}


// builder = builder.partialState().with(BasicRootsBlock.RADIUS, i)
// .with(BasicRootsBlock.LAYER, BasicRootsBlock.Layer.EXPOSED)
// .modelForState().modelFile(exposedModel).addModel();
// builder = builder.partialState().with(BasicRootsBlock.RADIUS, i)
// .with(BasicRootsBlock.LAYER, BasicRootsBlock.Layer.WATERLOGGED)
// .modelForState().modelFile(exposedModel).addModel();
//
// builder = builder.partialState().with(BasicRootsBlock.RADIUS, i)
// .with(BasicRootsBlock.LAYER, BasicRootsBlock.Layer.FILLED)
// .modelForState().modelFile(soilModelBuilder(provider, i, dependencies.get(FILLED_PRIMITIVE_ROOT))).addModel();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.ferreusveritas.dynamictrees.api.data;

import com.ferreusveritas.dynamictrees.data.provider.DTItemModelProvider;
import com.ferreusveritas.dynamictrees.tree.family.Family;
import com.ferreusveritas.dynamictrees.tree.family.MangroveFamily;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.client.model.generators.ItemModelBuilder;
import net.minecraftforge.registries.ForgeRegistries;

/**
* @author Harley O'Connor
*/
public class RootsItemModelGenerator implements Generator<DTItemModelProvider, Family> {

public static final DependencyKey<Item> ROOT_ITEM = new DependencyKey<>("root_item");
public static final DependencyKey<Block> PRIMITIVE_ROOT = new DependencyKey<>("primitive_root");
@Override
public void generate(DTItemModelProvider provider, Family input, Dependencies dependencies) {
final ItemModelBuilder builder = provider.withExistingParent(
String.valueOf(ForgeRegistries.ITEMS.getKey(dependencies.get(ROOT_ITEM))),
input.getRootItemParentLocation()
);
input.addRootTextures(
builder::texture,
provider.block(ForgeRegistries.BLOCKS.getKey(dependencies.get(PRIMITIVE_ROOT)))
);
}

@Override
public Dependencies gatherDependencies(Family input) {
MangroveFamily mangroveInput = (MangroveFamily) input;
return new Dependencies()
.append(ROOT_ITEM, mangroveInput.getRootItem())
.append(PRIMITIVE_ROOT, mangroveInput.getPrimitiveRoots());
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package com.ferreusveritas.dynamictrees.api.data;

import com.ferreusveritas.dynamictrees.block.branch.BranchBlock;
import com.ferreusveritas.dynamictrees.block.branch.roots.BasicRootsBlock;
import com.ferreusveritas.dynamictrees.data.provider.BranchLoaderBuilder;
import com.ferreusveritas.dynamictrees.data.provider.DTBlockStateProvider;
import com.ferreusveritas.dynamictrees.tree.family.Family;
import com.ferreusveritas.dynamictrees.tree.family.MangroveFamily;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.registries.ForgeRegistries;

import java.util.Objects;

/**
* @author Harley O'Connor
*/
public class RootsStateGenerator implements Generator<DTBlockStateProvider, Family> {

public static final DependencyKey<BranchBlock> ROOT = new DependencyKey<>("root");
public static final DependencyKey<Block> PRIMITIVE_ROOT = new DependencyKey<>("primitive_root");
public static final DependencyKey<Block> PRIMITIVE_FILLED_ROOT = new DependencyKey<>("filled_primitive_root");
public static final DependencyKey<Block> PRIMITIVE_COVERED_ROOT = new DependencyKey<>("covered_primitive_root");

@Override
public void generate(DTBlockStateProvider provider, Family input, Dependencies dependencies) {
final BranchBlock root = dependencies.get(ROOT);
final BranchLoaderBuilder builderExposed = provider.models().getBuilder(
Objects.requireNonNull(ForgeRegistries.BLOCKS.getKey(root)).getPath()
).customLoader(root.getFamily().getBranchLoaderConstructor());
input.addRootTextures(builderExposed::texture, provider.block(ForgeRegistries.BLOCKS.getKey(dependencies.get(PRIMITIVE_ROOT))));

final BranchLoaderBuilder builderFilled = provider.models().getBuilder(
Objects.requireNonNull(ForgeRegistries.BLOCKS.getKey(root)).getPath() + "_filled"
).customLoader(root.getFamily().getBranchLoaderConstructor());
input.addRootTextures(builderFilled::texture, provider.block(ForgeRegistries.BLOCKS.getKey(dependencies.get(PRIMITIVE_FILLED_ROOT))));

provider.getVariantBuilder(root)
.partialState().with(BasicRootsBlock.LAYER, BasicRootsBlock.Layer.EXPOSED)
.modelForState().modelFile(builderExposed.end().renderType("cutout_mipped")).addModel()
.partialState().with(BasicRootsBlock.LAYER, BasicRootsBlock.Layer.FILLED)
.modelForState().modelFile(builderFilled.end()).addModel()
.partialState().with(BasicRootsBlock.LAYER, BasicRootsBlock.Layer.COVERED)
.modelForState().modelFile(provider.models().getExistingFile(provider.blockTexture(dependencies.get(PRIMITIVE_COVERED_ROOT)))).addModel();
}

@Override
public Dependencies gatherDependencies(Family input) {
MangroveFamily mangroveInput = (MangroveFamily) input;
return new Dependencies()
.append(ROOT, mangroveInput.getRoot())
.append(PRIMITIVE_ROOT, mangroveInput.getPrimitiveRoots())
.append(PRIMITIVE_FILLED_ROOT, mangroveInput.getPrimitiveFilledRoots())
.append(PRIMITIVE_COVERED_ROOT, mangroveInput.getPrimitiveCoveredRoots());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public void generate(DTBlockStateProvider provider, Family input, Dependencies d
final SurfaceRootBlock surfaceRoot = dependencies.get(SURFACE_ROOT);
provider.simpleBlock(surfaceRoot,
provider.models().getBuilder(Objects.requireNonNull(ForgeRegistries.BLOCKS.getKey(surfaceRoot)).getPath())
.customLoader(BranchLoaderBuilder::root)
.customLoader(BranchLoaderBuilder::surfaceRoot)
.texture("bark", provider.block(
Objects.requireNonNull(ForgeRegistries.BLOCKS.getKey(dependencies.get(PRIMITIVE_LOG)))
)).end()
Expand Down
Loading

0 comments on commit 17ec3f0

Please sign in to comment.