From e15a448be11c6f05b128cda402cf7c08c213533c Mon Sep 17 00:00:00 2001 From: Lizbeth Rika Date: Tue, 7 Jul 2015 16:45:57 +0100 Subject: [PATCH] Finish up the Garden of Glass worldgen. --- .../botania/common/block/BlockRoot.java | 48 ++++++++++++++++++ .../botania/common/block/ModBlocks.java | 4 +- .../common/core/BotaniaCreativeTab.java | 2 + .../vazkii/botania/common/item/ModItems.java | 2 + .../item/material/ItemManaResource.java | 5 +- .../botania/common/lib/LibBlockNames.java | 1 + .../botania/common/lib/LibItemNames.java | 4 +- .../vazkii/botania/common/lib/LibOreDict.java | 2 + .../common/world/WorldTypeSkyblock.java | 40 ++++++++++++--- .../resources/assets/botania/lang/en_US.lang | 3 ++ .../assets/botania/textures/blocks/root.png | Bin 0 -> 16942 bytes .../assets/botania/textures/items/pebble.png | Bin 0 -> 15336 bytes .../assets/botania/textures/items/root.png | Bin 0 -> 18196 bytes 13 files changed, 99 insertions(+), 12 deletions(-) create mode 100644 src/main/java/vazkii/botania/common/block/BlockRoot.java create mode 100644 src/main/resources/assets/botania/textures/blocks/root.png create mode 100644 src/main/resources/assets/botania/textures/items/pebble.png create mode 100644 src/main/resources/assets/botania/textures/items/root.png diff --git a/src/main/java/vazkii/botania/common/block/BlockRoot.java b/src/main/java/vazkii/botania/common/block/BlockRoot.java new file mode 100644 index 000000000..07204d101 --- /dev/null +++ b/src/main/java/vazkii/botania/common/block/BlockRoot.java @@ -0,0 +1,48 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under the + * Botania License: http://botaniamod.net/license.php + * + * File Created @ [Jul 7, 2015, 4:27:47 PM (GMT)] + */ +package vazkii.botania.common.block; + +import java.util.ArrayList; +import java.util.Random; + +import vazkii.botania.common.item.ModItems; +import vazkii.botania.common.lib.LibBlockNames; +import net.minecraft.block.material.Material; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class BlockRoot extends BlockMod { + + public BlockRoot() { + super(Material.plants); + setHardness(1.2F); + setStepSound(soundTypeWood); + setBlockName(LibBlockNames.ROOT); + } + + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return ModItems.manaResource; + } + + @Override + public int damageDropped(int p_149692_1_) { + return 20; + } + + @Override + public int quantityDropped(Random r) { + return 2 + r.nextInt(2); + } + +} diff --git a/src/main/java/vazkii/botania/common/block/ModBlocks.java b/src/main/java/vazkii/botania/common/block/ModBlocks.java index 95cc70cc6..9a2405f7f 100644 --- a/src/main/java/vazkii/botania/common/block/ModBlocks.java +++ b/src/main/java/vazkii/botania/common/block/ModBlocks.java @@ -231,6 +231,7 @@ public final class ModBlocks { public static Block hourglass; public static Block ghostRail; public static Block sparkChanger; + public static Block root; public static void init() { flower = new BlockModFlower(); @@ -305,7 +306,8 @@ public final class ModBlocks { hourglass = new BlockHourglass(); ghostRail = new BlockGhostRail(); sparkChanger = new BlockSparkChanger(); - + root = new BlockRoot(); + ModFluffBlocks.init(); for(int i = 0; i < 16; i++) diff --git a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java index 8a3c36261..8038dcae6 100644 --- a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java +++ b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java @@ -107,6 +107,8 @@ public final class BotaniaCreativeTab extends CreativeTabs { addBlock(ModBlocks.spawnerClaw); addItem(ModItems.blackHoleTalisman); + if(Botania.gardenOfGlassLoaded) + addBlock(ModBlocks.root); addBlock(ModBlocks.livingrock); addBlock(ModBlocks.livingwood); addBlock(ModBlocks.openCrate); diff --git a/src/main/java/vazkii/botania/common/item/ModItems.java b/src/main/java/vazkii/botania/common/item/ModItems.java index e4c89eabe..45c342ed9 100644 --- a/src/main/java/vazkii/botania/common/item/ModItems.java +++ b/src/main/java/vazkii/botania/common/item/ModItems.java @@ -405,6 +405,8 @@ public final class ModItems { OreDictionary.registerOre(LibOreDict.MANASTEEL_NUGGET, new ItemStack(manaResource, 1, 17)); OreDictionary.registerOre(LibOreDict.TERRASTEEL_NUGGET, new ItemStack(manaResource, 1, 18)); OreDictionary.registerOre(LibOreDict.ELEMENTIUM_NUGGET, new ItemStack(manaResource, 1, 19)); + OreDictionary.registerOre(LibOreDict.ROOT, new ItemStack(manaResource, 1, 20)); + OreDictionary.registerOre(LibOreDict.PEBBLE, new ItemStack(manaResource, 1, 21)); OreDictionary.registerOre(LibOreDict.VIAL, new ItemStack(vial, 1, 0)); OreDictionary.registerOre(LibOreDict.FLASK, new ItemStack(vial, 1, 1)); diff --git a/src/main/java/vazkii/botania/common/item/material/ItemManaResource.java b/src/main/java/vazkii/botania/common/item/material/ItemManaResource.java index 6854ab867..3e1c80307 100644 --- a/src/main/java/vazkii/botania/common/item/material/ItemManaResource.java +++ b/src/main/java/vazkii/botania/common/item/material/ItemManaResource.java @@ -45,7 +45,7 @@ import cpw.mods.fml.relauncher.SideOnly; public class ItemManaResource extends ItemMod implements IFlowerComponent, IElvenItem, IPickupAchievement { - final int types = 20; + final int types = 22; IIcon[] icons; public IIcon tailIcon = null; @@ -115,7 +115,8 @@ public class ItemManaResource extends ItemMod implements IFlowerComponent, IElve @SideOnly(Side.CLIENT) public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { for(int i = 0; i < types; i++) - par3List.add(new ItemStack(par1, 1, i)); + if(Botania.gardenOfGlassLoaded || (i != 20 && i != 21)) + par3List.add(new ItemStack(par1, 1, i)); } @Override diff --git a/src/main/java/vazkii/botania/common/lib/LibBlockNames.java b/src/main/java/vazkii/botania/common/lib/LibBlockNames.java index 0390c2362..7acadddd4 100644 --- a/src/main/java/vazkii/botania/common/lib/LibBlockNames.java +++ b/src/main/java/vazkii/botania/common/lib/LibBlockNames.java @@ -87,6 +87,7 @@ public final class LibBlockNames { public static final String HOURGLASS = "hourglass"; public static final String GHOST_RAIL = "ghostRail"; public static final String SPARK_CHANGER = "sparkChanger"; + public static final String ROOT = "root"; public static final String SUBTILE_PUREDAISY = "puredaisy"; public static final String SUBTILE_MANASTAR = "manastar"; diff --git a/src/main/java/vazkii/botania/common/lib/LibItemNames.java b/src/main/java/vazkii/botania/common/lib/LibItemNames.java index 54eba7757..5da4cb2d4 100644 --- a/src/main/java/vazkii/botania/common/lib/LibItemNames.java +++ b/src/main/java/vazkii/botania/common/lib/LibItemNames.java @@ -187,6 +187,8 @@ public final class LibItemNames { "manaString", "manasteelNugget", "terrasteelNugget", - "elementiumNugget" + "elementiumNugget", + "root", + "pebble" }; } diff --git a/src/main/java/vazkii/botania/common/lib/LibOreDict.java b/src/main/java/vazkii/botania/common/lib/LibOreDict.java index c5c2bb08f..3af3e791a 100644 --- a/src/main/java/vazkii/botania/common/lib/LibOreDict.java +++ b/src/main/java/vazkii/botania/common/lib/LibOreDict.java @@ -38,6 +38,8 @@ public final class LibOreDict { public static final String MANASTEEL_NUGGET = "nuggetManasteel"; public static final String TERRASTEEL_NUGGET = "nuggetTerrasteel"; public static final String ELEMENTIUM_NUGGET = "nuggetElvenElementium"; + public static final String ROOT = "root"; + public static final String PEBBLE = "pebble"; public static final String VIAL = "bVial"; public static final String FLASK = "bFlask"; diff --git a/src/main/java/vazkii/botania/common/world/WorldTypeSkyblock.java b/src/main/java/vazkii/botania/common/world/WorldTypeSkyblock.java index 85255098e..39df20308 100644 --- a/src/main/java/vazkii/botania/common/world/WorldTypeSkyblock.java +++ b/src/main/java/vazkii/botania/common/world/WorldTypeSkyblock.java @@ -13,15 +13,16 @@ package vazkii.botania.common.world; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraft.world.WorldType; -import net.minecraft.world.biome.WorldChunkManager; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.ChunkProviderFlat; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; -import cpw.mods.fml.common.FMLCommonHandler; +import vazkii.botania.common.block.ModBlocks; +import vazkii.botania.common.item.ModItems; import cpw.mods.fml.common.eventhandler.SubscribeEvent; public class WorldTypeSkyblock extends WorldType { @@ -74,20 +75,43 @@ public class WorldTypeSkyblock extends WorldType { if(isWorldSkyblock(world)) { ChunkCoordinates coords = world.getSpawnPoint(); if(world.getBlock(coords.posX, coords.posY - 4, coords.posZ) != Blocks.bedrock) { - for(int i = 0; i < 3; i++) - for(int j = 0; j < 4; j++) - for(int k = 0; k < 3; k++) - world.setBlock(coords.posX - 1 + i, coords.posY - 1 - j, coords.posZ - 1 + k, j == 0 ? Blocks.grass : Blocks.dirt); - world.setBlock(coords.posX, coords.posY - 4, coords.posZ, Blocks.bedrock); + createSkyblock(world, coords.posX, coords.posY, coords.posZ); if(player instanceof EntityPlayerMP) { EntityPlayerMP pmp = (EntityPlayerMP) player; pmp.setPositionAndUpdate(coords.posX + 0.5, coords.posY + 1.6, coords.posZ + 0.5); + pmp.inventory.addItemStackToInventory(new ItemStack(ModItems.lexicon)); } } } - } } + public void createSkyblock(World world, int x, int y, int z) { + for(int i = 0; i < 3; i++) + for(int j = 0; j < 4; j++) + for(int k = 0; k < 3; k++) + world.setBlock(x - 1 + i, y - 1 - j, z - 1 + k, j == 0 ? Blocks.grass : Blocks.dirt); + world.setBlock(x - 1, y - 2, z, Blocks.flowing_water); + world.setBlock(x + 1, y + 2, z + 1, ModBlocks.manaFlame); + + int[][] rootPositions = new int[][] { + { -1, -3, -1 }, + { -2, -4, -1 }, + { -2, -4, -2 }, + { +1, -4, -1 }, + { +1, -5, -1 }, + { +2, -5, -1 }, + { +2, -6, +0 }, + { +0, -4, +2 }, + { +0, -5, +2 }, + { +0, -5, +3 }, + { +0, -6, +3 }, + }; + for(int[] root : rootPositions) + world.setBlock(x + root[0], y + root[1], z + root[2], ModBlocks.root); + + world.setBlock(x, y - 4, z, Blocks.bedrock); + } + } diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index d722aeb98..07d7bc4ed 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -989,6 +989,7 @@ tile.botania:incensePlate.name=Incense Plate tile.botania:hourglass.name=Hovering Hourglass tile.botania:ghostRail.name=Spectral Rail tile.botania:sparkChanger.name=Spark Tinkerer +tile.botania:livingRoot.name=Living Root # FLOWER NAMES tile.botania:flower..name=Botania Flower @@ -1402,6 +1403,8 @@ item.botania:terraAxe.name=Terra Truncator item.botania:manasteelNugget.name=Manasteel Nugget item.botania:terrasteelNugget.name=Terrasteel Nugget item.botania:elementiumNugget.name=Elementium Nugget +item.botania:root.name=Living Root +item.botania:pebble.name=Pebble # BREW NAMES botania.brew.fallback=Fallback diff --git a/src/main/resources/assets/botania/textures/blocks/root.png b/src/main/resources/assets/botania/textures/blocks/root.png new file mode 100644 index 0000000000000000000000000000000000000000..35aa475e7bb8fc11ab01a998242a76f83453ff08 GIT binary patch literal 16942 zcmeI3dsGuw9>)iZ3QTQBUk_8b^uk#Qo; zdqw7qlBmo9KDyF#B|+z;_2T-RoaP7hH}?N@?a{_-kDa_0*NoelxFX$wpQC4<_++?S zna_LHKE85MfM?b-C!wud%H@**x`8pL+n!XlF5leJ_JZHCeq~kT{F}O;?5dXJ7iB%J zeRk^G>>qqKM2Gu_ThYCL;)!iu7nQoj1(s{qQaIzx8Lo7UZhm1QZHM@&CpclAIf zZ@`h*7tWSI?ZDGx9Z#bf?c-$3x_}V!sXTcb^)m`SC=JXX20F z*b5x46kM!g51lWrLOyKTY`JOmlk+JK4(TsrF2ng&Pgax^*4U@EA51!NU9>p2QMfJ9 zv!UklhgXu2E#r#Y<{wadKHk0YOJ$+$qu9}}_BkxAw)4{Ir#6f%7@Y2Ou6-ZK8+IlA zM!x-;*weojYoZwC7hfn7raqp0p(qS-Esxk!B%anVJaG={dhfEw<)Y7g%WSIKG!y6h zU4kiTYtAflb;Z})!AV};*rvW z2e;{hk2YUjF!x5nmLu({(LX$x!nNopt*dCRd`&-}cqsqm;>f(E_v`BBv^p%m{@14; zKi|4M^7!_f)uVY z>68y#c08!G%fY<|(c%yG7q`~+ zZywmZ)v(>5XxI~WbFHC%{T!{!qp-Y#r#P+mX14Y}5G9B{2HV6vt9mNk%Z*ZkgYK0Z zN+&&CchocBR>_Vd--jiSJ9+ZRV^e0@ zoVzN0GWKY>kJHbOqU9iE=H~sUrwaDP8Jx#gSUO*8j4#NvtlFZ=@oliB`X;zqHlfeY zWQU;1wHM@uQ7(-yzAGN!wRG0n`EikRxKC$}37E(_VP_qhSFpbz_(9IiIv#Bm3>4 zwBoN;ZQkLFo;Oxqy7cPe^p97xK0Lk~mt%}p ztK!k=I-Sl<$8tl}(R7f@<%hAy|Q1`3zycDYLfs~p~b{Ivv9#YXkHwL{o6D;ZWsN&S}jzfbbbVQCQ5T#aw z`M_R%s;*kyZGUUXZn@8au{jA0?A_dTyb49HLu<5t@fd`71SANGU=5g#xU>O(uhREHQ+5Kx{5e%-~39o@}-|&C?TR(-1@|1wk&t zl``2KC<6n{?eC-(qLMh{ZtF}9W2qSo7-2G{o-_nPU>ZZp_M|~vm_viaOerjtO2wem zG)q`&Gy6NKKT^xEN(sr$`WTP?j}FmGnsKe-9=Dd(lDTd#BZ0##Tg_#>wZ}PMDbos=oulEJ&0NMiBhv*u1iOhx1nwLT zi^HemoAHhynI4gc3uV~#QDdz7pnInWFZ60$*q6~v=ro$9%ItQ#qh^{~v7349cLcrr zhr~POwEJ4~XMX89qdzk%E*Cin4hV5b;v(jQQ%PJnAjBbwi&P z#DxPw9Fn+*`QTI%7Y+z&P#DxPw91`N9^gNo2D6!{pb=ZTq{&i1^u!nZ3 z5>ap<04Q<*K=TCvJYEU_$#npr%mRSB_5i?|0sv!2=lVM&0)R!GztAUCUng9*P#FOZ zw%j%C=(Pu~vnu+l-$?p{4ohd+UTd$WwvU)@B@g?0`RhzDs%iX%8x8|sz8)zlt4Us2 zdnsS&n)WgN$KStqaoA0CpKZBqZqT5u89%RY8ZS+MAvzni>db6qBUKq)Gwe4& zxM+9s?5333A(n^tL8Gd2^`mk#HeCTL^G-V-et*bQ@nm7n?v%W&4A+&=L_p}XJDb`n zpbjaZz9-vJkzK`Ryk-n*zOd4a%rB6r5qR?r-M1=WL9+ zD>&40c>GN8C3}xzFw4g}_wQ=(+^yBACH+~|-lOxj4lBPTn2>&GsOm%xbtTPhxGLxC h`%=UG$d}`RRf8p2)pd6wjL&iV`^^=8HzR7*KLCh3qTB!g literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/pebble.png b/src/main/resources/assets/botania/textures/items/pebble.png new file mode 100644 index 0000000000000000000000000000000000000000..97906d266359dde979cccc63ed72b6573fe80c0d GIT binary patch literal 15336 zcmeI3Yitx%6vwB66|0!42$dKa7Boe>J2U&<$#$`HDXp?t%0d^Tk=dEM?S$Q#b!Xac z8;Mw?Xz+nNq8Ky;!3PQkNGQe#iIw<3B?`(ziLWR^B|J=2^aI}6-R@3rw^w|{FL%@K z?z#Va&bjlu_ne(C^GM^Y8KcX_mr)cox}iSU1V77-|52szeZo%{1o&}zvVOisQCD1R z{FhMAtgE0X-+nn9(IcUmyr?E@f}}=)EuBch*%alUnobJhLZH)8&>}0DEcJJ)Iga(&BFi*pbK<55mz)mU2Vz4<>7Z@n6c2A zDf+@{OO26`j)WTNS~Ue|m(67rS*F~WoqJgV zW$>FnCB^urU|lX9w5lzwx}M}2rlX_7*5RoMF{E6U;B z$UvMR(8QFS)MZtnjkrQoZPTkQ79&yqmAkG)GM`A%a_k^QCM_fx&c-suoFp;tlWa@H zGfR_12E;)ED7psyxT1c^R#jKER&|(^d3o5xa8E*^eD0#_O(cq@*7WJ^5J3)UQBN)0 znFLG|(A2h+2&T8gOPN&c>UB9**qlL;3}x80gS0%1o1tXgGDji1LwDpSlvRPInwL_cYXVBS&tu6!tK|u!rcodyh)@`+W!*-U3r_t%YmF0Mr zH3iAeL}G+gNse_6#BfH zbqdy~DEh2kr}0gQI;^bMDYzXzG3JeWG7v){v-^f}vxgAV$4Wm(}AH zVE6Dk-BzzV=Cz6*HtO;KyVEPdg=bf0avu`<&Xf$BoDet7F;@RqQxpj^Bvrkv!K2w} zIsaNpq30U<7D+EG$SX}~D9YRf>i<@;B@JsCckqU8nAXk-D=s0ASTnL(q4 zW#v6{Zt~C#yg16)_$K$^b9A%<1y@knP?=f72hr4+-XWwwO$$5|e^TbzfP+2I$bQD? z`EmI_*aJ;y|7SaJaV7LOc3`-6^uO#t;p~d7g3)~)3RGRxSj^uz|i{h z8^1q1tX+7HgiOtFerCv6A#-+q#Hhh|TV}q;&cYYN8Sgn)vy8gV$Ge(k)V1I_SCRFA zJ(mp`HhCF8lG!#s2j0(tfZOGAxcm${jCwT6X%LSDW!P^uql<9voDV7#b(}w(qe;j) zX1B_8=anhH>?pjigSV7S{+@D3W#)U=zxkzbMgL}0Bo;}60KuCC7oHEI5?lxnyh(83 z`5-F6g#f{u1Q(tUq7qyP5WGon;rSpc!G!?9n*ALHCI^|oz0&c1klMAdaw2k$ylTEmWu#~*rlY4_NZ zi}o&Ay6C0f+kaWz_rW{s*4A!Z{p(|vUpMU@>3w|C16L;RY5uwE&EE2JCrfuG_9?wr zeB|5kapljySHEyz%K6?qJKaBaKKJUO{>W>G-j(b>==@=&H+jPh+f#R(Yael_4ZQMc z_lC;Dr`jj9?c2V-pD$ffGIsf;ov+ta^qg5VVe{s0uIFysvJYb;CXS45tJr#|zkiZ@ z{OBX6e-SE5kDhX`d~dSl$x-irXRi?JCtp*)scC=7quhzk8=axP6Z%_ee^2>0&(9uJ za=vo^+W3OzyU6}t_{|(_+=C0j;e0JrS##`2u_e|V=r0T{eE~|U~>e!C! zyXo|Wy3colE%W-$ri1*mJzM*qo_X`GFHe89ZWXgC@^X0NhRPL9-`pQqQhv$Ak>}f2 eUub@yl-dr~Pn!_$ooPIa+c14raO<=M-G2bL^4p~V literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/botania/textures/items/root.png b/src/main/resources/assets/botania/textures/items/root.png new file mode 100644 index 0000000000000000000000000000000000000000..e1b386741a129ba1dcc6e7f3465967f2b9050c42 GIT binary patch literal 18196 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 literal 0 HcmV?d00001