Skip to content

Commit

Permalink
fixup some tfc stuff, backport the model changes
Browse files Browse the repository at this point in the history
  • Loading branch information
eerussianguy committed Oct 28, 2022
1 parent d15090a commit a19af31
Show file tree
Hide file tree
Showing 109 changed files with 202 additions and 337 deletions.
3 changes: 2 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ sourceSets.main.resources { srcDir 'src/generated/resources' }
dependencies {
minecraft 'net.minecraftforge:forge:1.18.2-40.1.73'

compileOnly fg.deobf("curse.maven:tfc-302973:3960484")
compileOnly fg.deobf("curse.maven:tfc-302973:4044049")
//runtimeOnly fg.deobf("curse.maven:tfc-302973:4044049")
//runtimeOnly fg.deobf("vazkii.patchouli:Patchouli:1.18.2-70")
//runtimeOnly fg.deobf('bop:BiomesOPlenty-1.18.2:16.0.0.109-universal')
//runtimeOnly fg.deobf('tb:TerraBlender-forge-1.18.2:1.1.0.102')
Expand Down
42 changes: 13 additions & 29 deletions resources/assets.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,14 @@ def generate(rm: ResourceManager):
tfc_fruits = ('cherry', 'green_apple', 'lemon', 'olive', 'orange', 'peach', 'plum', 'red_apple')

for wood in vanilla_woods:
leaves(rm, '%s_leaves' % wood, '%s_fluff' % wood)
leaves_model(rm, 'minecraft:%s_leaves' % wood, 'minecraft:block/%s_leaves' % wood, 'betterfoliage:block/%s_fluff' % wood)
for wood in tfc_woods:
rm.blockstate('tfc:wood/leaves/%s' % wood, model='betterfoliage:block/tfc/%s_leaves' % wood)
leaves_model_only(rm, 'betterfoliage:tfc/%s_leaves' % wood, 'tfc:block/wood/leaves/%s' % wood, 'tfc:block/wood/leaves/%s_fluff' % wood)
leaves_model(rm, 'tfc:wood/leaves/%s' % wood, 'tfc:block/wood/leaves/%s' % wood, 'tfc:block/wood/leaves/%s_fluff' % wood)
# compat for vexxels pack
leaves_model(rm, 'tfc:wood/leaves/mirrored/%s' % wood, 'tfc:block/wood/leaves/%s' % wood, 'tfc:block/wood/leaves/%s_fluff' % wood)
for fruit in tfc_fruits:
rm.blockstate('tfc:plant/%s_leaves' % fruit, variants={
'lifecycle=flowering': {'model': 'betterfoliage:block/tfc/%s_flowering_leaves' % fruit},
'lifecycle=fruiting': {'model': 'betterfoliage:block/tfc/%s_fruiting_leaves' % fruit},
'lifecycle=dormant': {'model': 'betterfoliage:block/tfc/%s_dry_leaves' % fruit},
'lifecycle=healthy': {'model': 'betterfoliage:block/tfc/%s_leaves' % fruit}
})
for life in ('', '_fruiting', '_flowering', '_dry'):
leaves_model_only(rm, 'betterfoliage:tfc/%s%s_leaves' % (fruit, life), 'tfc:block/fruit_tree/%s%s_leaves' % (fruit, life), 'betterfoliage:block/tfc/%s%s_leaves_fluff' % (fruit, life))
leaves_model(rm, 'tfc:plant/%s%s_leaves' % (fruit, life), 'tfc:block/fruit_tree/%s%s_leaves' % (fruit, life), 'betterfoliage:block/tfc/%s%s_leaves_fluff' % (fruit, life))

pad = 0
for flower in range(0, 1 + 1):
Expand All @@ -31,13 +26,11 @@ def generate(rm: ResourceManager):
})
pad += 1

