Clean up a ton of models, add some walls

This commit is contained in:
Vincent Lee committed 2015-12-24 22:00:24 -06:00
1 parent 32fe7f6ce3
commit b36f51f6d8
64 files changed
+320 -525

No files matched your search

+1 -1
View File
@@ -3,7 +3,7 @@
version=r1.8
dir_output=../Build Output/Botania/
dir_repo=./
forge_version=11.15.0.1635-1.8.8
forge_version=11.15.0.1649-1.8.8
mc_version=1.8.8
build_number=246
mod_name=Botania
@@ -10,6 +10,8 @@ import net.minecraft.item.EnumDyeColor;
import net.minecraft.util.EnumFacing;
import vazkii.botania.api.state.enums.*;
import javax.annotation.Nullable;
/**
* Holds all Botania block state properties. Use these to set botania blockstates
*/
@@ -71,6 +73,14 @@ public class BotaniaStateProps {
// BlockBiomeStoneB
public static final PropertyEnum BIOMEBRICK_VARIANT = PropertyEnum.create("variant", BiomeBrickVariant.class);
// BlockBiomeStoneWall
public static final PropertyEnum BIOMESTONEWALL_VARIANT = PropertyEnum.create("variant", BiomeStoneVariant.class, new Predicate<BiomeStoneVariant>() {
@Override
public boolean apply(BiomeStoneVariant input) {
return input.getName().contains("cobble");
}
});
// BlockCustomBrick
public static final PropertyEnum CUSTOMBRICK_VARIANT = PropertyEnum.create("variant", CustomBrickVariant.class);
@@ -9,6 +9,7 @@ import net.minecraft.client.renderer.block.statemap.StateMap;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.Item;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.client.model.ModelLoaderRegistry;
@@ -17,8 +18,12 @@ import net.minecraftforge.fml.common.registry.GameData;
import vazkii.botania.api.render.SpecialFlowerModel;
import vazkii.botania.api.state.BotaniaStateProps;
import vazkii.botania.api.state.enums.AltGrassVariant;
import vazkii.botania.api.state.enums.BiomeStoneVariant;
import vazkii.botania.api.state.enums.DrumVariant;
import vazkii.botania.api.state.enums.FutureStoneVariant;
import vazkii.botania.api.state.enums.LivingRockVariant;
import vazkii.botania.api.state.enums.LivingWoodVariant;
import vazkii.botania.api.state.enums.PylonVariant;
import vazkii.botania.api.state.enums.StorageVariant;
import vazkii.botania.common.block.ModBlocks;
import vazkii.botania.common.block.ModFluffBlocks;
@@ -65,13 +70,13 @@ import vazkii.botania.common.block.subtile.generating.SubTileNightshade;
import vazkii.botania.common.block.subtile.generating.SubTileRafflowsia;
import vazkii.botania.common.block.subtile.generating.SubTileSpectrolus;
import vazkii.botania.common.block.subtile.generating.SubTileThermalily;
import vazkii.botania.common.item.ItemGaiaHead;
import vazkii.botania.common.lib.LibBlockNames;
import vazkii.botania.common.lib.LibItemNames;
import vazkii.botania.common.lib.LibMisc;
import static vazkii.botania.common.item.ModItems.*;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
@@ -92,18 +97,14 @@ public final class ModelHandler {
/** ItemBlocks **/
registerStandardBlocks();
registerStorage();
registerMushrooms();
registerFlowers();
registerLivingRockWood();
registerAltGrass();
registerStairs();
registerSlabs();
registerFullSlabs();
registerWalls();
registerPanes();
registerPylons();
registerUnstableBeaconPetal();
registerDrums();
/** Normal Items **/
registerStandardItems();
@@ -180,6 +181,14 @@ public final class ModelHandler {
registerItemModel(ModBlocks.specialFlower);
registerItemModel(ModBlocks.dirtPath);
registerItemModel(ModBlocks.felPumpkin);
// Blocks which share models with their item, and have only one variant to switch over
registerVariantsDefaulted(ModBlocks.altGrass, AltGrassVariant.class, "botania:altGrass", "variant");
registerVariantsDefaulted(ModBlocks.storage, StorageVariant.class, "botania:storage", "variant");
registerVariantsDefaulted(ModBlocks.pylon, PylonVariant.class, "botania:pylon", "variant");
registerVariantsDefaulted(ModBlocks.forestDrum, DrumVariant.class, "botania:forestDrum", "variant");
registerVariantsDefaulted(ModBlocks.livingrock, LivingRockVariant.class, "botania:livingrock", "variant");
registerVariantsDefaulted(ModBlocks.livingwood, LivingWoodVariant.class, "botania:livingwood", "variant");
}
private static void registerStandardItems() {
@@ -231,7 +240,7 @@ public final class ModelHandler {
Item item = manaResource;
for (int i = 0; i < LibItemNames.MANA_RESOURCE_NAMES.length; i++) {
String name = "botania:" + LibItemNames.MANA_RESOURCE_NAMES[i];
ModelLoader.addVariantName(item, name);
ModelLoader.registerItemVariants(item, new ModelResourceLocation(name, "inventory"));
ModelLoader.setCustomModelResourceLocation(item, i, new ModelResourceLocation(name, "inventory"));
}
}
@@ -310,29 +319,11 @@ public final class ModelHandler {
}
}
private static void registerAltGrass() {
Item item = ItemGaiaHead.getItemFromBlock(ModBlocks.altGrass);
for (AltGrassVariant variant : AltGrassVariant.values()) {
String name = "botania:altGrass_" + variant.getName();
ModelLoader.addVariantName(item, name);
ModelLoader.setCustomModelResourceLocation(item, variant.ordinal(), new ModelResourceLocation(name, "inventory"));
}
}
private static void registerStorage() {
Item item = Item.getItemFromBlock(ModBlocks.storage);
for (StorageVariant variant : StorageVariant.values()) {
String name = "botania:storage_" + variant.getName();
ModelLoader.addVariantName(item, name);
ModelLoader.setCustomModelResourceLocation(item, variant.ordinal(), new ModelResourceLocation(name, "inventory"));
}
}
private static void registerMushrooms() {
Item item = Item.getItemFromBlock(ModBlocks.mushroom);
for (EnumDyeColor color : EnumDyeColor.values()) {
String name = "botania:mushroom_" + color.getName();
ModelLoader.addVariantName(item, name);
ModelLoader.registerItemVariants(item, new ModelResourceLocation(name, "inventory"));
ModelLoader.setCustomModelResourceLocation(item, color.getMetadata(), new ModelResourceLocation(name, "inventory"));
}
}
@@ -341,34 +332,18 @@ public final class ModelHandler {
Item item = Item.getItemFromBlock(ModBlocks.flower);
for (EnumDyeColor color : EnumDyeColor.values()) {
String name = "botania:flower_" + color.getName();
ModelLoader.addVariantName(item, name);
ModelLoader.registerItemVariants(item, new ModelResourceLocation(name, "inventory"));
ModelLoader.setCustomModelResourceLocation(item, color.getMetadata(), new ModelResourceLocation(name, "inventory"));
}
item = Item.getItemFromBlock(ModBlocks.shinyFlower);
for (EnumDyeColor color : EnumDyeColor.values()) {
String name = "botania:shinyFlower_" + color.getName();
ModelLoader.addVariantName(item, name);
ModelLoader.registerItemVariants(item, new ModelResourceLocation(name, "inventory"));
ModelLoader.setCustomModelResourceLocation(item, color.getMetadata(), new ModelResourceLocation(name, "inventory"));
}
}
private static void registerLivingRockWood() {
Item item = Item.getItemFromBlock(ModBlocks.livingrock);
for (LivingRockVariant variant : LivingRockVariant.values()) {
String name = "botania:livingrock_" + variant.getName();
ModelLoader.addVariantName(item, name);
ModelLoader.setCustomModelResourceLocation(item, variant.ordinal(), new ModelResourceLocation(name, "inventory"));
}
item = Item.getItemFromBlock(ModBlocks.livingwood);
for (LivingWoodVariant variant : LivingWoodVariant.values()) {
String name = "botania:livingwood_" + variant.getName();
ModelLoader.addVariantName(item, name);
ModelLoader.setCustomModelResourceLocation(item, variant.ordinal(), new ModelResourceLocation(name, "inventory"));
}
}
private static void registerStairs() {
for (Block b : ModFluffBlocks.stoneStairs) {
registerItemModel(b);
@@ -418,19 +393,28 @@ public final class ModelHandler {
}
private static void registerWalls() {
Item item = Item.getItemFromBlock(ModFluffBlocks.biomeStoneWall);
for (BiomeStoneVariant variant : ((Collection<BiomeStoneVariant>) BotaniaStateProps.BIOMESTONEWALL_VARIANT.getAllowedValues())) {
String variantName = "inventory_" + variant.getName();
ModelLoader.registerItemVariants(item, new ModelResourceLocation("botania:biomeStoneA0Wall", variantName));
ModelLoader.setCustomModelResourceLocation(item, variant.ordinal() - 8, new ModelResourceLocation("botania:biomeStoneA0Wall", variantName));
}
item = Item.getItemFromBlock(ModFluffBlocks.stoneWall);
for (FutureStoneVariant variant : ((Collection<FutureStoneVariant>) BotaniaStateProps.FUTURESTONEWALL_VARIANT.getAllowedValues())) {
String variantName = "inventory_" + variant.getName();
ModelLoader.registerItemVariants(item, new ModelResourceLocation("botania:stone0Wall", variantName));
ModelLoader.setCustomModelResourceLocation(item, variant.ordinal(), new ModelResourceLocation("botania:stone0Wall", variantName));
}
}
private static void registerPanes() {
registerItemModel(ModFluffBlocks.alfglassPane);
registerItemModel(ModFluffBlocks.bifrostPane);
registerItemModel(ModFluffBlocks.managlassPane);
}
private static void registerPylons() {
Item item = Item.getItemFromBlock(ModBlocks.pylon);
ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation("botania:pylon", "variant=mana"));
ModelLoader.setCustomModelResourceLocation(item, 1, new ModelResourceLocation("botania:pylon", "variant=natura"));
ModelLoader.setCustomModelResourceLocation(item, 2, new ModelResourceLocation("botania:pylon", "variant=gaia"));
}
private static void registerUnstableBeaconPetal() {
// The blocks that are dynamically colored, not through their states
for (EnumDyeColor color : EnumDyeColor.values()) {
@@ -443,15 +427,16 @@ public final class ModelHandler {
}
}
private static void registerDrums() {
Item item = Item.getItemFromBlock(ModBlocks.forestDrum);
for (LivingRockVariant variant : LivingRockVariant.values()) {
String name = "botania:drum_" + variant.getName();
ModelLoader.addVariantName(item, name);
ModelLoader.setCustomModelResourceLocation(item, variant.ordinal(), new ModelResourceLocation(name, "inventory"));
private static <T extends Enum<T> & IStringSerializable> void registerVariantsDefaulted(Block b, Class<T> enumclazz, String baseName, String variantHeader) {
Item item = Item.getItemFromBlock(b);
for (T e : enumclazz.getEnumConstants()) {
String variantName = variantHeader + "=" + e.getName();
ModelLoader.registerItemVariants(item, new ModelResourceLocation(baseName, variantName));
ModelLoader.setCustomModelResourceLocation(item, e.ordinal(), new ModelResourceLocation(baseName, variantName));
}
}
private static void registerItemModel(Block b) {
registerItemModel(Item.getItemFromBlock(b));
}
@@ -17,6 +17,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.registry.GameRegistry;
import vazkii.botania.api.lexicon.LexiconEntry;
@@ -31,10 +32,10 @@ import java.util.List;
public class Block18StoneWall extends BlockModWall {
public Block18StoneWall() {
super(ModFluffBlocks.stone, 4);
super(ModFluffBlocks.stone, 0);
setHardness(1.5F);
setResistance(10F);
setDefaultState(getDefaultState().withProperty(BotaniaStateProps.FUTURESTONEWALL_VARIANT, FutureStoneVariant.ANDESITE).withProperty(VARIANT, EnumType.NORMAL));
setDefaultState(blockState.getBaseState().withProperty(BotaniaStateProps.FUTURESTONEWALL_VARIANT, FutureStoneVariant.ANDESITE).withProperty(VARIANT, EnumType.NORMAL));
}
@Override
@@ -52,7 +53,12 @@ public class Block18StoneWall extends BlockModWall {
if (meta < 0 || meta > 3) {
meta = 0;
}
return getDefaultState().withProperty(BotaniaStateProps.FUTURESTONEWALL_VARIANT, FutureStoneVariant.values()[meta]).withProperty(VARIANT, EnumType.NORMAL);
return getDefaultState().withProperty(BotaniaStateProps.FUTURESTONEWALL_VARIANT, FutureStoneVariant.values()[meta]);
}
@Override
public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
return super.getActualState(state, worldIn, pos).withProperty(VARIANT, EnumType.NORMAL);
}
@Override
@@ -71,4 +77,9 @@ public class Block18StoneWall extends BlockModWall {
return LexiconData.stoneAlchemy;
}
@Override
public int damageDropped(IBlockState state) {
return getMetaFromState(state);
}
}
@@ -17,6 +17,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.registry.GameRegistry;
import vazkii.botania.api.lexicon.LexiconEntry;
@@ -31,28 +32,33 @@ import java.util.List;
public class BlockBiomeStoneWall extends BlockModWall {
public BlockBiomeStoneWall() {
super(ModFluffBlocks.biomeStoneA, 8);
super(ModFluffBlocks.biomeStoneA, 0);
setHardness(1.5F);
setResistance(10F);
setDefaultState(getDefaultState().withProperty(BotaniaStateProps.BIOMESTONE_VARIANT, BiomeStoneVariant.FOREST).withProperty(VARIANT, EnumType.NORMAL));
setDefaultState(blockState.getBaseState().withProperty(BotaniaStateProps.BIOMESTONEWALL_VARIANT, BiomeStoneVariant.FOREST_COBBLE).withProperty(VARIANT, EnumType.NORMAL));
}
@Override
public BlockState createBlockState() {
return new BlockState(this, VARIANT, UP, NORTH, SOUTH, WEST, EAST, BotaniaStateProps.BIOMESTONE_VARIANT);
return new BlockState(this, VARIANT, UP, NORTH, SOUTH, WEST, EAST, BotaniaStateProps.BIOMESTONEWALL_VARIANT);
}
@Override
public int getMetaFromState(IBlockState state) {
return ((Enum) state.getValue(BotaniaStateProps.BIOMESTONE_VARIANT)).ordinal();
return ((Enum) state.getValue(BotaniaStateProps.BIOMESTONEWALL_VARIANT)).ordinal() - 8;
}
@Override
public IBlockState getStateFromMeta(int meta) {
if (meta < 0 || meta >= BiomeStoneVariant.values().length) {
if (meta < 0 || meta >= BotaniaStateProps.BIOMESTONEWALL_VARIANT.getAllowedValues().size()) {
meta = 0;
}
return getDefaultState().withProperty(BotaniaStateProps.BIOMESTONE_VARIANT, BiomeStoneVariant.values()[meta]).withProperty(VARIANT, EnumType.NORMAL);
return getDefaultState().withProperty(BotaniaStateProps.BIOMESTONEWALL_VARIANT, BiomeStoneVariant.values()[meta + 8]);
}
@Override
public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
return super.getActualState(state, worldIn, pos).withProperty(VARIANT, EnumType.NORMAL);
}
@Override
@@ -71,4 +77,9 @@ public class BlockBiomeStoneWall extends BlockModWall {
return LexiconData.marimorphosis;
}
@Override
public int damageDropped(IBlockState state) {
return getMetaFromState(state);
}
}
@@ -1,10 +1,30 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:cube_bottom_top",
"textures": { "bottom": "minecraft:blocks/dirt" },
"transform": "forge:default-block"
},
"variants": {
"variant=dry": { "model": "botania:altGrass_dry" },
"variant=golden": { "model": "botania:altGrass_golden" },
"variant=vivid": { "model": "botania:altGrass_vivid" },
"variant=scorched": { "model": "botania:altGrass_scorched" },
"variant=infused": { "model": "botania:altGrass_infused" },
"variant=mutated": { "model": "botania:altGrass_mutated" }
"variant": {
"dry": {
"textures": { "top": "botania:blocks/altGrass0", "side": "botania:blocks/altGrass1" }
},
"golden": {
"textures": { "top": "botania:blocks/altGrass2", "side": "botania:blocks/altGrass3" }
},
"vivid": {
"textures": { "top": "botania:blocks/altGrass4", "side": "botania:blocks/altGrass5" }
},
"scorched": {
"textures": { "top": "botania:blocks/altGrass6", "side": "botania:blocks/altGrass7" }
},
"infused": {
"textures": { "top": "botania:blocks/altGrass8", "side": "botania:blocks/altGrass9" }
},
"mutated": {
"textures": { "top": "botania:blocks/altGrass10", "side": "botania:blocks/altGrass11" }
}
}
}
}
@@ -0,0 +1,90 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:wall_post",
"uvlock": true,
"transform": "forge:default-block"
},
"variants": {
"east=false,north=true,south=true,up=false,variant=forest_cobble,west=false": { "model": null },
"east=false,north=true,south=true,up=false,variant=plains_cobble,west=false": { "model": null },
"east=false,north=true,south=true,up=false,variant=mountain_cobble,west=false": { "model": null },
"east=false,north=true,south=true,up=false,variant=fungal_cobble,west=false": { "model": null },
"east=false,north=true,south=true,up=false,variant=swamp_cobble,west=false": { "model": null },
"east=false,north=true,south=true,up=false,variant=desert_cobble,west=false": { "model": null },
"east=false,north=true,south=true,up=false,variant=taiga_cobble,west=false": { "model": null },
"east=false,north=true,south=true,up=false,variant=mesa_cobble,west=false": { "model": null },
"east=true,north=false,south=false,up=false,variant=forest_cobble,west=true": { "model": null },
"east=true,north=false,south=false,up=false,variant=plains_cobble,west=true": { "model": null },
"east=true,north=false,south=false,up=false,variant=mountain_cobble,west=true": { "model": null },
"east=true,north=false,south=false,up=false,variant=fungal_cobble,west=true": { "model": null },
"east=true,north=false,south=false,up=false,variant=swamp_cobble,west=true": { "model": null },
"east=true,north=false,south=false,up=false,variant=desert_cobble,west=true": { "model": null },
"east=true,north=false,south=false,up=false,variant=taiga_cobble,west=true": { "model": null },
"east=true,north=false,south=false,up=false,variant=mesa_cobble,west=true": { "model": null },
"north": {
"true": { "submodel": "botania:wall_connect" },
"false": {}
},
"south": {
"true": { "submodel": "botania:wall_connect", "y": 180 },
"false": {}
},
"west": {
"true": { "submodel": "botania:wall_connect", "y": 270 },
"false": {}
},
"east": {
"true": { "submodel": "botania:wall_connect", "y": 90 },
"false": {}
},
"up": {
"true": {},
"false": {}
},
"variant": {
"forest_cobble": { "textures": { "wall": "botania:blocks/biomeStone8" } },
"plains_cobble": { "textures": { "wall": "botania:blocks/biomeStone9" } },
"mountain_cobble": { "textures": { "wall": "botania:blocks/biomeStone10" } },
"fungal_cobble": { "textures": { "wall": "botania:blocks/biomeStone11" } },
"swamp_cobble": { "textures": { "wall": "botania:blocks/biomeStone12" } },
"desert_cobble": { "textures": { "wall": "botania:blocks/biomeStone13" } },
"taiga_cobble": { "textures": { "wall": "botania:blocks/biomeStone14" } },
"mesa_cobble": { "textures": { "wall": "botania:blocks/biomeStone15" } }
},
"inventory_forest_cobble": [{
"textures": { "wall": "botania:blocks/biomeStone8" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}],
"inventory_plains_cobble": [{
"textures": { "wall": "botania:blocks/biomeStone9" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}],
"inventory_mountain_cobble": [{
"textures": { "wall": "botania:blocks/biomeStone10" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}],
"inventory_fungal_cobble": [{
"textures": { "wall": "botania:blocks/biomeStone11" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}],
"inventory_swamp_cobble": [{
"textures": { "wall": "botania:blocks/biomeStone12" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}],
"inventory_desert_cobble": [{
"textures": { "wall": "botania:blocks/biomeStone13" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}],
"inventory_taiga_cobble": [{
"textures": { "wall": "botania:blocks/biomeStone14" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}],
"inventory_mesa_cobble": [{
"textures": { "wall": "botania:blocks/biomeStone15" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}]
}
}
@@ -1,7 +1,12 @@
{
"forge_marker": 1,
"defaults": {
"model": "botania:drum",
"transform": "forge:default-block"
},
"variants": {
"variant=wild": { "model": "botania:drum_wild" },
"variant=gathering": { "model": "botania:drum_gathering" },
"variant=canopy": { "model": "botania:drum_canopy" }
"variant=wild": [{ "textures": { "top": "botania:blocks/forestDrum0", "side": "botania:blocks/forestDrum1" } }],
"variant=gathering": [{ "textures": { "top": "botania:blocks/forestDrum2", "side": "botania:blocks/forestDrum3" } }],
"variant=canopy": [{ "textures": { "top": "botania:blocks/forestDrum4", "side": "botania:blocks/forestDrum5" } }]
}
}
@@ -1,19 +1,14 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:cube_all",
"transform": "forge:default-block"
},
"variants": {
"variant=default": {
"model": "botania:livingrock_default"
},
"variant=brick": {
"model": "botania:livingrock_brick"
},
"variant=mossy_brick": {
"model": "botania:livingrock_mossy_brick"
},
"variant=cracked_brick": {
"model": "botania:livingrock_cracked_brick"
},
"variant=chiseled_brick": {
"model": "botania:livingrock_chiseled_brick"
}
"variant=default": [{ "textures": { "all": "botania:blocks/livingrock0" } }],
"variant=brick": [{ "textures": { "all": "botania:blocks/livingrock1" } }],
"variant=mossy_brick": [{ "textures": { "all": "botania:blocks/livingrock2" } }],
"variant=cracked_brick": [{ "textures": { "all": "botania:blocks/livingrock3" } }],
"variant=chiseled_brick": [{ "textures": { "all": "botania:blocks/livingrock4" } }]
}
}
@@ -1,10 +1,15 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:cube_all",
"transform": "forge:default-block"
},
"variants": {
"variant=default": { "model": "botania:livingwood_default" },
"variant=planks": { "model": "botania:livingwood_planks" },
"variant=mossy_planks": { "model": "botania:livingwood_mossy_planks" },
"variant=framed": { "model": "botania:livingwood_framed" },
"variant=pattern_framed": { "model": "botania:livingwood_pattern_framed" },
"variant=glimmering": { "model": "botania:livingwood_glimmering" }
"variant=default": [{ "textures": { "all": "botania:blocks/livingwood0" } }],
"variant=planks": [{ "textures": { "all": "botania:blocks/livingwood1" } }],
"variant=mossy_planks": [{ "textures": { "all": "botania:blocks/livingwood2" } }],
"variant=framed": [{ "textures": { "all": "botania:blocks/livingwood3" } }],
"variant=pattern_framed": [{ "textures": { "all": "botania:blocks/livingwood4" } }],
"variant=glimmering": [{ "textures": { "all": "botania:blocks/livingwood5" } }]
}
}
@@ -0,0 +1,62 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:wall_post",
"uvlock": true,
"transform": "forge:default-block"
},
"variants": {
"east=false,north=true,south=true,up=false,variant=andesite,west=false": { "model": null },
"east=false,north=true,south=true,up=false,variant=basalt,west=false": { "model": null },
"east=false,north=true,south=true,up=false,variant=diorite,west=false": { "model": null },
"east=false,north=true,south=true,up=false,variant=granite,west=false": { "model": null },
"east=true,north=false,south=false,up=false,variant=andesite,west=true": { "model": null },
"east=true,north=false,south=false,up=false,variant=basalt,west=true": { "model": null },
"east=true,north=false,south=false,up=false,variant=diorite,west=true": { "model": null },
"east=true,north=false,south=false,up=false,variant=granite,west=true": { "model": null },
"north": {
"true": { "submodel": "botania:wall_connect" },
"false": {}
},
"south": {
"true": { "submodel": "botania:wall_connect", "y": 180 },
"false": {}
},
"west": {
"true": { "submodel": "botania:wall_connect", "y": 270 },
"false": {}
},
"east": {
"true": { "submodel": "botania:wall_connect", "y": 90 },
"false": {}
},
"up": {
"true": {},
"false": {}
},
"variant": {
"andesite": { "textures": { "wall": "botania:blocks/stone0" } },
"basalt": { "textures": { "wall": "botania:blocks/stone1" } },
"diorite": { "textures": { "wall": "botania:blocks/stone2" } },
"granite": { "textures": { "wall": "botania:blocks/stone3" } }
},
"inventory_andesite": [{
"textures": { "wall": "botania:blocks/stone0" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}],
"inventory_basalt": [{
"textures": { "wall": "botania:blocks/stone1" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}],
"inventory_diorite": [{
"textures": { "wall": "botania:blocks/stone2" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}],
"inventory_granite": [{
"textures": { "wall": "botania:blocks/stone3" },
"submodel": { "north": { "model": "botania:wall_connect" }, "south": { "model": "botania:wall_connect", "y": 180 }}
}]
}
}
@@ -1,9 +1,14 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:cube_all",
"transform": "forge:default-block"
},
"variants": {
"variant=manasteel": { "model": "botania:storage_manasteel" },
"variant=terrasteel": { "model": "botania:storage_terrasteel" },
"variant=elementium": { "model": "botania:storage_elementium" },
"variant=mana_diamond": { "model": "botania:storage_mana_diamond" },
"variant=dragonstone": { "model": "botania:storage_dragonstone" }
"variant=manasteel": [{ "textures": { "all": "botania:blocks/storage0" } }],
"variant=terrasteel": [{ "textures": { "all": "botania:blocks/storage1" } }],
"variant=elementium": [{ "textures": { "all": "botania:blocks/storage2" } }],
"variant=mana_diamond": [{ "textures": { "all": "botania:blocks/storage3" } }],
"variant=dragonstone": [{ "textures": { "all": "botania:blocks/storage4" } }]
}
}
@@ -1,8 +0,0 @@
{
"parent": "minecraft:block/cube_bottom_top",
"textures": {
"top": "botania:blocks/altGrass0",
"side": "botania:blocks/altGrass1",
"bottom": "minecraft:blocks/dirt"
}
}
@@ -1,8 +0,0 @@
{
"parent": "minecraft:block/cube_bottom_top",
"textures": {
"top": "botania:blocks/altGrass2",
"side": "botania:blocks/altGrass3",
"bottom": "minecraft:blocks/dirt"
}
}
@@ -1,8 +0,0 @@
{
"parent": "minecraft:block/cube_bottom_top",
"textures": {
"top": "botania:blocks/altGrass8",
"side": "botania:blocks/altGrass9",
"bottom": "minecraft:blocks/dirt"
}
}
@@ -1,8 +0,0 @@
{
"parent": "minecraft:block/cube_bottom_top",
"textures": {
"top": "botania:blocks/altGrass10",
"side": "botania:blocks/altGrass11",
"bottom": "minecraft:blocks/dirt"
}
}
@@ -1,8 +0,0 @@
{
"parent": "minecraft:block/cube_bottom_top",
"textures": {
"top": "botania:blocks/altGrass6",
"side": "botania:blocks/altGrass7",
"bottom": "minecraft:blocks/dirt"
}
}
@@ -1,8 +0,0 @@
{
"parent": "minecraft:block/cube_bottom_top",
"textures": {
"top": "botania:blocks/altGrass4",
"side": "botania:blocks/altGrass5",
"bottom": "minecraft:blocks/dirt"
}
}
@@ -1,7 +0,0 @@
{
"parent": "botania:block/drum",
"textures": {
"top": "botania:blocks/forestDrum4",
"side": "botania:blocks/forestDrum5"
}
}
@@ -1,7 +0,0 @@
{
"parent": "botania:block/drum",
"textures": {
"top": "botania:blocks/forestDrum2",
"side": "botania:blocks/forestDrum3"
}
}
@@ -1,7 +0,0 @@
{
"parent": "botania:block/drum",
"textures": {
"top": "botania:blocks/forestDrum0",
"side": "botania:blocks/forestDrum1"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingrock1"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingrock4"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingrock3"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingrock0"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingrock2"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingwood0"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingwood3"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingwood5"
}
}
@@ -1,8 +0,0 @@
{
"parent": "minecraft:block/inner_stairs",
"textures": {
"bottom": "botania:blocks/livingwood0",
"top": "botania:blocks/livingwood0",
"side": "botania:blocks/livingwood0"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingwood2"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingwood4"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/livingwood1"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/storage4"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/storage2"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/storage3"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/storage0"
}
}
@@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "botania:blocks/storage1"
}
}
@@ -0,0 +1,19 @@
{
"__comment": "Stolen from the Forge example/debug code",
"textures": {
"particle": "#wall"
},
"elements": [
{ "from": [ 5, 0, 0 ],
"to": [ 11, 13, 8 ],
"faces": {
"down": { "uv": [ 5, 0, 11, 8 ], "texture": "#wall", "cullface": "down" },
"up": { "uv": [ 5, 0, 11, 8 ], "texture": "#wall" },
"north": { "uv": [ 5, 3, 11, 16 ], "texture": "#wall", "cullface": "north" },
"west": { "uv": [ 0, 3, 8, 16 ], "texture": "#wall" },
"east": { "uv": [ 0, 3, 8, 16 ], "texture": "#wall" }
},
"__comment": "North wall"
}
]
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/altGrass_dry",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/altGrass_golden",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/altGrass_infused",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/altGrass_mutated",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/altGrass_scorched",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/altGrass_vivid",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/drum_canopy",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/drum_gathering",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/drum_wild",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingrock_brick",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingrock_chiseled_brick",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingrock_cracked_brick",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingrock_default",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingrock_mossy_brick",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingwood_default",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingwood_framed",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingwood_glimmering",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingwood_mossy_planks",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingwood_pattern_framed",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/livingwood_planks",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/storage_dragonstone",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/storage_elementium",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/storage_mana_diamond",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/storage_manasteel",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
@@ -1,10 +0,0 @@
{
"parent": "botania:block/storage_terrasteel",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}