diff --git a/src/main/java/biomesoplenty/api/block/BOPBlocks.java b/src/main/java/biomesoplenty/api/block/BOPBlocks.java index 837971eff..4a4332488 100644 --- a/src/main/java/biomesoplenty/api/block/BOPBlocks.java +++ b/src/main/java/biomesoplenty/api/block/BOPBlocks.java @@ -15,5 +15,7 @@ public class BOPBlocks public static Block ash_block; public static Block log; public static Block log2; + public static Block log3; + public static Block log4; public static Block planks; } diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPLog3.java b/src/main/java/biomesoplenty/common/block/BlockBOPLog3.java new file mode 100644 index 000000000..d4ca1e885 --- /dev/null +++ b/src/main/java/biomesoplenty/common/block/BlockBOPLog3.java @@ -0,0 +1,82 @@ +/******************************************************************************* + * Copyright 2014, the Biomes O' Plenty Team + * + * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. + * + * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. + ******************************************************************************/ + +package biomesoplenty.common.block; + +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.properties.PropertyEnum; +import net.minecraft.block.state.BlockState; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.EnumFacing; +import biomesoplenty.api.block.IBOPVariant; + +public class BlockBOPLog3 extends BlockBOPLogBase +{ + public static final PropertyEnum VARIANT_PROP = PropertyEnum.create("variant", LogType.class); + + public BlockBOPLog3() + { + super(VARIANT_PROP); + } + + @Override + public IBlockState getStateFromMeta(int meta) + { + int axis = meta % 3; + int type = (meta - axis) / 3; + + return this.getDefaultState().withProperty(VARIANT_PROP, LogType.values()[type]).withProperty(AXIS_PROP, EnumFacing.Axis.values()[axis]); + } + + @Override + public int getMetaFromState(IBlockState state) + { + int baseMeta = ((LogType)state.getValue(VARIANT_PROP)).ordinal(); + + return baseMeta * 3 + ((EnumFacing.Axis)state.getValue(AXIS_PROP)).ordinal(); + } + + @Override + protected BlockState createBlockState() + { + return new BlockState(this, new IProperty[] { AXIS_PROP, VARIANT_PROP }); + } + + public static enum LogType implements IBOPVariant + { + DEAD, + GIANT_FLOWER_STEM, + PINE, + HELL_BARK, + JACARANDA; + + @Override + public String getBaseName() + { + return this.equals(GIANT_FLOWER_STEM) ? null : "log"; + } + + @Override + public String getName() + { + return this.name().toLowerCase(); + } + + @Override + public String toString() + { + return getName(); + } + + @Override + public int getDefaultMetadata() + { + return this.ordinal() * 3; + } + } +} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPLog4.java b/src/main/java/biomesoplenty/common/block/BlockBOPLog4.java new file mode 100644 index 000000000..6b574f164 --- /dev/null +++ b/src/main/java/biomesoplenty/common/block/BlockBOPLog4.java @@ -0,0 +1,78 @@ +/******************************************************************************* + * Copyright 2014, the Biomes O' Plenty Team + * + * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. + * + * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. + ******************************************************************************/ + +package biomesoplenty.common.block; + +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.properties.PropertyEnum; +import net.minecraft.block.state.BlockState; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.EnumFacing; +import biomesoplenty.api.block.IBOPVariant; + +public class BlockBOPLog4 extends BlockBOPLogBase +{ + public static final PropertyEnum VARIANT_PROP = PropertyEnum.create("variant", LogType.class); + + public BlockBOPLog4() + { + super(VARIANT_PROP); + } + + @Override + public IBlockState getStateFromMeta(int meta) + { + int axis = meta % 3; + int type = (meta - axis) / 3; + + return this.getDefaultState().withProperty(VARIANT_PROP, LogType.values()[type]).withProperty(AXIS_PROP, EnumFacing.Axis.values()[axis]); + } + + @Override + public int getMetaFromState(IBlockState state) + { + int baseMeta = ((LogType)state.getValue(VARIANT_PROP)).ordinal(); + + return baseMeta * 3 + ((EnumFacing.Axis)state.getValue(AXIS_PROP)).ordinal(); + } + + @Override + protected BlockState createBlockState() + { + return new BlockState(this, new IProperty[] { AXIS_PROP, VARIANT_PROP }); + } + + public static enum LogType implements IBOPVariant + { + MAHOGANY; + + @Override + public String getBaseName() + { + return "log"; + } + + @Override + public String getName() + { + return this.name().toLowerCase(); + } + + @Override + public String toString() + { + return getName(); + } + + @Override + public int getDefaultMetadata() + { + return this.ordinal() * 3; + } + } +} diff --git a/src/main/java/biomesoplenty/common/init/ModBlocks.java b/src/main/java/biomesoplenty/common/init/ModBlocks.java index 1447913c5..934773850 100644 --- a/src/main/java/biomesoplenty/common/init/ModBlocks.java +++ b/src/main/java/biomesoplenty/common/init/ModBlocks.java @@ -11,7 +11,6 @@ package biomesoplenty.common.init; import static biomesoplenty.api.block.BOPBlocks.*; import net.minecraft.block.Block; import net.minecraft.item.Item; -import net.minecraft.util.IStringSerializable; import biomesoplenty.api.block.BOPBlock; import biomesoplenty.api.block.IBOPVariant; import biomesoplenty.client.util.ModelHelper; @@ -19,6 +18,8 @@ import biomesoplenty.common.block.BOPBlockPlanks; import biomesoplenty.common.block.BlockAsh; import biomesoplenty.common.block.BlockBOPLog; import biomesoplenty.common.block.BlockBOPLog2; +import biomesoplenty.common.block.BlockBOPLog3; +import biomesoplenty.common.block.BlockBOPLog4; import biomesoplenty.common.item.ItemBlockWithVariants; import biomesoplenty.common.util.RegistryUtil; import biomesoplenty.core.BiomesOPlenty; @@ -30,6 +31,8 @@ public class ModBlocks ash_block = registerBlock(new BlockAsh(), "ash_block"); log = registerBlock(new BlockBOPLog(), "log"); log2 = registerBlock(new BlockBOPLog2(), "log2"); + log3 = registerBlock(new BlockBOPLog3(), "log3"); + log4 = registerBlock(new BlockBOPLog4(), "log4"); planks = registerBlock(new BOPBlockPlanks(), "planks"); } diff --git a/src/main/resources/assets/biomesoplenty/blockstates/log3.json b/src/main/resources/assets/biomesoplenty/blockstates/log3.json new file mode 100755 index 000000000..54beabc39 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/log3.json @@ -0,0 +1,19 @@ +{ + "variants": { + "axis=x,variant=dead": { "model": "biomesoplenty:dead_log", "x": 90, "y": 90 }, + "axis=y,variant=dead": { "model": "biomesoplenty:dead_log" }, + "axis=z,variant=dead": { "model": "biomesoplenty:dead_log", "x": 90 }, + "axis=x,variant=giant_flower_stem": { "model": "biomesoplenty:giant_flower_stem", "x": 90, "y": 90 }, + "axis=y,variant=giant_flower_stem": { "model": "biomesoplenty:giant_flower_stem" }, + "axis=z,variant=giant_flower_stem": { "model": "biomesoplenty:giant_flower_stem", "x": 90 }, + "axis=x,variant=pine": { "model": "biomesoplenty:pine_log", "x": 90, "y": 90 }, + "axis=y,variant=pine": { "model": "biomesoplenty:pine_log" }, + "axis=z,variant=pine": { "model": "biomesoplenty:pine_log", "x": 90 }, + "axis=x,variant=hell_bark": { "model": "biomesoplenty:hell_bark_log", "x": 90, "y": 90 }, + "axis=y,variant=hell_bark": { "model": "biomesoplenty:hell_bark_log" }, + "axis=z,variant=hell_bark": { "model": "biomesoplenty:hell_bark_log", "x": 90 }, + "axis=x,variant=jacaranda": { "model": "biomesoplenty:jacaranda_log", "x": 90, "y": 90 }, + "axis=y,variant=jacaranda": { "model": "biomesoplenty:jacaranda_log" }, + "axis=z,variant=jacaranda": { "model": "biomesoplenty:jacaranda_log", "x": 90 } + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/log4.json b/src/main/resources/assets/biomesoplenty/blockstates/log4.json new file mode 100755 index 000000000..fdf86b247 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/log4.json @@ -0,0 +1,7 @@ +{ + "variants": { + "axis=x,variant=mahogany": { "model": "biomesoplenty:mahogany_log", "x": 90, "y": 90 }, + "axis=y,variant=mahogany": { "model": "biomesoplenty:mahogany_log" }, + "axis=z,variant=mahogany": { "model": "biomesoplenty:mahogany_log", "x": 90 } + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/dead_log.json b/src/main/resources/assets/biomesoplenty/models/block/dead_log.json new file mode 100644 index 000000000..5afab3abe --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/dead_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "biomesoplenty:blocks/dead_log_top", + "side": "biomesoplenty:blocks/dead_log" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/giant_flower_stem.json b/src/main/resources/assets/biomesoplenty/models/block/giant_flower_stem.json new file mode 100644 index 000000000..1ebb77501 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/giant_flower_stem.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "biomesoplenty:blocks/giant_flower_stem_top", + "side": "biomesoplenty:blocks/giant_flower_stem" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hell_bark_log.json b/src/main/resources/assets/biomesoplenty/models/block/hell_bark_log.json new file mode 100644 index 000000000..f77862f29 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/hell_bark_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "biomesoplenty:blocks/hell_bark_log_top", + "side": "biomesoplenty:blocks/hell_bark_log" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_log.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_log.json new file mode 100644 index 000000000..896f1d2de --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "biomesoplenty:blocks/jacaranda_log_top", + "side": "biomesoplenty:blocks/jacaranda_log" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_log.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_log.json new file mode 100644 index 000000000..be5a0f9a0 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/mahogany_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "biomesoplenty:blocks/mahogany_log_top", + "side": "biomesoplenty:blocks/mahogany_log" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_log.json b/src/main/resources/assets/biomesoplenty/models/block/pine_log.json new file mode 100644 index 000000000..e7dfe7b62 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/pine_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "biomesoplenty:blocks/pine_log_top", + "side": "biomesoplenty:blocks/pine_log" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/dead_log.json b/src/main/resources/assets/biomesoplenty/models/item/dead_log.json new file mode 100644 index 000000000..56b7cba68 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/dead_log.json @@ -0,0 +1,10 @@ +{ + "parent": "biomesoplenty:block/dead_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/giant_flower_stem.json b/src/main/resources/assets/biomesoplenty/models/item/giant_flower_stem.json new file mode 100644 index 000000000..4b2988881 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/giant_flower_stem.json @@ -0,0 +1,10 @@ +{ + "parent": "biomesoplenty:block/giant_flower_stem", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/hell_bark_log.json b/src/main/resources/assets/biomesoplenty/models/item/hell_bark_log.json new file mode 100644 index 000000000..2bb9e4b69 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/hell_bark_log.json @@ -0,0 +1,10 @@ +{ + "parent": "biomesoplenty:block/hell_bark_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_log.json b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_log.json new file mode 100644 index 000000000..b14226360 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_log.json @@ -0,0 +1,10 @@ +{ + "parent": "biomesoplenty:block/jacaranda_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mahogany_log.json b/src/main/resources/assets/biomesoplenty/models/item/mahogany_log.json new file mode 100644 index 000000000..000964982 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/mahogany_log.json @@ -0,0 +1,10 @@ +{ + "parent": "biomesoplenty:block/mahogany_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/pine_log.json b/src/main/resources/assets/biomesoplenty/models/item/pine_log.json new file mode 100644 index 000000000..ea79c2af5 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/pine_log.json @@ -0,0 +1,10 @@ +{ + "parent": "biomesoplenty:block/pine_log", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log.png new file mode 100644 index 000000000..40d9b34cc Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log_top.png new file mode 100644 index 000000000..6eaa85386 Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log_top.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem.png b/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem.png new file mode 100644 index 000000000..e30a40dc7 Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem_top.png new file mode 100644 index 000000000..4f54d9abd Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem_top.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hell_bark_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/hell_bark_log.png new file mode 100644 index 000000000..d73ca1951 Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/hell_bark_log.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hell_bark_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/hell_bark_log_top.png new file mode 100644 index 000000000..c205b255c Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/hell_bark_log_top.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log.png new file mode 100644 index 000000000..880e6e6f5 Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log_top.png new file mode 100644 index 000000000..15f496ca2 Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log_top.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log.png new file mode 100644 index 000000000..5bcdf759f Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log_top.png new file mode 100644 index 000000000..24f201627 Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log_top.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log.png new file mode 100644 index 000000000..fb50ee9c4 Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log_top.png new file mode 100644 index 000000000..7ccf27ba5 Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log_top.png differ