cactus_variants = [{'model': 'minecraft:block/cactus', 'weight': 3, 'y': i} for i in (0, 90, 180, 270)]
cactus_variants.extend([{'model': 'betterfoliage:block/cactus1', 'weight': 2, 'y': i} for i in (0, 90, 180, 270)])
cactus_variants.extend([{'model': 'betterfoliage:block/cactus2', 'weight': 4, 'y': i} for i in (0, 90, 180, 270)])
cactus_variants.extend([{'model': 'betterfoliage:block/cactus3', 'y': i} for i in (0, 90, 180, 270)])
cactus_variants.extend([{'model': 'betterfoliage:block/cactus4', 'y': i} for i in (0, 90, 180, 270)])
cactus_variants.extend([{'model': 'betterfoliage:block/cactus5', 'y': i} for i in (0, 90, 180, 270)])

rm.block_model('cactus', parent='minecraft:block/cactus', no_textures=True)
cactus_variants = [
{'model': 'betterfoliage:block/cactus%s' % i, 'weight': w, 'y': r}
for i, w in (('', 3), ('1', 2), ('2', 4), ('3', None), ('4', None), ('5', None))
for r in (None, 90, 180, 270)]
rm.blockstate('minecraft:cactus', variants={"": cactus_variants}, use_default_model=False)

rm.blockstate('minecraft:grass_block', variants={
Expand Down Expand Up @@ -100,22 +93,13 @@ def generate(rm: ResourceManager):
# enhanced farming
for fruit in ('apple', 'avocado', 'banana', 'cherry', 'lemon', 'mango', 'olive', 'orange', 'pear'):
base = 'oak' if fruit != 'banana' else 'jungle'
leaves_model_only(rm, 'enhancedfarming:%s_leaves_fruity' % fruit, 'minecraft:block/%s_leaves' % base, 'betterfoliage:block/%s_fluff' % base, 'enhancedfarming:block/leaves/%s_leaves_fruity' % fruit)
leaves_model_only(rm, 'enhancedfarming:%s_leaves_blooming' % fruit, 'minecraft:block/%s_leaves' % base, 'betterfoliage:block/%s_fluff' % base, 'enhancedfarming:block/leaves/%s_leaves_blooming' % fruit)
leaves_model(rm, 'enhancedfarming:%s_leaves_fruity' % fruit, 'minecraft:block/%s_leaves' % base, 'betterfoliage:block/%s_fluff' % base, 'enhancedfarming:block/leaves/%s_leaves_fruity' % fruit)
leaves_model(rm, 'enhancedfarming:%s_leaves_blooming' % fruit, 'minecraft:block/%s_leaves' % base, 'betterfoliage:block/%s_fluff' % base, 'enhancedfarming:block/leaves/%s_leaves_blooming' % fruit)


def leaves_model_only(rm: ResourceManager, model: str, block: str, fluff: str, overlay: str = None):
def leaves_model(rm: ResourceManager, model: str, block: str, fluff: str, overlay: str = None):
rm.custom_block_model(model, 'betterfoliage:leaves', {
'leaves': block,
'fluff': fluff,
'overlay': overlay
})


def leaves(rm: ResourceManager, name: str, fluff: str, overlay: str = None):
rm.blockstate('minecraft:%s' % name, model='betterfoliage:block/%s' % name)
rm.custom_block_model('betterfoliage:%s' % name, 'betterfoliage:leaves', {
'leaves': 'minecraft:block/%s' % name,
'fluff': 'betterfoliage:block/%s' % fluff,
'overlay': overlay
})
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ else if (BFConfig.CLIENT.leaves.get())
BetterFoliage.FOLIAGE.create(particle, state, level, searchPos);
}
}
else if (BFConfig.CLIENT.souls.get() && state.is(BlockTags.SOUL_FIRE_BASE_BLOCKS) && level.isEmptyBlock(searchPos.above()))
else if (BFConfig.CLIENT.souls.get() && (state.is(Blocks.SOUL_SOIL) || state.is(Blocks.SOUL_SAND)) && level.isEmptyBlock(searchPos.above()))
{
SoulParticle particle = new SoulParticle(level, searchPos.getX() + 0.5D, searchPos.getY() + 1.01D, searchPos.getZ() + 0.5D);
Helpers.addParticle(particle, EventHandler.MAP.get(ParticleLocation.SOUL));
Expand Down
19 changes: 9 additions & 10 deletions src/main/java/com/eerussianguy/betterfoliage/Helpers.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,20 @@
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

import com.google.gson.JsonObject;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.particle.TextureSheetParticle;
import net.minecraft.client.renderer.block.model.*;
import net.minecraft.client.renderer.texture.TextureAtlas;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.resources.model.BlockModelRotation;
import net.minecraft.client.resources.model.Material;
import net.minecraft.client.resources.model.SimpleBakedModel;
import net.minecraft.core.BlockPos;
import net.minecraft.client.resources.model.*;
import net.minecraft.core.Direction;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.GsonHelper;
import net.minecraft.world.level.FoliageColor;
import net.minecraft.world.level.block.state.BlockState;

import com.eerussianguy.betterfoliage.particle.SpritePicker;
import com.mojang.blaze3d.vertex.PoseStack;

import static com.eerussianguy.betterfoliage.BetterFoliage.MOD_ID;

Expand All @@ -38,8 +32,8 @@ public static ResourceLocation identifier(String name)
}

