From 01c8701b68986ccfa83e902515716838d6829311 Mon Sep 17 00:00:00 2001 From: Onyx Date: Tue, 1 Dec 2015 20:55:30 +0000 Subject: - Fixed all of the bugs mentioned on github - Added new config options - Rabbits paw now increases the chance of spawning hearts, rather than itself spawning some - Hearts now have a much lower chance to spawn by default - You can no longer increase your health past 20 hearts (aka double the default health) - The guide now also shows the total number of pages on each tab - A new luck stat has been added to the Curse API - Cleaned up the code a bit (removed unused methods, imports etc) - The displayer's info now has a purple solid color background; the text also has a much closer shadow and now shrinks in height as well as in width when too big - I have modified the potion list to use Mithion's code, credits have been given --- .../jewelrycraft/worldGen/ChestGeneration.java | 10 +-- .../jewelrycraft/worldGen/Generation.java | 18 ++-- .../jewelrycraft/worldGen/WorldGenStructure.java | 10 +++ .../jewelrycraft/worldGen/WorldGenStructure1.java | 14 ++-- .../jewelrycraft/worldGen/WorldGenStructure2.java | 12 ++- .../jewelrycraft/worldGen/WorldGenStructure3.java | 11 ++- .../jewelrycraft/worldGen/WorldGenStructure4.java | 9 +- .../jewelrycraft/worldGen/WorldGenStructure5.java | 10 +++ .../jewelrycraft/worldGen/WorldGenStructure6.java | 5 ++ .../worldGen/village/ComponentJewelry.java | 20 ++--- .../jewelrycraft/worldGen/village/JCTrades.java | 12 +-- .../worldGen/village/VillageHandler.java | 2 +- .../worldGen/village/VillageJewelryHandler.java | 98 +++++++++++----------- 13 files changed, 144 insertions(+), 87 deletions(-) (limited to 'src/main/java/darkknight/jewelrycraft/worldGen') diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/ChestGeneration.java b/src/main/java/darkknight/jewelrycraft/worldGen/ChestGeneration.java index f8eb9d5..d697472 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/ChestGeneration.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/ChestGeneration.java @@ -1,15 +1,15 @@ package darkknight.jewelrycraft.worldGen; import java.util.Random; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraftforge.common.ChestGenHooks; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import darkknight.jewelrycraft.block.BlockList; import darkknight.jewelrycraft.item.ItemList; import darkknight.jewelrycraft.util.JewelryNBT; import darkknight.jewelrycraft.util.JewelrycraftUtil; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraftforge.common.ChestGenHooks; /** * @author Sorin @@ -24,7 +24,7 @@ public class ChestGeneration addItemToDifferentPlaces(new WeightedRandomChestContent(new ItemStack(ItemList.thiefGloves), 1, 1, 2), true, true, false, false, true); addItemToDifferentPlaces(new WeightedRandomChestContent(new ItemStack(ItemList.guide), 1, 1, 7), true, true, true, true, true, false, true, true); addVillageBlacksmithLoot(new WeightedRandomChestContent(new ItemStack(ItemList.shadowIngot), 1, 4, 5)); - for(int i = 0; i < 16; i++) addItemToDifferentPlaces(new WeightedRandomChestContent(new ItemStack(BlockList.crystal, 1, i), 1, 4, 4), true, true, true, true); + for(int i = 0; i < 16 && i%3==0; i++) addItemToDifferentPlaces(new WeightedRandomChestContent(new ItemStack(BlockList.crystal, 1, i), 1, 3, 3), true, true, true, true); ItemStack special = new ItemStack(jewelry[random.nextInt(4)]); int randValue = random.nextInt(4); diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java b/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java index 11d053e..93310df 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java @@ -1,5 +1,6 @@ package darkknight.jewelrycraft.worldGen; +import java.lang.reflect.Field; import java.util.Random; import cpw.mods.fml.common.IWorldGenerator; import darkknight.jewelrycraft.block.BlockList; @@ -43,12 +44,17 @@ public class Generation implements IWorldGenerator { if (!world.getWorldInfo().getTerrainType().equals(WorldType.FLAT)) { if (ConfigHandler.ORE_GEN) generateShadowOre(world, random, i, j); if (ConfigHandler.CRYSTAL_GEN) generateCrystals(world, random, i, j); - if (ConfigHandler.STRUCTURES[0]) generateStructureOverground(STRUCTURE_1, world, random, i, j, 6, false, true); - if (ConfigHandler.STRUCTURES[1]) generateStructureUnderground(STRUCTURE_2, world, random, i, j, 5, false, true); - if (ConfigHandler.STRUCTURES[2]) generateStructureUnderground(STRUCTURE_3, world, random, i, j, 7, false, true); - if (ConfigHandler.STRUCTURES[3]) generateStructureOverground(STRUCTURE_4, world, random, i, j, 10, false, true); - if (ConfigHandler.STRUCTURES[4]) generateStructureUnderground(STRUCTURE_5, world, random, i, j, 6, false, true); - if (ConfigHandler.STRUCTURES[5]) generateStructureOverground(STRUCTURE_6, world, random, i, j, 10, false, true); + try{ + for(Field f: this.getClass().getDeclaredFields()){ + Object obj = f.get(null); + if (obj instanceof WorldGenStructure && ConfigHandler.STRUCTURES[((WorldGenStructure)obj).structureNo() - 1]) + if(((WorldGenStructure)obj).isUnderground()) generateStructureUnderground((WorldGenStructure)obj, world, random, i, j, ConfigHandler.STRUCTURES_SPAWN_CHANCE[((WorldGenStructure)obj).structureNo()-1], false, true); + else generateStructureOverground((WorldGenStructure)obj, world, random, i, j, ConfigHandler.STRUCTURES_SPAWN_CHANCE[((WorldGenStructure)obj).structureNo()-1], false, true); + } + } + catch(IllegalAccessException e){ + throw new RuntimeException(e); + } } } } diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure.java index c2c4046..f233d3e 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure.java @@ -22,4 +22,14 @@ public class WorldGenStructure extends WorldGenerator public boolean generate(World world, Random rand, int x, int y, int z) { return false; } + + public boolean isUnderground() + { + return false; + } + + public int structureNo() + { + return -1; + } } diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure1.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure1.java index c982e00..898ece2 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure1.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure1.java @@ -4,6 +4,10 @@ package darkknight.jewelrycraft.worldGen; import java.util.Random; +import darkknight.jewelrycraft.block.BlockList; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.random.WeightedRandomItem; +import darkknight.jewelrycraft.tileentity.TileEntityHandPedestal; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -11,11 +15,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.feature.WorldGenerator; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.random.WeightedRandomItem; -import darkknight.jewelrycraft.tileentity.TileEntityHandPedestal; /** * @author Sorin @@ -57,4 +56,9 @@ public class WorldGenStructure1 extends WorldGenStructure { return generate(world, BiomeGenBase.plains, rand, x, y, z); } + + public int structureNo() + { + return 1; + } } diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure2.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure2.java index c58c0b8..4e4461c 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure2.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure2.java @@ -19,7 +19,7 @@ public class WorldGenStructure2 extends WorldGenStructure { public boolean generate(World world, BiomeGenBase biome, Random rand, int x, int y, int z) { Block block = Blocks.stonebrick; Block stair = Blocks.stone_brick_stairs; - int metadata = 0, slabMeta = 5; + int metadata = 0; if (biome == BiomeGenBase.desert || biome == BiomeGenBase.desertHills) { block = Blocks.sandstone; stair = Blocks.sandstone_stairs; @@ -52,4 +52,14 @@ public class WorldGenStructure2 extends WorldGenStructure { public boolean generate(World world, Random rand, int x, int y, int z) { return generate(world, BiomeGenBase.plains, rand, x, y, z); } + + public boolean isUnderground() + { + return true; + } + + public int structureNo() + { + return 2; + } } diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure3.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure3.java index 1f6f15c..f0e8cfa 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure3.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure3.java @@ -9,7 +9,6 @@ import net.minecraft.init.Blocks; import net.minecraft.tileentity.TileEntityMobSpawner; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.DungeonHooks; /** @@ -65,4 +64,14 @@ public class WorldGenStructure3 extends WorldGenStructure { return generate(world, BiomeGenBase.plains, rand, x, y, z); } + + public boolean isUnderground() + { + return true; + } + + public int structureNo() + { + return 3; + } } diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure4.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure4.java index 6af8dc2..b0be600 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure4.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure4.java @@ -4,12 +4,11 @@ package darkknight.jewelrycraft.worldGen; import java.util.Random; +import darkknight.jewelrycraft.block.BlockList; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.feature.WorldGenerator; -import darkknight.jewelrycraft.block.BlockList; /** * @author Sorin @@ -18,7 +17,6 @@ public class WorldGenStructure4 extends WorldGenStructure { public boolean generate(World world, BiomeGenBase biome, Random rand, int x, int y, int z) { - Block slab = Blocks.stone_slab; Block stair = Blocks.stone_brick_stairs; Block block = Blocks.stonebrick; int metadata = 0, slabMeta = 5; @@ -60,4 +58,9 @@ public class WorldGenStructure4 extends WorldGenStructure { return generate(world, BiomeGenBase.plains, rand, x, y, z); } + + public int structureNo() + { + return 4; + } } diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure5.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure5.java index 7ede3ef..e67fdb1 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure5.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure5.java @@ -78,4 +78,14 @@ public class WorldGenStructure5 extends WorldGenStructure { public boolean generate(World world, Random rand, int x, int y, int z) { return generate(world, BiomeGenBase.plains, rand, x, y, z); } + + public boolean isUnderground() + { + return true; + } + + public int structureNo() + { + return 5; + } } diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure6.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure6.java index 9df172d..d68402a 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure6.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure6.java @@ -91,4 +91,9 @@ public class WorldGenStructure6 extends WorldGenStructure { public boolean generate(World world, Random rand, int x, int y, int z) { return generate(world, BiomeGenBase.plains, rand, x, y, z); } + + public int structureNo() + { + return 6; + } } diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java index d1fbe87..cefd063 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java @@ -2,6 +2,16 @@ package darkknight.jewelrycraft.worldGen.village; import java.util.List; import java.util.Random; +import darkknight.jewelrycraft.block.BlockList; +import darkknight.jewelrycraft.config.ConfigHandler; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.item.ItemMolds; +import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; +import darkknight.jewelrycraft.tileentity.TileEntityMolder; +import darkknight.jewelrycraft.tileentity.TileEntitySmelter; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -15,16 +25,6 @@ import net.minecraft.world.gen.structure.StructureBoundingBox; import net.minecraft.world.gen.structure.StructureComponent; import net.minecraft.world.gen.structure.StructureVillagePieces; import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMolds; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.util.Variables; public class ComponentJewelry extends StructureVillagePieces.House1 { private int averageGroundLevel = -1; diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java index 3a31a8f..f9b5930 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java @@ -1,6 +1,12 @@ package darkknight.jewelrycraft.worldGen.village; import java.util.Random; +import cpw.mods.fml.common.registry.VillagerRegistry.IVillageTradeHandler; +import darkknight.jewelrycraft.block.BlockList; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.item.ItemMolds; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.JewelrycraftUtil; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -8,12 +14,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.village.MerchantRecipe; import net.minecraft.village.MerchantRecipeList; -import cpw.mods.fml.common.registry.VillagerRegistry.IVillageTradeHandler; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMolds; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; public class JCTrades implements IVillageTradeHandler { diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageHandler.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageHandler.java index 5ef855e..68b892e 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageHandler.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageHandler.java @@ -4,11 +4,11 @@ package darkknight.jewelrycraft.worldGen.village; import java.io.IOException; -import net.minecraft.world.gen.structure.MapGenStructureIO; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.VillagerRegistry; import darkknight.jewelrycraft.JewelrycraftMod; import darkknight.jewelrycraft.util.Variables; +import net.minecraft.world.gen.structure.MapGenStructureIO; public class VillageHandler { diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java index d860db7..dca3b6e 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java @@ -1,50 +1,50 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.world.gen.structure.StructureVillagePieces.PieceWeight; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import cpw.mods.fml.common.registry.VillagerRegistry.IVillageCreationHandler; -import darkknight.jewelrycraft.config.ConfigHandler; - -public class VillageJewelryHandler implements IVillageCreationHandler -{ - - /** - * @param random - * @param i - * @return - */ - @Override - public PieceWeight getVillagePieceWeight(Random random, int i) - { - return new PieceWeight(ComponentJewelry.class, ConfigHandler.JEWELER_WEIGHT, ConfigHandler.MAX_VILLAGE_JEWELERS); - } - - /** - * @return - */ - @Override - public Class getComponentClass() - { - return ComponentJewelry.class; - } - - /** - * @param villagePiece - * @param startPiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @Override - public Object buildComponent(PieceWeight villagePiece, Start startPiece, @SuppressWarnings ("rawtypes") List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - return ComponentJewelry.buildComponent(startPiece, pieces, random, p1, p2, p3, p4, p5); - } +package darkknight.jewelrycraft.worldGen.village; + +import java.util.List; +import java.util.Random; +import cpw.mods.fml.common.registry.VillagerRegistry.IVillageCreationHandler; +import darkknight.jewelrycraft.config.ConfigHandler; +import net.minecraft.world.gen.structure.StructureVillagePieces.PieceWeight; +import net.minecraft.world.gen.structure.StructureVillagePieces.Start; + +public class VillageJewelryHandler implements IVillageCreationHandler +{ + + /** + * @param random + * @param i + * @return + */ + @Override + public PieceWeight getVillagePieceWeight(Random random, int i) + { + return new PieceWeight(ComponentJewelry.class, ConfigHandler.JEWELER_WEIGHT, ConfigHandler.MAX_VILLAGE_JEWELERS); + } + + /** + * @return + */ + @Override + public Class getComponentClass() + { + return ComponentJewelry.class; + } + + /** + * @param villagePiece + * @param startPiece + * @param pieces + * @param random + * @param p1 + * @param p2 + * @param p3 + * @param p4 + * @param p5 + * @return + */ + @Override + public Object buildComponent(PieceWeight villagePiece, Start startPiece, @SuppressWarnings ("rawtypes") List pieces, Random random, int p1, int p2, int p3, int p4, int p5) + { + return ComponentJewelry.buildComponent(startPiece, pieces, random, p1, p2, p3, p4, p5); + } } \ No newline at end of file -- cgit v1.2.3