From 2706bd521d7cb7ccdef8329b564c1c4a7756504f Mon Sep 17 00:00:00 2001 From: Cheeserolls Date: Fri, 27 Mar 2015 22:47:36 +0000 Subject: [PATCH] Add origin grass --- .../common/block/BlockBOPGrass.java | 19 +++++++++++++++-- .../biomesoplenty/common/init/ModBlocks.java | 20 +++++++++--------- .../biomesoplenty/common/init/ModItems.java | 15 +++++++------ .../biomesoplenty/blockstates/grass.json | 4 +++- .../assets/biomesoplenty/lang/en_US.lang | 1 + .../models/block/origin_grass_block.json | 9 ++++++++ .../block/origin_grass_block_snowed.json | 9 ++++++++ .../models/item/origin_grass_block.json | 10 +++++++++ .../textures/blocks/dirt_origin.png | Bin 0 -> 354 bytes .../textures/blocks/grass_origin_side.png | Bin 0 -> 480 bytes .../blocks/grass_origin_side_snowed.png | Bin 0 -> 14709 bytes .../textures/blocks/grass_origin_top.png | Bin 0 -> 698 bytes 12 files changed, 67 insertions(+), 20 deletions(-) create mode 100644 src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snowed.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json create mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/dirt_origin.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_side.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_side_snowed.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_top.png diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPGrass.java b/src/main/java/biomesoplenty/common/block/BlockBOPGrass.java index b8b5b49de..25a12efb2 100644 --- a/src/main/java/biomesoplenty/common/block/BlockBOPGrass.java +++ b/src/main/java/biomesoplenty/common/block/BlockBOPGrass.java @@ -133,6 +133,10 @@ public class BlockBOPGrass extends BOPBlock implements IGrowable // smoldering grass supports no plants case SMOLDERING: return false; + + // origin grass supports all plants (including crop type - no need for hoe) + case ORIGIN: + return true; default: switch (plantType) @@ -422,7 +426,7 @@ public class BlockBOPGrass extends BOPBlock implements IGrowable // enum representing the variants of grass public static enum BOPGrassType implements IStringSerializable { - SPECTRALMOSS, SMOLDERING, LOAMY, SANDY, SILTY; + SPECTRALMOSS, SMOLDERING, LOAMY, SANDY, SILTY, ORIGIN; @Override public String getName() @@ -456,7 +460,7 @@ public class BlockBOPGrass extends BOPBlock implements IGrowable return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT_PROP, BlockBOPDirt.BOPDirtType.SANDY); case SILTY: return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT_PROP, BlockBOPDirt.BOPDirtType.SILTY); - case SMOLDERING: default: + case SMOLDERING: case ORIGIN: default: return Blocks.dirt.getStateFromMeta(BlockDirt.DirtType.DIRT.getMetadata()); } } @@ -512,6 +516,17 @@ public class BlockBOPGrass extends BOPBlock implements IGrowable { return null; } + + // origin grass spreads to any kind of dirt + case ORIGIN: + if ((target.getBlock() == Blocks.dirt && target.getValue(BlockDirt.VARIANT) == BlockDirt.DirtType.DIRT) || (target.getBlock() == BOPBlocks.dirt && Boolean.FALSE.equals(target.getValue(BlockBOPDirt.COARSE)))) + { + return BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT_PROP, BlockBOPGrass.BOPGrassType.ORIGIN); + } + else + { + return null; + } // smoldering grass doesn't spread at all case SMOLDERING: default: diff --git a/src/main/java/biomesoplenty/common/init/ModBlocks.java b/src/main/java/biomesoplenty/common/init/ModBlocks.java index 3a651c417..996a7934c 100644 --- a/src/main/java/biomesoplenty/common/init/ModBlocks.java +++ b/src/main/java/biomesoplenty/common/init/ModBlocks.java @@ -10,10 +10,8 @@ package biomesoplenty.common.init; import static biomesoplenty.api.block.BOPBlocks.*; import net.minecraft.block.Block; -import net.minecraft.block.Block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraftforge.fml.common.registry.GameRegistry; import biomesoplenty.api.block.BOPBlock; @@ -34,6 +32,7 @@ import biomesoplenty.common.block.BlockBOPStone; import biomesoplenty.common.block.BlockBamboo; import biomesoplenty.common.block.BlockBones; import biomesoplenty.common.block.BlockCoral; +import biomesoplenty.common.block.BlockCrystal; import biomesoplenty.common.block.BlockFruit; import biomesoplenty.common.block.BlockGem; import biomesoplenty.common.block.BlockGemOre; @@ -74,17 +73,18 @@ public class ModBlocks dirt = registerBlock(new BlockBOPDirt(), "dirt"); stone_formations = registerBlock(new BlockStoneFormations(),"stone_formations"); fruit_block = registerBlock(new BlockFruit(), "fruit_block"); + crystal = registerBlock(new BlockCrystal(), "crystal"); // generics - ash_stone = registerBlock(new BlockBOPGeneric(),"ash_stone"); - crag_rock = registerBlock((new BlockBOPGeneric()).setStepSound(Block.soundTypeStone),"crag_rock"); - dried_dirt = registerBlock(new BlockBOPGeneric(),"dried_dirt"); dried_dirt.setHarvestLevel("pickaxe",0); - hard_dirt = registerBlock((new BlockBOPGeneric()).setHardness(0.7F),"hard_dirt"); - hard_ice = registerBlock((new BlockBOPGeneric()).setHardness(0.75F),"hard_ice"); - hard_sand = registerBlock((new BlockBOPGeneric(Material.sand)).setHardness(0.9F).setStepSound(Block.soundTypeSand),"hard_sand"); - mud_brick = registerBlock((new BlockBOPGeneric()).setResistance(2.0F),"mud_brick"); + ash_stone = registerBlock(new BlockBOPGeneric(), "ash_stone"); + crag_rock = registerBlock((new BlockBOPGeneric()).setStepSound(Block.soundTypeStone), "crag_rock"); + dried_dirt = registerBlock(new BlockBOPGeneric(), "dried_dirt"); dried_dirt.setHarvestLevel("pickaxe",0); + hard_dirt = registerBlock((new BlockBOPGeneric()).setHardness(0.7F), "hard_dirt"); + hard_ice = registerBlock((new BlockBOPGeneric()).setHardness(0.75F), "hard_ice"); + hard_sand = registerBlock((new BlockBOPGeneric(Material.sand)).setHardness(0.9F).setStepSound(Block.soundTypeSand), "hard_sand"); + mud_brick = registerBlock((new BlockBOPGeneric()).setResistance(2.0F), "mud_brick"); + - //TODO biome_block & crystal are in 1.7 BlockBOPGeneric but actually have some special powers } private static Block registerBlock(Block block, String name) { diff --git a/src/main/java/biomesoplenty/common/init/ModItems.java b/src/main/java/biomesoplenty/common/init/ModItems.java index c757bac57..4443f9042 100644 --- a/src/main/java/biomesoplenty/common/init/ModItems.java +++ b/src/main/java/biomesoplenty/common/init/ModItems.java @@ -24,13 +24,14 @@ public class ModItems { public static void init() { - fleshchunk = registerItem(new Item(),"fleshchunk"); - mudball = registerItem(new ItemMudball(),"mudball"); - turnip_seeds = registerItem(new ItemSeeds(BOPBlocks.turnip_block, Blocks.farmland),"turnip_seeds"); - turnip = registerItem(new ItemFood(3, 0.4F, false),"turnip"); - persimmon = registerItem(new ItemFood(5, 0.2F, false),"persimmon"); - peach = registerItem(new ItemFood(5, 0.5F, false),"peach"); - pear = registerItem(new ItemFood(5, 0.3F, false),"pear"); + fleshchunk = registerItem(new Item(), "fleshchunk"); + mudball = registerItem(new ItemMudball(), "mudball"); + turnip_seeds = registerItem(new ItemSeeds(BOPBlocks.turnip_block, Blocks.farmland), "turnip_seeds"); + turnip = registerItem(new ItemFood(3, 0.4F, false), "turnip"); + persimmon = registerItem(new ItemFood(5, 0.2F, false), "persimmon"); + peach = registerItem(new ItemFood(5, 0.5F, false), "peach"); + pear = registerItem(new ItemFood(5, 0.3F, false), "pear"); + crystal_shard = registerItem(new Item(), "crystal_shard"); } private static Item registerItem(Item item, String name) diff --git a/src/main/resources/assets/biomesoplenty/blockstates/grass.json b/src/main/resources/assets/biomesoplenty/blockstates/grass.json index cbda40f0c..952a066b4 100644 --- a/src/main/resources/assets/biomesoplenty/blockstates/grass.json +++ b/src/main/resources/assets/biomesoplenty/blockstates/grass.json @@ -9,6 +9,8 @@ "snowy=false,variant=sandy_grass_block": { "model": "biomesoplenty:sandy_grass_block" }, "snowy=true,variant=sandy_grass_block": { "model": "biomesoplenty:sandy_grass_block_snowed" }, "snowy=false,variant=silty_grass_block": { "model": "biomesoplenty:silty_grass_block" }, - "snowy=true,variant=silty_grass_block": { "model": "biomesoplenty:silty_grass_block_snowed" } + "snowy=true,variant=silty_grass_block": { "model": "biomesoplenty:silty_grass_block_snowed" }, + "snowy=false,variant=origin_grass_block": { "model": "biomesoplenty:origin_grass_block" }, + "snowy=true,variant=origin_grass_block": { "model": "biomesoplenty:origin_grass_block_snowed" } } } diff --git a/src/main/resources/assets/biomesoplenty/lang/en_US.lang b/src/main/resources/assets/biomesoplenty/lang/en_US.lang index 28da0691f..31a5414bc 100644 --- a/src/main/resources/assets/biomesoplenty/lang/en_US.lang +++ b/src/main/resources/assets/biomesoplenty/lang/en_US.lang @@ -16,6 +16,7 @@ tile.grass.smoldering_grass_block.name=Smoldering Grass Block tile.grass.loamy_grass_block.name=Loamy Grass Block tile.grass.sandy_grass_block.name=Sandy Grass Block tile.grass.silty_grass_block.name=Silty Grass Block +tile.grass.origin_grass_block.name=Origin Grass Block tile.coral.pink.name=Pink Coral tile.coral.orange.name=Orange Coral diff --git a/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json b/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json new file mode 100644 index 000000000..4db84c393 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json @@ -0,0 +1,9 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "particle": "biomesoplenty:blocks/dirt_origin", + "bottom": "biomesoplenty:blocks/dirt_origin", + "top": "biomesoplenty:blocks/grass_origin_top", + "side": "biomesoplenty:blocks/grass_origin_side" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snowed.json b/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snowed.json new file mode 100644 index 000000000..89b3dd5ce --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snowed.json @@ -0,0 +1,9 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "particle": "biomesoplenty:blocks/dirt_origin", + "bottom": "biomesoplenty:blocks/dirt_origin", + "top": "biomesoplenty:blocks/grass_origin_top", + "side": "biomesoplenty:blocks/grass_origin_side_snowed" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json b/src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json new file mode 100644 index 000000000..f961331a3 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json @@ -0,0 +1,10 @@ +{ + "parent": "biomesoplenty:block/origin_grass_block", + "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/dirt_origin.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dirt_origin.png new file mode 100644 index 0000000000000000000000000000000000000000..504a6c671e423a169b527397c99b5a9d6e09d936 GIT binary patch literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvPTgx;Tbd_@_=h%gJOY;j(>huH%i_>hGJlr%hNa&OPDnfw(v4#N%ch z;c%Wa^L>4+-TL3VV-9?-Vw!wsyXn67hxi||JUCvcq04uWrL<{fN5SMnzE>kPbeC!v zadB?nyWUUx!cnE@mC1&0-6Hc1&WA8FWri?i+{$N|GrOVAPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0003`Nkl*mZwZ1$>Y;-s!GU$t=8=B&Q-kj|Axwu=4Rj|0hA zWahFleOgc3{^w-AoMIN$)X+J9)8g#DjZt*??M|IVnFL=db`sgVSx)SIqzhjeV`FmUc$5B&`B4P6d90a%k(cQlzpXfT0eL zY0vX4A>W9Nt8B1@?NKhgSq|{OLE56uP=&H)RyN>1g=dj3NTgOfmZxLs0?t|G!A^8J&P6EP`A1tLL%4S?(8Oon+f7Wn}f WOe>W$@4)>40000(GhJ9E1oww)<6 zQ`+5t5;XDSNl8o$1WXiB6GI>$|3Bx>?|$sO%xi-KPj-8jdKiZ3?(a(t;p=_Q_wFwI`^KBOFuvSV?8{gTv*=6b zJMXPW7d^-@D;I0SqxNX}X-P2(epxlfk-t(XVl~6WR#l3!GKp+<98G9?-240S6JAzR z7#68E}!B^*1=oR@Va z_GH|<#wo~-rU%)iVIo%ai#~-92y7(k7ep}<2|UIIcp=2`0w)B0LR1QcB%Wt$A8*2g zqnN2?rJ>Z?S~>hz+?%uQqQr6Ka@k)F`VDh}6Qa>5#|OATz=st+Yf87}ichzeRg=u- zNg+!ywW6&VI_u<>$BmL5_j;W|^-t}-3dMRM-Kw#}6uF9ALA~4Xtt@MI_qLX8OioiKr>EoCQAO)ub9$;acPUh7D2DGsy z8=OVRCX?=}VjoG%il#eUSH!qhQ)9*(`A|x>Q39_>(Z>gUfyi(mfS02r3LAmHDr&K( z4OPodwXq9fDHN>PfvDAv_l+vsGARL+ffTADWeu|++X<~8Pav+SPsF%JBT&{Cl9V*^ zhKWan62TbPt{J%8#U=IYmM!ZF>Q5zbgJ08B31wG~uMG2|PY|Y1<}KNO%uSQLX|jB9Ofbqs11lpjrLc=KA$k`(ZE zcRj5gZH<{uM$l0+R;LR5`*vrt+KL|z@N)@Qe=upDn3(_FQ6c-T@6i{4{1~I0%h=`zo;(|1YF~vnh1O*fqq(O`+E+Qf*ptv9nVoY%n z5kUdP1!)jtii?N{3Mei}gBVj>L_|@`DX%OR^;_@_J^+P&-zpsp6 zlnjGZ!^pT#_s3Oti{?({i!v> zmG9JNk942r7k=~j3#WE|Ht>D-x2p%vUp#Zy{F##{e%^mQvwgL67-g38U9Z2Zt~++^ zuYD0_`{oP6S>etldrfh{$YExWvT$$eBo2cguNY0Ax-#h*oA>I&TY7fodp6#Np{um`$+WB**tUWgyvJ+z_gllyO!j_la9#JF^Jex>VJaO97NHjBcQquRMu`49IT zxVrlD?)a8-7e{uyw_wTA(=UfJ>hkgjJ%^4T99ug1_1`~y@y`1je!4buKJ%kz+16JM sMi1?}BX|5n*N*uM%P-CgP2bBL{i@je>7L|M_%@mT-htGiC&qUD3(=JYo&W#< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_top.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0a6bbf10bc01bbbc218c79389c1d1274c56b84 GIT binary patch literal 698 zcmV;r0!96aP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0006hNklTp`gZa`_ z%-whCjURKA#x*X1)%LA0h;3M$^<)$3b7PT3gL}#*4kfp&N_w;cLq_KY8obj9`}B)l zQbE;ByaX8Eh7Z|IbGgOsVS=t-r7`u3px&8ItDns}{&+R=`58c-A3qr1w3J+04Qi@u z!!cwC6akVIV4yS5T0IhbdoqRY;-S6LA zbv9A8bZA_(YOFD|x4@kMj47Hdm+| z6bo>MJaL#{AAx<#;c~HJGAK@bxIDaif!L$E+VKSZ2&Dq*`Oj}Q$x*Ml|8M!t*GU8a zDy3+yoQ@?)%+~pTNsb28CSxjh{BRb+ILGw18QQz$23WWYz~9ROu50M{QEc>{-(_q; gXfPJ3shEuZ52}4`!Rnc^asU7T07*qoM6N<$f(nsB#Q*>R literal 0 HcmV?d00001