public static final ResourceLocation EMPTY = identifier("empty");

public static final BlockFaceUV UV_DEFAULT = new BlockFaceUV(new float[] {0f, 0f, 16f, 16f}, 0);;
public static final ModelResourceLocation BACKING_DIRT_MODEL = new ModelResourceLocation("minecraft", "dirt", "inventory");

public static BlockElementFace makeTintedFace(BlockFaceUV uv)
{
Expand All @@ -65,7 +59,7 @@ public static ResourceLocation identifierOrEmpty(JsonObject json, String member)
public static Collection<Material> makeMaterials(ResourceLocation... textures)
{
//noinspection deprecation
return Arrays.stream(textures).map(texture -> new Material(TextureAtlas.LOCATION_BLOCKS, texture)).collect(Collectors.toList());
return Arrays.stream(textures).map(texture -> new Material(TextureAtlas.LOCATION_BLOCKS, texture)).toList();
}

public static BakedQuad makeBakedQuad(BlockElement BlockElement, BlockElementFace partFace, TextureAtlasSprite atlasSprite, Direction dir, BlockModelRotation modelRotation, ResourceLocation modelResLoc)
Expand Down Expand Up @@ -138,4 +132,9 @@ public static void finishParticle(TextureSheetParticle particle, List<TextureAtl
particle.setColor(r, g, b);
mc.particleEngine.add(particle);
}

public static void handlePerspective(ItemTransforms.TransformType cameraTransformType, PoseStack poseStack)
{
Minecraft.getInstance().getModelManager().getModel(BACKING_DIRT_MODEL).handlePerspective(cameraTransformType, poseStack);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

import com.eerussianguy.betterfoliage.BFConfig;
import com.eerussianguy.betterfoliage.Helpers;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.math.Vector3f;

@MethodsReturnNonnullByDefault
Expand Down Expand Up @@ -174,4 +175,10 @@ public TextureAtlasSprite getParticleIcon()
return leavesTex;
}

@Override
public BakedModel handlePerspective(ItemTransforms.TransformType cameraTransformType, PoseStack poseStack)
{
Helpers.handlePerspective(cameraTransformType, poseStack);
return this;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"__comment__": "This file was automatically created by mcresources",
"parent": "minecraft:block/cactus"
}
26 changes: 10 additions & 16 deletions src/main/resources/assets/minecraft/blockstates/cactus.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,27 @@
"variants": {
"": [
{
"model": "minecraft:block/cactus",
"weight": 3,
"y": 0
"model": "betterfoliage:block/cactus",
"weight": 3
},
{
"model": "minecraft:block/cactus",
"model": "betterfoliage:block/cactus",
"weight": 3,
"y": 90
},
{
"model": "minecraft:block/cactus",
"model": "betterfoliage:block/cactus",
"weight": 3,
"y": 180
},
{
"model": "minecraft:block/cactus",
"model": "betterfoliage:block/cactus",
"weight": 3,
"y": 270
},
{
"model": "betterfoliage:block/cactus1",
"weight": 2,
"y": 0
"weight": 2
},
{
"model": "betterfoliage:block/cactus1",
Expand All @@ -44,8 +42,7 @@
},
{
"model": "betterfoliage:block/cactus2",
"weight": 4,
"y": 0
"weight": 4
},
{
"model": "betterfoliage:block/cactus2",
Expand All @@ -63,8 +60,7 @@
"y": 270
},
{
"model": "betterfoliage:block/cactus3",
"y": 0
"model": "betterfoliage:block/cactus3"
},
{
"model": "betterfoliage:block/cactus3",
Expand All @@ -79,8 +75,7 @@
"y": 270
},
{
"model": "betterfoliage:block/cactus4",
"y": 0
"model": "betterfoliage:block/cactus4"
},
{
"model": "betterfoliage:block/cactus4",
Expand All @@ -95,8 +90,7 @@
"y": 270
},
{
"model": "betterfoliage:block/cactus5",
"y": 0
"model": "betterfoliage:block/cactus5"
},
{
"model": "betterfoliage:block/cactus5",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"__comment__": "This file was automatically created by mcresources",
"loader": "betterfoliage:leaves",
"leaves": "minecraft:block/acacia_leaves",
"fluff": "betterfoliage:block/acacia_fluff"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"__comment__": "This file was automatically created by mcresources",
"loader": "betterfoliage:leaves",
"leaves": "minecraft:block/azalea_leaves",
"fluff": "betterfoliage:block/azalea_fluff"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"__comment__": "This file was automatically created by mcresources",
"loader": "betterfoliage:leaves",
"leaves": "minecraft:block/birch_leaves",
"fluff": "betterfoliage:block/birch_fluff"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"__comment__": "This file was automatically created by mcresources",
"loader": "betterfoliage:leaves",
"leaves": "minecraft:block/dark_oak_leaves",
"fluff": "betterfoliage:block/dark_oak_fluff"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"__comment__": "This file was automatically created by mcresources",
"loader": "betterfoliage:leaves",
"leaves": "minecraft:block/flowering_azalea_leaves",
"fluff": "betterfoliage:block/flowering_azalea_fluff"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"__comment__": "This file was automatically created by mcresources",
"loader": "betterfoliage:leaves",
"leaves": "minecraft:block/jungle_leaves",
"fluff": "betterfoliage:block/jungle_fluff"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"__comment__": "This file was automatically created by mcresources",
"loader": "betterfoliage:leaves",
"leaves": "minecraft:block/oak_leaves",
"fluff": "betterfoliage:block/oak_fluff"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"__comment__": "This file was automatically created by mcresources",
"loader": "betterfoliage:leaves",
"leaves": "minecraft:block/spruce_leaves",
"fluff": "betterfoliage:block/spruce_fluff"
}
17 changes: 0 additions & 17 deletions src/main/resources/assets/tfc/blockstates/plant/cherry_leaves.json

This file was deleted.

This file was deleted.

17 changes: 0 additions & 17 deletions src/main/resources/assets/tfc/blockstates/plant/lemon_leaves.json

This file was deleted.

17 changes: 0 additions & 17 deletions src/main/resources/assets/tfc/blockstates/plant/olive_leaves.json

This file was deleted.

Loading

0 comments on commit a19af31

Please sign in to comment.